From cadbb82712421fec54d8b5295f1e1386af0dd2e1 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Mon, 18 Mar 2024 16:38:55 +0100 Subject: [PATCH 1/2] cli: add experimental lazy compilation flag Signed-off-by: Patrik Oldsberg --- .changeset/curvy-flies-own.md | 5 +++++ packages/cli/src/lib/bundler/config.ts | 3 +++ 2 files changed, 8 insertions(+) create mode 100644 .changeset/curvy-flies-own.md diff --git a/.changeset/curvy-flies-own.md b/.changeset/curvy-flies-own.md new file mode 100644 index 0000000000..19fcc6bf62 --- /dev/null +++ b/.changeset/curvy-flies-own.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +Added a `EXPERIMENTAL_LAZY_COMPILATION` flag, which enables the experimental Webpack lazy compilation option in frontend builds. diff --git a/packages/cli/src/lib/bundler/config.ts b/packages/cli/src/lib/bundler/config.ts index 581ead8575..8245cf61b3 100644 --- a/packages/cli/src/lib/bundler/config.ts +++ b/packages/cli/src/lib/bundler/config.ts @@ -224,6 +224,9 @@ export async function createConfig( } : {}), }, + experiments: { + lazyCompilation: yn(process.env.EXPERIMENTAL_LAZY_COMPILATION), + }, plugins, ...(withCache ? { From b9caacec7d907cc61f3e40bf8fb6aa708057c2d0 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Mon, 18 Mar 2024 16:54:03 +0100 Subject: [PATCH 2/2] app: use experimental lazy compilation Signed-off-by: Patrik Oldsberg --- packages/app/package.json | 50 +++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/packages/app/package.json b/packages/app/package.json index 746d05bf5c..203a0ad5ed 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,17 +1,39 @@ { "name": "example-app", "version": "0.2.93-next.2", - "private": true, "backstage": { "role": "frontend" }, - "bundled": true, + "private": true, "homepage": "https://backstage.io", "repository": { "type": "git", "url": "https://github.com/backstage/backstage", "directory": "packages/app" }, + "license": "Apache-2.0", + "files": [ + "dist" + ], + "scripts": { + "build": "backstage-cli package build", + "clean": "backstage-cli package clean", + "lint": "backstage-cli package lint", + "start": "cross-env EXPERIMENTAL_LAZY_COMPILATION=1 backstage-cli package start", + "test": "backstage-cli package test" + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, "dependencies": { "@backstage/app-defaults": "workspace:^", "@backstage/catalog-model": "workspace:^", @@ -121,27 +143,5 @@ "@types/zen-observable": "^0.8.0", "cross-env": "^7.0.0" }, - "scripts": { - "start": "backstage-cli package start", - "build": "backstage-cli package build", - "clean": "backstage-cli package clean", - "test": "backstage-cli package test", - "lint": "backstage-cli package lint" - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, - "files": [ - "dist" - ], - "license": "Apache-2.0" + "bundled": true }