From 8382f58bdefcabab394eb6c72f95e526da41e63b Mon Sep 17 00:00:00 2001 From: Tobbe Lundberg Date: Fri, 2 Jan 2026 10:23:47 +0100 Subject: [PATCH 1/2] feat(cli): Experimental flag to enable shared packages --- .../generate/package/packageHandler.js | 18 ++++++++++++++++++ .../src/__tests__/config.test.ts | 3 +++ packages/project-config/src/config.ts | 6 ++++++ 3 files changed, 27 insertions(+) diff --git a/packages/cli/src/commands/generate/package/packageHandler.js b/packages/cli/src/commands/generate/package/packageHandler.js index a10edd9c82..55343311fe 100644 --- a/packages/cli/src/commands/generate/package/packageHandler.js +++ b/packages/cli/src/commands/generate/package/packageHandler.js @@ -4,8 +4,10 @@ import path from 'node:path' import { paramCase, camelCase } from 'change-case' import execa from 'execa' import { Listr } from 'listr2' +import { terminalLink } from 'termi-link' import { recordTelemetryAttributes } from '@cedarjs/cli-helpers' +import { getConfig } from '@cedarjs/project-config' import { errorTelemetry } from '@cedarjs/telemetry' import c from '../../../lib/colors.js' @@ -120,6 +122,22 @@ export const handler = async ({ name, force, ...rest }) => { ) } + if (!getConfig().experimental.packagesWorkspace.enabled) { + const releaseNotes = terminalLink( + 'release notes', + 'https://github.com/cedarjs/cedar/releases', + ) + + console.error( + 'This is an experimental feature. Please enable it in your ' + + 'redwood.toml file and then run this command again.', + ) + console.error() + console.error(`See the ${releaseNotes} for instructions on how to enable.`) + + return + } + let packageFiles = {} const tasks = new Listr( /** @type {import('listr2').ListrTask[]} */ ([ diff --git a/packages/project-config/src/__tests__/config.test.ts b/packages/project-config/src/__tests__/config.test.ts index 87f11e20db..22787f4467 100644 --- a/packages/project-config/src/__tests__/config.test.ts +++ b/packages/project-config/src/__tests__/config.test.ts @@ -74,6 +74,9 @@ describe('getConfig', () => { "enabled": false, }, "useSDLCodeGenForGraphQLTypes": false, + "packagesWorkspace": { + "enabled": false, + }, }, "generate": { "nestScaffoldByModel": true, diff --git a/packages/project-config/src/config.ts b/packages/project-config/src/config.ts index 97c057c9e8..927cd2c73c 100644 --- a/packages/project-config/src/config.ts +++ b/packages/project-config/src/config.ts @@ -119,6 +119,9 @@ export interface Config { enabled: boolean lintOnly: boolean } + packagesWorkspace: { + enabled: boolean + } } eslintLegacyConfigWarning: boolean } @@ -206,6 +209,9 @@ export const DEFAULT_CONFIG: Config = { enabled: false, lintOnly: false, }, + packagesWorkspace: { + enabled: false, + }, }, eslintLegacyConfigWarning: true, } From 8685a764805c5109db5067dc1178f6ba6a6b2a19 Mon Sep 17 00:00:00 2001 From: Tobbe Lundberg Date: Fri, 2 Jan 2026 10:44:05 +0100 Subject: [PATCH 2/2] fix project-config test --- packages/project-config/src/__tests__/config.test.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/project-config/src/__tests__/config.test.ts b/packages/project-config/src/__tests__/config.test.ts index 22787f4467..48c7947a83 100644 --- a/packages/project-config/src/__tests__/config.test.ts +++ b/packages/project-config/src/__tests__/config.test.ts @@ -60,6 +60,9 @@ describe('getConfig', () => { "enabled": false, "wrapApi": true, }, + "packagesWorkspace": { + "enabled": false, + }, "reactCompiler": { "enabled": false, "lintOnly": false, @@ -74,9 +77,6 @@ describe('getConfig', () => { "enabled": false, }, "useSDLCodeGenForGraphQLTypes": false, - "packagesWorkspace": { - "enabled": false, - }, }, "generate": { "nestScaffoldByModel": true,