Skip to content

Commit f92bed0

Browse files
committed
refactor: Doesn't generate CJS while building when config.qwik is true. Remove CJS generation configuration one module at a time, which makes it easier to find bugs.
1 parent 60cabc9 commit f92bed0

File tree

12 files changed

+23
-136
lines changed

12 files changed

+23
-136
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@
199199
"build.watch": "tsx --require ./scripts/runBefore.ts scripts/index.ts --qwik --qwikrouter --watch --dev --platform-binding",
200200
"change": "changeset",
201201
"cli": "pnpm build.cli && node packages/create-qwik/create-qwik.cjs && tsx --require ./scripts/runBefore.ts scripts/validate-cli.ts --copy-local-qwik-dist",
202-
"cli.qwik": "pnpm build.cli && node packages/qwik/qwik-cli.cjs",
202+
"cli.qwik": "pnpm build.cli && node packages/qwik/qwik-cli.mjs",
203203
"cli.validate": "tsx --require ./scripts/runBefore.ts scripts/validate-cli.ts",
204204
"deps": "corepack pnpm upgrade -i -r --latest && syncpack fix-mismatches && corepack pnpm dedupe",
205205
"docs.dev": "pnpm -C packages/docs build.repl-sw && pnpm -C packages/docs dev",

packages/qwik/package.json

Lines changed: 9 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"version": "2.0.0-beta.12",
55
"author": "Qwik Team",
66
"bin": {
7-
"qwik": "./qwik-cli.cjs"
7+
"qwik": "./qwik-cli.mjs"
88
},
99
"bugs": "https://github.com/QwikDev/qwik/issues",
1010
"dependencies": {
@@ -35,15 +35,10 @@
3535
"production": "./dist/core.prod.mjs",
3636
"min": "./dist/core.min.mjs",
3737
"default": "./dist/core.prod.mjs"
38-
},
39-
"require": {
40-
"development": "./dist/core.cjs",
41-
"production": "./dist/core.prod.cjs",
42-
"default": "./dist/core.prod.cjs"
4338
}
4439
},
4540
"./cli": {
46-
"require": "./dist/cli.cjs"
41+
"require": "./dist/cli.mjs"
4742
},
4843
"./handlers.mjs": "./handlers.mjs",
4944
"./internal": {
@@ -94,17 +89,11 @@
9489
"development": "./dist/build/index.dev.mjs",
9590
"production": "./dist/build/index.prod.mjs",
9691
"default": "./dist/build/index.mjs"
97-
},
98-
"require": {
99-
"development": "./dist/build/index.dev.cjs",
100-
"production": "./dist/build/index.prod.cjs",
101-
"default": "./dist/build/index.cjs"
10292
}
10393
},
10494
"./loader": {
10595
"types": "./dist/loader/index.d.ts",
106-
"import": "./dist/loader/index.mjs",
107-
"require": "./dist/loader/index.cjs"
96+
"import": "./dist/loader/index.mjs"
10897
},
10998
"./insights": {
11099
"types": "./dist/insights.d.ts",
@@ -113,31 +102,24 @@
113102
},
114103
"./insights/vite": {
115104
"types": "./dist/insights/vite.d.ts",
116-
"import": "./dist/insights/vite/index.mjs",
117-
"require": "./dist/insights/vite/index.cjs"
105+
"import": "./dist/insights/vite/index.mjs"
118106
},
119-
"./optimizer.cjs": "./dist/optimizer.cjs",
120107
"./optimizer.mjs": "./dist/optimizer.mjs",
121108
"./optimizer": {
122109
"types": "./dist/optimizer.d.ts",
123-
"import": "./dist/optimizer.mjs",
124-
"require": "./dist/optimizer.cjs"
110+
"import": "./dist/optimizer.mjs"
125111
},
126112
"./preloader": {
127-
"import": "./dist/preloader.mjs",
128-
"require": "./dist/preloader.cjs"
113+
"import": "./dist/preloader.mjs"
129114
},
130-
"./server.cjs": "./dist/server.cjs",
131115
"./server.mjs": "./dist/server.mjs",
132116
"./server": {
133117
"types": "./server.d.ts",
134-
"import": "./dist/server.mjs",
135-
"require": "./dist/server.cjs"
118+
"import": "./dist/server.mjs"
136119
},
137120
"./testing": {
138121
"types": "./dist/testing/index.d.ts",
139-
"import": "./dist/testing/index.mjs",
140-
"require": "./dist/testing/index.cjs"
122+
"import": "./dist/testing/index.mjs"
141123
},
142124
"./qwikloader.js": "./dist/qwikloader.js",
143125
"./qwikloader.debug.js": "./dist/qwikloader.debug.js",
@@ -161,7 +143,7 @@
161143
"public.d.ts",
162144
"server.d.ts",
163145
"testing.d.ts",
164-
"qwik-cli.cjs"
146+
"qwik-cli.mjs"
165147
],
166148
"homepage": "https://qwik.dev/",
167149
"keywords": [
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
#!/usr/bin/env node
22
// This requires the build to be run first.
3-
const qwik = require('./dist/cli.cjs');
3+
const qwik = require('./dist/cli.mjs');
44
qwik.runCli();

packages/qwik/src/cli/qwik.cjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/usr/bin/env node
2-
const qwik = require('./cli.cjs');
2+
const qwik = require('./cli.mjs');
33
qwik.runCli();

scripts/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ const args = process.argv.slice(2);
1111
// load our build config, which figures out all the paths
1212
// the rest of the build process uses.
1313
const config = loadConfig(args);
14+
console.log(config);
1415
config.esmNode = true;
1516

1617
// let's do this!

scripts/submodule-backpatch.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,19 +71,13 @@ export async function generateBackpatchSubmodule(config: BuildConfig) {
7171
...code,
7272
`export { QWIK_BACKPATCH_EXECUTOR_MINIFIED, QWIK_BACKPATCH_EXECUTOR_DEBUG };`,
7373
];
74-
const cjsCode = [
75-
...code,
76-
`exports.QWIK_BACKPATCH_EXECUTOR_MINIFIED = QWIK_BACKPATCH_EXECUTOR_MINIFIED;`,
77-
`exports.QWIK_BACKPATCH_EXECUTOR_DEBUG = QWIK_BACKPATCH_EXECUTOR_DEBUG;`,
78-
];
7974
const dtsCode = [
8075
`export declare const QWIK_BACKPATCH_EXECUTOR_MINIFIED: string;`,
8176
`export declare const QWIK_BACKPATCH_EXECUTOR_DEBUG: string;`,
8277
];
8378

8479
ensureDir(backpatchDistDir);
8580
await writeFile(join(backpatchDistDir, 'index.mjs'), esmCode.join('\n') + '\n');
86-
await writeFile(join(backpatchDistDir, 'index.cjs'), cjsCode.join('\n') + '\n');
8781
await writeFile(join(backpatchDistDir, 'index.d.ts'), dtsCode.join('\n') + '\n');
8882

8983
const backpatchPkg: PackageJSON = {

scripts/submodule-build.ts

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,5 @@ export async function bundleIndex(config: BuildConfig, entryName: string) {
5050
outExtension: { '.js': '.mjs' },
5151
});
5252

53-
const cjs = build({
54-
...opts,
55-
format: 'cjs',
56-
57-
banner: {
58-
js: `globalThis.qwikBuild = (function (module) {`,
59-
},
60-
footer: {
61-
js: `return module.exports; })(typeof module === 'object' && module.exports ? module : { exports: {} });`,
62-
},
63-
outExtension: { '.js': '.cjs' },
64-
});
65-
66-
await Promise.all([esm, cjs]);
53+
await Promise.all([esm]);
6754
}

scripts/submodule-cli.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ export async function submoduleCli(config: BuildConfig) {
1010

1111
await build({
1212
entryPoints: [join(config.srcQwikDir, submodule, 'index.ts')],
13-
outfile: join(config.distQwikPkgDir, 'cli.cjs'),
14-
format: 'cjs',
13+
outfile: join(config.distQwikPkgDir, 'cli.mjs'),
14+
format: 'esm',
1515
platform: 'node',
1616
target: nodeTarget,
1717
sourcemap: false,
1818
bundle: true,
1919
banner: { js: getBanner('@qwik.dev/core/cli', config.distVersion) },
20-
outExtension: { '.js': '.cjs' },
20+
outExtension: { '.js': '.mjs' },
2121
plugins: [
2222
{
2323
name: 'colorAlias',

scripts/submodule-core.ts

Lines changed: 2 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -56,23 +56,9 @@ async function submoduleCoreProd(config: BuildConfig) {
5656
banner: getBanner('@qwik.dev/core', config.distVersion),
5757
};
5858

59-
const cjsOutput: OutputOptions = {
60-
dir: join(config.distQwikPkgDir),
61-
format: 'umd',
62-
name: 'qwikCore',
63-
entryFileNames: 'core.cjs',
64-
sourcemap: true,
65-
globals: {
66-
'@qwik.dev/core/build': 'qwikBuild',
67-
// not actually used
68-
'@qwik.dev/core/preloader': 'qwikPreloader',
69-
},
70-
banner: getBanner('@qwik.dev/core', config.distVersion),
71-
};
72-
7359
const build = await rollup(input);
7460

75-
await Promise.all([build.write(esmOutput), build.write(cjsOutput)]);
61+
await Promise.all([build.write(esmOutput)]);
7662

7763
console.log('🦊 core.mjs:', await fileSize(join(config.distQwikPkgDir, 'core.mjs')));
7864

@@ -174,13 +160,7 @@ async function submoduleCoreProd(config: BuildConfig) {
174160
console.log('🐭 core.min.mjs:', await fileSize(join(config.distQwikPkgDir, 'core.min.mjs')));
175161

176162
let esmCode = await readFile(join(config.distQwikPkgDir, 'core.mjs'), 'utf-8');
177-
let cjsCode = await readFile(join(config.distQwikPkgDir, 'core.cjs'), 'utf-8');
178-
// fixup the Vite base url
179-
cjsCode = cjsCode.replaceAll('undefined.BASE_URL', 'globalThis.BASE_URL||"/"');
180-
await writeFile(join(config.distQwikPkgDir, 'core.cjs'), cjsCode);
181-
182163
await submoduleCoreProduction(config, esmCode, join(config.distQwikPkgDir, 'core.prod.mjs'));
183-
await submoduleCoreProduction(config, cjsCode, join(config.distQwikPkgDir, 'core.prod.cjs'));
184164
}
185165

186166
async function submoduleCoreProduction(config: BuildConfig, code: string, outPath: string) {
@@ -238,41 +218,11 @@ async function submoduleCoreDev(config: BuildConfig) {
238218
outExtension: { '.js': '.mjs' },
239219
});
240220

241-
// We do a CJS build, only for the repl service worker
242-
const cjs = build({
243-
...opts,
244-
// we don't externalize qwik build because then the repl service worker sees require()
245-
define: {
246-
...opts.define,
247-
// We need to get rid of the import.meta.env values
248-
// Vite's base url
249-
'import.meta.env.BASE_URL': 'globalThis.BASE_URL',
250-
// Vite's devserver mode
251-
'import.meta.env.DEV': 'false',
252-
},
253-
format: 'cjs',
254-
outExtension: { '.js': '.cjs' },
255-
banner: {
256-
js: `globalThis.qwikCore = (function (module) {`,
257-
},
258-
footer: {
259-
js: `return module.exports; })(typeof module === 'object' && module.exports ? module : { exports: {} });`,
260-
},
261-
});
262-
263-
await Promise.all([esm, cjs]);
221+
await Promise.all([esm]);
264222

265223
// Point the minified and prod versions to the dev versions
266224
await writeFile(join(config.distQwikPkgDir, 'core.prod.mjs'), `export * from './core.mjs';\n`);
267-
await writeFile(
268-
join(config.distQwikPkgDir, 'core.prod.cjs'),
269-
`module.exports = require('./core.cjs');\n`
270-
);
271225
await writeFile(join(config.distQwikPkgDir, 'core.min.mjs'), `export * from './core.mjs';\n`);
272-
await writeFile(
273-
join(config.distQwikPkgDir, 'core.min.cjs'),
274-
`module.exports = require('./core.cjs');\n`
275-
);
276226

277227
console.log('🐬', submodule, '(dev)');
278228
}

scripts/submodule-preloader.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ export async function submodulePreloader(config: BuildConfig) {
5555
copyPublicDir: false,
5656
lib: {
5757
entry: join(config.srcQwikDir, 'core/preloader'),
58-
formats: ['es', 'cjs'],
59-
fileName: (format) => (format === 'es' ? 'preloader.mjs' : 'preloader.cjs'),
58+
formats: ['es'],
59+
fileName: () => 'preloader.mjs',
6060
},
6161
rollupOptions: {
6262
external: ['@qwik.dev/core/build'],

0 commit comments

Comments
 (0)