@prosopo/config 3.3.7 → 3.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build$colon$cjs.log +7 -6
- package/.turbo/turbo-build$colon$tsc.log +4 -4
- package/.turbo/turbo-build.log +8 -7
- package/CHANGELOG.md +12 -0
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/vite/index.cjs +2 -0
- package/dist/cjs/vite/vite-plugin-modify-exports-files.cjs +43 -0
- package/dist/cjs/vite/vite.frontend.config.cjs +6 -1
- package/dist/index.js +2 -1
- package/dist/vite/index.d.ts +1 -0
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +2 -1
- package/dist/vite/index.js.map +1 -1
- package/dist/vite/modifyExportsFiles.test.d.ts +2 -0
- package/dist/vite/modifyExportsFiles.test.d.ts.map +1 -0
- package/dist/vite/modifyExportsFiles.test.js +28 -0
- package/dist/vite/modifyExportsFiles.test.js.map +1 -0
- package/dist/vite/vite-plugin-modify-exports-files.d.ts +4 -0
- package/dist/vite/vite-plugin-modify-exports-files.d.ts.map +1 -0
- package/dist/vite/vite-plugin-modify-exports-files.js +42 -0
- package/dist/vite/vite-plugin-modify-exports-files.js.map +1 -0
- package/dist/vite/vite.frontend.config.d.ts.map +1 -1
- package/dist/vite/vite.frontend.config.js +6 -1
- package/dist/vite/vite.frontend.config.js.map +1 -1
- package/package.json +1 -1
- package/src/vite/index.ts +1 -0
- package/src/vite/modifyExportsFiles.test.ts +56 -0
- package/src/vite/vite-plugin-modify-exports-files.ts +64 -0
- package/src/vite/vite.frontend.config.ts +13 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/config@3.3.
|
|
2
|
+
> @prosopo/config@3.3.8 build:cjs
|
|
3
3
|
> NODE_ENV=${NODE_ENV:-production}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
|
|
4
4
|
|
|
5
5
|
ViteCommonJSConfig: .
|
|
@@ -9,7 +9,7 @@ ViteCommonJSConfig: .
|
|
|
9
9
|
[36mvite v8.1.5 [32mbuilding ssr environment for production...[36m[39m
|
|
10
10
|
Bundle build started
|
|
11
11
|
[2K
|
|
12
|
-
✓
|
|
12
|
+
✓ 20 modules transformed.
|
|
13
13
|
rendering chunks...
|
|
14
14
|
computing gzip size...
|
|
15
15
|
dist/cjs/webpack/index.cjs 0.00 kB │ gzip: 0.02 kB
|
|
@@ -18,18 +18,19 @@ dist/cjs/vite/TsNoCheckPlugin.cjs 0.37 kB │ gzip:
|
|
|
18
18
|
dist/cjs/vite/vite-plugin-fix-absolute-imports.cjs 0.60 kB │ gzip: 0.34 kB
|
|
19
19
|
dist/cjs/vite/vite-plugin-externalize-obfuscator-deadcode.cjs 0.68 kB │ gzip: 0.37 kB
|
|
20
20
|
dist/cjs/_virtual/_rolldown/runtime.cjs 1.00 kB │ gzip: 0.50 kB
|
|
21
|
+
dist/cjs/vite/vite-plugin-modify-exports-files.cjs 1.36 kB │ gzip: 0.70 kB
|
|
21
22
|
dist/cjs/vite/vite-plugin-copy.cjs 1.60 kB │ gzip: 0.65 kB
|
|
22
23
|
dist/cjs/vite/vite-plugin-close-and-copy.cjs 1.77 kB │ gzip: 0.67 kB
|
|
23
|
-
dist/cjs/vite/index.cjs 2.
|
|
24
|
+
dist/cjs/vite/index.cjs 2.26 kB │ gzip: 0.50 kB
|
|
24
25
|
dist/cjs/vite/vite-plugin-remove-unused-translations.cjs 2.34 kB │ gzip: 1.01 kB
|
|
25
26
|
dist/cjs/vite/vite.esm.config.cjs 2.39 kB │ gzip: 0.92 kB
|
|
26
27
|
dist/cjs/vite/vite.commonjs.config.cjs 2.52 kB │ gzip: 0.99 kB
|
|
27
28
|
dist/cjs/vite/vite.threads.test.config.cjs 2.52 kB │ gzip: 1.00 kB
|
|
28
|
-
dist/cjs/index.cjs 2.54 kB │ gzip: 0.57 kB
|
|
29
29
|
dist/cjs/vite/vite.test.config.cjs 2.72 kB │ gzip: 1.04 kB
|
|
30
|
+
dist/cjs/index.cjs 2.74 kB │ gzip: 0.61 kB
|
|
30
31
|
dist/cjs/vite/vite.backend.config.cjs 3.63 kB │ gzip: 1.35 kB
|
|
31
32
|
dist/cjs/webpack/webpack.config.cjs 3.72 kB │ gzip: 1.30 kB
|
|
32
33
|
dist/cjs/dependencies.cjs 5.87 kB │ gzip: 1.92 kB
|
|
33
|
-
dist/cjs/vite/vite.frontend.config.cjs 6.
|
|
34
|
+
dist/cjs/vite/vite.frontend.config.cjs 6.78 kB │ gzip: 2.36 kB
|
|
34
35
|
|
|
35
|
-
[32m✓ built in
|
|
36
|
+
[32m✓ built in 62ms[39m
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/config@3.3.
|
|
2
|
+
> @prosopo/config@3.3.8 build:tsc
|
|
3
3
|
> tsc --build --verbose
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
3:30:33 PM - Projects in this build:
|
|
6
6
|
* tsconfig.json
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
3:30:33 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
3:30:33 PM - Building project '/home/runner/work/captcha/captcha/dev/config/tsconfig.json'...
|
|
11
11
|
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/config@3.3.
|
|
2
|
+
> @prosopo/config@3.3.8 build
|
|
3
3
|
> npm run build:cross-env -- --mode ${NODE_ENV:-development}
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @prosopo/config@3.3.
|
|
6
|
+
> @prosopo/config@3.3.8 build:cross-env
|
|
7
7
|
> vite build --config vite.esm.config.ts --mode production
|
|
8
8
|
|
|
9
9
|
ViteEsmConfig: .
|
|
@@ -13,7 +13,7 @@ ViteEsmConfig: .
|
|
|
13
13
|
[36mvite v8.1.5 [32mbuilding ssr environment for production...[36m[39m
|
|
14
14
|
Bundle build started
|
|
15
15
|
[2K
|
|
16
|
-
✓
|
|
16
|
+
✓ 20 modules transformed.
|
|
17
17
|
rendering chunks...
|
|
18
18
|
computing gzip size...
|
|
19
19
|
dist/webpack/index.js 0.01 kB │ gzip: 0.03 kB
|
|
@@ -23,10 +23,11 @@ dist/vite/TsNoCheckPlugin.js 0.36 kB │ gzip: 0.23
|
|
|
23
23
|
dist/vite/vite-plugin-fix-absolute-imports.js 0.59 kB │ gzip: 0.33 kB
|
|
24
24
|
dist/vite/vite-plugin-externalize-obfuscator-deadcode.js 0.69 kB │ gzip: 0.38 kB
|
|
25
25
|
dist/vite/vite-plugin-copy.js 1.22 kB │ gzip: 0.57 kB
|
|
26
|
+
dist/vite/vite-plugin-modify-exports-files.js 1.33 kB │ gzip: 0.70 kB
|
|
26
27
|
dist/vite/vite-plugin-close-and-copy.js 1.46 kB │ gzip: 0.61 kB
|
|
27
|
-
dist/vite/index.js 1.
|
|
28
|
-
dist/index.js 1.77 kB │ gzip: 0.48 kB
|
|
28
|
+
dist/vite/index.js 1.61 kB │ gzip: 0.44 kB
|
|
29
29
|
dist/vite/vite.esm.config.js 1.90 kB │ gzip: 0.84 kB
|
|
30
|
+
dist/index.js 1.91 kB │ gzip: 0.51 kB
|
|
30
31
|
dist/vite/vite.commonjs.config.js 2.00 kB │ gzip: 0.90 kB
|
|
31
32
|
dist/vite/vite-plugin-remove-unused-translations.js 2.03 kB │ gzip: 0.92 kB
|
|
32
33
|
dist/vite/vite.threads.test.config.js 2.19 kB │ gzip: 0.94 kB
|
|
@@ -34,6 +35,6 @@ dist/vite/vite.test.config.js 2.29 kB │ gzip: 0.96
|
|
|
34
35
|
dist/webpack/webpack.config.js 3.08 kB │ gzip: 1.23 kB
|
|
35
36
|
dist/vite/vite.backend.config.js 3.10 kB │ gzip: 1.27 kB
|
|
36
37
|
dist/dependencies.js 5.31 kB │ gzip: 1.81 kB
|
|
37
|
-
dist/vite/vite.frontend.config.js 5.
|
|
38
|
+
dist/vite/vite.frontend.config.js 5.80 kB │ gzip: 2.23 kB
|
|
38
39
|
|
|
39
|
-
[32m✓ built in
|
|
40
|
+
[32m✓ built in 51ms[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @prosopo/config
|
|
2
2
|
|
|
3
|
+
## 3.3.8
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- bde0cb9: Enable whitespace minification for production frontend bundles.
|
|
7
|
+
|
|
8
|
+
For a `lib` + `es` build, Vite downgrades `build.minify: true` to
|
|
9
|
+
`{ compress: true, mangle: true, codegen: false }`, so bundles shipped compressed
|
|
10
|
+
and mangled but still pretty-printed. Setting `output.minify` explicitly fixes it.
|
|
11
|
+
|
|
12
|
+
On `@prosopo/procaptcha-bundle`, the critical path drops 22.5% raw (658KB → 510KB)
|
|
13
|
+
and 9.6% gzipped. Chunk membership is unchanged. Production builds only.
|
|
14
|
+
|
|
3
15
|
## 3.3.7
|
|
4
16
|
### Patch Changes
|
|
5
17
|
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -13,6 +13,7 @@ const require_vite_commonjs_config = require("./vite/vite.commonjs.config.cjs");
|
|
|
13
13
|
const require_vite_esm_config = require("./vite/vite.esm.config.cjs");
|
|
14
14
|
const require_vite_plugin_remove_unused_translations = require("./vite/vite-plugin-remove-unused-translations.cjs");
|
|
15
15
|
const require_TsNoCheckPlugin = require("./vite/TsNoCheckPlugin.cjs");
|
|
16
|
+
const require_vite_plugin_modify_exports_files = require("./vite/vite-plugin-modify-exports-files.cjs");
|
|
16
17
|
exports.ViteBackendConfig = require_vite_backend_config.default;
|
|
17
18
|
exports.ViteCommonJSConfig = require_vite_commonjs_config.default;
|
|
18
19
|
exports.ViteEsmConfig = require_vite_esm_config.default;
|
|
@@ -21,6 +22,7 @@ exports.VitePluginCloseAndCopy = require_vite_plugin_close_and_copy.default;
|
|
|
21
22
|
exports.VitePluginCopy = require_vite_plugin_copy.default;
|
|
22
23
|
exports.VitePluginExternalizeObfuscatorDeadCode = require_vite_plugin_externalize_obfuscator_deadcode.default;
|
|
23
24
|
exports.VitePluginFixAbsoluteImports = require_vite_plugin_fix_absolute_imports.default;
|
|
25
|
+
exports.VitePluginModifyExportsFiles = require_vite_plugin_modify_exports_files.default;
|
|
24
26
|
exports.VitePluginRemoveUnusedTranslations = require_vite_plugin_remove_unused_translations.default;
|
|
25
27
|
exports.VitePluginSourceMapExclude = require_vite_plugin_sourcemap_exclude.default;
|
|
26
28
|
exports.ViteTestConfig = require_vite_test_config.default;
|
package/dist/cjs/vite/index.cjs
CHANGED
|
@@ -11,6 +11,7 @@ const require_vite_commonjs_config = require("./vite.commonjs.config.cjs");
|
|
|
11
11
|
const require_vite_esm_config = require("./vite.esm.config.cjs");
|
|
12
12
|
const require_vite_plugin_remove_unused_translations = require("./vite-plugin-remove-unused-translations.cjs");
|
|
13
13
|
const require_TsNoCheckPlugin = require("./TsNoCheckPlugin.cjs");
|
|
14
|
+
const require_vite_plugin_modify_exports_files = require("./vite-plugin-modify-exports-files.cjs");
|
|
14
15
|
exports.ViteBackendConfig = require_vite_backend_config.default;
|
|
15
16
|
exports.ViteCommonJSConfig = require_vite_commonjs_config.default;
|
|
16
17
|
exports.ViteEsmConfig = require_vite_esm_config.default;
|
|
@@ -19,6 +20,7 @@ exports.VitePluginCloseAndCopy = require_vite_plugin_close_and_copy.default;
|
|
|
19
20
|
exports.VitePluginCopy = require_vite_plugin_copy.default;
|
|
20
21
|
exports.VitePluginExternalizeObfuscatorDeadCode = require_vite_plugin_externalize_obfuscator_deadcode.default;
|
|
21
22
|
exports.VitePluginFixAbsoluteImports = require_vite_plugin_fix_absolute_imports.default;
|
|
23
|
+
exports.VitePluginModifyExportsFiles = require_vite_plugin_modify_exports_files.default;
|
|
22
24
|
exports.VitePluginRemoveUnusedTranslations = require_vite_plugin_remove_unused_translations.default;
|
|
23
25
|
exports.VitePluginSourceMapExclude = require_vite_plugin_sourcemap_exclude.default;
|
|
24
26
|
exports.ViteTestConfig = require_vite_test_config.default;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
//#region src/vite/vite-plugin-modify-exports-files.ts
|
|
2
|
+
/**
|
|
3
|
+
* Empties the generated `exports2.FILES` array in every emitted chunk so that
|
|
4
|
+
* bundled file listings are not leaked into the output.
|
|
5
|
+
*/
|
|
6
|
+
var ASSIGNMENT = "exports2.FILES = [";
|
|
7
|
+
var TERMINATOR = "];";
|
|
8
|
+
var REPLACEMENT = "exports2.FILES = [];\n";
|
|
9
|
+
/**
|
|
10
|
+
* Blank every `exports2.FILES = [...]` assignment in a chunk.
|
|
11
|
+
*
|
|
12
|
+
* Done with indexOf rather than a regex: `\[[\s\S]*?\];` backtracks
|
|
13
|
+
* quadratically on a chunk holding many unterminated assignments, and chunk
|
|
14
|
+
* contents are whatever the bundled sources happened to contain. Scanning
|
|
15
|
+
* forward is linear regardless.
|
|
16
|
+
*/
|
|
17
|
+
var emptyExportsFiles = (code) => {
|
|
18
|
+
let out = "";
|
|
19
|
+
let cursor = 0;
|
|
20
|
+
for (;;) {
|
|
21
|
+
const start = code.indexOf(ASSIGNMENT, cursor);
|
|
22
|
+
if (start === -1) break;
|
|
23
|
+
const end = code.indexOf(TERMINATOR, start + 18);
|
|
24
|
+
if (end === -1) break;
|
|
25
|
+
out += code.slice(cursor, start) + REPLACEMENT;
|
|
26
|
+
cursor = end + 2;
|
|
27
|
+
}
|
|
28
|
+
return out + code.slice(cursor);
|
|
29
|
+
};
|
|
30
|
+
function modifyExportsFilesPlugin() {
|
|
31
|
+
return {
|
|
32
|
+
name: "modify-exports-files",
|
|
33
|
+
generateBundle(_options, bundle) {
|
|
34
|
+
for (const fileName in bundle) {
|
|
35
|
+
const chunk = bundle[fileName];
|
|
36
|
+
if (chunk && chunk.type === "chunk") chunk.code = emptyExportsFiles(chunk.code);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
exports.default = modifyExportsFilesPlugin;
|
|
43
|
+
exports.emptyExportsFiles = emptyExportsFiles;
|
|
@@ -127,7 +127,12 @@ async function vite_frontend_config_default(packageName, bundleName, dir, entry,
|
|
|
127
127
|
watch: false,
|
|
128
128
|
output: {
|
|
129
129
|
dir: node_path.default.resolve(dir, "dist/bundle"),
|
|
130
|
-
entryFileNames: `${bundleName}.bundle.js
|
|
130
|
+
entryFileNames: `${bundleName}.bundle.js`,
|
|
131
|
+
...isProduction ? { minify: {
|
|
132
|
+
compress: true,
|
|
133
|
+
mangle: true,
|
|
134
|
+
codegen: true
|
|
135
|
+
} } : {}
|
|
131
136
|
},
|
|
132
137
|
plugins: [
|
|
133
138
|
(0, rollup_plugin_import_css.default)(),
|
package/dist/index.js
CHANGED
|
@@ -13,4 +13,5 @@ import vite_commonjs_config_default from "./vite/vite.commonjs.config.js";
|
|
|
13
13
|
import vite_esm_config_default from "./vite/vite.esm.config.js";
|
|
14
14
|
import VitePluginRemoveUnusedTranslations from "./vite/vite-plugin-remove-unused-translations.js";
|
|
15
15
|
import { tsNoCheckPlugin } from "./vite/TsNoCheckPlugin.js";
|
|
16
|
-
|
|
16
|
+
import modifyExportsFilesPlugin from "./vite/vite-plugin-modify-exports-files.js";
|
|
17
|
+
export { vite_backend_config_default as ViteBackendConfig, vite_commonjs_config_default as ViteCommonJSConfig, vite_esm_config_default as ViteEsmConfig, vite_frontend_config_default as ViteFrontendConfig, VitePluginCloseAndCopy, VitePluginCopy, VitePluginExternalizeObfuscatorDeadCode, VitePluginFixAbsoluteImports, modifyExportsFilesPlugin as VitePluginModifyExportsFiles, VitePluginRemoveUnusedTranslations, VitePluginSourcemapExclude as VitePluginSourceMapExclude, vite_test_config_default as ViteTestConfig, vite_threads_test_config_default as ViteThreadsTestConfig, filterDependencies, getDependencies, getExternalsFromReferences, getTsConfigs, tsNoCheckPlugin };
|
package/dist/vite/index.d.ts
CHANGED
|
@@ -11,4 +11,5 @@ export { default as ViteEsmConfig } from "./vite.esm.config.js";
|
|
|
11
11
|
export { default as VitePluginRemoveUnusedTranslations } from "./vite-plugin-remove-unused-translations.js";
|
|
12
12
|
export * from "./TsNoCheckPlugin.js";
|
|
13
13
|
export { default as VitePluginCopy } from "./vite-plugin-copy.js";
|
|
14
|
+
export { default as VitePluginModifyExportsFiles } from "./vite-plugin-modify-exports-files.js";
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/vite/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,uCAAuC,EAAE,MAAM,kDAAkD,CAAC;AACtH,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,kCAAkC,EAAE,MAAM,6CAA6C,CAAC;AAC5G,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,uCAAuC,EAAE,MAAM,kDAAkD,CAAC;AACtH,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,kCAAkC,EAAE,MAAM,6CAA6C,CAAC;AAC5G,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,uCAAuC,CAAC"}
|
package/dist/vite/index.js
CHANGED
|
@@ -11,4 +11,5 @@ import vite_commonjs_config_default from "./vite.commonjs.config.js";
|
|
|
11
11
|
import vite_esm_config_default from "./vite.esm.config.js";
|
|
12
12
|
import VitePluginRemoveUnusedTranslations from "./vite-plugin-remove-unused-translations.js";
|
|
13
13
|
import { tsNoCheckPlugin } from "./TsNoCheckPlugin.js";
|
|
14
|
-
|
|
14
|
+
import modifyExportsFilesPlugin from "./vite-plugin-modify-exports-files.js";
|
|
15
|
+
export { vite_backend_config_default as ViteBackendConfig, vite_commonjs_config_default as ViteCommonJSConfig, vite_esm_config_default as ViteEsmConfig, vite_frontend_config_default as ViteFrontendConfig, VitePluginCloseAndCopy, VitePluginCopy, VitePluginExternalizeObfuscatorDeadCode, VitePluginFixAbsoluteImports, modifyExportsFilesPlugin as VitePluginModifyExportsFiles, VitePluginRemoveUnusedTranslations, VitePluginSourcemapExclude as VitePluginSourceMapExclude, vite_test_config_default as ViteTestConfig, vite_threads_test_config_default as ViteThreadsTestConfig, tsNoCheckPlugin };
|
package/dist/vite/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,uCAAuC,EAAE,MAAM,kDAAkD,CAAC;AACtH,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,kCAAkC,EAAE,MAAM,6CAA6C,CAAC;AAC5G,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,uCAAuC,EAAE,MAAM,kDAAkD,CAAC;AACtH,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,kCAAkC,EAAE,MAAM,6CAA6C,CAAC;AAC5G,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,uCAAuC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modifyExportsFiles.test.d.ts","sourceRoot":"","sources":["../../src/vite/modifyExportsFiles.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { describe, expect, test } from "vitest";
|
|
2
|
+
import { emptyExportsFiles } from "./vite-plugin-modify-exports-files.js";
|
|
3
|
+
describe("emptyExportsFiles", () => {
|
|
4
|
+
test("empties an assignment and keeps the code around it", () => {
|
|
5
|
+
expect(emptyExportsFiles('a();\nexports2.FILES = ["a.js", "b.js"];\nb();')).toBe("a();\nexports2.FILES = [];\n\nb();");
|
|
6
|
+
});
|
|
7
|
+
test("empties every assignment, not just the first", () => {
|
|
8
|
+
const out = emptyExportsFiles('exports2.FILES = ["a"];exports2.FILES = ["b"];');
|
|
9
|
+
expect(out).toBe("exports2.FILES = [];\nexports2.FILES = [];\n");
|
|
10
|
+
});
|
|
11
|
+
test("spans newlines, as a formatted listing does", () => {
|
|
12
|
+
expect(emptyExportsFiles('exports2.FILES = [\n\t"a.js"\n];')).toBe("exports2.FILES = [];\n");
|
|
13
|
+
});
|
|
14
|
+
test("leaves code with no assignment untouched", () => {
|
|
15
|
+
expect(emptyExportsFiles("const FILES = [];")).toBe("const FILES = [];");
|
|
16
|
+
});
|
|
17
|
+
test("leaves an unterminated assignment alone rather than truncating", () => {
|
|
18
|
+
const code = 'exports2.FILES = ["a.js"';
|
|
19
|
+
expect(emptyExportsFiles(code)).toBe(code);
|
|
20
|
+
});
|
|
21
|
+
test("stays linear on many unterminated assignments", () => {
|
|
22
|
+
const code = "exports2.FILES = [".repeat(20000);
|
|
23
|
+
const started = performance.now();
|
|
24
|
+
expect(emptyExportsFiles(code)).toBe(code);
|
|
25
|
+
expect(performance.now() - started).toBeLessThan(1000);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=modifyExportsFiles.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modifyExportsFiles.test.js","sourceRoot":"","sources":["../../src/vite/modifyExportsFiles.test.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAE1E,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAClC,IAAI,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC/D,MAAM,CACL,iBAAiB,CAAC,gDAAgD,CAAC,CACnE,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACzD,MAAM,GAAG,GAAG,iBAAiB,CAC5B,gDAAgD,CAChD,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,iBAAiB,CAAC,kCAAkC,CAAC,CAAC,CAAC,IAAI,CACjE,wBAAwB,CACxB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gEAAgE,EAAE,GAAG,EAAE;QAE3E,MAAM,IAAI,GAAG,0BAA0B,CAAC;QACxC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;QAG1D,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite-plugin-modify-exports-files.d.ts","sourceRoot":"","sources":["../../src/vite/vite-plugin-modify-exports-files.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAkBnC,eAAO,MAAM,iBAAiB,SAAU,MAAM,KAAG,MAkBhD,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,wBAAwB,IAAI,MAAM,CAYzD"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
//#region src/vite/vite-plugin-modify-exports-files.ts
|
|
2
|
+
/**
|
|
3
|
+
* Empties the generated `exports2.FILES` array in every emitted chunk so that
|
|
4
|
+
* bundled file listings are not leaked into the output.
|
|
5
|
+
*/
|
|
6
|
+
var ASSIGNMENT = "exports2.FILES = [";
|
|
7
|
+
var TERMINATOR = "];";
|
|
8
|
+
var REPLACEMENT = "exports2.FILES = [];\n";
|
|
9
|
+
/**
|
|
10
|
+
* Blank every `exports2.FILES = [...]` assignment in a chunk.
|
|
11
|
+
*
|
|
12
|
+
* Done with indexOf rather than a regex: `\[[\s\S]*?\];` backtracks
|
|
13
|
+
* quadratically on a chunk holding many unterminated assignments, and chunk
|
|
14
|
+
* contents are whatever the bundled sources happened to contain. Scanning
|
|
15
|
+
* forward is linear regardless.
|
|
16
|
+
*/
|
|
17
|
+
var emptyExportsFiles = (code) => {
|
|
18
|
+
let out = "";
|
|
19
|
+
let cursor = 0;
|
|
20
|
+
for (;;) {
|
|
21
|
+
const start = code.indexOf(ASSIGNMENT, cursor);
|
|
22
|
+
if (start === -1) break;
|
|
23
|
+
const end = code.indexOf(TERMINATOR, start + 18);
|
|
24
|
+
if (end === -1) break;
|
|
25
|
+
out += code.slice(cursor, start) + REPLACEMENT;
|
|
26
|
+
cursor = end + 2;
|
|
27
|
+
}
|
|
28
|
+
return out + code.slice(cursor);
|
|
29
|
+
};
|
|
30
|
+
function modifyExportsFilesPlugin() {
|
|
31
|
+
return {
|
|
32
|
+
name: "modify-exports-files",
|
|
33
|
+
generateBundle(_options, bundle) {
|
|
34
|
+
for (const fileName in bundle) {
|
|
35
|
+
const chunk = bundle[fileName];
|
|
36
|
+
if (chunk && chunk.type === "chunk") chunk.code = emptyExportsFiles(chunk.code);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
export { modifyExportsFilesPlugin as default, emptyExportsFiles };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite-plugin-modify-exports-files.js","sourceRoot":"","sources":["../../src/vite/vite-plugin-modify-exports-files.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,GAAG,oBAAoB,CAAC;AACxC,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAU7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAU,EAAE;IACzD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,SAAS,CAAC;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,MAAM;QACP,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YAGhB,MAAM;QACP,CAAC;QACD,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,WAAW,CAAC;QAC/C,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,wBAAwB;IAC/C,OAAO;QACN,IAAI,EAAE,sBAAsB;QAC5B,cAAc,CAAC,QAAQ,EAAE,MAAM;YAC9B,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/B,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACrC,KAAK,CAAC,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5C,CAAC;YACF,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.frontend.config.d.ts","sourceRoot":"","sources":["../../src/vite/vite.frontend.config.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,yBACC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,kBAAkB,EAChC,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,aAAa,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"vite.frontend.config.d.ts","sourceRoot":"","sources":["../../src/vite/vite.frontend.config.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,yBACC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,kBAAkB,EAChC,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,aAAa,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,UAAU,CAAC,CAoQrB"}
|
|
@@ -121,7 +121,12 @@ async function vite_frontend_config_default(packageName, bundleName, dir, entry,
|
|
|
121
121
|
watch: false,
|
|
122
122
|
output: {
|
|
123
123
|
dir: path.resolve(dir, "dist/bundle"),
|
|
124
|
-
entryFileNames: `${bundleName}.bundle.js
|
|
124
|
+
entryFileNames: `${bundleName}.bundle.js`,
|
|
125
|
+
...isProduction ? { minify: {
|
|
126
|
+
compress: true,
|
|
127
|
+
mangle: true,
|
|
128
|
+
codegen: true
|
|
129
|
+
} } : {}
|
|
125
130
|
},
|
|
126
131
|
plugins: [
|
|
127
132
|
css(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.frontend.config.js","sourceRoot":"","sources":["../../src/vite/vite.frontend.config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"vite.frontend.config.js","sourceRoot":"","sources":["../../src/vite/vite.frontend.config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/vite/index.ts
CHANGED
|
@@ -24,3 +24,4 @@ export { default as ViteEsmConfig } from "./vite.esm.config.js";
|
|
|
24
24
|
export { default as VitePluginRemoveUnusedTranslations } from "./vite-plugin-remove-unused-translations.js";
|
|
25
25
|
export * from "./TsNoCheckPlugin.js";
|
|
26
26
|
export { default as VitePluginCopy } from "./vite-plugin-copy.js";
|
|
27
|
+
export { default as VitePluginModifyExportsFiles } from "./vite-plugin-modify-exports-files.js";
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// Copyright 2021-2026 Prosopo (UK) Ltd.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
|
|
15
|
+
import { describe, expect, test } from "vitest";
|
|
16
|
+
import { emptyExportsFiles } from "./vite-plugin-modify-exports-files.js";
|
|
17
|
+
|
|
18
|
+
describe("emptyExportsFiles", () => {
|
|
19
|
+
test("empties an assignment and keeps the code around it", () => {
|
|
20
|
+
expect(
|
|
21
|
+
emptyExportsFiles('a();\nexports2.FILES = ["a.js", "b.js"];\nb();'),
|
|
22
|
+
).toBe("a();\nexports2.FILES = [];\n\nb();");
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
test("empties every assignment, not just the first", () => {
|
|
26
|
+
const out = emptyExportsFiles(
|
|
27
|
+
'exports2.FILES = ["a"];exports2.FILES = ["b"];',
|
|
28
|
+
);
|
|
29
|
+
expect(out).toBe("exports2.FILES = [];\nexports2.FILES = [];\n");
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
test("spans newlines, as a formatted listing does", () => {
|
|
33
|
+
expect(emptyExportsFiles('exports2.FILES = [\n\t"a.js"\n];')).toBe(
|
|
34
|
+
"exports2.FILES = [];\n",
|
|
35
|
+
);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
test("leaves code with no assignment untouched", () => {
|
|
39
|
+
expect(emptyExportsFiles("const FILES = [];")).toBe("const FILES = [];");
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
test("leaves an unterminated assignment alone rather than truncating", () => {
|
|
43
|
+
// Cutting to the end of the chunk here would delete real code.
|
|
44
|
+
const code = 'exports2.FILES = ["a.js"';
|
|
45
|
+
expect(emptyExportsFiles(code)).toBe(code);
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
test("stays linear on many unterminated assignments", () => {
|
|
49
|
+
// The regex this replaced backtracked quadratically on exactly this
|
|
50
|
+
// shape, which is what CodeQL flagged.
|
|
51
|
+
const code = "exports2.FILES = [".repeat(20000);
|
|
52
|
+
const started = performance.now();
|
|
53
|
+
expect(emptyExportsFiles(code)).toBe(code);
|
|
54
|
+
expect(performance.now() - started).toBeLessThan(1000);
|
|
55
|
+
});
|
|
56
|
+
});
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// Copyright 2021-2026 Prosopo (UK) Ltd.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
import type { Plugin } from "vite";
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Empties the generated `exports2.FILES` array in every emitted chunk so that
|
|
18
|
+
* bundled file listings are not leaked into the output.
|
|
19
|
+
*/
|
|
20
|
+
const ASSIGNMENT = "exports2.FILES = [";
|
|
21
|
+
const TERMINATOR = "];";
|
|
22
|
+
const REPLACEMENT = "exports2.FILES = [];\n";
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Blank every `exports2.FILES = [...]` assignment in a chunk.
|
|
26
|
+
*
|
|
27
|
+
* Done with indexOf rather than a regex: `\[[\s\S]*?\];` backtracks
|
|
28
|
+
* quadratically on a chunk holding many unterminated assignments, and chunk
|
|
29
|
+
* contents are whatever the bundled sources happened to contain. Scanning
|
|
30
|
+
* forward is linear regardless.
|
|
31
|
+
*/
|
|
32
|
+
export const emptyExportsFiles = (code: string): string => {
|
|
33
|
+
let out = "";
|
|
34
|
+
let cursor = 0;
|
|
35
|
+
for (;;) {
|
|
36
|
+
const start = code.indexOf(ASSIGNMENT, cursor);
|
|
37
|
+
if (start === -1) {
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
const end = code.indexOf(TERMINATOR, start + ASSIGNMENT.length);
|
|
41
|
+
if (end === -1) {
|
|
42
|
+
// Unterminated: leave it and everything after it alone rather than
|
|
43
|
+
// truncating the chunk.
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
out += code.slice(cursor, start) + REPLACEMENT;
|
|
47
|
+
cursor = end + TERMINATOR.length;
|
|
48
|
+
}
|
|
49
|
+
return out + code.slice(cursor);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export default function modifyExportsFilesPlugin(): Plugin {
|
|
53
|
+
return {
|
|
54
|
+
name: "modify-exports-files",
|
|
55
|
+
generateBundle(_options, bundle) {
|
|
56
|
+
for (const fileName in bundle) {
|
|
57
|
+
const chunk = bundle[fileName];
|
|
58
|
+
if (chunk && chunk.type === "chunk") {
|
|
59
|
+
chunk.code = emptyExportsFiles(chunk.code);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
@@ -209,6 +209,19 @@ export default async function (
|
|
|
209
209
|
output: {
|
|
210
210
|
dir: path.resolve(dir, "dist/bundle"),
|
|
211
211
|
entryFileNames: `${bundleName}.bundle.js`,
|
|
212
|
+
// For a lib + es build, Vite downgrades `build.minify: true` to
|
|
213
|
+
// `{ compress, mangle, codegen: false }`, which leaves the output
|
|
214
|
+
// pretty-printed. Set it here to get whitespace removal too;
|
|
215
|
+
// output options win over the build-level default.
|
|
216
|
+
...(isProduction
|
|
217
|
+
? {
|
|
218
|
+
minify: {
|
|
219
|
+
compress: true,
|
|
220
|
+
mangle: true,
|
|
221
|
+
codegen: true,
|
|
222
|
+
},
|
|
223
|
+
}
|
|
224
|
+
: {}),
|
|
212
225
|
},
|
|
213
226
|
|
|
214
227
|
plugins: [
|