diff --git a/packages/cli/src/commands/build.js b/packages/cli/src/commands/build.js index 1f7e8d23321e..745310dcbc18 100644 --- a/packages/cli/src/commands/build.js +++ b/packages/cli/src/commands/build.js @@ -6,6 +6,7 @@ import Listr from 'listr' import VerboseRenderer from 'listr-verbose-renderer' import terminalLink from 'terminal-link' +import { getConfig } from '@redwoodjs/internal' import { detectPrerenderRoutes } from '@redwoodjs/prerender' import { getPaths } from 'src/lib' @@ -64,6 +65,7 @@ export const builder = (yargs) => { .option('esbuild', { type: 'boolean', required: false, + default: getConfig().experimental.esbuild, description: 'Use ESBuild for api side [experimental]', }) .epilogue( diff --git a/packages/cli/src/commands/dev.js b/packages/cli/src/commands/dev.js index 44dd571cdbc7..b2116537ca29 100644 --- a/packages/cli/src/commands/dev.js +++ b/packages/cli/src/commands/dev.js @@ -28,6 +28,7 @@ export const builder = (yargs) => { .option('esbuild', { type: 'boolean', required: false, + default: getConfig().experimental.esbuild, description: 'Use ESBuild [experimental]', }) .option('generate', { diff --git a/packages/create-redwood-app/template/redwood.toml b/packages/create-redwood-app/template/redwood.toml index 568e730dc050..c68d72573c06 100644 --- a/packages/create-redwood-app/template/redwood.toml +++ b/packages/create-redwood-app/template/redwood.toml @@ -13,3 +13,5 @@ schemaPath = "./api/db/schema.prisma" [browser] open = true +[experimental] + esbuild = false diff --git a/packages/internal/src/__tests__/config.test.ts b/packages/internal/src/__tests__/config.test.ts index 306567425afd..988323337b40 100644 --- a/packages/internal/src/__tests__/config.test.ts +++ b/packages/internal/src/__tests__/config.test.ts @@ -19,6 +19,9 @@ describe('getConfig', () => { "browser": Object { "open": false, }, + "experimental": Object { + "esbuild": false, + }, "generate": Object { "stories": true, "tests": true, diff --git a/packages/internal/src/config.ts b/packages/internal/src/config.ts index 7ac14cd854ff..4d3609e9b0a5 100644 --- a/packages/internal/src/config.ts +++ b/packages/internal/src/config.ts @@ -44,6 +44,9 @@ export interface Config { tests: boolean stories: boolean } + experimental: { + esbuild: boolean + } } // Note that web's includeEnvironmentVariables is handled in `webpack.common.js` @@ -73,6 +76,9 @@ const DEFAULT_CONFIG: Config = { tests: true, stories: true, }, + experimental: { + esbuild: false, + } } /**