Lingui working with NODE ENV=production again (#10067)
Lingui now offers an option to disable stripping even in prod mode so we can bring it back
This commit is contained in:
@ -206,7 +206,7 @@
|
|||||||
"@graphql-codegen/typescript-operations": "^3.0.4",
|
"@graphql-codegen/typescript-operations": "^3.0.4",
|
||||||
"@graphql-codegen/typescript-react-apollo": "^3.3.7",
|
"@graphql-codegen/typescript-react-apollo": "^3.3.7",
|
||||||
"@lingui/cli": "^5.1.2",
|
"@lingui/cli": "^5.1.2",
|
||||||
"@lingui/swc-plugin": "^5.0.2",
|
"@lingui/swc-plugin": "^5.1.0",
|
||||||
"@lingui/vite-plugin": "^5.1.2",
|
"@lingui/vite-plugin": "^5.1.2",
|
||||||
"@microsoft/microsoft-graph-types": "^2.40.0",
|
"@microsoft/microsoft-graph-types": "^2.40.0",
|
||||||
"@nestjs/cli": "^9.0.0",
|
"@nestjs/cli": "^9.0.0",
|
||||||
|
|||||||
@ -41,10 +41,6 @@ resource "kubernetes_deployment" "twentycrm_server" {
|
|||||||
name = "PORT"
|
name = "PORT"
|
||||||
value = "3000"
|
value = "3000"
|
||||||
}
|
}
|
||||||
# env {
|
|
||||||
# name = "DEBUG_MODE"
|
|
||||||
# value = false
|
|
||||||
# }
|
|
||||||
|
|
||||||
env {
|
env {
|
||||||
name = "SERVER_URL"
|
name = "SERVER_URL"
|
||||||
|
|||||||
@ -1,19 +1,16 @@
|
|||||||
# Use this for local setup
|
# Use this for local setup
|
||||||
|
NODE_ENV=development
|
||||||
PG_DATABASE_URL=postgres://postgres:postgres@localhost:5432/default
|
PG_DATABASE_URL=postgres://postgres:postgres@localhost:5432/default
|
||||||
REDIS_URL=redis://localhost:6379
|
REDIS_URL=redis://localhost:6379
|
||||||
|
|
||||||
APP_SECRET=replace_me_with_a_random_string
|
APP_SECRET=replace_me_with_a_random_string
|
||||||
SIGN_IN_PREFILLED=true
|
SIGN_IN_PREFILLED=true
|
||||||
|
|
||||||
ACCESS_TOKEN_SECRET=replace_me_with_a_random_string_access
|
|
||||||
|
|
||||||
FRONT_PROTOCOL=http
|
FRONT_PROTOCOL=http
|
||||||
FRONT_DOMAIN=localhost
|
FRONT_DOMAIN=localhost
|
||||||
FRONT_PORT=3001
|
FRONT_PORT=3001
|
||||||
|
|
||||||
# ———————— Optional ————————
|
# ———————— Optional ————————
|
||||||
# PORT=3000
|
# PORT=3000
|
||||||
# DEBUG_MODE=true
|
|
||||||
# ACCESS_TOKEN_EXPIRES_IN=30m
|
# ACCESS_TOKEN_EXPIRES_IN=30m
|
||||||
# LOGIN_TOKEN_EXPIRES_IN=15m
|
# LOGIN_TOKEN_EXPIRES_IN=15m
|
||||||
# REFRESH_TOKEN_EXPIRES_IN=90d
|
# REFRESH_TOKEN_EXPIRES_IN=90d
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
PG_DATABASE_URL=postgres://postgres:postgres@localhost:5432/test
|
PG_DATABASE_URL=postgres://postgres:postgres@localhost:5432/test
|
||||||
REDIS_URL=redis://localhost:6379
|
REDIS_URL=redis://localhost:6379
|
||||||
|
|
||||||
DEBUG_MODE=true
|
|
||||||
APP_SECRET=replace_me_with_a_random_string
|
APP_SECRET=replace_me_with_a_random_string
|
||||||
SIGN_IN_PREFILLED=true
|
SIGN_IN_PREFILLED=true
|
||||||
EXCEPTION_HANDLER_DRIVER=console
|
EXCEPTION_HANDLER_DRIVER=console
|
||||||
|
|||||||
@ -10,7 +10,9 @@
|
|||||||
"baseUrl": "./../../",
|
"baseUrl": "./../../",
|
||||||
"experimental": {
|
"experimental": {
|
||||||
"plugins": [
|
"plugins": [
|
||||||
["@lingui/swc-plugin", {}]
|
["@lingui/swc-plugin", {
|
||||||
|
"stripNonEssentialFields": false
|
||||||
|
}]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@ -21,7 +21,14 @@ const jestConfig = {
|
|||||||
decoratorMetadata: true,
|
decoratorMetadata: true,
|
||||||
},
|
},
|
||||||
experimental: {
|
experimental: {
|
||||||
plugins: [['@lingui/swc-plugin', {}]],
|
plugins: [
|
||||||
|
[
|
||||||
|
'@lingui/swc-plugin',
|
||||||
|
{
|
||||||
|
stripNonEssentialFields: false,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@ -2,6 +2,8 @@ import { Injectable, OnModuleDestroy, OnModuleInit } from '@nestjs/common';
|
|||||||
|
|
||||||
import { DataSource } from 'typeorm';
|
import { DataSource } from 'typeorm';
|
||||||
|
|
||||||
|
import { NodeEnvironment } from 'src/engine/core-modules/environment/interfaces/node-environment.interface';
|
||||||
|
|
||||||
import { AppToken } from 'src/engine/core-modules/app-token/app-token.entity';
|
import { AppToken } from 'src/engine/core-modules/app-token/app-token.entity';
|
||||||
import { BillingCustomer } from 'src/engine/core-modules/billing/entities/billing-customer.entity';
|
import { BillingCustomer } from 'src/engine/core-modules/billing/entities/billing-customer.entity';
|
||||||
import { BillingEntitlement } from 'src/engine/core-modules/billing/entities/billing-entitlement.entity';
|
import { BillingEntitlement } from 'src/engine/core-modules/billing/entities/billing-entitlement.entity';
|
||||||
@ -106,9 +108,10 @@ export class TypeORMService implements OnModuleInit, OnModuleDestroy {
|
|||||||
const workspaceDataSource = new DataSource({
|
const workspaceDataSource = new DataSource({
|
||||||
url: dataSource.url ?? this.environmentService.get('PG_DATABASE_URL'),
|
url: dataSource.url ?? this.environmentService.get('PG_DATABASE_URL'),
|
||||||
type: 'postgres',
|
type: 'postgres',
|
||||||
logging: this.environmentService.get('DEBUG_MODE')
|
logging:
|
||||||
? ['query', 'error']
|
this.environmentService.get('NODE_ENV') === NodeEnvironment.development
|
||||||
: ['error'],
|
? ['query', 'error']
|
||||||
|
: ['error'],
|
||||||
schema,
|
schema,
|
||||||
ssl: this.environmentService.get('PG_SSL_ALLOW_SELF_SIGNED')
|
ssl: this.environmentService.get('PG_SSL_ALLOW_SELF_SIGNED')
|
||||||
? {
|
? {
|
||||||
|
|||||||
@ -12,6 +12,8 @@ import GraphQLJSON from 'graphql-type-json';
|
|||||||
import { GraphQLSchemaWithContext, YogaInitialContext } from 'graphql-yoga';
|
import { GraphQLSchemaWithContext, YogaInitialContext } from 'graphql-yoga';
|
||||||
import { JsonWebTokenError, TokenExpiredError } from 'jsonwebtoken';
|
import { JsonWebTokenError, TokenExpiredError } from 'jsonwebtoken';
|
||||||
|
|
||||||
|
import { NodeEnvironment } from 'src/engine/core-modules/environment/interfaces/node-environment.interface';
|
||||||
|
|
||||||
import { useThrottler } from 'src/engine/api/graphql/graphql-config/hooks/use-throttler';
|
import { useThrottler } from 'src/engine/api/graphql/graphql-config/hooks/use-throttler';
|
||||||
import { WorkspaceSchemaFactory } from 'src/engine/api/graphql/workspace-schema.factory';
|
import { WorkspaceSchemaFactory } from 'src/engine/api/graphql/workspace-schema.factory';
|
||||||
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
import { AuthContext } from 'src/engine/core-modules/auth/types/auth-context.type';
|
||||||
@ -41,7 +43,8 @@ export class GraphQLConfigService
|
|||||||
) {}
|
) {}
|
||||||
|
|
||||||
createGqlOptions(): YogaDriverConfig {
|
createGqlOptions(): YogaDriverConfig {
|
||||||
const isDebugMode = this.environmentService.get('DEBUG_MODE');
|
const isDebugMode =
|
||||||
|
this.environmentService.get('NODE_ENV') === NodeEnvironment.development;
|
||||||
const plugins = [
|
const plugins = [
|
||||||
useThrottler({
|
useThrottler({
|
||||||
ttl: this.environmentService.get('API_RATE_LIMITING_TTL'),
|
ttl: this.environmentService.get('API_RATE_LIMITING_TTL'),
|
||||||
|
|||||||
@ -47,7 +47,7 @@ export const metadataModuleFactory = async (
|
|||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
|
|
||||||
if (environmentService.get('DEBUG_MODE')) {
|
if (environmentService.get('NODE_ENV') === 'development') {
|
||||||
config.renderGraphiQL = () => {
|
config.renderGraphiQL = () => {
|
||||||
return renderApolloPlayground({ path: 'metadata' });
|
return renderApolloPlayground({ path: 'metadata' });
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
import { Query, Resolver } from '@nestjs/graphql';
|
import { Query, Resolver } from '@nestjs/graphql';
|
||||||
|
|
||||||
|
import { NodeEnvironment } from 'src/engine/core-modules/environment/interfaces/node-environment.interface';
|
||||||
|
|
||||||
import { DomainManagerService } from 'src/engine/core-modules/domain-manager/services/domain-manager.service';
|
import { DomainManagerService } from 'src/engine/core-modules/domain-manager/services/domain-manager.service';
|
||||||
import { EnvironmentService } from 'src/engine/core-modules/environment/environment.service';
|
import { EnvironmentService } from 'src/engine/core-modules/environment/environment.service';
|
||||||
import { PUBLIC_FEATURE_FLAGS } from 'src/engine/core-modules/feature-flag/constants/public-feature-flag.const';
|
import { PUBLIC_FEATURE_FLAGS } from 'src/engine/core-modules/feature-flag/constants/public-feature-flag.const';
|
||||||
@ -50,7 +52,7 @@ export class ClientConfigResolver {
|
|||||||
),
|
),
|
||||||
defaultSubdomain: this.environmentService.get('DEFAULT_SUBDOMAIN'),
|
defaultSubdomain: this.environmentService.get('DEFAULT_SUBDOMAIN'),
|
||||||
frontDomain: this.domainManagerService.getFrontUrl().hostname,
|
frontDomain: this.domainManagerService.getFrontUrl().hostname,
|
||||||
debugMode: this.environmentService.get('DEBUG_MODE'),
|
debugMode: this.environmentService.get('NODE_ENV') === 'development',
|
||||||
support: {
|
support: {
|
||||||
supportDriver: this.environmentService.get('SUPPORT_DRIVER'),
|
supportDriver: this.environmentService.get('SUPPORT_DRIVER'),
|
||||||
supportFrontChatId: this.environmentService.get(
|
supportFrontChatId: this.environmentService.get(
|
||||||
@ -74,7 +76,8 @@ export class ClientConfigResolver {
|
|||||||
},
|
},
|
||||||
analyticsEnabled: this.environmentService.get('ANALYTICS_ENABLED'),
|
analyticsEnabled: this.environmentService.get('ANALYTICS_ENABLED'),
|
||||||
canManageFeatureFlags:
|
canManageFeatureFlags:
|
||||||
this.environmentService.get('DEBUG_MODE') ||
|
this.environmentService.get('NODE_ENV') ===
|
||||||
|
NodeEnvironment.development ||
|
||||||
this.environmentService.get('IS_BILLING_ENABLED'),
|
this.environmentService.get('IS_BILLING_ENABLED'),
|
||||||
publicFeatureFlags: PUBLIC_FEATURE_FLAGS,
|
publicFeatureFlags: PUBLIC_FEATURE_FLAGS,
|
||||||
isMicrosoftMessagingEnabled: this.environmentService.get(
|
isMicrosoftMessagingEnabled: this.environmentService.get(
|
||||||
|
|||||||
@ -795,22 +795,13 @@ export class EnvironmentVariables {
|
|||||||
})
|
})
|
||||||
REDIS_URL: string;
|
REDIS_URL: string;
|
||||||
|
|
||||||
@EnvironmentVariablesMetadata({
|
|
||||||
group: EnvironmentVariablesGroup.ServerConfig,
|
|
||||||
description: 'Enable or disable debug mode for the application',
|
|
||||||
})
|
|
||||||
@CastToBoolean()
|
|
||||||
@IsOptional()
|
|
||||||
@IsBoolean()
|
|
||||||
DEBUG_MODE = false;
|
|
||||||
|
|
||||||
@EnvironmentVariablesMetadata({
|
@EnvironmentVariablesMetadata({
|
||||||
group: EnvironmentVariablesGroup.ServerConfig,
|
group: EnvironmentVariablesGroup.ServerConfig,
|
||||||
description: 'Node environment (development, production, etc.)',
|
description: 'Node environment (development, production, etc.)',
|
||||||
})
|
})
|
||||||
@IsEnum(NodeEnvironment)
|
@IsEnum(NodeEnvironment)
|
||||||
@IsString()
|
@IsString()
|
||||||
NODE_ENV: NodeEnvironment = NodeEnvironment.development;
|
NODE_ENV: NodeEnvironment = NodeEnvironment.production;
|
||||||
|
|
||||||
@EnvironmentVariablesMetadata({
|
@EnvironmentVariablesMetadata({
|
||||||
group: EnvironmentVariablesGroup.ServerConfig,
|
group: EnvironmentVariablesGroup.ServerConfig,
|
||||||
|
|||||||
@ -30,7 +30,7 @@ export const exceptionHandlerModuleFactory = async (
|
|||||||
release: environmentService.get('SENTRY_RELEASE'),
|
release: environmentService.get('SENTRY_RELEASE'),
|
||||||
dsn: environmentService.get('SENTRY_DSN') ?? '',
|
dsn: environmentService.get('SENTRY_DSN') ?? '',
|
||||||
serverInstance: adapterHost.httpAdapter?.getInstance(),
|
serverInstance: adapterHost.httpAdapter?.getInstance(),
|
||||||
debug: environmentService.get('DEBUG_MODE'),
|
debug: environmentService.get('NODE_ENV') === 'development',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
import { NodeEnvironment } from 'src/engine/core-modules/environment/interfaces/node-environment.interface';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
BaseGraphQLError,
|
BaseGraphQLError,
|
||||||
ErrorCode,
|
ErrorCode,
|
||||||
@ -9,7 +11,7 @@ export const generateGraphQLErrorFromError = (error: Error) => {
|
|||||||
ErrorCode.INTERNAL_SERVER_ERROR,
|
ErrorCode.INTERNAL_SERVER_ERROR,
|
||||||
);
|
);
|
||||||
|
|
||||||
if (process.env.NODE_ENV === 'development') {
|
if (process.env.NODE_ENV === NodeEnvironment.development) {
|
||||||
graphqlError.stack = error.stack;
|
graphqlError.stack = error.stack;
|
||||||
graphqlError.extensions['response'] = error.message;
|
graphqlError.extensions['response'] = error.message;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,6 +2,8 @@ import { Injectable, Logger } from '@nestjs/common';
|
|||||||
|
|
||||||
import { EntitySchema } from 'typeorm';
|
import { EntitySchema } from 'typeorm';
|
||||||
|
|
||||||
|
import { NodeEnvironment } from 'src/engine/core-modules/environment/interfaces/node-environment.interface';
|
||||||
|
|
||||||
import { EnvironmentService } from 'src/engine/core-modules/environment/environment.service';
|
import { EnvironmentService } from 'src/engine/core-modules/environment/environment.service';
|
||||||
import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service';
|
import { DataSourceService } from 'src/engine/metadata-modules/data-source/data-source.service';
|
||||||
import { WorkspaceMetadataCacheService } from 'src/engine/metadata-modules/workspace-metadata-cache/services/workspace-metadata-cache.service';
|
import { WorkspaceMetadataCacheService } from 'src/engine/metadata-modules/workspace-metadata-cache/services/workspace-metadata-cache.service';
|
||||||
@ -135,9 +137,11 @@ export class WorkspaceDatasourceFactory {
|
|||||||
dataSourceMetadata.url ??
|
dataSourceMetadata.url ??
|
||||||
this.environmentService.get('PG_DATABASE_URL'),
|
this.environmentService.get('PG_DATABASE_URL'),
|
||||||
type: 'postgres',
|
type: 'postgres',
|
||||||
logging: this.environmentService.get('DEBUG_MODE')
|
logging:
|
||||||
? ['query', 'error']
|
this.environmentService.get('NODE_ENV') ===
|
||||||
: ['error'],
|
NodeEnvironment.development
|
||||||
|
? ['query', 'error']
|
||||||
|
: ['error'],
|
||||||
schema: dataSourceMetadata.schema,
|
schema: dataSourceMetadata.schema,
|
||||||
entities: cachedEntitySchemas,
|
entities: cachedEntitySchemas,
|
||||||
ssl: this.environmentService.get('PG_SSL_ALLOW_SELF_SIGNED')
|
ssl: this.environmentService.get('PG_SSL_ALLOW_SELF_SIGNED')
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import { HttpException } from '@nestjs/common';
|
|||||||
|
|
||||||
import { GraphQLError } from 'graphql';
|
import { GraphQLError } from 'graphql';
|
||||||
|
|
||||||
|
import { NodeEnvironment } from 'src/engine/core-modules/environment/interfaces/node-environment.interface';
|
||||||
import { ExceptionHandlerUser } from 'src/engine/core-modules/exception-handler/interfaces/exception-handler-user.interface';
|
import { ExceptionHandlerUser } from 'src/engine/core-modules/exception-handler/interfaces/exception-handler-user.interface';
|
||||||
import { ExceptionHandlerWorkspace } from 'src/engine/core-modules/exception-handler/interfaces/exception-handler-workspace.interface';
|
import { ExceptionHandlerWorkspace } from 'src/engine/core-modules/exception-handler/interfaces/exception-handler-workspace.interface';
|
||||||
|
|
||||||
@ -114,7 +115,7 @@ const convertHttpExceptionToGraphql = (exception: HttpException) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Only show the stack trace in development mode
|
// Only show the stack trace in development mode
|
||||||
if (process.env.NODE_ENV === 'development') {
|
if (process.env.NODE_ENV === NodeEnvironment.development) {
|
||||||
error.stack = exception.stack;
|
error.stack = exception.stack;
|
||||||
error.extensions['response'] = exception.getResponse();
|
error.extensions['response'] = exception.getResponse();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
import * as Sentry from '@sentry/nestjs';
|
import * as Sentry from '@sentry/nestjs';
|
||||||
import { nodeProfilingIntegration } from '@sentry/profiling-node';
|
import { nodeProfilingIntegration } from '@sentry/profiling-node';
|
||||||
|
|
||||||
|
import { NodeEnvironment } from 'src/engine/core-modules/environment/interfaces/node-environment.interface';
|
||||||
|
|
||||||
import { ExceptionHandlerDriver } from 'src/engine/core-modules/exception-handler/interfaces';
|
import { ExceptionHandlerDriver } from 'src/engine/core-modules/exception-handler/interfaces';
|
||||||
import { WorkspaceCacheKeys } from 'src/engine/workspace-cache-storage/workspace-cache-storage.service';
|
import { WorkspaceCacheKeys } from 'src/engine/workspace-cache-storage/workspace-cache-storage.service';
|
||||||
|
|
||||||
@ -24,6 +26,6 @@ if (process.env.EXCEPTION_HANDLER_DRIVER === ExceptionHandlerDriver.Sentry) {
|
|||||||
],
|
],
|
||||||
tracesSampleRate: 0.1,
|
tracesSampleRate: 0.1,
|
||||||
profilesSampleRate: 0.3,
|
profilesSampleRate: 0.3,
|
||||||
debug: process.env.DEBUG_MODE === 'true',
|
debug: process.env.NODE_ENV === NodeEnvironment.development,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,6 +9,8 @@ import { useContainer, ValidationError } from 'class-validator';
|
|||||||
import session from 'express-session';
|
import session from 'express-session';
|
||||||
import { graphqlUploadExpress } from 'graphql-upload';
|
import { graphqlUploadExpress } from 'graphql-upload';
|
||||||
|
|
||||||
|
import { NodeEnvironment } from 'src/engine/core-modules/environment/interfaces/node-environment.interface';
|
||||||
|
|
||||||
import { EnvironmentService } from 'src/engine/core-modules/environment/environment.service';
|
import { EnvironmentService } from 'src/engine/core-modules/environment/environment.service';
|
||||||
import { LoggerService } from 'src/engine/core-modules/logger/logger.service';
|
import { LoggerService } from 'src/engine/core-modules/logger/logger.service';
|
||||||
import { getSessionStorageOptions } from 'src/engine/core-modules/session-storage/session-storage.module-factory';
|
import { getSessionStorageOptions } from 'src/engine/core-modules/session-storage/session-storage.module-factory';
|
||||||
@ -25,7 +27,7 @@ const bootstrap = async () => {
|
|||||||
cors: true,
|
cors: true,
|
||||||
bufferLogs: process.env.LOGGER_IS_BUFFER_ENABLED === 'true',
|
bufferLogs: process.env.LOGGER_IS_BUFFER_ENABLED === 'true',
|
||||||
rawBody: true,
|
rawBody: true,
|
||||||
snapshot: process.env.DEBUG_MODE === 'true',
|
snapshot: process.env.NODE_ENV === NodeEnvironment.development,
|
||||||
...(process.env.SSL_KEY_PATH && process.env.SSL_CERT_PATH
|
...(process.env.SSL_KEY_PATH && process.env.SSL_CERT_PATH
|
||||||
? {
|
? {
|
||||||
httpsOptions: {
|
httpsOptions: {
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import { ReactElement } from 'react';
|
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import { compileMDX } from 'next-mdx-remote/rsc';
|
import { compileMDX } from 'next-mdx-remote/rsc';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
|
import { ReactElement } from 'react';
|
||||||
import gfm from 'remark-gfm';
|
import gfm from 'remark-gfm';
|
||||||
|
|
||||||
import ArticleEditContent from '@/app/_components/ui/layout/articles/ArticleEditContent';
|
import ArticleEditContent from '@/app/_components/ui/layout/articles/ArticleEditContent';
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import { JSXElementConstructor, ReactElement } from 'react';
|
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import matter from 'gray-matter';
|
import matter from 'gray-matter';
|
||||||
import { compileMDX } from 'next-mdx-remote/rsc';
|
import { compileMDX } from 'next-mdx-remote/rsc';
|
||||||
|
import { JSXElementConstructor, ReactElement } from 'react';
|
||||||
import gfm from 'remark-gfm';
|
import gfm from 'remark-gfm';
|
||||||
|
|
||||||
import { ReleaseNote } from '@/app/releases/api/route';
|
import { ReleaseNote } from '@/app/releases/api/route';
|
||||||
|
|||||||
@ -328,7 +328,6 @@ This feature is WIP and is not yet useful for most users.
|
|||||||
### Debug / Development
|
### Debug / Development
|
||||||
|
|
||||||
<ArticleTable options={[
|
<ArticleTable options={[
|
||||||
['DEBUG_MODE', 'true', 'Activate debug mode'],
|
|
||||||
['SIGN_IN_PREFILLED', 'true', 'Prefill the Sign in form for usage in a demo or dev environment'],
|
['SIGN_IN_PREFILLED', 'true', 'Prefill the Sign in form for usage in a demo or dev environment'],
|
||||||
]}></ArticleTable>
|
]}></ArticleTable>
|
||||||
|
|
||||||
|
|||||||
10
yarn.lock
10
yarn.lock
@ -7142,9 +7142,9 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@lingui/swc-plugin@npm:^5.0.2":
|
"@lingui/swc-plugin@npm:^5.1.0":
|
||||||
version: 5.0.2
|
version: 5.1.0
|
||||||
resolution: "@lingui/swc-plugin@npm:5.0.2"
|
resolution: "@lingui/swc-plugin@npm:5.1.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@lingui/core": 5
|
"@lingui/core": 5
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
@ -7152,7 +7152,7 @@ __metadata:
|
|||||||
optional: true
|
optional: true
|
||||||
next:
|
next:
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 10c0/5f7ca68349b642f7034800f6080c4f28f33d97059a8611144b9d78878cf14727b9293e4f5aec5c82a4930617f4bcacd2c25618e6d39ded7ceac15465f3b5aed2
|
checksum: 10c0/ca514c4fcc2d6d1ca62e7063fe4dc8ef2b29d328bbe22184b4773149a86448335c39f72faccfe41f10ca2081df379cfcb7f9e70337a27aec2568571c0118c0d6
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -46056,7 +46056,7 @@ __metadata:
|
|||||||
"@lingui/cli": "npm:^5.1.2"
|
"@lingui/cli": "npm:^5.1.2"
|
||||||
"@lingui/core": "npm:^5.1.2"
|
"@lingui/core": "npm:^5.1.2"
|
||||||
"@lingui/react": "npm:^5.1.2"
|
"@lingui/react": "npm:^5.1.2"
|
||||||
"@lingui/swc-plugin": "npm:^5.0.2"
|
"@lingui/swc-plugin": "npm:^5.1.0"
|
||||||
"@lingui/vite-plugin": "npm:^5.1.2"
|
"@lingui/vite-plugin": "npm:^5.1.2"
|
||||||
"@mdx-js/react": "npm:^3.0.0"
|
"@mdx-js/react": "npm:^3.0.0"
|
||||||
"@microsoft/microsoft-graph-client": "npm:^3.0.7"
|
"@microsoft/microsoft-graph-client": "npm:^3.0.7"
|
||||||
|
|||||||
Reference in New Issue
Block a user