Skip to content

Commit 200c81e

Browse files
authored
Merge pull request #8103 from JerryWu1234/no-cjs
chore: remove CJS/UMD builds and make ESM-only
2 parents 00ca33e + fe3fbb6 commit 200c81e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+208
-609
lines changed

.changeset/empty-mails-laugh.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
'supabase-auth-helpers-qwik': major
3+
'create-qwik': major
4+
'@qwik.dev/router': major
5+
'@qwik.dev/react': major
6+
'@qwik.dev/core': major
7+
---
8+
9+
BREAKING: the CJS/UMD builds have been removed; ESM is well-supported everywhere and allows better optimizations.

e2e/docs-e2e/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@
1414
"test": "pnpm exec playwright test --config=playwright.config.ts --project=chromium",
1515
"test-ui": "pnpm exec playwright test --config=playwright.config.ts --project=chromium --ui"
1616
},
17-
"type": "commonjs"
17+
"type": "module"
1818
}

e2e/qwik-cli-e2e/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ E2E project does the following internally:
1212

1313
0. Vitest is configured to run a setup function once **PRIOR TO ALL** tests. During the setup `@qwik.dev/core`, `@qwik.dev/router` and `eslint-plugin-qwik` packages will be packed with `pnpm pack` Those will be used at a step 2 for every test. Tarballs are located in `temp/tarballs` folder within this repo. It is assumed that packages are built before E2E is executed.
1414

15-
1. Simulates `npm create qwik` locally using direct command `node packages/create-qwik/create-qwik.cjs playground {outputDir}`
15+
1. Simulates `npm create qwik` locally using direct command `node packages/create-qwik/create-qwik.mjs playground {outputDir}`
1616
- By default `outputDir` is an auto-generated one using `tmp` npm package. The application that is created here will be removed after the test is executed
1717
- It is possible to install into custom folder using environment variable `TEMP_E2E_PATH`. Here's how the command would look like in this case:
1818
- with absolute path `TEMP_E2E_PATH=/Users/name/projects/tests pnpm run test.e2e.cli`

e2e/qwik-cli-e2e/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@
88
"scripts": {
99
"e2e": "vitest run --config=vite.config.ts",
1010
"e2e.watch": "vitest watch --config=vite.config.ts"
11-
}
11+
},
12+
"type": "module"
1213
}

e2e/qwik-cli-e2e/utils/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ function getTmpDirSync(tmpDirOverride?: string) {
6161
function runCreateQwikCommand(tmpDir: string, type: 'playground' | 'library' | 'empty'): string {
6262
const appDir = 'e2e-app';
6363
execSync(
64-
`node "${workspaceRoot}/packages/create-qwik/create-qwik.cjs" ${type} "${join(tmpDir, appDir)}"`
64+
`node "${workspaceRoot}/packages/create-qwik/create-qwik.mjs" ${type} "${join(tmpDir, appDir)}"`
6565
);
6666
return join(tmpDir, appDir);
6767
}

package.json

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@
108108
"@qwik.dev/router": "workspace:*",
109109
"@types/brotli": "1.3.4",
110110
"@types/bun": "1.2.21",
111-
"@types/cross-spawn": "6.0.6",
112111
"@types/express": "5.0.3",
113112
"@types/node": "24.3.0",
114113
"@types/path-browserify": "1.0.3",
@@ -122,7 +121,6 @@
122121
"all-contributors-cli": "6.26.1",
123122
"brotli": "1.3.3",
124123
"create-qwik": "workspace:*",
125-
"cross-spawn": "7.0.6",
126124
"csstype": "3.1.3",
127125
"dotenv": "16.5.0",
128126
"esbuild": "0.25.10",
@@ -166,7 +164,7 @@
166164
"zod": "3.25.48"
167165
},
168166
"engines": {
169-
"node": "^18.17.0 || ^20.3.0 || >=21.0.0",
167+
"node": ">=22.18.0",
170168
"npm": "please-use-pnpm",
171169
"yarn": "please-use-pnpm",
172170
"pnpm": ">=10.14.0"
@@ -197,8 +195,8 @@
197195
"build.wasm": "node --require ./scripts/runBefore.ts scripts/index.ts --wasm",
198196
"build.watch": "node --require ./scripts/runBefore.ts scripts/index.ts --qwik --qwikrouter --watch --dev --platform-binding",
199197
"change": "changeset",
200-
"cli": "pnpm build.cli && node packages/create-qwik/create-qwik.cjs && node --require ./scripts/runBefore.ts scripts/validate-cli.ts --copy-local-qwik-dist",
201-
"cli.qwik": "pnpm build.cli && node packages/qwik/qwik-cli.cjs",
198+
"cli": "pnpm build.cli && node packages/create-qwik/create-qwik.mjs && node --require ./scripts/runBefore.ts scripts/validate-cli.ts --copy-local-qwik-dist",
199+
"cli.qwik": "pnpm build.cli && node packages/qwik/qwik-cli.mjs",
202200
"cli.validate": "node --require ./scripts/runBefore.ts scripts/validate-cli.ts",
203201
"deps": "corepack pnpm upgrade -i -r --latest && syncpack fix-mismatches && corepack pnpm dedupe",
204202
"docs.dev": "pnpm -C packages/docs build.repl-sw && pnpm -C packages/docs dev",

packages/create-qwik/create-qwik.cjs

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/usr/bin/env node
2+
import * as createQwik from './dist/index.mjs';
3+
createQwik.runCli();

packages/create-qwik/package.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"description": "Interactive CLI for create Qwik projects and adding features.",
44
"version": "2.0.0-beta.13",
55
"author": "Qwik Team",
6-
"bin": "./create-qwik.cjs",
6+
"bin": "./create-qwik.mjs",
77
"bugs": "https://github.com/QwikDev/qwik/issues",
88
"devDependencies": {
99
"@clack/prompts": "0.11.0",
@@ -20,7 +20,7 @@
2020
"engines-annotation": "Mostly required by sharp which needs a Node-API v9 compatible runtime",
2121
"files": [
2222
"README.md",
23-
"create-qwik.cjs",
23+
"create-qwik.mjs",
2424
"dist"
2525
],
2626
"homepage": "https://qwik.dev/",
@@ -31,10 +31,11 @@
3131
"template"
3232
],
3333
"license": "MIT",
34-
"main": "./dist/index.cjs",
34+
"main": "./dist/index.mjs",
3535
"repository": {
3636
"type": "git",
3737
"url": "https://github.com/QwikDev/qwik.git",
3838
"directory": "packages/create-qwik"
39-
}
39+
},
40+
"type": "module"
4041
}

packages/qwik-react/package.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,11 @@
1818
"exports": {
1919
".": {
2020
"types": "./lib/types/index.qwik.d.ts",
21-
"import": "./lib/index.qwik.mjs",
22-
"require": "./lib/index.qwik.cjs"
21+
"import": "./lib/index.qwik.mjs"
2322
},
2423
"./vite": {
2524
"types": "./lib/types/vite.d.ts",
26-
"import": "./lib/vite.mjs",
27-
"require": "./lib/vite.cjs"
25+
"import": "./lib/vite.mjs"
2826
}
2927
},
3028
"files": [

0 commit comments

Comments
 (0)