zshy 0.7.2 → 0.8.0

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/README.md CHANGED
@@ -461,6 +461,34 @@ With this addition, `zshy` will add the `"my-source"` condition to the generated
461
461
  }
462
462
  ```
463
463
 
464
+ ### Sealed CommonJS exports
465
+
466
+ TypeScript emits every re-export as a `__createBinding` accessor, so a consumer that calls an API off the namespace — `lib.thing(...)` — reads the function through a getter on every call. The engine never sees a constant callee and cannot inline the call. On [zod](https://github.com/colinhacks/zod), 252 of the 255 exports on `index.cjs` were accessors, and one hot entrypoint ran at 35.9M ops/s under `require` against 115.5M under `import`.
467
+
468
+ Set `"sealCjsExports"` to have each emitted CommonJS module seal its own exports on the way out:
469
+
470
+ ```diff
471
+ {
472
+ "zshy": {
473
+ "exports": {
474
+ ".": "./src/index.ts"
475
+ },
476
+ + "sealCjsExports": true
477
+ }
478
+ }
479
+ ```
480
+
481
+ `__createBinding` copies a source descriptor instead of wrapping it whenever that descriptor is a non-writable, non-configurable data property, so sealing one module settles the re-exports of every other module in the same build that pulls from it. Re-exports from outside the build — a dependency, a hand-written `.cjs` — stay accessors: `export *` defines those non-configurable, and nothing can redefine them afterwards. The ESM build is untouched.
482
+
483
+ This is observable, which is why it is off by default. Every CommonJS export becomes non-writable and non-configurable and each namespace is frozen, so stubbing an export at runtime stops working. Loading the package also costs a few milliseconds more.
484
+
485
+ Two module shapes opt out on their own:
486
+
487
+ - A module that writes its own exports after load — `export let count` plus a function that increments it — keeps its namespace unfrozen, since freezing would make that write throw.
488
+ - A module whose only export is a `default` is skipped, because the CJS interop transform rebinds `module.exports` to that value and callers never see the namespace an epilogue would seal.
489
+
490
+ A mutable exported binding anywhere in the package turns off accessor settling for the whole build. TypeScript compiles a named re-export to an unconditional getter onto the source binding, and nothing in the emitted output tells apart one that forwards to a live `export let` from one that forwards to a constant. Settling it would pin `require(pkg).count` at its load-time value while `import { count }` kept reporting the current one, so a package with any live binding keeps its getters and takes only the freeze.
491
+
464
492
  ### JSR
465
493
 
466
494
  For packages that also have a `jsr.json` file for publishing to [JSR](https://jsr.io/), `zshy` will copy your configured exports to `jsr.json/#exports`, making your `zshy` configuration the single source of truth for exports.
package/dist/compile.cjs CHANGED
@@ -44,6 +44,119 @@ const tx_extension_rewrite_js_1 = require("./tx-extension-rewrite.cjs");
44
44
  const tx_import_meta_shim_js_1 = require("./tx-import-meta-shim.cjs");
45
45
  const tx_paths_resolver_js_1 = require("./tx-paths-resolver.cjs");
46
46
  const utils = __importStar(require("./utils.cjs"));
47
+ // TypeScript emits re-exports as `__createBinding` accessors, so callers read every API off the namespace through a getter. `__createBinding` copies a source descriptor instead of wrapping it when that descriptor is a non-writable, non-configurable data property, so a module has to be sealed before its re-exporters load. Reassigning `module.exports` would settle the same exports but blind `cjs-module-lexer`, and named imports from ESM would stop resolving.
48
+ const SEAL_CJS_EXPORTS_SETTLE = [
49
+ " var keys = Object.getOwnPropertyNames(exports);",
50
+ " for (var i = 0; i < keys.length; i++) {",
51
+ " var desc = Object.getOwnPropertyDescriptor(exports, keys[i]);",
52
+ " if (!desc || !desc.get || !desc.configurable) continue;",
53
+ " var value;",
54
+ " try {",
55
+ " value = desc.get();",
56
+ " } catch (e) {",
57
+ " continue;",
58
+ " }",
59
+ " // a circular require may not have settled this one yet, so leave it live",
60
+ " if (value === undefined) continue;",
61
+ " Object.defineProperty(exports, keys[i], { value: value, writable: false, enumerable: desc.enumerable, configurable: false });",
62
+ " }",
63
+ ];
64
+ // only the freeze settles a module's own local exports, which is what lets a star re-exporter copy them instead of wrapping them
65
+ const SEAL_CJS_EXPORTS_FREEZE = " Object.freeze(exports);";
66
+ function isExportsNamespace(node) {
67
+ if (ts.isIdentifier(node))
68
+ return node.text === "exports";
69
+ return (ts.isPropertyAccessExpression(node) &&
70
+ ts.isIdentifier(node.expression) &&
71
+ node.expression.text === "module" &&
72
+ node.name.text === "exports");
73
+ }
74
+ function writesExportsProperty(node) {
75
+ let target;
76
+ if (ts.isBinaryExpression(node) &&
77
+ node.operatorToken.kind >= ts.SyntaxKind.FirstAssignment &&
78
+ node.operatorToken.kind <= ts.SyntaxKind.LastAssignment) {
79
+ target = node.left;
80
+ }
81
+ else if ((ts.isPrefixUnaryExpression(node) || ts.isPostfixUnaryExpression(node)) &&
82
+ (node.operator === ts.SyntaxKind.PlusPlusToken || node.operator === ts.SyntaxKind.MinusMinusToken)) {
83
+ target = node.operand;
84
+ }
85
+ if (!target)
86
+ return false;
87
+ return ((ts.isPropertyAccessExpression(target) || ts.isElementAccessExpression(target)) &&
88
+ isExportsNamespace(target.expression));
89
+ }
90
+ function analyzeCjsEmit(data) {
91
+ const source = ts.createSourceFile("emit.cjs", data, ts.ScriptTarget.Latest, false, ts.ScriptKind.JS);
92
+ const facts = {
93
+ writesExportsLate: false,
94
+ rebindsModuleExports: false,
95
+ };
96
+ const visit = (node, insideFunction) => {
97
+ if (!facts.rebindsModuleExports &&
98
+ !insideFunction &&
99
+ ts.isBinaryExpression(node) &&
100
+ node.operatorToken.kind === ts.SyntaxKind.EqualsToken &&
101
+ ts.isPropertyAccessExpression(node.left) &&
102
+ ts.isIdentifier(node.left.expression) &&
103
+ node.left.expression.text === "module" &&
104
+ node.left.name.text === "exports") {
105
+ facts.rebindsModuleExports = true;
106
+ }
107
+ if (!facts.writesExportsLate && insideFunction && writesExportsProperty(node)) {
108
+ facts.writesExportsLate = true;
109
+ }
110
+ const nested = insideFunction || ts.isFunctionLike(node);
111
+ ts.forEachChild(node, (child) => visit(child, nested));
112
+ };
113
+ visit(source, false);
114
+ return facts;
115
+ }
116
+ // above the sourceMappingURL comment so it stays last; either way every existing line keeps its position, so the source map holds
117
+ function appendSealEpilogue(data, settleAccessors) {
118
+ const facts = analyzeCjsEmit(data);
119
+ if (facts.rebindsModuleExports)
120
+ return data;
121
+ const lines = [
122
+ ...(settleAccessors ? SEAL_CJS_EXPORTS_SETTLE : []),
123
+ ...(facts.writesExportsLate ? [] : [SEAL_CJS_EXPORTS_FREEZE]),
124
+ ];
125
+ if (lines.length === 0)
126
+ return data;
127
+ const newline = data.includes("\r\n") ? "\r\n" : "\n";
128
+ const epilogue = newline + ["// seal-cjs-exports", "(function () {", ...lines, "})();"].join(newline) + newline;
129
+ const sourceMapComment = data.match(/\r?\n\/\/# sourceMappingURL=.*\s*$/);
130
+ if (!sourceMapComment) {
131
+ return data + epilogue;
132
+ }
133
+ const cut = data.length - sourceMapComment[0].length;
134
+ return data.slice(0, cut) + epilogue.replace(/\r?\n$/, "") + sourceMapComment[0];
135
+ }
136
+ // TypeScript emits a named re-export as an unconditional getter onto the source binding, and the settle loop cannot tell one that forwards to a live `export let` from one that forwards to a constant. Snapshotting a live one makes `require` report the load-time value forever while `import` reports the current one, so a build containing any mutable exported binding gives up settling everywhere.
137
+ function hasMutableExportedBinding(source) {
138
+ const mutableLocals = new Set();
139
+ for (const statement of source.statements) {
140
+ if (!ts.isVariableStatement(statement))
141
+ continue;
142
+ const isConst = (statement.declarationList.flags & ts.NodeFlags.Const) !== 0;
143
+ if (isConst)
144
+ continue;
145
+ const exported = ts.getModifiers(statement)?.some((modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword);
146
+ for (const declaration of statement.declarationList.declarations) {
147
+ if (!ts.isIdentifier(declaration.name))
148
+ continue;
149
+ if (exported)
150
+ return true;
151
+ mutableLocals.add(declaration.name.text);
152
+ }
153
+ }
154
+ return source.statements.some((statement) => ts.isExportDeclaration(statement) &&
155
+ statement.exportClause !== undefined &&
156
+ ts.isNamedExports(statement.exportClause) &&
157
+ statement.moduleSpecifier === undefined &&
158
+ statement.exportClause.elements.some((element) => mutableLocals.has((element.propertyName ?? element.name).text)));
159
+ }
47
160
  async function compileProject(config, entryPoints, ctx) {
48
161
  // Deduplicate entry points before compilation
49
162
  // Track asset imports encountered during transformation
@@ -55,13 +168,20 @@ async function compileProject(config, entryPoints, ctx) {
55
168
  const dtsExt = config.ext === "mjs" ? ".d.mts" : config.ext === "cjs" ? ".d.cts" : ".d.ts";
56
169
  // Track if we should write files (will be set after diagnostics check)
57
170
  let shouldWriteFiles = true;
171
+ // cleared below if any source file exports a mutable binding
172
+ let settleAccessors = true;
58
173
  host.writeFile = (fileName, data, writeByteOrderMark, onError, sourceFiles) => {
59
174
  // Transform output file extensions
60
175
  let outputFileName = fileName;
61
- const processedData = data;
176
+ let processedData = data;
62
177
  if (fileName.endsWith(".js")) {
63
178
  outputFileName = fileName.replace(/\.js$/, jsExt);
64
179
  }
180
+ // a `.cts` source emits `.cjs` from BOTH passes and the ESM pass writes last, so seal any `.cjs` output whichever pass produced it; a `.js` output is CommonJS only in the CJS pass, and `.mjs` is real ESM with no `exports`
181
+ const emitsCommonJs = fileName.endsWith(".cjs") || (config.format === "cjs" && fileName.endsWith(".js"));
182
+ if (config.sealCjsExports && emitsCommonJs) {
183
+ processedData = appendSealEpilogue(processedData, settleAccessors);
184
+ }
65
185
  if (fileName.endsWith(".d.ts")) {
66
186
  outputFileName = fileName.replace(/\.d\.ts$/, dtsExt);
67
187
  }
@@ -86,6 +206,11 @@ async function compileProject(config, entryPoints, ctx) {
86
206
  options: programOptions,
87
207
  host,
88
208
  });
209
+ if (config.sealCjsExports) {
210
+ settleAccessors = !program
211
+ .getSourceFiles()
212
+ .some((source) => !source.isDeclarationFile && hasMutableExportedBinding(source));
213
+ }
89
214
  // Create a transformer factory to resolve tsconfig paths
90
215
  const pathsResolverTransformer = config.paths
91
216
  ? (0, tx_paths_resolver_js_1.createPathsResolverTransformer)({
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export interface ProjectOptions {
15
15
  verbose: boolean;
16
16
  dryRun: boolean;
17
17
  cjsInterop?: boolean;
18
+ sealCjsExports?: boolean;
18
19
  paths?: Record<string, string[]>;
19
20
  baseUrl?: string;
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AASjC,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,EAAE,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,GAAG,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC;IACnH,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IAC1B,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA8QpH"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AASjC,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,EAAE,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,GAAG,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC;IACnH,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IAC1B,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA4ID,wBAAsB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyRpH"}
package/dist/compile.d.ts CHANGED
@@ -15,6 +15,7 @@ export interface ProjectOptions {
15
15
  verbose: boolean;
16
16
  dryRun: boolean;
17
17
  cjsInterop?: boolean;
18
+ sealCjsExports?: boolean;
18
19
  paths?: Record<string, string[]>;
19
20
  baseUrl?: string;
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AASjC,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,EAAE,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,GAAG,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC;IACnH,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IAC1B,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA8QpH"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AASjC,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,EAAE,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,GAAG,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC;IACnH,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IAC1B,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA4ID,wBAAsB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyRpH"}
package/dist/compile.js CHANGED
@@ -8,6 +8,119 @@ import { createExtensionRewriteTransformer } from "./tx-extension-rewrite.js";
8
8
  import { createImportMetaShimTransformer } from "./tx-import-meta-shim.js";
9
9
  import { createPathsResolverTransformer } from "./tx-paths-resolver.js";
10
10
  import * as utils from "./utils.js";
11
+ // TypeScript emits re-exports as `__createBinding` accessors, so callers read every API off the namespace through a getter. `__createBinding` copies a source descriptor instead of wrapping it when that descriptor is a non-writable, non-configurable data property, so a module has to be sealed before its re-exporters load. Reassigning `module.exports` would settle the same exports but blind `cjs-module-lexer`, and named imports from ESM would stop resolving.
12
+ const SEAL_CJS_EXPORTS_SETTLE = [
13
+ " var keys = Object.getOwnPropertyNames(exports);",
14
+ " for (var i = 0; i < keys.length; i++) {",
15
+ " var desc = Object.getOwnPropertyDescriptor(exports, keys[i]);",
16
+ " if (!desc || !desc.get || !desc.configurable) continue;",
17
+ " var value;",
18
+ " try {",
19
+ " value = desc.get();",
20
+ " } catch (e) {",
21
+ " continue;",
22
+ " }",
23
+ " // a circular require may not have settled this one yet, so leave it live",
24
+ " if (value === undefined) continue;",
25
+ " Object.defineProperty(exports, keys[i], { value: value, writable: false, enumerable: desc.enumerable, configurable: false });",
26
+ " }",
27
+ ];
28
+ // only the freeze settles a module's own local exports, which is what lets a star re-exporter copy them instead of wrapping them
29
+ const SEAL_CJS_EXPORTS_FREEZE = " Object.freeze(exports);";
30
+ function isExportsNamespace(node) {
31
+ if (ts.isIdentifier(node))
32
+ return node.text === "exports";
33
+ return (ts.isPropertyAccessExpression(node) &&
34
+ ts.isIdentifier(node.expression) &&
35
+ node.expression.text === "module" &&
36
+ node.name.text === "exports");
37
+ }
38
+ function writesExportsProperty(node) {
39
+ let target;
40
+ if (ts.isBinaryExpression(node) &&
41
+ node.operatorToken.kind >= ts.SyntaxKind.FirstAssignment &&
42
+ node.operatorToken.kind <= ts.SyntaxKind.LastAssignment) {
43
+ target = node.left;
44
+ }
45
+ else if ((ts.isPrefixUnaryExpression(node) || ts.isPostfixUnaryExpression(node)) &&
46
+ (node.operator === ts.SyntaxKind.PlusPlusToken || node.operator === ts.SyntaxKind.MinusMinusToken)) {
47
+ target = node.operand;
48
+ }
49
+ if (!target)
50
+ return false;
51
+ return ((ts.isPropertyAccessExpression(target) || ts.isElementAccessExpression(target)) &&
52
+ isExportsNamespace(target.expression));
53
+ }
54
+ function analyzeCjsEmit(data) {
55
+ const source = ts.createSourceFile("emit.cjs", data, ts.ScriptTarget.Latest, false, ts.ScriptKind.JS);
56
+ const facts = {
57
+ writesExportsLate: false,
58
+ rebindsModuleExports: false,
59
+ };
60
+ const visit = (node, insideFunction) => {
61
+ if (!facts.rebindsModuleExports &&
62
+ !insideFunction &&
63
+ ts.isBinaryExpression(node) &&
64
+ node.operatorToken.kind === ts.SyntaxKind.EqualsToken &&
65
+ ts.isPropertyAccessExpression(node.left) &&
66
+ ts.isIdentifier(node.left.expression) &&
67
+ node.left.expression.text === "module" &&
68
+ node.left.name.text === "exports") {
69
+ facts.rebindsModuleExports = true;
70
+ }
71
+ if (!facts.writesExportsLate && insideFunction && writesExportsProperty(node)) {
72
+ facts.writesExportsLate = true;
73
+ }
74
+ const nested = insideFunction || ts.isFunctionLike(node);
75
+ ts.forEachChild(node, (child) => visit(child, nested));
76
+ };
77
+ visit(source, false);
78
+ return facts;
79
+ }
80
+ // above the sourceMappingURL comment so it stays last; either way every existing line keeps its position, so the source map holds
81
+ function appendSealEpilogue(data, settleAccessors) {
82
+ const facts = analyzeCjsEmit(data);
83
+ if (facts.rebindsModuleExports)
84
+ return data;
85
+ const lines = [
86
+ ...(settleAccessors ? SEAL_CJS_EXPORTS_SETTLE : []),
87
+ ...(facts.writesExportsLate ? [] : [SEAL_CJS_EXPORTS_FREEZE]),
88
+ ];
89
+ if (lines.length === 0)
90
+ return data;
91
+ const newline = data.includes("\r\n") ? "\r\n" : "\n";
92
+ const epilogue = newline + ["// seal-cjs-exports", "(function () {", ...lines, "})();"].join(newline) + newline;
93
+ const sourceMapComment = data.match(/\r?\n\/\/# sourceMappingURL=.*\s*$/);
94
+ if (!sourceMapComment) {
95
+ return data + epilogue;
96
+ }
97
+ const cut = data.length - sourceMapComment[0].length;
98
+ return data.slice(0, cut) + epilogue.replace(/\r?\n$/, "") + sourceMapComment[0];
99
+ }
100
+ // TypeScript emits a named re-export as an unconditional getter onto the source binding, and the settle loop cannot tell one that forwards to a live `export let` from one that forwards to a constant. Snapshotting a live one makes `require` report the load-time value forever while `import` reports the current one, so a build containing any mutable exported binding gives up settling everywhere.
101
+ function hasMutableExportedBinding(source) {
102
+ const mutableLocals = new Set();
103
+ for (const statement of source.statements) {
104
+ if (!ts.isVariableStatement(statement))
105
+ continue;
106
+ const isConst = (statement.declarationList.flags & ts.NodeFlags.Const) !== 0;
107
+ if (isConst)
108
+ continue;
109
+ const exported = ts.getModifiers(statement)?.some((modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword);
110
+ for (const declaration of statement.declarationList.declarations) {
111
+ if (!ts.isIdentifier(declaration.name))
112
+ continue;
113
+ if (exported)
114
+ return true;
115
+ mutableLocals.add(declaration.name.text);
116
+ }
117
+ }
118
+ return source.statements.some((statement) => ts.isExportDeclaration(statement) &&
119
+ statement.exportClause !== undefined &&
120
+ ts.isNamedExports(statement.exportClause) &&
121
+ statement.moduleSpecifier === undefined &&
122
+ statement.exportClause.elements.some((element) => mutableLocals.has((element.propertyName ?? element.name).text)));
123
+ }
11
124
  export async function compileProject(config, entryPoints, ctx) {
12
125
  // Deduplicate entry points before compilation
13
126
  // Track asset imports encountered during transformation
@@ -19,13 +132,20 @@ export async function compileProject(config, entryPoints, ctx) {
19
132
  const dtsExt = config.ext === "mjs" ? ".d.mts" : config.ext === "cjs" ? ".d.cts" : ".d.ts";
20
133
  // Track if we should write files (will be set after diagnostics check)
21
134
  let shouldWriteFiles = true;
135
+ // cleared below if any source file exports a mutable binding
136
+ let settleAccessors = true;
22
137
  host.writeFile = (fileName, data, writeByteOrderMark, onError, sourceFiles) => {
23
138
  // Transform output file extensions
24
139
  let outputFileName = fileName;
25
- const processedData = data;
140
+ let processedData = data;
26
141
  if (fileName.endsWith(".js")) {
27
142
  outputFileName = fileName.replace(/\.js$/, jsExt);
28
143
  }
144
+ // a `.cts` source emits `.cjs` from BOTH passes and the ESM pass writes last, so seal any `.cjs` output whichever pass produced it; a `.js` output is CommonJS only in the CJS pass, and `.mjs` is real ESM with no `exports`
145
+ const emitsCommonJs = fileName.endsWith(".cjs") || (config.format === "cjs" && fileName.endsWith(".js"));
146
+ if (config.sealCjsExports && emitsCommonJs) {
147
+ processedData = appendSealEpilogue(processedData, settleAccessors);
148
+ }
29
149
  if (fileName.endsWith(".d.ts")) {
30
150
  outputFileName = fileName.replace(/\.d\.ts$/, dtsExt);
31
151
  }
@@ -50,6 +170,11 @@ export async function compileProject(config, entryPoints, ctx) {
50
170
  options: programOptions,
51
171
  host,
52
172
  });
173
+ if (config.sealCjsExports) {
174
+ settleAccessors = !program
175
+ .getSourceFiles()
176
+ .some((source) => !source.isDeclarationFile && hasMutableExportedBinding(source));
177
+ }
53
178
  // Create a transformer factory to resolve tsconfig paths
54
179
  const pathsResolverTransformer = config.paths
55
180
  ? createPathsResolverTransformer({
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
package/dist/main.cjs CHANGED
@@ -285,6 +285,7 @@ Examples:
285
285
  const config = { ...rawConfig };
286
286
  // Normalize boolean options
287
287
  config.noEdit ?? (config.noEdit = false);
288
+ config.sealCjsExports ?? (config.sealCjsExports = false);
288
289
  // Normalize cjs property
289
290
  if (config.cjs === undefined) {
290
291
  config.cjs = true; // Default to true if not specified
@@ -693,6 +694,7 @@ Examples:
693
694
  pkgJsonDir,
694
695
  rootDir,
695
696
  cjsInterop: isCjsInterop,
697
+ sealCjsExports: config.sealCjsExports,
696
698
  compilerOptions: {
697
699
  ...tsconfigJson,
698
700
  module: ts.ModuleKind.CommonJS,
@@ -719,6 +721,8 @@ Examples:
719
721
  pkgJsonDir,
720
722
  rootDir,
721
723
  cjsInterop: isCjsInterop,
724
+ // the ESM pass still emits `.cjs` for a `.cts` source, and it writes last
725
+ sealCjsExports: config.sealCjsExports,
722
726
  compilerOptions: {
723
727
  ...tsconfigJson,
724
728
  module: ts.ModuleKind.ESNext,