@tamagui/static 1.13.3 → 1.13.4
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/dist/cjs/constants.js +1 -52
- package/dist/cjs/constants.js.map +2 -2
- package/dist/cjs/extractor/accessSafe.js +1 -52
- package/dist/cjs/extractor/accessSafe.js.map +2 -2
- package/dist/cjs/extractor/babelParse.js +1 -66
- package/dist/cjs/extractor/babelParse.js.map +2 -2
- package/dist/cjs/extractor/buildClassName.js +1 -99
- package/dist/cjs/extractor/buildClassName.js.map +2 -2
- package/dist/cjs/extractor/bundle.js +1 -126
- package/dist/cjs/extractor/bundle.js.map +2 -2
- package/dist/cjs/extractor/createEvaluator.js +1 -86
- package/dist/cjs/extractor/createEvaluator.js.map +2 -2
- package/dist/cjs/extractor/createExtractor.js +15 -1630
- package/dist/cjs/extractor/createExtractor.js.map +2 -2
- package/dist/cjs/extractor/ensureImportingConcat.js +1 -64
- package/dist/cjs/extractor/ensureImportingConcat.js.map +2 -2
- package/dist/cjs/extractor/evaluateAstNode.js +1 -130
- package/dist/cjs/extractor/evaluateAstNode.js.map +2 -2
- package/dist/cjs/extractor/extractHelpers.js +1 -207
- package/dist/cjs/extractor/extractHelpers.js.map +2 -2
- package/dist/cjs/extractor/extractMediaStyle.js +1 -193
- package/dist/cjs/extractor/extractMediaStyle.js.map +2 -2
- package/dist/cjs/extractor/extractToClassNames.js +13 -413
- package/dist/cjs/extractor/extractToClassNames.js.map +2 -2
- package/dist/cjs/extractor/findTopmostFunction.js +1 -43
- package/dist/cjs/extractor/findTopmostFunction.js.map +2 -2
- package/dist/cjs/extractor/generatedUid.js +1 -59
- package/dist/cjs/extractor/generatedUid.js.map +2 -2
- package/dist/cjs/extractor/getPrefixLogs.js +1 -31
- package/dist/cjs/extractor/getPrefixLogs.js.map +2 -2
- package/dist/cjs/extractor/getPropValueFromAttributes.js +1 -89
- package/dist/cjs/extractor/getPropValueFromAttributes.js.map +2 -2
- package/dist/cjs/extractor/getSourceModule.js +1 -103
- package/dist/cjs/extractor/getSourceModule.js.map +2 -2
- package/dist/cjs/extractor/getStaticBindingsForScope.js +1 -225
- package/dist/cjs/extractor/getStaticBindingsForScope.js.map +2 -2
- package/dist/cjs/extractor/hoistClassNames.js +1 -74
- package/dist/cjs/extractor/hoistClassNames.js.map +2 -2
- package/dist/cjs/extractor/literalToAst.js +1 -115
- package/dist/cjs/extractor/literalToAst.js.map +2 -2
- package/dist/cjs/extractor/loadFile.js +2 -20
- package/dist/cjs/extractor/loadFile.js.map +2 -2
- package/dist/cjs/extractor/loadTamagui.js +15 -432
- package/dist/cjs/extractor/loadTamagui.js.map +2 -2
- package/dist/cjs/extractor/logLines.js +3 -43
- package/dist/cjs/extractor/logLines.js.map +2 -2
- package/dist/cjs/extractor/normalizeTernaries.js +1 -85
- package/dist/cjs/extractor/normalizeTernaries.js.map +2 -2
- package/dist/cjs/extractor/removeUnusedHooks.js +1 -109
- package/dist/cjs/extractor/removeUnusedHooks.js.map +2 -2
- package/dist/cjs/extractor/timer.js +1 -52
- package/dist/cjs/extractor/timer.js.map +2 -2
- package/dist/cjs/extractor/validHTMLAttributes.js +1 -126
- package/dist/cjs/extractor/validHTMLAttributes.js.map +2 -2
- package/dist/cjs/getPragmaOptions.js +2 -67
- package/dist/cjs/getPragmaOptions.js.map +2 -2
- package/dist/cjs/helpers/memoize.js +1 -45
- package/dist/cjs/helpers/memoize.js.map +2 -2
- package/dist/cjs/index.js +1 -42
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/require.js +5 -81
- package/dist/cjs/require.js.map +2 -2
- package/dist/cjs/types.js +1 -16
- package/dist/cjs/types.js.map +2 -2
- package/dist/cjs/webpackPlugin.js +1 -34
- package/dist/cjs/webpackPlugin.js.map +2 -2
- package/dist/esm/constants.js +1 -14
- package/dist/esm/constants.js.map +2 -2
- package/dist/esm/constants.mjs +1 -14
- package/dist/esm/constants.mjs.map +2 -2
- package/dist/esm/extractor/accessSafe.js +1 -18
- package/dist/esm/extractor/accessSafe.js.map +2 -2
- package/dist/esm/extractor/accessSafe.mjs +1 -18
- package/dist/esm/extractor/accessSafe.mjs.map +2 -2
- package/dist/esm/extractor/babelParse.js +1 -31
- package/dist/esm/extractor/babelParse.js.map +2 -2
- package/dist/esm/extractor/babelParse.mjs +1 -31
- package/dist/esm/extractor/babelParse.mjs.map +2 -2
- package/dist/esm/extractor/buildClassName.js +1 -64
- package/dist/esm/extractor/buildClassName.js.map +2 -2
- package/dist/esm/extractor/buildClassName.mjs +1 -64
- package/dist/esm/extractor/buildClassName.mjs.map +2 -2
- package/dist/esm/extractor/bundle.js +1 -91
- package/dist/esm/extractor/bundle.js.map +2 -2
- package/dist/esm/extractor/bundle.mjs +1 -91
- package/dist/esm/extractor/bundle.mjs.map +2 -2
- package/dist/esm/extractor/createEvaluator.js +1 -51
- package/dist/esm/extractor/createEvaluator.js.map +2 -2
- package/dist/esm/extractor/createEvaluator.mjs +1 -51
- package/dist/esm/extractor/createEvaluator.mjs.map +2 -2
- package/dist/esm/extractor/createExtractor.js +15 -1613
- package/dist/esm/extractor/createExtractor.js.map +2 -2
- package/dist/esm/extractor/createExtractor.mjs +15 -1613
- package/dist/esm/extractor/createExtractor.mjs.map +2 -2
- package/dist/esm/extractor/ensureImportingConcat.js +1 -30
- package/dist/esm/extractor/ensureImportingConcat.js.map +2 -2
- package/dist/esm/extractor/ensureImportingConcat.mjs +1 -30
- package/dist/esm/extractor/ensureImportingConcat.mjs.map +2 -2
- package/dist/esm/extractor/evaluateAstNode.js +1 -96
- package/dist/esm/extractor/evaluateAstNode.js.map +2 -2
- package/dist/esm/extractor/evaluateAstNode.mjs +1 -96
- package/dist/esm/extractor/evaluateAstNode.mjs.map +2 -2
- package/dist/esm/extractor/extractHelpers.js +1 -161
- package/dist/esm/extractor/extractHelpers.js.map +2 -2
- package/dist/esm/extractor/extractHelpers.mjs +1 -161
- package/dist/esm/extractor/extractHelpers.mjs.map +2 -2
- package/dist/esm/extractor/extractMediaStyle.js +1 -158
- package/dist/esm/extractor/extractMediaStyle.js.map +2 -2
- package/dist/esm/extractor/extractMediaStyle.mjs +1 -158
- package/dist/esm/extractor/extractMediaStyle.mjs.map +2 -2
- package/dist/esm/extractor/extractToClassNames.js +13 -379
- package/dist/esm/extractor/extractToClassNames.js.map +2 -2
- package/dist/esm/extractor/extractToClassNames.mjs +13 -379
- package/dist/esm/extractor/extractToClassNames.mjs.map +2 -2
- package/dist/esm/extractor/findTopmostFunction.js +1 -19
- package/dist/esm/extractor/findTopmostFunction.js.map +2 -2
- package/dist/esm/extractor/findTopmostFunction.mjs +1 -19
- package/dist/esm/extractor/findTopmostFunction.mjs.map +2 -2
- package/dist/esm/extractor/generatedUid.js +1 -25
- package/dist/esm/extractor/generatedUid.js.map +2 -2
- package/dist/esm/extractor/generatedUid.mjs +1 -25
- package/dist/esm/extractor/generatedUid.mjs.map +2 -2
- package/dist/esm/extractor/getPrefixLogs.js +1 -7
- package/dist/esm/extractor/getPrefixLogs.js.map +2 -2
- package/dist/esm/extractor/getPrefixLogs.mjs +1 -7
- package/dist/esm/extractor/getPrefixLogs.mjs.map +2 -2
- package/dist/esm/extractor/getPropValueFromAttributes.js +1 -55
- package/dist/esm/extractor/getPropValueFromAttributes.js.map +2 -2
- package/dist/esm/extractor/getPropValueFromAttributes.mjs +1 -55
- package/dist/esm/extractor/getPropValueFromAttributes.mjs.map +2 -2
- package/dist/esm/extractor/getSourceModule.js +1 -69
- package/dist/esm/extractor/getSourceModule.js.map +2 -2
- package/dist/esm/extractor/getSourceModule.mjs +1 -69
- package/dist/esm/extractor/getSourceModule.mjs.map +2 -2
- package/dist/esm/extractor/getStaticBindingsForScope.js +1 -190
- package/dist/esm/extractor/getStaticBindingsForScope.js.map +2 -2
- package/dist/esm/extractor/getStaticBindingsForScope.mjs +1 -190
- package/dist/esm/extractor/getStaticBindingsForScope.mjs.map +2 -2
- package/dist/esm/extractor/hoistClassNames.js +1 -40
- package/dist/esm/extractor/hoistClassNames.js.map +2 -2
- package/dist/esm/extractor/hoistClassNames.mjs +1 -40
- package/dist/esm/extractor/hoistClassNames.mjs.map +2 -2
- package/dist/esm/extractor/literalToAst.js +1 -80
- package/dist/esm/extractor/literalToAst.js.map +2 -2
- package/dist/esm/extractor/literalToAst.mjs +1 -80
- package/dist/esm/extractor/literalToAst.mjs.map +2 -2
- package/dist/esm/extractor/loadFile.js +2 -19
- package/dist/esm/extractor/loadFile.js.map +2 -2
- package/dist/esm/extractor/loadFile.mjs +2 -19
- package/dist/esm/extractor/loadFile.mjs.map +2 -2
- package/dist/esm/extractor/loadTamagui.js +15 -396
- package/dist/esm/extractor/loadTamagui.js.map +2 -2
- package/dist/esm/extractor/loadTamagui.mjs +15 -396
- package/dist/esm/extractor/loadTamagui.mjs.map +2 -2
- package/dist/esm/extractor/logLines.js +3 -19
- package/dist/esm/extractor/logLines.js.map +2 -2
- package/dist/esm/extractor/logLines.mjs +3 -19
- package/dist/esm/extractor/logLines.mjs.map +2 -2
- package/dist/esm/extractor/normalizeTernaries.js +1 -51
- package/dist/esm/extractor/normalizeTernaries.js.map +2 -2
- package/dist/esm/extractor/normalizeTernaries.mjs +1 -51
- package/dist/esm/extractor/normalizeTernaries.mjs.map +2 -2
- package/dist/esm/extractor/removeUnusedHooks.js +1 -75
- package/dist/esm/extractor/removeUnusedHooks.js.map +2 -2
- package/dist/esm/extractor/removeUnusedHooks.mjs +1 -75
- package/dist/esm/extractor/removeUnusedHooks.mjs.map +2 -2
- package/dist/esm/extractor/timer.js +1 -28
- package/dist/esm/extractor/timer.js.map +2 -2
- package/dist/esm/extractor/timer.mjs +1 -28
- package/dist/esm/extractor/timer.mjs.map +2 -2
- package/dist/esm/extractor/validHTMLAttributes.js +1 -101
- package/dist/esm/extractor/validHTMLAttributes.js.map +2 -2
- package/dist/esm/extractor/validHTMLAttributes.mjs +1 -101
- package/dist/esm/extractor/validHTMLAttributes.mjs.map +2 -2
- package/dist/esm/getPragmaOptions.js +2 -43
- package/dist/esm/getPragmaOptions.js.map +2 -2
- package/dist/esm/getPragmaOptions.mjs +2 -43
- package/dist/esm/getPragmaOptions.mjs.map +2 -2
- package/dist/esm/helpers/memoize.js +1 -21
- package/dist/esm/helpers/memoize.js.map +2 -2
- package/dist/esm/helpers/memoize.mjs +1 -21
- package/dist/esm/helpers/memoize.mjs.map +2 -2
- package/dist/esm/index.js +1 -15
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/index.mjs +1 -15
- package/dist/esm/index.mjs.map +2 -2
- package/dist/esm/require.js +5 -55
- package/dist/esm/require.js.map +2 -2
- package/dist/esm/require.mjs +5 -55
- package/dist/esm/require.mjs.map +2 -2
- package/dist/esm/webpackPlugin.js +1 -10
- package/dist/esm/webpackPlugin.js.map +2 -2
- package/dist/esm/webpackPlugin.mjs +1 -10
- package/dist/esm/webpackPlugin.mjs.map +2 -2
- package/package.json +14 -14
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/extractor/getStaticBindingsForScope.ts"],
|
|
4
4
|
"sourcesContent": ["import { ChildProcess, fork } from 'child_process'\nimport { dirname, extname, join, resolve } from 'path'\n\nimport { Binding, NodePath } from '@babel/traverse'\nimport * as t from '@babel/types'\n\nimport { evaluateAstNode } from './evaluateAstNode.js'\nimport { getSourceModule } from './getSourceModule.js'\n\nconst isLocalImport = (path: string) => path.startsWith('.') || path.startsWith('/')\n\nfunction resolveImportPath(sourcePath: string, path: string) {\n const sourceDir = dirname(sourcePath)\n if (isLocalImport(path)) {\n if (extname(path) === '') {\n path += '.js'\n }\n return resolve(sourceDir, path)\n }\n return path\n}\n\nconst cache = new Map()\nconst pending = new Map<string, Promise<any>>()\n\nconst loadCmd = `${join(__dirname, 'loadFile.js')}`\n\nlet exited = false\n\nlet child: ChildProcess | null = null\n\nfunction forkChild() {\n child = fork(loadCmd, [], {\n execArgv: ['-r', 'esbuild-register'],\n detached: false,\n stdio: 'ignore',\n })\n}\n\nexport function cleanupBeforeExit() {\n if (exited) return\n if (!child) return\n child.removeAllListeners()\n child.unref()\n child.disconnect()\n child.kill()\n exited = true\n}\n\nprocess.once('SIGTERM', cleanupBeforeExit)\nprocess.once('SIGINT', cleanupBeforeExit)\nprocess.once('beforeExit', cleanupBeforeExit)\n\nfunction importModule(path: string) {\n if (!child) {\n forkChild()\n }\n if (pending.has(path)) {\n return pending.get(path)\n }\n const promise = new Promise((res, rej) => {\n if (!child) return\n if (cache.size > 2000) {\n cache.clear()\n }\n if (cache.has(path)) {\n return cache.get(path)\n }\n const listener = (msg: any) => {\n if (!child) return\n if (!msg) return\n if (typeof msg !== 'string') return\n if (msg[0] === '-') {\n rej(new Error(msg.slice(1)))\n return\n }\n child.removeListener('message', listener)\n const val = JSON.parse(msg)\n cache.set(path, val)\n res(val)\n }\n child.once('message', listener)\n child.send(`${path.replace('.js', '')}`)\n })\n pending.set(path, promise)\n return promise\n}\n\nexport async function getStaticBindingsForScope(\n scope: NodePath<t.JSXElement>['scope'],\n whitelist: string[] = [],\n sourcePath: string,\n bindingCache: Record<string, string | null>,\n shouldPrintDebug: boolean | 'verbose'\n): Promise<Record<string, any>> {\n const bindings: Record<string, Binding> = scope.getAllBindings() as any\n const ret: Record<string, any> = {}\n\n if (\n shouldPrintDebug\n ) {\n // prettier-ignore\n // console.log(' ', Object.keys(bindings).length, 'variables in scope')\n // .map(x => bindings[x].identifier?.name).join(', ')\n }\n\n // on react native at least it doesnt find some bindings? not sure why\n // lets add in whitelisted imports if they exist\n const program = scope.getProgramParent().block as t.Program\n for (const node of program.body) {\n if (t.isImportDeclaration(node)) {\n const importPath = node.source.value\n if (!node.specifiers.length) continue\n if (!isLocalImport(importPath)) {\n continue\n }\n const moduleName = resolveImportPath(sourcePath, importPath)\n const isOnWhitelist = whitelist.some((test) => moduleName.endsWith(test))\n if (!isOnWhitelist) continue\n try {\n const src = await importModule(moduleName)\n if (!src) continue\n for (const specifier of node.specifiers) {\n if (t.isImportSpecifier(specifier) && t.isIdentifier(specifier.imported)) {\n if (typeof src[specifier.imported.name] !== 'undefined') {\n const val = src[specifier.local.name]\n ret[specifier.local.name] = val\n }\n }\n }\n } catch (err: any) {\n if (shouldPrintDebug) {\n // eslint-disable-next-line no-console\n console.warn(\n ` | Skipping partial evaluation of constant file: ${moduleName} (DEBUG=tamagui for more)`\n )\n } else if (process.env.DEBUG?.startsWith('tamagui')) {\n // eslint-disable-next-line no-console\n console.log(`Error in partial evaluation`, err.message, err.stack)\n }\n }\n }\n }\n\n if (!bindingCache) {\n throw new Error('BindingCache is a required param')\n }\n\n for (const k in bindings) {\n const binding = bindings[k]\n\n // check to see if the item is a module\n const sourceModule = getSourceModule(k, binding)\n if (sourceModule) {\n if (!sourceModule.sourceModule) {\n continue\n }\n\n const moduleName = resolveImportPath(sourcePath, sourceModule.sourceModule)\n const isOnWhitelist = whitelist.some((test) => moduleName.endsWith(test))\n\n // TODO we could cache this at the file level.. and check if its been touched since\n\n if (isOnWhitelist) {\n const src = importModule(moduleName)\n if (!src) {\n // eslint-disable-next-line no-console\n console.log(\n ` | \u26A0\uFE0F Missing file ${moduleName} via ${sourcePath} import ${sourceModule.sourceModule}?`\n )\n return {}\n }\n if (sourceModule.destructured) {\n if (sourceModule.imported) {\n ret[k] = src[sourceModule.imported]\n }\n } else {\n ret[k] = src\n }\n }\n continue\n }\n\n const { parent } = binding.path\n\n if (!t.isVariableDeclaration(parent) || parent.kind !== 'const') {\n continue\n }\n\n // pick out the right variable declarator\n const dec = parent.declarations.find((d) => t.isIdentifier(d.id) && d.id.name === k)\n\n // if init is not set, there's nothing to evaluate\n // TODO: handle spread syntax\n if (!dec || !dec.init) {\n continue\n }\n\n // missing start/end will break caching\n if (typeof dec.id.start !== 'number' || typeof dec.id.end !== 'number') {\n // eslint-disable-next-line no-console\n console.error('dec.id.start/end is not a number')\n continue\n }\n\n if (!t.isIdentifier(dec.id)) {\n // eslint-disable-next-line no-console\n console.error('dec is not an identifier')\n continue\n }\n\n const cacheKey = `${dec.id.name}_${dec.id.start}-${dec.id.end}`\n\n // retrieve value from cache\n if (Object.hasOwnProperty.call(bindingCache, cacheKey)) {\n ret[k] = bindingCache[cacheKey]\n continue\n }\n // retrieve value from cache\n if (Object.hasOwnProperty.call(bindingCache, cacheKey)) {\n ret[k] = bindingCache[cacheKey]\n continue\n }\n\n // evaluate\n try {\n ret[k] = evaluateAstNode(dec.init, undefined, shouldPrintDebug)\n bindingCache[cacheKey] = ret[k]\n continue\n } catch {\n // skip\n }\n }\n\n return ret\n}\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": []
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["getStaticBindingsForScope_exports", "__export", "cleanupBeforeExit", "getStaticBindingsForScope", "__toCommonJS", "import_child_process", "import_path", "t", "import_evaluateAstNode", "import_getSourceModule", "isLocalImport", "path", "resolveImportPath", "sourcePath", "sourceDir", "cache", "pending", "loadCmd", "exited", "child", "forkChild", "importModule", "promise", "res", "rej", "listener", "msg", "val", "scope", "whitelist", "bindingCache", "shouldPrintDebug", "_a", "bindings", "ret", "program", "node", "importPath", "moduleName", "test", "src", "specifier", "err", "k", "binding", "sourceModule", "parent", "dec", "d", "cacheKey"]
|
|
7
7
|
}
|
|
@@ -1,75 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var hoistClassNames_exports = {};
|
|
30
|
-
__export(hoistClassNames_exports, {
|
|
31
|
-
hoistClassNames: () => hoistClassNames
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(hoistClassNames_exports);
|
|
34
|
-
var t = __toESM(require("@babel/types"));
|
|
35
|
-
function hoistClassNames(path, existing, expr) {
|
|
36
|
-
const hoist = hoistClassNames.bind(null, path, existing);
|
|
37
|
-
if (t.isStringLiteral(expr)) {
|
|
38
|
-
if (expr.value.trim() === "") {
|
|
39
|
-
return expr;
|
|
40
|
-
}
|
|
41
|
-
if (existing[expr.value]) {
|
|
42
|
-
return existing[expr.value];
|
|
43
|
-
}
|
|
44
|
-
const identifier = replaceStringWithVariable(expr);
|
|
45
|
-
existing[expr.value] = identifier;
|
|
46
|
-
return identifier;
|
|
47
|
-
}
|
|
48
|
-
if (t.isBinaryExpression(expr)) {
|
|
49
|
-
return t.binaryExpression(expr.operator, hoist(expr.left), hoist(expr.right));
|
|
50
|
-
}
|
|
51
|
-
if (t.isLogicalExpression(expr)) {
|
|
52
|
-
return t.logicalExpression(expr.operator, hoist(expr.left), hoist(expr.right));
|
|
53
|
-
}
|
|
54
|
-
if (t.isConditionalExpression(expr)) {
|
|
55
|
-
return t.conditionalExpression(expr.test, hoist(expr.consequent), hoist(expr.alternate));
|
|
56
|
-
}
|
|
57
|
-
return expr;
|
|
58
|
-
function replaceStringWithVariable(str) {
|
|
59
|
-
const uid = path.scope.generateUidIdentifier("cn");
|
|
60
|
-
const parent = path.findParent((path2) => path2.isProgram());
|
|
61
|
-
if (!parent)
|
|
62
|
-
throw new Error(`no program?`);
|
|
63
|
-
const variable = t.variableDeclaration("const", [
|
|
64
|
-
// adding a space for extra safety
|
|
65
|
-
t.variableDeclarator(uid, t.stringLiteral(` ${str.value}`))
|
|
66
|
-
]);
|
|
67
|
-
parent.unshiftContainer("body", variable);
|
|
68
|
-
return uid;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
72
|
-
0 && (module.exports = {
|
|
73
|
-
hoistClassNames
|
|
74
|
-
});
|
|
1
|
+
"use strict";var m=Object.create;var s=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var y=(i,n)=>{for(var t in n)s(i,t,{get:n[t],enumerable:!0})},u=(i,n,t,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let e of v(n))!h.call(i,e)&&e!==t&&s(i,e,{get:()=>n[e],enumerable:!(o=E(n,e))||o.enumerable});return i};var L=(i,n,t)=>(t=i!=null?m(b(i)):{},u(n||!i||!i.__esModule?s(t,"default",{value:i,enumerable:!0}):t,i)),P=i=>u(s({},"__esModule",{value:!0}),i);var S={};y(S,{hoistClassNames:()=>c});module.exports=P(S);var r=L(require("@babel/types"));function c(i,n,t){const o=c.bind(null,i,n);if(r.isStringLiteral(t)){if(t.value.trim()==="")return t;if(n[t.value])return n[t.value];const a=e(t);return n[t.value]=a,a}if(r.isBinaryExpression(t))return r.binaryExpression(t.operator,o(t.left),o(t.right));if(r.isLogicalExpression(t))return r.logicalExpression(t.operator,o(t.left),o(t.right));if(r.isConditionalExpression(t))return r.conditionalExpression(t.test,o(t.consequent),o(t.alternate));return t;function e(a){const l=i.scope.generateUidIdentifier("cn"),f=i.findParent(g=>g.isProgram());if(!f)throw new Error("no program?");const d=r.variableDeclaration("const",[r.variableDeclarator(l,r.stringLiteral(` ${a.value}`))]);return f.unshiftContainer("body",d),l}}0&&(module.exports={hoistClassNames});
|
|
75
2
|
//# sourceMappingURL=hoistClassNames.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/extractor/hoistClassNames.ts"],
|
|
4
4
|
"sourcesContent": ["import { NodePath } from '@babel/traverse'\nimport * as t from '@babel/types'\n\nexport function hoistClassNames(\n path: NodePath<t.JSXElement>,\n existing: { [key: string]: t.Identifier },\n expr: t.Expression\n) {\n const hoist = hoistClassNames.bind(null, path, existing)\n if (t.isStringLiteral(expr)) {\n if (expr.value.trim() === '') {\n return expr\n }\n if (existing[expr.value]) {\n return existing[expr.value]\n }\n const identifier = replaceStringWithVariable(expr)\n existing[expr.value] = identifier\n return identifier\n }\n if (t.isBinaryExpression(expr)) {\n return t.binaryExpression(expr.operator, hoist(expr.left), hoist(expr.right))\n }\n if (t.isLogicalExpression(expr)) {\n return t.logicalExpression(expr.operator, hoist(expr.left), hoist(expr.right))\n }\n if (t.isConditionalExpression(expr)) {\n return t.conditionalExpression(expr.test, hoist(expr.consequent), hoist(expr.alternate))\n }\n return expr\n\n function replaceStringWithVariable(str: t.StringLiteral): t.Identifier {\n // hoist outside fn!\n const uid = path.scope.generateUidIdentifier('cn')\n const parent = path.findParent((path) => path.isProgram())\n if (!parent) throw new Error(`no program?`)\n const variable = t.variableDeclaration('const', [\n // adding a space for extra safety\n t.variableDeclarator(uid, t.stringLiteral(` ${str.value}`)),\n ])\n // @ts-ignore\n parent.unshiftContainer('body', variable)\n return uid\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["path"]
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAmB,2BAEZ,SAASF,EACdG,EACAC,EACAC,EACA,CACA,MAAMC,EAAQN,EAAgB,KAAK,KAAMG,EAAMC,CAAQ,EACvD,GAAIF,EAAE,gBAAgBG,CAAI,EAAG,CAC3B,GAAIA,EAAK,MAAM,KAAK,IAAM,GACxB,OAAOA,EAET,GAAID,EAASC,EAAK,KAAK,EACrB,OAAOD,EAASC,EAAK,KAAK,EAE5B,MAAME,EAAaC,EAA0BH,CAAI,EACjD,OAAAD,EAASC,EAAK,KAAK,EAAIE,EAChBA,CACT,CACA,GAAIL,EAAE,mBAAmBG,CAAI,EAC3B,OAAOH,EAAE,iBAAiBG,EAAK,SAAUC,EAAMD,EAAK,IAAI,EAAGC,EAAMD,EAAK,KAAK,CAAC,EAE9E,GAAIH,EAAE,oBAAoBG,CAAI,EAC5B,OAAOH,EAAE,kBAAkBG,EAAK,SAAUC,EAAMD,EAAK,IAAI,EAAGC,EAAMD,EAAK,KAAK,CAAC,EAE/E,GAAIH,EAAE,wBAAwBG,CAAI,EAChC,OAAOH,EAAE,sBAAsBG,EAAK,KAAMC,EAAMD,EAAK,UAAU,EAAGC,EAAMD,EAAK,SAAS,CAAC,EAEzF,OAAOA,EAEP,SAASG,EAA0BC,EAAoC,CAErE,MAAMC,EAAMP,EAAK,MAAM,sBAAsB,IAAI,EAC3CQ,EAASR,EAAK,WAAYA,GAASA,EAAK,UAAU,CAAC,EACzD,GAAI,CAACQ,EAAQ,MAAM,IAAI,MAAM,aAAa,EAC1C,MAAMC,EAAWV,EAAE,oBAAoB,QAAS,CAE9CA,EAAE,mBAAmBQ,EAAKR,EAAE,cAAc,IAAIO,EAAI,OAAO,CAAC,CAC5D,CAAC,EAED,OAAAE,EAAO,iBAAiB,OAAQC,CAAQ,EACjCF,CACT,CACF",
|
|
6
|
+
"names": ["hoistClassNames_exports", "__export", "hoistClassNames", "__toCommonJS", "t", "path", "existing", "expr", "hoist", "identifier", "replaceStringWithVariable", "str", "uid", "parent", "variable"]
|
|
7
7
|
}
|
|
@@ -1,116 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var literalToAst_exports = {};
|
|
30
|
-
__export(literalToAst_exports, {
|
|
31
|
-
astToLiteral: () => astToLiteral,
|
|
32
|
-
literalToAst: () => literalToAst
|
|
33
|
-
});
|
|
34
|
-
module.exports = __toCommonJS(literalToAst_exports);
|
|
35
|
-
var t = __toESM(require("@babel/types"));
|
|
36
|
-
function literalToAst(literal) {
|
|
37
|
-
if (literal === null) {
|
|
38
|
-
return t.nullLiteral();
|
|
39
|
-
}
|
|
40
|
-
switch (typeof literal) {
|
|
41
|
-
case "function":
|
|
42
|
-
throw new Error("Unsupported");
|
|
43
|
-
case "number":
|
|
44
|
-
return t.numericLiteral(literal);
|
|
45
|
-
case "string":
|
|
46
|
-
return t.stringLiteral(literal);
|
|
47
|
-
case "boolean":
|
|
48
|
-
return t.booleanLiteral(literal);
|
|
49
|
-
case "undefined":
|
|
50
|
-
return t.unaryExpression("void", t.numericLiteral(0), true);
|
|
51
|
-
default:
|
|
52
|
-
if (Array.isArray(literal)) {
|
|
53
|
-
return t.arrayExpression(literal.map(literalToAst));
|
|
54
|
-
}
|
|
55
|
-
return t.objectExpression(
|
|
56
|
-
Object.keys(literal).filter((k) => {
|
|
57
|
-
return typeof literal[k] !== "undefined";
|
|
58
|
-
}).map((k) => {
|
|
59
|
-
return t.objectProperty(t.stringLiteral(k), literalToAst(literal[k]));
|
|
60
|
-
})
|
|
61
|
-
);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
const easyPeasies = ["BooleanLiteral", "StringLiteral", "NumericLiteral"];
|
|
65
|
-
function astToLiteral(node) {
|
|
66
|
-
if (!node) {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
if (easyPeasies.includes(node.type)) {
|
|
70
|
-
return node.value;
|
|
71
|
-
}
|
|
72
|
-
if (node.name === "undefined" && !node.value) {
|
|
73
|
-
return void 0;
|
|
74
|
-
}
|
|
75
|
-
if (t.isNullLiteral(node)) {
|
|
76
|
-
return null;
|
|
77
|
-
}
|
|
78
|
-
if (t.isObjectExpression(node)) {
|
|
79
|
-
return computeProps(node.properties);
|
|
80
|
-
}
|
|
81
|
-
if (t.isArrayExpression(node)) {
|
|
82
|
-
return node.elements.reduce(
|
|
83
|
-
// @ts-ignore
|
|
84
|
-
(acc, element) => [
|
|
85
|
-
...acc,
|
|
86
|
-
...(element == null ? void 0 : element.type) === "SpreadElement" ? astToLiteral(element.argument) : [astToLiteral(element)]
|
|
87
|
-
],
|
|
88
|
-
[]
|
|
89
|
-
);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
function computeProps(props) {
|
|
93
|
-
return props.reduce((acc, prop) => {
|
|
94
|
-
if (prop.type === "SpreadElement") {
|
|
95
|
-
return {
|
|
96
|
-
...acc,
|
|
97
|
-
...astToLiteral(prop.argument)
|
|
98
|
-
};
|
|
99
|
-
} else if (prop.type !== "ObjectMethod") {
|
|
100
|
-
const val = astToLiteral(prop.value);
|
|
101
|
-
if (val !== void 0) {
|
|
102
|
-
return {
|
|
103
|
-
...acc,
|
|
104
|
-
[prop.key.name]: val
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
return acc;
|
|
109
|
-
}, {});
|
|
110
|
-
}
|
|
111
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
112
|
-
0 && (module.exports = {
|
|
113
|
-
astToLiteral,
|
|
114
|
-
literalToAst
|
|
115
|
-
});
|
|
1
|
+
"use strict";var c=Object.create;var a=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var l=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var d=(r,e)=>{for(var t in e)a(r,t,{get:e[t],enumerable:!0})},o=(r,e,t,u)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of y(e))!L.call(r,i)&&i!==t&&a(r,i,{get:()=>e[i],enumerable:!(u=p(e,i))||u.enumerable});return r};var m=(r,e,t)=>(t=r!=null?c(l(r)):{},o(e||!r||!r.__esModule?a(t,"default",{value:r,enumerable:!0}):t,r)),E=r=>o(a({},"__esModule",{value:!0}),r);var g={};d(g,{astToLiteral:()=>s,literalToAst:()=>f});module.exports=E(g);var n=m(require("@babel/types"));function f(r){if(r===null)return n.nullLiteral();switch(typeof r){case"function":throw new Error("Unsupported");case"number":return n.numericLiteral(r);case"string":return n.stringLiteral(r);case"boolean":return n.booleanLiteral(r);case"undefined":return n.unaryExpression("void",n.numericLiteral(0),!0);default:return Array.isArray(r)?n.arrayExpression(r.map(f)):n.objectExpression(Object.keys(r).filter(e=>typeof r[e]<"u").map(e=>n.objectProperty(n.stringLiteral(e),f(r[e]))))}}const b=["BooleanLiteral","StringLiteral","NumericLiteral"];function s(r){if(r){if(b.includes(r.type))return r.value;if(!(r.name==="undefined"&&!r.value)){if(n.isNullLiteral(r))return null;if(n.isObjectExpression(r))return x(r.properties);if(n.isArrayExpression(r))return r.elements.reduce((e,t)=>[...e,...(t==null?void 0:t.type)==="SpreadElement"?s(t.argument):[s(t)]],[])}}}function x(r){return r.reduce((e,t)=>{if(t.type==="SpreadElement")return{...e,...s(t.argument)};if(t.type!=="ObjectMethod"){const u=s(t.value);if(u!==void 0)return{...e,[t.key.name]:u}}return e},{})}0&&(module.exports={astToLiteral,literalToAst});
|
|
116
2
|
//# sourceMappingURL=literalToAst.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/extractor/literalToAst.ts"],
|
|
4
4
|
"sourcesContent": ["import * as t from '@babel/types'\n\nexport function literalToAst(literal: any): t.Expression {\n if (literal === null) {\n return t.nullLiteral()\n }\n switch (typeof literal) {\n case 'function':\n throw new Error('Unsupported')\n case 'number':\n return t.numericLiteral(literal)\n case 'string':\n return t.stringLiteral(literal)\n case 'boolean':\n return t.booleanLiteral(literal)\n case 'undefined':\n return t.unaryExpression('void', t.numericLiteral(0), true)\n default:\n if (Array.isArray(literal)) {\n return t.arrayExpression(literal.map(literalToAst))\n }\n return t.objectExpression(\n Object.keys(literal)\n .filter((k) => {\n return typeof literal[k] !== 'undefined'\n })\n .map((k) => {\n return t.objectProperty(t.stringLiteral(k), literalToAst(literal[k]))\n })\n )\n }\n}\n\nconst easyPeasies = ['BooleanLiteral', 'StringLiteral', 'NumericLiteral']\n\nexport function astToLiteral(node: any) {\n if (!node) {\n return\n }\n if (easyPeasies.includes(node.type)) {\n return node.value\n }\n if (node.name === 'undefined' && !node.value) {\n return undefined\n }\n if (t.isNullLiteral(node)) {\n return null\n }\n if (t.isObjectExpression(node)) {\n return computeProps(node.properties)\n }\n if (t.isArrayExpression(node)) {\n return node.elements.reduce(\n // @ts-ignore\n (acc, element) => [\n ...acc,\n ...(element?.type === 'SpreadElement'\n ? astToLiteral(element.argument)\n : [astToLiteral(element)]),\n ],\n []\n )\n }\n}\n\nfunction computeProps(props) {\n return props.reduce((acc, prop) => {\n if (prop.type === 'SpreadElement') {\n return {\n ...acc,\n ...astToLiteral(prop.argument),\n }\n } else if (prop.type !== 'ObjectMethod') {\n const val = astToLiteral(prop.value)\n if (val !== undefined) {\n return {\n ...acc,\n [prop.key.name]: val,\n }\n }\n }\n return acc\n }, {})\n}\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": []
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,EAAA,iBAAAC,IAAA,eAAAC,EAAAJ,GAAA,IAAAK,EAAmB,2BAEZ,SAASF,EAAaG,EAA4B,CACvD,GAAIA,IAAY,KACd,OAAOD,EAAE,YAAY,EAEvB,OAAQ,OAAOC,EAAS,CACtB,IAAK,WACH,MAAM,IAAI,MAAM,aAAa,EAC/B,IAAK,SACH,OAAOD,EAAE,eAAeC,CAAO,EACjC,IAAK,SACH,OAAOD,EAAE,cAAcC,CAAO,EAChC,IAAK,UACH,OAAOD,EAAE,eAAeC,CAAO,EACjC,IAAK,YACH,OAAOD,EAAE,gBAAgB,OAAQA,EAAE,eAAe,CAAC,EAAG,EAAI,EAC5D,QACE,OAAI,MAAM,QAAQC,CAAO,EAChBD,EAAE,gBAAgBC,EAAQ,IAAIH,CAAY,CAAC,EAE7CE,EAAE,iBACP,OAAO,KAAKC,CAAO,EAChB,OAAQC,GACA,OAAOD,EAAQC,CAAC,EAAM,GAC9B,EACA,IAAKA,GACGF,EAAE,eAAeA,EAAE,cAAcE,CAAC,EAAGJ,EAAaG,EAAQC,CAAC,CAAC,CAAC,CACrE,CACL,CACJ,CACF,CAEA,MAAMC,EAAc,CAAC,iBAAkB,gBAAiB,gBAAgB,EAEjE,SAASN,EAAaO,EAAW,CACtC,GAAKA,EAGL,IAAID,EAAY,SAASC,EAAK,IAAI,EAChC,OAAOA,EAAK,MAEd,GAAI,EAAAA,EAAK,OAAS,aAAe,CAACA,EAAK,OAGvC,IAAIJ,EAAE,cAAcI,CAAI,EACtB,OAAO,KAET,GAAIJ,EAAE,mBAAmBI,CAAI,EAC3B,OAAOC,EAAaD,EAAK,UAAU,EAErC,GAAIJ,EAAE,kBAAkBI,CAAI,EAC1B,OAAOA,EAAK,SAAS,OAEnB,CAACE,EAAKC,IAAY,CAChB,GAAGD,EACH,IAAIC,GAAA,YAAAA,EAAS,QAAS,gBAClBV,EAAaU,EAAQ,QAAQ,EAC7B,CAACV,EAAaU,CAAO,CAAC,CAC5B,EACA,CAAC,CACH,GAEJ,CAEA,SAASF,EAAaG,EAAO,CAC3B,OAAOA,EAAM,OAAO,CAACF,EAAKG,IAAS,CACjC,GAAIA,EAAK,OAAS,gBAChB,MAAO,CACL,GAAGH,EACH,GAAGT,EAAaY,EAAK,QAAQ,CAC/B,EACK,GAAIA,EAAK,OAAS,eAAgB,CACvC,MAAMC,EAAMb,EAAaY,EAAK,KAAK,EACnC,GAAIC,IAAQ,OACV,MAAO,CACL,GAAGJ,EACH,CAACG,EAAK,IAAI,IAAI,EAAGC,CACnB,CAEJ,CACA,OAAOJ,CACT,EAAG,CAAC,CAAC,CACP",
|
|
6
|
+
"names": ["literalToAst_exports", "__export", "astToLiteral", "literalToAst", "__toCommonJS", "t", "literal", "k", "easyPeasies", "node", "computeProps", "acc", "element", "props", "prop", "val"]
|
|
7
7
|
}
|
|
@@ -1,21 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
process.
|
|
3
|
-
var _a, _b, _c;
|
|
4
|
-
if (typeof path !== "string") {
|
|
5
|
-
throw new Error(`Not a string: ${path}`);
|
|
6
|
-
}
|
|
7
|
-
try {
|
|
8
|
-
const out = require(path);
|
|
9
|
-
(_a = process.send) == null ? void 0 : _a.call(process, JSON.stringify(out));
|
|
10
|
-
} catch (err) {
|
|
11
|
-
if (err instanceof Error) {
|
|
12
|
-
(_b = process.send) == null ? void 0 : _b.call(process, `-${err.message}
|
|
13
|
-
${err.stack}`);
|
|
14
|
-
} else {
|
|
15
|
-
(_c = process.send) == null ? void 0 : _c.call(process, `-${err}`);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
setInterval(() => {
|
|
20
|
-
}, 1e3);
|
|
1
|
+
"use strict";process.on("message",e=>{var r,n,o;if(typeof e!="string")throw new Error(`Not a string: ${e}`);try{const s=require(e);(r=process.send)==null||r.call(process,JSON.stringify(s))}catch(s){s instanceof Error?(n=process.send)==null||n.call(process,`-${s.message}
|
|
2
|
+
${s.stack}`):(o=process.send)==null||o.call(process,`-${s}`)}}),setInterval(()=>{},1e3);
|
|
21
3
|
//# sourceMappingURL=loadFile.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/extractor/loadFile.ts"],
|
|
4
4
|
"sourcesContent": ["process.on('message', (path) => {\n if (typeof path !== 'string') {\n throw new Error(`Not a string: ${path}`)\n }\n try {\n const out = require(path)\n process.send?.(JSON.stringify(out))\n } catch (err) {\n if (err instanceof Error) {\n process.send?.(`-${err.message}\\n${err.stack}`)\n } else {\n process.send?.(`-${err}`)\n }\n }\n})\n\nsetInterval(() => {}, 1000)\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": []
|
|
5
|
+
"mappings": "aAAA,QAAQ,GAAG,UAAYA,GAAS,CAAhC,IAAAC,EAAAC,EAAAC,EACE,GAAI,OAAOH,GAAS,SAClB,MAAM,IAAI,MAAM,iBAAiBA,GAAM,EAEzC,GAAI,CACF,MAAMI,EAAM,QAAQJ,CAAI,GACxBC,EAAA,QAAQ,OAAR,MAAAA,EAAA,aAAe,KAAK,UAAUG,CAAG,EACnC,OAASC,EAAP,CACIA,aAAe,OACjBH,EAAA,QAAQ,OAAR,MAAAA,EAAA,aAAe,IAAIG,EAAI;AAAA,EAAYA,EAAI,UAEvCF,EAAA,QAAQ,OAAR,MAAAA,EAAA,aAAe,IAAIE,IAEvB,CACF,CAAC,EAED,YAAY,IAAM,CAAC,EAAG,GAAI",
|
|
6
|
+
"names": ["path", "_a", "_b", "_c", "out", "err"]
|
|
7
7
|
}
|