fix(next-utils): finalize type safety for validateMintelEnv and fix pre-push hook
Some checks failed
Monorepo Pipeline / 🧪 Quality Assurance (push) Failing after 2m7s
Monorepo Pipeline / 🚀 Release (push) Has been skipped
Monorepo Pipeline / 🐳 Build Directus (Base) (push) Has been skipped
Monorepo Pipeline / 🐳 Build Gatekeeper (Product) (push) Has been skipped
Monorepo Pipeline / 🐳 Build Build-Base (push) Has been skipped
Monorepo Pipeline / 🐳 Build Production Runtime (push) Has been skipped

This commit is contained in:
2026-02-11 00:10:38 +01:00
parent 858c7bbc39
commit b65b9a7fb2
20 changed files with 25 additions and 23 deletions

View File

@@ -1,5 +1,5 @@
# Project # Project
IMAGE_TAG=v1.7.0 IMAGE_TAG=v1.7.3
PROJECT_NAME=sample-website PROJECT_NAME=sample-website
PROJECT_COLOR=#82ed20 PROJECT_COLOR=#82ed20

View File

@@ -7,8 +7,8 @@ do
echo "🏷️ Tag detected: $TAG, syncing versions..." echo "🏷️ Tag detected: $TAG, syncing versions..."
pnpm sync-versions "$TAG" pnpm sync-versions "$TAG"
# Stage the changed files # Stage the changed files (excluding ignored files like .env)
git add package.json packages/*/package.json apps/*/package.json .env .env.example git add package.json packages/*/package.json apps/*/package.json .env.example
echo "⚠️ package.json and .env files updated to match tag $TAG." echo "⚠️ package.json and .env files updated to match tag $TAG."
echo "⚠️ Note: You might need to push again if these changes were not already in your commit/tag." echo "⚠️ Note: You might need to push again if these changes were not already in your commit/tag."

View File

@@ -1,6 +1,6 @@
{ {
"name": "sample-website", "name": "sample-website",
"version": "1.7.0", "version": "1.7.3",
"private": true, "private": true,
"type": "module", "type": "module",
"scripts": { "scripts": {

View File

@@ -52,7 +52,7 @@
"pino-pretty": "^13.1.3", "pino-pretty": "^13.1.3",
"require-in-the-middle": "^8.0.1" "require-in-the-middle": "^8.0.1"
}, },
"version": "1.7.0", "version": "1.7.3",
"pnpm": { "pnpm": {
"overrides": { "overrides": {
"next": "16.1.6", "next": "16.1.6",

View File

@@ -1,6 +1,6 @@
{ {
"name": "@mintel/cli", "name": "@mintel/cli",
"version": "1.7.0", "version": "1.7.3",
"publishConfig": { "publishConfig": {
"access": "public", "access": "public",
"registry": "https://npm.infra.mintel.me" "registry": "https://npm.infra.mintel.me"

View File

@@ -1,6 +1,6 @@
{ {
"name": "@mintel/cms-infra", "name": "@mintel/cms-infra",
"version": "1.7.0", "version": "1.7.3",
"private": true, "private": true,
"type": "module", "type": "module",
"scripts": { "scripts": {

View File

@@ -2,7 +2,7 @@
"name": "customer-manager", "name": "customer-manager",
"description": "Custom High-Fidelity Customer & Company Management for Directus", "description": "Custom High-Fidelity Customer & Company Management for Directus",
"icon": "supervisor_account", "icon": "supervisor_account",
"version": "1.7.0", "version": "1.7.3",
"keywords": [ "keywords": [
"directus", "directus",
"directus-extension", "directus-extension",

View File

@@ -1,6 +1,6 @@
{ {
"name": "@mintel/eslint-config", "name": "@mintel/eslint-config",
"version": "1.7.0", "version": "1.7.3",
"publishConfig": { "publishConfig": {
"access": "public", "access": "public",
"registry": "https://npm.infra.mintel.me" "registry": "https://npm.infra.mintel.me"

View File

@@ -2,7 +2,7 @@
"name": "@mintel/extension-feedback-commander", "name": "@mintel/extension-feedback-commander",
"description": "Custom High-Fidelity Feedback Management Extension for Directus", "description": "Custom High-Fidelity Feedback Management Extension for Directus",
"icon": "view_kanban", "icon": "view_kanban",
"version": "1.7.0", "version": "1.7.3",
"keywords": [ "keywords": [
"directus", "directus",
"directus-extension", "directus-extension",

View File

@@ -1,6 +1,6 @@
{ {
"name": "@mintel/gatekeeper", "name": "@mintel/gatekeeper",
"version": "1.7.0", "version": "1.7.3",
"private": true, "private": true,
"type": "module", "type": "module",
"scripts": { "scripts": {

View File

@@ -1,6 +1,6 @@
{ {
"name": "@mintel/husky-config", "name": "@mintel/husky-config",
"version": "1.7.0", "version": "1.7.3",
"publishConfig": { "publishConfig": {
"access": "public", "access": "public",
"registry": "https://npm.infra.mintel.me" "registry": "https://npm.infra.mintel.me"

View File

@@ -1,6 +1,6 @@
{ {
"name": "@mintel/infra", "name": "@mintel/infra",
"version": "1.7.0", "version": "1.7.3",
"publishConfig": { "publishConfig": {
"access": "public", "access": "public",
"registry": "https://npm.infra.mintel.me" "registry": "https://npm.infra.mintel.me"

View File

@@ -1,6 +1,6 @@
{ {
"name": "@mintel/mail", "name": "@mintel/mail",
"version": "1.7.0", "version": "1.7.3",
"private": false, "private": false,
"publishConfig": { "publishConfig": {
"access": "public", "access": "public",

View File

@@ -1,6 +1,6 @@
{ {
"name": "@mintel/next-config", "name": "@mintel/next-config",
"version": "1.7.0", "version": "1.7.3",
"publishConfig": { "publishConfig": {
"access": "public", "access": "public",
"registry": "https://npm.infra.mintel.me" "registry": "https://npm.infra.mintel.me"

View File

@@ -1,6 +1,6 @@
{ {
"name": "@mintel/next-feedback", "name": "@mintel/next-feedback",
"version": "1.7.0", "version": "1.7.3",
"publishConfig": { "publishConfig": {
"access": "public", "access": "public",
"registry": "https://npm.infra.mintel.me" "registry": "https://npm.infra.mintel.me"

View File

@@ -1,6 +1,6 @@
{ {
"name": "@mintel/next-observability", "name": "@mintel/next-observability",
"version": "1.7.0", "version": "1.7.3",
"publishConfig": { "publishConfig": {
"access": "public", "access": "public",
"registry": "https://npm.infra.mintel.me" "registry": "https://npm.infra.mintel.me"

View File

@@ -1,6 +1,6 @@
{ {
"name": "@mintel/next-utils", "name": "@mintel/next-utils",
"version": "1.7.3", "version": "1.7.4",
"publishConfig": { "publishConfig": {
"access": "public", "access": "public",
"registry": "https://npm.infra.mintel.me" "registry": "https://npm.infra.mintel.me"

View File

@@ -52,7 +52,9 @@ export const mintelEnvSchema = {
export function validateMintelEnv< export function validateMintelEnv<
T extends z.ZodRawShape = Record<string, never>, T extends z.ZodRawShape = Record<string, never>,
>(schemaExtension: T = {} as T) { >(
schemaExtension: T = {} as T,
): z.infer<z.ZodObject<typeof mintelEnvSchema & T>> {
const fullSchema = z.object(mintelEnvSchema).extend(schemaExtension); const fullSchema = z.object(mintelEnvSchema).extend(schemaExtension);
const isBuildTime = const isBuildTime =
@@ -66,7 +68,7 @@ export function validateMintelEnv<
console.warn( console.warn(
"⚠️ Some environment variables are missing during build, but skipping strict validation.", "⚠️ Some environment variables are missing during build, but skipping strict validation.",
); );
// Return process.env casted to the full schema type to unblock builds // Return process.env casted to ensure types match for the full schema
return process.env as unknown as z.infer<typeof fullSchema>; return process.env as unknown as z.infer<typeof fullSchema>;
} }
@@ -77,5 +79,5 @@ export function validateMintelEnv<
throw new Error("Invalid environment variables"); throw new Error("Invalid environment variables");
} }
return result.data; return result.data as z.infer<typeof fullSchema>;
} }

View File

@@ -1,6 +1,6 @@
{ {
"name": "@mintel/observability", "name": "@mintel/observability",
"version": "1.7.0", "version": "1.7.3",
"publishConfig": { "publishConfig": {
"access": "public", "access": "public",
"registry": "https://npm.infra.mintel.me" "registry": "https://npm.infra.mintel.me"

View File

@@ -1,6 +1,6 @@
{ {
"name": "@mintel/tsconfig", "name": "@mintel/tsconfig",
"version": "1.7.0", "version": "1.7.3",
"publishConfig": { "publishConfig": {
"access": "public", "access": "public",
"registry": "https://npm.infra.mintel.me" "registry": "https://npm.infra.mintel.me"