@teleporthq/teleport-shared 0.43.57 → 0.43.59

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.
@@ -0,0 +1,358 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
26
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
27
+ if (ar || !(i in from)) {
28
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
29
+ ar[i] = from[i];
30
+ }
31
+ }
32
+ return to.concat(ar || Array.prototype.slice.call(from));
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.normalizeEffectCleanups = exports.isProvablyNotAFunction = exports.EFFECT_HOOK_NAMES = void 0;
36
+ var types = __importStar(require("@babel/types"));
37
+ var ast_scope_1 = require("./ast-scope");
38
+ /**
39
+ * ------------------------------------------------------------------
40
+ * Effect-cleanup contract for generated React components
41
+ * ------------------------------------------------------------------
42
+ *
43
+ * React reads the RETURN VALUE of an effect callback as that effect's cleanup
44
+ * function and calls it on unmount (and before every re-run). Anything else
45
+ * coming back is stored anyway and invoked blindly, so a callback that returns
46
+ * a value which is not callable does not fail where it was written — it fails
47
+ * later, in React's own commit phase, as
48
+ *
49
+ * TypeError: destroy is not a function
50
+ * at safelyCallDestroy (react-dom.development.js)
51
+ *
52
+ * with a stack made entirely of React frames and no hint of the component that
53
+ * caused it. The page renders fine; it dies the moment the user navigates away.
54
+ *
55
+ * The shape that produced it here was a concise arrow body:
56
+ *
57
+ * useEffect(() => import('@google/model-viewer'), [])
58
+ *
59
+ * The arrow was only meant to RUN the dynamic import, but a concise body also
60
+ * RETURNS it, so every product card handed React a Promise as its cleanup and
61
+ * paginating the product list crashed the app.
62
+ *
63
+ * Emitters are expected to build effects whose callback returns a function or
64
+ * nothing at all. This module is the end-of-pipeline NET that repairs the
65
+ * shapes which are provably in breach, no matter which plugin produced them,
66
+ * so the same mistake can never reach a browser again.
67
+ *
68
+ * Like `ast-statement-order`, every repair here is a no-op on healthy code: a
69
+ * callback that already honours the contract prints byte-identical.
70
+ */
71
+ /** The hooks whose first argument React treats as an effect with a cleanup. */
72
+ exports.EFFECT_HOOK_NAMES = new Set([
73
+ 'useEffect',
74
+ 'useLayoutEffect',
75
+ 'useInsertionEffect',
76
+ ]);
77
+ /**
78
+ * Identifier used for the temporary holding an effect callback's repaired
79
+ * return value. Prefixed and namespaced so it cannot collide with anything the
80
+ * UIDL can name; {@link pickCleanupBindingName} still proves it free.
81
+ */
82
+ var CLEANUP_BINDING_NAME = '__tqEffectCleanup';
83
+ /**
84
+ * Statement-valued node keys — the positions where a single statement can sit
85
+ * without an enclosing block, e.g. the `return` of `if (done) return {}`.
86
+ * Repairing one means replacing it with a block, which these keys allow.
87
+ */
88
+ var SINGLE_STATEMENT_KEYS = ['consequent', 'alternate', 'body'];
89
+ /**
90
+ * The hook a call expression invokes — a bare `useEffect(…)` or the
91
+ * `React.useEffect(…)` spelling some plugins emit — or `null` for anything
92
+ * else.
93
+ *
94
+ * Only the `React` namespace is accepted on purpose: `anything.useEffect(…)`
95
+ * would let an unrelated API that happens to share the name inherit React's
96
+ * cleanup contract, and rewriting ITS return value would be a real change in
97
+ * behaviour rather than a repair.
98
+ */
99
+ var getCalledHookName = function (callee) {
100
+ if (!callee) {
101
+ return null;
102
+ }
103
+ if (callee.type === 'Identifier') {
104
+ return callee.name;
105
+ }
106
+ if ((callee.type === 'MemberExpression' || callee.type === 'OptionalMemberExpression') &&
107
+ !callee.computed &&
108
+ callee.object.type === 'Identifier' &&
109
+ callee.object.name === 'React' &&
110
+ callee.property.type === 'Identifier') {
111
+ return callee.property.name;
112
+ }
113
+ return null;
114
+ };
115
+ /** True for the two node types React can actually call as a cleanup. */
116
+ var isFunctionExpression = function (node) {
117
+ return !!node && (node.type === 'ArrowFunctionExpression' || node.type === 'FunctionExpression');
118
+ };
119
+ /** True for `import('…')`, whose value is always a Promise. */
120
+ var isDynamicImportCall = function (node) {
121
+ if (node.type !== 'CallExpression' && node.type !== 'OptionalCallExpression') {
122
+ return false;
123
+ }
124
+ var callee = node.callee;
125
+ // Babel models the dynamic import callee as its own `Import` node, but a
126
+ // hand-built AST may spell it as an identifier that happens to print the
127
+ // same. Both are the same expression once generated.
128
+ return callee.type === 'Import' || (callee.type === 'Identifier' && callee.name === 'import');
129
+ };
130
+ /**
131
+ * True when an expression can NEVER evaluate to something callable, so React
132
+ * would certainly reject it as a cleanup.
133
+ *
134
+ * Deliberately conservative — every entry is a shape whose result type is
135
+ * fixed by the language. `a || b`, `cond ? a : b`, `new X()` and any ordinary
136
+ * call are all absent because each of them CAN yield a function, and a net
137
+ * that rewrites code it has not proven broken is worse than the bug it hunts.
138
+ */
139
+ var isProvablyNotAFunction = function (node) {
140
+ if (!node) {
141
+ return false;
142
+ }
143
+ switch (node.type) {
144
+ case 'StringLiteral':
145
+ case 'NumericLiteral':
146
+ case 'BooleanLiteral':
147
+ case 'NullLiteral':
148
+ case 'BigIntLiteral':
149
+ case 'DecimalLiteral':
150
+ case 'RegExpLiteral':
151
+ case 'TemplateLiteral':
152
+ case 'ObjectExpression':
153
+ case 'ArrayExpression':
154
+ case 'JSXElement':
155
+ case 'JSXFragment':
156
+ // `void x`, `typeof x`, `!x`, `-x`, `delete x` — each has a primitive result.
157
+ case 'UnaryExpression':
158
+ // `a + b`, `a instanceof B`, `a in b` — a number, string or boolean.
159
+ case 'BinaryExpression':
160
+ case 'UpdateExpression':
161
+ return true;
162
+ // A sequence evaluates to its last operand.
163
+ case 'SequenceExpression':
164
+ return (0, exports.isProvablyNotAFunction)(node.expressions[node.expressions.length - 1]);
165
+ default:
166
+ return isDynamicImportCall(node);
167
+ }
168
+ };
169
+ exports.isProvablyNotAFunction = isProvablyNotAFunction;
170
+ /**
171
+ * A binding name for the repaired return value that `expression` does not
172
+ * already read. Without this check the `const` introduced by the repair could
173
+ * shadow an outer binding the expression itself depends on, turning a cleanup
174
+ * bug into a ReferenceError.
175
+ */
176
+ var pickCleanupBindingName = function (expression) {
177
+ var referenced = (0, ast_scope_1.collectReferencedIdentifiers)(expression, { includeDeferred: true });
178
+ if (!referenced.has(CLEANUP_BINDING_NAME)) {
179
+ return CLEANUP_BINDING_NAME;
180
+ }
181
+ var suffix = 2;
182
+ while (referenced.has("".concat(CLEANUP_BINDING_NAME).concat(suffix))) {
183
+ suffix++;
184
+ }
185
+ return "".concat(CLEANUP_BINDING_NAME).concat(suffix);
186
+ };
187
+ /**
188
+ * `<expression>; return;` — keeps the side effect and the early exit the
189
+ * original `return <expression>` had, and hands React nothing.
190
+ */
191
+ var dropReturnedValue = function (statement) { return [
192
+ types.expressionStatement(statement.argument),
193
+ types.returnStatement(),
194
+ ]; };
195
+ /**
196
+ * Turns a concise arrow body into a block that cannot leak a bad cleanup.
197
+ *
198
+ * The two branches match the two things a concise body can mean. An arrow
199
+ * returning an arrow (`() => () => stop()`) is a cleanup written on purpose
200
+ * and is left alone. Everything else returned a value only because concise
201
+ * arrow syntax returns whatever it evaluates — the author wrote an expression
202
+ * to RUN, not to hand back — so the value is either dropped (when it is
203
+ * provably not callable) or passed through a `typeof` gate that keeps a real
204
+ * cleanup and swallows anything else.
205
+ */
206
+ var repairConciseArrowBody = function (callback) {
207
+ var expression = callback.body;
208
+ if (isFunctionExpression(expression)) {
209
+ return 0;
210
+ }
211
+ if ((0, exports.isProvablyNotAFunction)(expression)) {
212
+ callback.body = types.blockStatement([types.expressionStatement(expression)]);
213
+ return 1;
214
+ }
215
+ var name = pickCleanupBindingName(expression);
216
+ callback.body = types.blockStatement([
217
+ types.variableDeclaration('const', [
218
+ types.variableDeclarator(types.identifier(name), expression),
219
+ ]),
220
+ types.ifStatement(types.binaryExpression('===', types.unaryExpression('typeof', types.identifier(name)), types.stringLiteral('function')), types.returnStatement(types.identifier(name))),
221
+ ]);
222
+ return 1;
223
+ };
224
+ /**
225
+ * Strips values from the `return`s that belong to an effect callback's own
226
+ * body. Nested functions are skipped: their `return`s are answers to whoever
227
+ * calls them, not cleanups handed to React.
228
+ */
229
+ var repairEffectReturns = function (body) {
230
+ var repaired = 0;
231
+ var needsRepair = function (statement) {
232
+ return statement.type === 'ReturnStatement' && (0, exports.isProvablyNotAFunction)(statement.argument);
233
+ };
234
+ // tslint:disable-next-line:no-any
235
+ var visit = function (node) {
236
+ if (!node || typeof node !== 'object') {
237
+ return;
238
+ }
239
+ if (Array.isArray(node)) {
240
+ for (var index = 0; index < node.length; index++) {
241
+ var entry = node[index];
242
+ if (entry && needsRepair(entry)) {
243
+ var replacement = dropReturnedValue(entry);
244
+ node.splice.apply(node, __spreadArray([index, 1], replacement, false));
245
+ // Step past the inserted `return;` — it is already compliant.
246
+ index += replacement.length - 1;
247
+ repaired++;
248
+ continue;
249
+ }
250
+ visit(entry);
251
+ }
252
+ return;
253
+ }
254
+ if (typeof node.type !== 'string') {
255
+ return;
256
+ }
257
+ // A nested function owns its own returns.
258
+ if (ast_scope_1.FUNCTION_NODE_TYPES.has(node.type)) {
259
+ return;
260
+ }
261
+ // `if (done) return {}` has no statement list to splice into, so the bare
262
+ // statement is promoted to a block holding the repaired pair.
263
+ SINGLE_STATEMENT_KEYS.forEach(function (key) {
264
+ var child = node[key];
265
+ if (child && child.type === 'ReturnStatement' && needsRepair(child)) {
266
+ node[key] = types.blockStatement(dropReturnedValue(child));
267
+ repaired++;
268
+ }
269
+ });
270
+ Object.keys(node).forEach(function (key) {
271
+ if (ast_scope_1.AST_METADATA_KEYS.has(key) || key.charAt(0) === '_') {
272
+ return;
273
+ }
274
+ visit(node[key]);
275
+ });
276
+ };
277
+ visit(body);
278
+ return repaired;
279
+ };
280
+ /**
281
+ * Rebuilds an `async` effect callback as a synchronous one that starts the
282
+ * async work and returns nothing.
283
+ *
284
+ * An async function ALWAYS returns a Promise, so `useEffect(async () => …)` is
285
+ * broken by construction however careful its body is. Running the original
286
+ * function as an IIFE keeps its behaviour exactly (React passes an effect
287
+ * callback no arguments, so no parameter is lost) while the effect itself now
288
+ * hands React nothing.
289
+ */
290
+ var wrapAsyncCallback = function (callback) {
291
+ return types.arrowFunctionExpression([], types.blockStatement([types.expressionStatement(types.callExpression(callback, []))]));
292
+ };
293
+ /**
294
+ * Brings one effect call in line with the cleanup contract. Returns how many
295
+ * repairs it took, so `0` means the call was already correct.
296
+ */
297
+ var repairEffectCall = function (call) {
298
+ var callback = call.arguments[0];
299
+ if (!isFunctionExpression(callback)) {
300
+ // `useEffect(handler, [])` — the callback is defined elsewhere and nothing
301
+ // here can prove what it returns.
302
+ return 0;
303
+ }
304
+ // A generator called as an effect callback returns an iterator, but calling
305
+ // one runs NONE of its body, so there is no repair that preserves what the
306
+ // author wrote. Left untouched on purpose.
307
+ if (callback.generator) {
308
+ return 0;
309
+ }
310
+ if (callback.async) {
311
+ call.arguments[0] = wrapAsyncCallback(callback);
312
+ return 1;
313
+ }
314
+ if (callback.type === 'ArrowFunctionExpression' && callback.body.type !== 'BlockStatement') {
315
+ return repairConciseArrowBody(callback);
316
+ }
317
+ return repairEffectReturns(callback.body);
318
+ };
319
+ /**
320
+ * Applies the cleanup contract to every effect hook call in an AST.
321
+ *
322
+ * Returns how many callbacks were repaired, which is what a caller wanting to
323
+ * assert "the pipeline emitted nothing broken" checks.
324
+ */
325
+ var normalizeEffectCleanups = function (ast) {
326
+ var repaired = 0;
327
+ // tslint:disable-next-line:no-any
328
+ var walk = function (node) {
329
+ if (!node || typeof node !== 'object') {
330
+ return;
331
+ }
332
+ if (Array.isArray(node)) {
333
+ node.forEach(function (entry) { return walk(entry); });
334
+ return;
335
+ }
336
+ if (typeof node.type !== 'string') {
337
+ return;
338
+ }
339
+ if (node.type === 'CallExpression' || node.type === 'OptionalCallExpression') {
340
+ var hookName = getCalledHookName(node.callee);
341
+ if (hookName && exports.EFFECT_HOOK_NAMES.has(hookName)) {
342
+ // Repaired before descending, so the walk goes on to visit whatever
343
+ // replaced the callback and finds any effect nested inside it.
344
+ repaired += repairEffectCall(node);
345
+ }
346
+ }
347
+ Object.keys(node).forEach(function (key) {
348
+ if (ast_scope_1.AST_METADATA_KEYS.has(key) || key.charAt(0) === '_') {
349
+ return;
350
+ }
351
+ walk(node[key]);
352
+ });
353
+ };
354
+ walk(ast);
355
+ return repaired;
356
+ };
357
+ exports.normalizeEffectCleanups = normalizeEffectCleanups;
358
+ //# sourceMappingURL=ast-effect-cleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-effect-cleanup.js","sourceRoot":"","sources":["../../../src/utils/ast-effect-cleanup.ts"],"names":[],"mappings":"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"}
@@ -29,5 +29,6 @@ export declare const addSpacesToEachLine: (spaces: string, str: string) => strin
29
29
  export declare const removeLastEmptyLine: (str: string) => string;
30
30
  export declare const encode: (str: string) => string;
31
31
  export declare const generateRandomString: () => string;
32
+ export declare const sanitizeTranslationKey: (key: string) => string;
32
33
  export declare const generateCSSVariableName: (name: string) => string;
33
34
  //# sourceMappingURL=string-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"string-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/string-utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,QAAS,MAAM,KAAG,MACgC,CAAA;AAClF,eAAO,MAAM,mBAAmB,QAAS,MAAM,KAAG,MACqB,CAAA;AAEvE,eAAO,MAAM,UAAU,QAAS,MAAM,KAAG,MAA6C,CAAA;AACtF,eAAO,MAAM,QAAQ,QAAS,MAAM,KAAG,MAA6C,CAAA;AAEpF,eAAO,MAAM,wBAAwB,QAAS,MAAM,WAAyC,CAAA;AAE7F,eAAO,MAAM,uBAAuB,QAAS,MAAM,WAWlD,CAAA;AAED,eAAO,MAAM,OAAO,QAAS,MAAM,KAAG,MAarC,CAAA;AAED,eAAO,MAAM,6BAA6B,UAAW,MAAM,WAAyC,CAAA;AAEpG;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,UAAW,MAAM,WACqB,CAAA;AAE7E;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,SAAU,MAAM,KAAG,MACW,CAAA;AAEtE,eAAO,MAAM,mBAAmB,WAAY,MAAM,OAAO,MAAM,WAK9D,CAAA;AAED,eAAO,MAAM,mBAAmB,QAAS,MAAM,WAE9C,CAAA;AAYD,eAAO,MAAM,MAAM,QAAS,MAAM,WAQjC,CAAA;AAED,eAAO,MAAM,oBAAoB,cAAmD,CAAA;AAEpF,eAAO,MAAM,uBAAuB,SAAU,MAAM,KAAG,MAEtD,CAAA"}
1
+ {"version":3,"file":"string-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/string-utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,QAAS,MAAM,KAAG,MACgC,CAAA;AAClF,eAAO,MAAM,mBAAmB,QAAS,MAAM,KAAG,MACqB,CAAA;AAEvE,eAAO,MAAM,UAAU,QAAS,MAAM,KAAG,MAA6C,CAAA;AACtF,eAAO,MAAM,QAAQ,QAAS,MAAM,KAAG,MAA6C,CAAA;AAEpF,eAAO,MAAM,wBAAwB,QAAS,MAAM,WAAyC,CAAA;AAE7F,eAAO,MAAM,uBAAuB,QAAS,MAAM,WAWlD,CAAA;AAED,eAAO,MAAM,OAAO,QAAS,MAAM,KAAG,MAarC,CAAA;AAED,eAAO,MAAM,6BAA6B,UAAW,MAAM,WAAyC,CAAA;AAEpG;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,UAAW,MAAM,WACqB,CAAA;AAE7E;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,SAAU,MAAM,KAAG,MACW,CAAA;AAEtE,eAAO,MAAM,mBAAmB,WAAY,MAAM,OAAO,MAAM,WAK9D,CAAA;AAED,eAAO,MAAM,mBAAmB,QAAS,MAAM,WAE9C,CAAA;AAYD,eAAO,MAAM,MAAM,QAAS,MAAM,WAQjC,CAAA;AAED,eAAO,MAAM,oBAAoB,cAAmD,CAAA;AAQpF,eAAO,MAAM,sBAAsB,QAAS,MAAM,KAAG,MAAiC,CAAA;AAEtF,eAAO,MAAM,uBAAuB,SAAU,MAAM,KAAG,MAEtD,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateCSSVariableName = exports.generateRandomString = exports.encode = exports.removeLastEmptyLine = exports.addSpacesToEachLine = exports.createGlobalStateSetterName = exports.createStateStoringFunction = exports.createStateOrPropStoringValue = exports.slugify = exports.removeIllegalCharacters = exports.dashCaseToUpperCamelCase = exports.camelize = exports.capitalize = exports.dashCaseToCamelCase = exports.camelCaseToDashCase = void 0;
3
+ exports.generateCSSVariableName = exports.sanitizeTranslationKey = exports.generateRandomString = exports.encode = exports.removeLastEmptyLine = exports.addSpacesToEachLine = exports.createGlobalStateSetterName = exports.createStateStoringFunction = exports.createStateOrPropStoringValue = exports.slugify = exports.removeIllegalCharacters = exports.dashCaseToUpperCamelCase = exports.camelize = exports.capitalize = exports.dashCaseToCamelCase = exports.camelCaseToDashCase = void 0;
4
4
  var js_identifiers_1 = require("./js-identifiers");
5
5
  var camelCaseToDashCase = function (str) {
6
6
  return str.replace(/([a-z])(?=[A-Z])|([A-Z0-9])(?=[A-Z][a-z])/g, '$1$2-').toLowerCase();
@@ -101,6 +101,14 @@ var encode = function (str) {
101
101
  exports.encode = encode;
102
102
  var generateRandomString = function () { return Math.random().toString(36).substring(2, 6); };
103
103
  exports.generateRandomString = generateRandomString;
104
+ // next-intl refuses to initialise when a messages-file key contains a `.` (its
105
+ // namespace separator), and translation keys minted from user text can contain
106
+ // anything. Every emitter of a translation key — the locale messages files AND
107
+ // each `translate.raw('<key>')` lookup — must funnel the key through this so
108
+ // both sides stay consistent for projects whose stored UIDL already carries
109
+ // dotted keys.
110
+ var sanitizeTranslationKey = function (key) { return key.replace(/\./g, '_'); };
111
+ exports.sanitizeTranslationKey = sanitizeTranslationKey;
104
112
  var generateCSSVariableName = function (name) {
105
113
  return name.startsWith('--') ? (0, exports.camelCaseToDashCase)(name) : (0, exports.camelCaseToDashCase)("--".concat(name));
106
114
  };
@@ -1 +1 @@
1
- {"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../../src/utils/string-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../../src/utils/string-utils.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import * as GenericUtils from './utils/generic';
5
5
  import * as JSIdentifiers from './utils/js-identifiers';
6
6
  import * as ASTScope from './utils/ast-scope';
7
7
  import * as ASTStatementOrder from './utils/ast-statement-order';
8
+ import * as ASTEffectCleanup from './utils/ast-effect-cleanup';
8
9
  import * as RoutePaths from './utils/route-paths';
9
10
  import * as LayoutTopology from './utils/layout-topology';
10
11
  import * as HtmlContentModel from './utils/html-content-model';
@@ -12,5 +13,5 @@ import * as StyleDeclarations from './utils/style-declarations';
12
13
  import * as StorefrontTax from './utils/storefront-tax';
13
14
  import * as EmailDate from './utils/email-date';
14
15
  import * as DataCache from './cache';
15
- export { Constants, StringUtils, UIDLUtils, GenericUtils, JSIdentifiers, ASTScope, ASTStatementOrder, RoutePaths, LayoutTopology, HtmlContentModel, StyleDeclarations, StorefrontTax, EmailDate, DataCache, };
16
+ export { Constants, StringUtils, UIDLUtils, GenericUtils, JSIdentifiers, ASTScope, ASTStatementOrder, ASTEffectCleanup, RoutePaths, LayoutTopology, HtmlContentModel, StyleDeclarations, StorefrontTax, EmailDate, DataCache, };
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,iBAAiB,MAAM,6BAA6B,CAAA;AAChE,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,iBAAiB,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,SAAS,CAAA;AAEpC,OAAO,EACL,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,SAAS,GACV,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,iBAAiB,MAAM,6BAA6B,CAAA;AAChE,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,iBAAiB,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,SAAS,CAAA;AAEpC,OAAO,EACL,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,SAAS,GACV,CAAA"}
package/dist/esm/index.js CHANGED
@@ -5,6 +5,7 @@ import * as GenericUtils from './utils/generic';
5
5
  import * as JSIdentifiers from './utils/js-identifiers';
6
6
  import * as ASTScope from './utils/ast-scope';
7
7
  import * as ASTStatementOrder from './utils/ast-statement-order';
8
+ import * as ASTEffectCleanup from './utils/ast-effect-cleanup';
8
9
  import * as RoutePaths from './utils/route-paths';
9
10
  import * as LayoutTopology from './utils/layout-topology';
10
11
  import * as HtmlContentModel from './utils/html-content-model';
@@ -12,5 +13,5 @@ import * as StyleDeclarations from './utils/style-declarations';
12
13
  import * as StorefrontTax from './utils/storefront-tax';
13
14
  import * as EmailDate from './utils/email-date';
14
15
  import * as DataCache from './cache';
15
- export { Constants, StringUtils, UIDLUtils, GenericUtils, JSIdentifiers, ASTScope, ASTStatementOrder, RoutePaths, LayoutTopology, HtmlContentModel, StyleDeclarations, StorefrontTax, EmailDate, DataCache, };
16
+ export { Constants, StringUtils, UIDLUtils, GenericUtils, JSIdentifiers, ASTScope, ASTStatementOrder, ASTEffectCleanup, RoutePaths, LayoutTopology, HtmlContentModel, StyleDeclarations, StorefrontTax, EmailDate, DataCache, };
16
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,iBAAiB,MAAM,6BAA6B,CAAA;AAChE,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,iBAAiB,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,SAAS,CAAA;AAEpC,OAAO,EACL,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,SAAS,GACV,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,iBAAiB,MAAM,6BAA6B,CAAA;AAChE,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,iBAAiB,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,SAAS,CAAA;AAEpC,OAAO,EACL,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,SAAS,GACV,CAAA"}