react-native-builder-bob 0.38.0 → 0.38.2
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/lib/__fixtures__/project/MyNativeComponent.js +2 -0
- package/lib/__fixtures__/project/MyNativeComponent.js.map +1 -0
- package/lib/__fixtures__/project/NativeMyLib.js +2 -0
- package/lib/__fixtures__/project/NativeMyLib.js.map +1 -0
- package/lib/__fixtures__/project/code/$exports-input.js +62 -2
- package/lib/__fixtures__/project/code/$exports-input.js.map +1 -1
- package/lib/__fixtures__/project/code/$exports-output.js +62 -2
- package/lib/__fixtures__/project/code/$exports-output.js.map +1 -1
- package/lib/__fixtures__/project/code/$imports-input.js +20 -0
- package/lib/__fixtures__/project/code/$imports-input.js.map +1 -1
- package/lib/__fixtures__/project/code/$imports-output.js +20 -0
- package/lib/__fixtures__/project/code/$imports-output.js.map +1 -1
- package/lib/__fixtures__/project/code/MyNativeComponent.js +2 -0
- package/lib/__fixtures__/project/code/MyNativeComponent.js.map +1 -0
- package/lib/__fixtures__/project/code/NativeMyLib.js +2 -0
- package/lib/__fixtures__/project/code/NativeMyLib.js.map +1 -0
- package/lib/__tests__/{index.test.js → babel.test.js} +8 -1
- package/lib/__tests__/babel.test.js.map +1 -0
- package/lib/__tests__/init.test.js +78 -0
- package/lib/__tests__/init.test.js.map +1 -0
- package/lib/babel.js +13 -6
- package/lib/babel.js.map +1 -1
- package/lib/build.js +163 -0
- package/lib/build.js.map +1 -0
- package/lib/index.js +3 -433
- package/lib/index.js.map +1 -1
- package/lib/init.js +371 -0
- package/lib/init.js.map +1 -0
- package/lib/targets/commonjs.js +2 -0
- package/lib/targets/commonjs.js.map +1 -1
- package/lib/targets/module.js +2 -0
- package/lib/targets/module.js.map +1 -1
- package/lib/targets/typescript.js +48 -25
- package/lib/targets/typescript.js.map +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/compile.js +57 -24
- package/lib/utils/compile.js.map +1 -1
- package/lib/utils/isCodegenSpec.js +11 -0
- package/lib/utils/isCodegenSpec.js.map +1 -0
- package/lib/utils/loadConfig.js +21 -0
- package/lib/utils/loadConfig.js.map +1 -0
- package/package.json +4 -3
- package/lib/__fixtures__/project/code/$alias-input.js +0 -8
- package/lib/__fixtures__/project/code/$alias-input.js.map +0 -1
- package/lib/__fixtures__/project/code/$alias-output.js +0 -8
- package/lib/__fixtures__/project/code/$alias-output.js.map +0 -1
- package/lib/__tests__/index.test.js.map +0 -1
|
@@ -18,7 +18,9 @@ async function build({
|
|
|
18
18
|
root,
|
|
19
19
|
output,
|
|
20
20
|
report,
|
|
21
|
-
options
|
|
21
|
+
options,
|
|
22
|
+
variants,
|
|
23
|
+
esm
|
|
22
24
|
}) {
|
|
23
25
|
report.info(`Cleaning up previous build at ${_kleur.default.blue(_path.default.relative(root, output))}`);
|
|
24
26
|
await (0, _del.default)([output]);
|
|
@@ -83,34 +85,51 @@ async function build({
|
|
|
83
85
|
if (tsc == null || !(await _fsExtra.default.pathExists(tsc))) {
|
|
84
86
|
throw new Error(`The ${_kleur.default.blue('tsc')} binary doesn't seem to be installed under ${_kleur.default.blue('node_modules')} or present in $PATH. Make sure you have added ${_kleur.default.blue('typescript')} to your ${_kleur.default.blue('devDependencies')} or specify the ${_kleur.default.blue('tsc')} option for typescript.`);
|
|
85
87
|
}
|
|
86
|
-
const outputs =
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
88
|
+
const outputs = {};
|
|
89
|
+
if (esm && variants.commonjs && variants.module) {
|
|
90
|
+
outputs.commonjs = _path.default.join(output, 'commonjs');
|
|
91
|
+
outputs.module = _path.default.join(output, 'module');
|
|
92
|
+
} else if (variants.commonjs) {
|
|
93
|
+
outputs.commonjs = output;
|
|
94
|
+
} else {
|
|
95
|
+
outputs.module = output;
|
|
96
|
+
}
|
|
97
|
+
const outDir = outputs.commonjs ?? outputs.module;
|
|
98
|
+
if (outDir == null) {
|
|
99
|
+
throw new Error('Neither commonjs nor module output is enabled.');
|
|
100
|
+
}
|
|
101
|
+
const tsbuildinfo = _path.default.join(outDir, project.replace(/\.json$/, '.tsbuildinfo'));
|
|
93
102
|
try {
|
|
94
103
|
await (0, _del.default)([tsbuildinfo]);
|
|
95
104
|
} catch (e) {
|
|
96
105
|
// Ignore
|
|
97
106
|
}
|
|
98
|
-
const result = _crossSpawn.default.sync(tsc, ['--pretty', '--declaration', '--declarationMap', '--noEmit', 'false', '--emitDeclarationOnly', '--project', project, '--outDir',
|
|
107
|
+
const result = _crossSpawn.default.sync(tsc, ['--pretty', '--declaration', '--declarationMap', '--noEmit', 'false', '--emitDeclarationOnly', '--project', project, '--outDir', outDir], {
|
|
99
108
|
stdio: 'inherit',
|
|
100
109
|
cwd: root
|
|
101
110
|
});
|
|
102
111
|
if (result.status === 0) {
|
|
103
112
|
await (0, _del.default)([tsbuildinfo]);
|
|
104
|
-
if (
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
113
|
+
if (esm) {
|
|
114
|
+
if (outputs?.commonjs && outputs?.module) {
|
|
115
|
+
// When ESM compatible output is enabled and commonjs build is present, we need to generate 2 builds for commonjs and esm
|
|
116
|
+
// In this case we copy the already generated types, and add `package.json` with `type` field
|
|
117
|
+
await _fsExtra.default.copy(outputs.commonjs, outputs.module);
|
|
118
|
+
await _fsExtra.default.writeJSON(_path.default.join(outputs.commonjs, 'package.json'), {
|
|
119
|
+
type: 'commonjs'
|
|
120
|
+
});
|
|
121
|
+
await _fsExtra.default.writeJSON(_path.default.join(outputs.module, 'package.json'), {
|
|
122
|
+
type: 'module'
|
|
123
|
+
});
|
|
124
|
+
} else if (outputs?.commonjs) {
|
|
125
|
+
await _fsExtra.default.writeJSON(_path.default.join(outputs.commonjs, 'package.json'), {
|
|
126
|
+
type: 'commonjs'
|
|
127
|
+
});
|
|
128
|
+
} else if (outputs?.module) {
|
|
129
|
+
await _fsExtra.default.writeJSON(_path.default.join(outputs.module, 'package.json'), {
|
|
130
|
+
type: 'module'
|
|
131
|
+
});
|
|
132
|
+
}
|
|
114
133
|
}
|
|
115
134
|
report.success(`Wrote definition files to ${_kleur.default.blue(_path.default.relative(root, output))}`);
|
|
116
135
|
const pkg = JSON.parse(await _fsExtra.default.readFile(_path.default.join(root, 'package.json'), 'utf-8'));
|
|
@@ -118,22 +137,26 @@ async function build({
|
|
|
118
137
|
name: 'types',
|
|
119
138
|
value: pkg.types,
|
|
120
139
|
output: outputs.commonjs,
|
|
121
|
-
error: false
|
|
140
|
+
error: false,
|
|
141
|
+
message: undefined
|
|
122
142
|
}, ...(pkg.exports?.['.']?.types ? [{
|
|
123
143
|
name: "exports['.'].types",
|
|
124
144
|
value: pkg.exports?.['.']?.types,
|
|
125
|
-
output:
|
|
126
|
-
error:
|
|
145
|
+
output: outDir,
|
|
146
|
+
error: Boolean(esm && variants.commonjs && variants.module),
|
|
147
|
+
message: `using both ${_kleur.default.blue('commonjs')} and ${_kleur.default.blue('module')} targets with ${_kleur.default.blue('esm')} option enabled. Specify ${_kleur.default.blue("exports['.'].import.types")} and ${_kleur.default.blue("exports['.'].require.types")} instead.`
|
|
127
148
|
}] : []), {
|
|
128
149
|
name: "exports['.'].import.types",
|
|
129
150
|
value: pkg.exports?.['.']?.import?.types,
|
|
130
151
|
output: outputs.module,
|
|
131
|
-
error: !
|
|
152
|
+
error: !esm,
|
|
153
|
+
message: `the ${_kleur.default.blue('esm')} option is not enabled for the ${_kleur.default.blue('module')} target`
|
|
132
154
|
}, {
|
|
133
155
|
name: "exports['.'].require.types",
|
|
134
156
|
value: pkg.exports?.['.']?.require?.types,
|
|
135
157
|
output: outputs.commonjs,
|
|
136
|
-
error:
|
|
158
|
+
error: false,
|
|
159
|
+
message: undefined
|
|
137
160
|
}];
|
|
138
161
|
const getGeneratedTypesPath = async field => {
|
|
139
162
|
if (!field.output || field.error) {
|
|
@@ -153,7 +176,7 @@ async function build({
|
|
|
153
176
|
const invalidFieldNames = (await Promise.all(fields.map(async field => {
|
|
154
177
|
if (field.error) {
|
|
155
178
|
if (field.value) {
|
|
156
|
-
report.warn(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue(`package.json`)} should not be set when
|
|
179
|
+
report.warn(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue(`package.json`)} should not be set when ${field.message}.`);
|
|
157
180
|
}
|
|
158
181
|
return null;
|
|
159
182
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript.js","names":["_kleur","_interopRequireDefault","require","_path","_fsExtra","_which","_crossSpawn","_del","_json","_os","e","__esModule","default","build","source","root","output","report","options","info","kleur","blue","path","relative","del","project","tsconfig","join","fs","pathExists","config","JSON5","parse","readFile","compilerOptions","conflicts","declarationDir","push","outDir","length","warn","reduce","acc","curr","gray","yellow","Error","tsc","resolve","execpath","process","env","npm_execpath","cli","split","pop","includes","result","spawn","sync","stdio","encoding","cwd","stdout","trim","platform","endsWith","which","outputs","esm","commonjs","module","tsbuildinfo","replace","status","copy","writeJSON","type","success","pkg","JSON","fields","name","value","types","error","exports","import","getGeneratedTypesPath","field","indexDTsName","basename","potentialPaths","dirname","potentialPath","invalidFieldNames","Promise","all","map","startsWith","test","generatedTypesPath","filter","validFields","every","suggestedTypesPaths","i","self","indexOf","toString","message"],"sources":["../../src/targets/typescript.ts"],"sourcesContent":["import kleur from 'kleur';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport which from 'which';\nimport spawn from 'cross-spawn';\nimport del from 'del';\nimport JSON5 from 'json5';\nimport { platform } from 'os';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n options?: {\n esm?: boolean;\n project?: string;\n tsc?: string;\n };\n};\n\ntype Field = {\n name: string;\n value: string | undefined;\n output: string | undefined;\n error: boolean;\n};\n\nexport default async function build({\n source,\n root,\n output,\n report,\n options,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n report.info(`Generating type definitions with ${kleur.blue('tsc')}`);\n\n const project = options?.project ? options.project : 'tsconfig.json';\n const tsconfig = path.join(root, project);\n\n try {\n if (await fs.pathExists(tsconfig)) {\n try {\n const config = JSON5.parse(await fs.readFile(tsconfig, 'utf-8'));\n\n if (config.compilerOptions) {\n const conflicts: string[] = [];\n\n if (config.compilerOptions.declarationDir) {\n conflicts.push('compilerOptions.declarationDir');\n }\n\n if (\n config.compilerOptions.outDir &&\n path.join(root, config.compilerOptions.outDir) !== output\n ) {\n conflicts.push('compilerOptions.outDir');\n }\n\n if (conflicts.length) {\n report.warn(\n `Found following options in the config file which can conflict with the CLI options. Please remove them from ${kleur.blue(\n project\n )}:${conflicts.reduce(\n (acc, curr) =>\n acc + `\\n${kleur.gray('-')} ${kleur.yellow(curr)}`,\n ''\n )}`\n );\n }\n }\n } catch (e) {\n report.warn(\n `Couldn't parse '${project}'. There might be validation errors.`\n );\n }\n } else {\n throw new Error(\n `Couldn't find a ${kleur.blue('tsconfig.json')} in the project root.`\n );\n }\n\n let tsc;\n\n if (options?.tsc) {\n tsc = path.resolve(root, options.tsc);\n\n if (!(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed at ${kleur.blue(\n tsc\n )}. Please specify the correct path in options or remove it to use the workspace's version.`\n );\n }\n } else {\n const execpath = process.env.npm_execpath;\n const cli = execpath?.split('/').pop()?.includes('yarn') ? 'yarn' : 'npm';\n\n if (cli === 'yarn') {\n const result = spawn.sync('yarn', ['bin', 'tsc'], {\n stdio: 'pipe',\n encoding: 'utf-8',\n cwd: root,\n });\n\n tsc = result.stdout.trim();\n } else {\n tsc = path.resolve(root, 'node_modules', '.bin', 'tsc');\n }\n\n if (platform() === 'win32' && !tsc.endsWith('.cmd')) {\n tsc += '.cmd';\n }\n }\n\n if (!(await fs.pathExists(tsc))) {\n try {\n tsc = await which('tsc');\n\n if (await fs.pathExists(tsc)) {\n report.warn(\n `Failed to locate ${kleur.blue(\n 'tsc'\n )} in the workspace. Falling back to the binary found in ${kleur.blue(\n 'PATH'\n )} at ${kleur.blue(tsc)}. Consider adding ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue(\n 'devDependencies'\n )} or specifying the ${kleur.blue(\n 'tsc'\n )} option for the typescript target.`\n );\n }\n } catch (e) {\n // Ignore\n }\n }\n\n if (tsc == null || !(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed under ${kleur.blue(\n 'node_modules'\n )} or present in $PATH. Make sure you have added ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue('devDependencies')} or specify the ${kleur.blue(\n 'tsc'\n )} option for typescript.`\n );\n }\n\n const outputs = options?.esm\n ? {\n commonjs: path.join(output, 'commonjs'),\n module: path.join(output, 'module'),\n }\n : { commonjs: output };\n\n const tsbuildinfo = path.join(\n outputs.commonjs,\n project.replace(/\\.json$/, '.tsbuildinfo')\n );\n\n try {\n await del([tsbuildinfo]);\n } catch (e) {\n // Ignore\n }\n\n const result = spawn.sync(\n tsc,\n [\n '--pretty',\n '--declaration',\n '--declarationMap',\n '--noEmit',\n 'false',\n '--emitDeclarationOnly',\n '--project',\n project,\n '--outDir',\n outputs.commonjs,\n ],\n {\n stdio: 'inherit',\n cwd: root,\n }\n );\n\n if (result.status === 0) {\n await del([tsbuildinfo]);\n\n if (outputs?.module) {\n // When ESM compatible output is enabled, we need to generate 2 builds for commonjs and esm\n // In this case we copy the already generated types, and add `package.json` with `type` field\n await fs.copy(outputs.commonjs, outputs.module);\n await fs.writeJSON(path.join(outputs.commonjs, 'package.json'), {\n type: 'commonjs',\n });\n await fs.writeJSON(path.join(outputs.module, 'package.json'), {\n type: 'module',\n });\n }\n\n report.success(\n `Wrote definition files to ${kleur.blue(path.relative(root, output))}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n const fields: Field[] = [\n {\n name: 'types',\n value: pkg.types,\n output: outputs.commonjs,\n error: false,\n },\n ...(pkg.exports?.['.']?.types\n ? [\n {\n name: \"exports['.'].types\",\n value: pkg.exports?.['.']?.types,\n output: outputs.commonjs,\n error: options?.esm === true,\n },\n ]\n : []),\n {\n name: \"exports['.'].import.types\",\n value: pkg.exports?.['.']?.import?.types,\n output: outputs.module,\n error: !options?.esm,\n },\n {\n name: \"exports['.'].require.types\",\n value: pkg.exports?.['.']?.require?.types,\n output: outputs.commonjs,\n error: !options?.esm,\n },\n ];\n\n const getGeneratedTypesPath = async (field: Field) => {\n if (!field.output || field.error) {\n return null;\n }\n\n if (pkg.source) {\n const indexDTsName =\n path.basename(pkg.source).replace(/\\.(jsx?|tsx?)$/, '') + '.d.ts';\n\n const potentialPaths = [\n path.join(field.output, path.dirname(pkg.source), indexDTsName),\n path.join(\n field.output,\n path.relative(source, path.join(root, path.dirname(pkg.source))),\n indexDTsName\n ),\n ];\n\n for (const potentialPath of potentialPaths) {\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const invalidFieldNames = (\n await Promise.all(\n fields.map(async (field) => {\n if (field.error) {\n if (field.value) {\n report.warn(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n `package.json`\n )} should not be set when the ${kleur.blue(\n 'esm'\n )} option is ${options?.esm ? 'enabled' : 'disabled'}.`\n );\n }\n\n return null;\n }\n\n if (\n field.name.startsWith('exports') &&\n field.value &&\n !/^\\.\\//.test(field.value)\n ) {\n report.error(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(field.value)}`\n );\n\n return field.name;\n }\n\n if (\n field.value &&\n !(await fs.pathExists(path.join(root, field.value)))\n ) {\n const generatedTypesPath = await getGeneratedTypesPath(field);\n\n report.error(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n field.value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedTypesPath\n ? ` (found ${kleur.blue(generatedTypesPath)}).`\n : '.'\n }`\n );\n\n return field.name;\n }\n\n return null;\n })\n )\n ).filter((name): name is string => name != null);\n\n if (invalidFieldNames.length) {\n throw new Error(\n `Found errors for fields: ${invalidFieldNames.join(', ')}.`\n );\n }\n\n const validFields = fields.filter((field) => !field.error);\n\n if (validFields.every((field) => field.value == null)) {\n const suggestedTypesPaths = (\n await Promise.all(\n validFields.map((field) => getGeneratedTypesPath(field))\n )\n )\n .filter((path): path is string => path != null)\n .filter((path, i, self) => self.indexOf(path) === i);\n\n report.warn(\n `No ${validFields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue(\n 'package.json'\n )}. Consider ${\n suggestedTypesPaths.length\n ? `pointing to ${suggestedTypesPaths\n .map((path) => kleur.blue(path))\n .join(' or ')}`\n : `adding ${validFields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can use the typescript definitions.`\n );\n }\n } else {\n throw new Error('Failed to build definition files.');\n }\n } catch (e: unknown) {\n if (e != null && typeof e === 'object') {\n if ('stdout' in e && e.stdout != null) {\n report.error(\n `Errors found when building definition files:\\n${e.stdout.toString()}`\n );\n } else if ('message' in e && typeof e.message === 'string') {\n report.error(e.message);\n } else {\n throw e;\n }\n } else {\n throw e;\n }\n\n throw new Error('Failed to build definition files.');\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"typescript.js","names":["_kleur","_interopRequireDefault","require","_path","_fsExtra","_which","_crossSpawn","_del","_json","_os","e","__esModule","default","build","source","root","output","report","options","variants","esm","info","kleur","blue","path","relative","del","project","tsconfig","join","fs","pathExists","config","JSON5","parse","readFile","compilerOptions","conflicts","declarationDir","push","outDir","length","warn","reduce","acc","curr","gray","yellow","Error","tsc","resolve","execpath","process","env","npm_execpath","cli","split","pop","includes","result","spawn","sync","stdio","encoding","cwd","stdout","trim","platform","endsWith","which","outputs","commonjs","module","tsbuildinfo","replace","status","copy","writeJSON","type","success","pkg","JSON","fields","name","value","types","error","message","undefined","exports","Boolean","import","getGeneratedTypesPath","field","indexDTsName","basename","potentialPaths","dirname","potentialPath","invalidFieldNames","Promise","all","map","startsWith","test","generatedTypesPath","filter","validFields","every","suggestedTypesPaths","i","self","indexOf","toString"],"sources":["../../src/targets/typescript.ts"],"sourcesContent":["import kleur from 'kleur';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport which from 'which';\nimport spawn from 'cross-spawn';\nimport del from 'del';\nimport JSON5 from 'json5';\nimport { platform } from 'os';\nimport type { Input, Variants } from '../types';\n\ntype Options = Input & {\n options?: {\n project?: string;\n tsc?: string;\n };\n esm: boolean;\n variants: Variants;\n};\n\ntype Field = {\n name: string;\n value: string | undefined;\n output: string | undefined;\n error: boolean;\n message: string | undefined;\n};\n\nexport default async function build({\n source,\n root,\n output,\n report,\n options,\n variants,\n esm,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n report.info(`Generating type definitions with ${kleur.blue('tsc')}`);\n\n const project = options?.project ? options.project : 'tsconfig.json';\n const tsconfig = path.join(root, project);\n\n try {\n if (await fs.pathExists(tsconfig)) {\n try {\n const config = JSON5.parse(await fs.readFile(tsconfig, 'utf-8'));\n\n if (config.compilerOptions) {\n const conflicts: string[] = [];\n\n if (config.compilerOptions.declarationDir) {\n conflicts.push('compilerOptions.declarationDir');\n }\n\n if (\n config.compilerOptions.outDir &&\n path.join(root, config.compilerOptions.outDir) !== output\n ) {\n conflicts.push('compilerOptions.outDir');\n }\n\n if (conflicts.length) {\n report.warn(\n `Found following options in the config file which can conflict with the CLI options. Please remove them from ${kleur.blue(\n project\n )}:${conflicts.reduce(\n (acc, curr) =>\n acc + `\\n${kleur.gray('-')} ${kleur.yellow(curr)}`,\n ''\n )}`\n );\n }\n }\n } catch (e) {\n report.warn(\n `Couldn't parse '${project}'. There might be validation errors.`\n );\n }\n } else {\n throw new Error(\n `Couldn't find a ${kleur.blue('tsconfig.json')} in the project root.`\n );\n }\n\n let tsc;\n\n if (options?.tsc) {\n tsc = path.resolve(root, options.tsc);\n\n if (!(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed at ${kleur.blue(\n tsc\n )}. Please specify the correct path in options or remove it to use the workspace's version.`\n );\n }\n } else {\n const execpath = process.env.npm_execpath;\n const cli = execpath?.split('/').pop()?.includes('yarn') ? 'yarn' : 'npm';\n\n if (cli === 'yarn') {\n const result = spawn.sync('yarn', ['bin', 'tsc'], {\n stdio: 'pipe',\n encoding: 'utf-8',\n cwd: root,\n });\n\n tsc = result.stdout.trim();\n } else {\n tsc = path.resolve(root, 'node_modules', '.bin', 'tsc');\n }\n\n if (platform() === 'win32' && !tsc.endsWith('.cmd')) {\n tsc += '.cmd';\n }\n }\n\n if (!(await fs.pathExists(tsc))) {\n try {\n tsc = await which('tsc');\n\n if (await fs.pathExists(tsc)) {\n report.warn(\n `Failed to locate ${kleur.blue(\n 'tsc'\n )} in the workspace. Falling back to the binary found in ${kleur.blue(\n 'PATH'\n )} at ${kleur.blue(tsc)}. Consider adding ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue(\n 'devDependencies'\n )} or specifying the ${kleur.blue(\n 'tsc'\n )} option for the typescript target.`\n );\n }\n } catch (e) {\n // Ignore\n }\n }\n\n if (tsc == null || !(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed under ${kleur.blue(\n 'node_modules'\n )} or present in $PATH. Make sure you have added ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue('devDependencies')} or specify the ${kleur.blue(\n 'tsc'\n )} option for typescript.`\n );\n }\n\n const outputs: { commonjs?: string; module?: string } = {};\n\n if (esm && variants.commonjs && variants.module) {\n outputs.commonjs = path.join(output, 'commonjs');\n outputs.module = path.join(output, 'module');\n } else if (variants.commonjs) {\n outputs.commonjs = output;\n } else {\n outputs.module = output;\n }\n\n const outDir = outputs.commonjs ?? outputs.module;\n\n if (outDir == null) {\n throw new Error('Neither commonjs nor module output is enabled.');\n }\n\n const tsbuildinfo = path.join(\n outDir,\n project.replace(/\\.json$/, '.tsbuildinfo')\n );\n\n try {\n await del([tsbuildinfo]);\n } catch (e) {\n // Ignore\n }\n\n const result = spawn.sync(\n tsc,\n [\n '--pretty',\n '--declaration',\n '--declarationMap',\n '--noEmit',\n 'false',\n '--emitDeclarationOnly',\n '--project',\n project,\n '--outDir',\n outDir,\n ],\n {\n stdio: 'inherit',\n cwd: root,\n }\n );\n\n if (result.status === 0) {\n await del([tsbuildinfo]);\n\n if (esm) {\n if (outputs?.commonjs && outputs?.module) {\n // When ESM compatible output is enabled and commonjs build is present, we need to generate 2 builds for commonjs and esm\n // In this case we copy the already generated types, and add `package.json` with `type` field\n await fs.copy(outputs.commonjs, outputs.module);\n await fs.writeJSON(path.join(outputs.commonjs, 'package.json'), {\n type: 'commonjs',\n });\n await fs.writeJSON(path.join(outputs.module, 'package.json'), {\n type: 'module',\n });\n } else if (outputs?.commonjs) {\n await fs.writeJSON(path.join(outputs.commonjs, 'package.json'), {\n type: 'commonjs',\n });\n } else if (outputs?.module) {\n await fs.writeJSON(path.join(outputs.module, 'package.json'), {\n type: 'module',\n });\n }\n }\n\n report.success(\n `Wrote definition files to ${kleur.blue(path.relative(root, output))}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n const fields: Field[] = [\n {\n name: 'types',\n value: pkg.types,\n output: outputs.commonjs,\n error: false,\n message: undefined,\n },\n ...(pkg.exports?.['.']?.types\n ? [\n {\n name: \"exports['.'].types\",\n value: pkg.exports?.['.']?.types,\n output: outDir,\n error: Boolean(esm && variants.commonjs && variants.module),\n message: `using both ${kleur.blue('commonjs')} and ${kleur.blue(\n 'module'\n )} targets with ${kleur.blue(\n 'esm'\n )} option enabled. Specify ${kleur.blue(\n \"exports['.'].import.types\"\n )} and ${kleur.blue(\"exports['.'].require.types\")} instead.`,\n },\n ]\n : []),\n {\n name: \"exports['.'].import.types\",\n value: pkg.exports?.['.']?.import?.types,\n output: outputs.module,\n error: !esm,\n message: `the ${kleur.blue(\n 'esm'\n )} option is not enabled for the ${kleur.blue('module')} target`,\n },\n {\n name: \"exports['.'].require.types\",\n value: pkg.exports?.['.']?.require?.types,\n output: outputs.commonjs,\n error: false,\n message: undefined,\n },\n ];\n\n const getGeneratedTypesPath = async (field: Field) => {\n if (!field.output || field.error) {\n return null;\n }\n\n if (pkg.source) {\n const indexDTsName =\n path.basename(pkg.source).replace(/\\.(jsx?|tsx?)$/, '') + '.d.ts';\n\n const potentialPaths = [\n path.join(field.output, path.dirname(pkg.source), indexDTsName),\n path.join(\n field.output,\n path.relative(source, path.join(root, path.dirname(pkg.source))),\n indexDTsName\n ),\n ];\n\n for (const potentialPath of potentialPaths) {\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const invalidFieldNames = (\n await Promise.all(\n fields.map(async (field) => {\n if (field.error) {\n if (field.value) {\n report.warn(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n `package.json`\n )} should not be set when ${field.message}.`\n );\n }\n\n return null;\n }\n\n if (\n field.name.startsWith('exports') &&\n field.value &&\n !/^\\.\\//.test(field.value)\n ) {\n report.error(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(field.value)}`\n );\n\n return field.name;\n }\n\n if (\n field.value &&\n !(await fs.pathExists(path.join(root, field.value)))\n ) {\n const generatedTypesPath = await getGeneratedTypesPath(field);\n\n report.error(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n field.value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedTypesPath\n ? ` (found ${kleur.blue(generatedTypesPath)}).`\n : '.'\n }`\n );\n\n return field.name;\n }\n\n return null;\n })\n )\n ).filter((name): name is string => name != null);\n\n if (invalidFieldNames.length) {\n throw new Error(\n `Found errors for fields: ${invalidFieldNames.join(', ')}.`\n );\n }\n\n const validFields = fields.filter((field) => !field.error);\n\n if (validFields.every((field) => field.value == null)) {\n const suggestedTypesPaths = (\n await Promise.all(\n validFields.map((field) => getGeneratedTypesPath(field))\n )\n )\n .filter((path): path is string => path != null)\n .filter((path, i, self) => self.indexOf(path) === i);\n\n report.warn(\n `No ${validFields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue(\n 'package.json'\n )}. Consider ${\n suggestedTypesPaths.length\n ? `pointing to ${suggestedTypesPaths\n .map((path) => kleur.blue(path))\n .join(' or ')}`\n : `adding ${validFields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can use the typescript definitions.`\n );\n }\n } else {\n throw new Error('Failed to build definition files.');\n }\n } catch (e: unknown) {\n if (e != null && typeof e === 'object') {\n if ('stdout' in e && e.stdout != null) {\n report.error(\n `Errors found when building definition files:\\n${e.stdout.toString()}`\n );\n } else if ('message' in e && typeof e.message === 'string') {\n report.error(e.message);\n } else {\n throw e;\n }\n } else {\n throw e;\n }\n\n throw new Error('Failed to build definition files.');\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["export type Log = (message: string) => void;\nexport type Report = {\n info: Log;\n warn: Log;\n success: Log;\n error: Log;\n};\n\nexport type Input = {\n root: string;\n source: string;\n output: string;\n report: Report;\n};\n\nexport type Target =\n | 'commonjs'\n | 'module'\n | 'typescript'\n | 'codegen'\n | 'custom';\n\nexport type Options = {\n source?: string;\n output?: string;\n targets?: (Target | [target: Target, options: object])[];\n exclude?: string;\n};\n\ndeclare module '@babel/core' {\n export interface TransformCaller {\n rewriteImportExtensions: boolean;\n jsxRuntime: 'automatic' | 'classic';\n }\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["export type Log = (message: string) => void;\nexport type Report = {\n info: Log;\n warn: Log;\n success: Log;\n error: Log;\n};\n\nexport type Input = {\n root: string;\n source: string;\n output: string;\n report: Report;\n};\n\nexport type Target =\n | 'commonjs'\n | 'module'\n | 'typescript'\n | 'codegen'\n | 'custom';\n\nexport type Options = {\n source?: string;\n output?: string;\n targets?: (Target | [target: Target, options: object])[];\n exclude?: string;\n};\n\nexport type Variants = {\n commonjs?: boolean;\n module?: boolean;\n};\n\ndeclare module '@babel/core' {\n export interface TransformCaller {\n rewriteImportExtensions: boolean;\n jsxRuntime: 'automatic' | 'classic';\n codegenEnabled: boolean;\n }\n}\n"],"mappings":"","ignoreList":[]}
|
package/lib/utils/compile.js
CHANGED
|
@@ -9,6 +9,7 @@ var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
|
9
9
|
var _kleur = _interopRequireDefault(require("kleur"));
|
|
10
10
|
var babel = _interopRequireWildcard(require("@babel/core"));
|
|
11
11
|
var _glob = _interopRequireDefault(require("glob"));
|
|
12
|
+
var _isCodegenSpec = require("./isCodegenSpec");
|
|
12
13
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
14
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -25,7 +26,8 @@ async function compile({
|
|
|
25
26
|
copyFlow,
|
|
26
27
|
sourceMaps = true,
|
|
27
28
|
report,
|
|
28
|
-
jsxRuntime = 'automatic'
|
|
29
|
+
jsxRuntime = 'automatic',
|
|
30
|
+
variants
|
|
29
31
|
}) {
|
|
30
32
|
const files = _glob.default.sync('**/*', {
|
|
31
33
|
cwd: source,
|
|
@@ -62,6 +64,13 @@ async function compile({
|
|
|
62
64
|
return;
|
|
63
65
|
}
|
|
64
66
|
const content = await _fsExtra.default.readFile(filepath, 'utf-8');
|
|
67
|
+
|
|
68
|
+
// If codegen is used in the app, then we need to preserve TypeScript source
|
|
69
|
+
// So we copy the file as is instead of transforming it
|
|
70
|
+
if ((0, _isCodegenSpec.isCodegenSpec)(filepath)) {
|
|
71
|
+
_fsExtra.default.copy(filepath, _path.default.join(output, _path.default.relative(source, filepath)));
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
65
74
|
const result = await babel.transformAsync(content, {
|
|
66
75
|
caller: {
|
|
67
76
|
name: 'react-native-builder-bob',
|
|
@@ -69,7 +78,8 @@ async function compile({
|
|
|
69
78
|
// If a file is explicitly marked as ESM, then preserve the syntax
|
|
70
79
|
modules === 'preserve' ? true : false,
|
|
71
80
|
rewriteImportExtensions: esm,
|
|
72
|
-
jsxRuntime
|
|
81
|
+
jsxRuntime,
|
|
82
|
+
codegenEnabled: 'codegenConfig' in pkg
|
|
73
83
|
},
|
|
74
84
|
cwd: root,
|
|
75
85
|
babelrc: babelrc,
|
|
@@ -114,29 +124,48 @@ async function compile({
|
|
|
114
124
|
}
|
|
115
125
|
return null;
|
|
116
126
|
};
|
|
117
|
-
const fields =
|
|
118
|
-
|
|
119
|
-
value: pkg.main
|
|
120
|
-
}] : [{
|
|
121
|
-
name: 'module',
|
|
122
|
-
value: pkg.module
|
|
123
|
-
}];
|
|
124
|
-
if (esm) {
|
|
127
|
+
const fields = [];
|
|
128
|
+
if (variants.commonjs && variants.module) {
|
|
125
129
|
if (modules === 'commonjs') {
|
|
126
|
-
fields.push(
|
|
127
|
-
name:
|
|
128
|
-
value: pkg.
|
|
129
|
-
} : {
|
|
130
|
-
name: "exports['.'].require.default",
|
|
131
|
-
value: pkg.exports?.['.']?.require?.default
|
|
130
|
+
fields.push({
|
|
131
|
+
name: 'main',
|
|
132
|
+
value: pkg.main
|
|
132
133
|
});
|
|
133
134
|
} else {
|
|
134
|
-
fields.push(
|
|
135
|
-
name:
|
|
136
|
-
value: pkg.
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
|
|
135
|
+
fields.push({
|
|
136
|
+
name: 'module',
|
|
137
|
+
value: pkg.module
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
} else {
|
|
141
|
+
fields.push({
|
|
142
|
+
name: 'main',
|
|
143
|
+
value: pkg.main
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
if (esm) {
|
|
147
|
+
if (variants.commonjs && variants.module) {
|
|
148
|
+
if (modules === 'commonjs') {
|
|
149
|
+
fields.push(typeof pkg.exports?.['.']?.require === 'string' ? {
|
|
150
|
+
name: "exports['.'].require",
|
|
151
|
+
value: pkg.exports?.['.']?.require
|
|
152
|
+
} : {
|
|
153
|
+
name: "exports['.'].require.default",
|
|
154
|
+
value: pkg.exports?.['.']?.require?.default
|
|
155
|
+
});
|
|
156
|
+
} else {
|
|
157
|
+
fields.push(typeof pkg.exports?.['.']?.import === 'string' ? {
|
|
158
|
+
name: "exports['.'].import",
|
|
159
|
+
value: pkg.exports?.['.']?.import
|
|
160
|
+
} : {
|
|
161
|
+
name: "exports['.'].import.default",
|
|
162
|
+
value: pkg.exports?.['.']?.import?.default
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
} else {
|
|
166
|
+
fields.push({
|
|
167
|
+
name: "exports['.'].default",
|
|
168
|
+
value: pkg.exports?.['.']?.default
|
|
140
169
|
});
|
|
141
170
|
}
|
|
142
171
|
} else {
|
|
@@ -146,6 +175,7 @@ async function compile({
|
|
|
146
175
|
report.warn(`The ${_kleur.default.blue('esm')} option is disabled, but the ${_kleur.default.blue("exports['.'].import")} field is set in ${_kleur.default.blue('package.json')}. This is likely a mistake.`);
|
|
147
176
|
}
|
|
148
177
|
}
|
|
178
|
+
const generatedEntryPath = await getGeneratedEntryPath();
|
|
149
179
|
if (fields.some(field => field.value)) {
|
|
150
180
|
await Promise.all(fields.map(async ({
|
|
151
181
|
name,
|
|
@@ -162,7 +192,6 @@ async function compile({
|
|
|
162
192
|
require.resolve(_path.default.join(root, value));
|
|
163
193
|
} catch (e) {
|
|
164
194
|
if (e != null && typeof e === 'object' && 'code' in e && e.code === 'MODULE_NOT_FOUND') {
|
|
165
|
-
const generatedEntryPath = await getGeneratedEntryPath();
|
|
166
195
|
if (!generatedEntryPath) {
|
|
167
196
|
report.warn(`Failed to detect the entry point for the generated files. Make sure you have a valid ${_kleur.default.blue('source')} field in your ${_kleur.default.blue('package.json')}.`);
|
|
168
197
|
}
|
|
@@ -172,8 +201,12 @@ async function compile({
|
|
|
172
201
|
throw e;
|
|
173
202
|
}
|
|
174
203
|
}));
|
|
204
|
+
if (modules === 'commonjs' && pkg.exports?.['.']?.import === `./${generatedEntryPath}`) {
|
|
205
|
+
report.warn(`The the ${_kleur.default.blue("exports['.'].import")} field points to a CommonJS module. This is likely a mistake.`);
|
|
206
|
+
} else if (modules === 'preserve' && pkg.exports?.['.']?.require === `./${generatedEntryPath}`) {
|
|
207
|
+
report.warn(`The the ${_kleur.default.blue("exports['.'].import")} field points to a ES module. This is likely a mistake.`);
|
|
208
|
+
}
|
|
175
209
|
} else {
|
|
176
|
-
const generatedEntryPath = await getGeneratedEntryPath();
|
|
177
210
|
report.warn(`No ${fields.map(field => _kleur.default.blue(field.name)).join(' or ')} field found in ${_kleur.default.blue('package.json')}. Consider ${generatedEntryPath ? `pointing to ${_kleur.default.blue(generatedEntryPath)}` : `adding ${fields.length > 1 ? 'them' : 'it'}`} so that consumers of your package can import your package.`);
|
|
178
211
|
}
|
|
179
212
|
}
|
package/lib/utils/compile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","babel","_interopRequireWildcard","_glob","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","sourceExt","compile","root","source","output","esm","babelrc","configFile","exclude","modules","copyFlow","sourceMaps","report","jsxRuntime","files","glob","sync","cwd","absolute","nodir","ignore","info","kleur","blue","String","length","path","relative","pkg","JSON","parse","fs","readFile","join","keys","devDependencies","includes","warn","mkdirp","writeJSON","type","Promise","all","map","filepath","outputFilename","replace","dirname","test","copy","content","result","transformAsync","caller","name","supportsStaticESM","rewriteImportExtensions","sourceRoot","sourceFileName","filename","presets","resolve","Error","code","mapFilename","basename","sourcesContent","undefined","writeFile","success","getGeneratedEntryPath","ext","indexName","potentialPath","pathExists","fields","value","main","module","push","exports","import","some","field","startsWith","error","generatedEntryPath"],"sources":["../../src/utils/compile.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport * as babel from '@babel/core';\nimport glob from 'glob';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n esm?: boolean;\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n modules: 'commonjs' | 'preserve';\n exclude: string;\n jsxRuntime?: 'automatic' | 'classic';\n};\n\nconst sourceExt = /\\.([cm])?[jt]sx?$/;\n\nexport default async function compile({\n root,\n source,\n output,\n esm = false,\n babelrc = false,\n configFile = false,\n exclude,\n modules,\n copyFlow,\n sourceMaps = true,\n report,\n jsxRuntime = 'automatic',\n}: Options) {\n const files = glob.sync('**/*', {\n cwd: source,\n absolute: true,\n nodir: true,\n ignore: exclude,\n });\n\n report.info(\n `Compiling ${kleur.blue(String(files.length))} files in ${kleur.blue(\n path.relative(root, source)\n )} with ${kleur.blue('babel')}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n if (copyFlow) {\n if (!Object.keys(pkg.devDependencies || {}).includes('flow-bin')) {\n report.warn(\n `The ${kleur.blue(\n 'copyFlow'\n )} option was specified, but couldn't find ${kleur.blue(\n 'flow-bin'\n )} in ${kleur.blue(\n 'package.json'\n )}.\\nIf the project is using ${kleur.blue(\n 'flow'\n )}, then make sure you have added ${kleur.blue(\n 'flow-bin'\n )} to your ${kleur.blue(\n 'devDependencies'\n )}, otherwise remove the ${kleur.blue('copyFlow')} option.`\n );\n }\n }\n\n await fs.mkdirp(output);\n\n // Imports are not rewritten to include the extension if `esm` is not enabled\n // Ideally we should always treat ESM syntax as CommonJS if `esm` is not enabled\n // This would maintain compatibility for legacy setups where `import`/`export` didn't require file extensions\n // However NextJS has non-standard behavior and breaks if we add `type: 'commonjs'` for code with import/export\n // So we skip generating `package.json` if `esm` is not enabled and `modules` is not `commonjs`\n // This means that user can't use `type: 'module'` in root `package.json` without enabling `esm` for `module` target\n if (esm || modules === 'commonjs') {\n await fs.writeJSON(path.join(output, 'package.json'), {\n type: modules === 'commonjs' ? 'commonjs' : 'module',\n });\n }\n\n await Promise.all(\n files.map(async (filepath) => {\n const outputFilename = path\n .join(output, path.relative(source, filepath))\n .replace(sourceExt, '.$1js');\n\n await fs.mkdirp(path.dirname(outputFilename));\n\n if (!sourceExt.test(filepath)) {\n // Copy files which aren't source code\n fs.copy(filepath, outputFilename);\n return;\n }\n\n const content = await fs.readFile(filepath, 'utf-8');\n const result = await babel.transformAsync(content, {\n caller: {\n name: 'react-native-builder-bob',\n supportsStaticESM:\n /\\.m[jt]s$/.test(filepath) || // If a file is explicitly marked as ESM, then preserve the syntax\n modules === 'preserve'\n ? true\n : false,\n rewriteImportExtensions: esm,\n jsxRuntime,\n },\n cwd: root,\n babelrc: babelrc,\n configFile: configFile,\n sourceMaps,\n sourceRoot: path.relative(path.dirname(outputFilename), source),\n sourceFileName: path.relative(source, filepath),\n filename: filepath,\n ...(babelrc || configFile\n ? null\n : {\n presets: [require.resolve('../../babel-preset')],\n }),\n });\n\n if (result == null) {\n throw new Error('Output code was null');\n }\n\n let code = result.code;\n\n if (sourceMaps && result.map) {\n const mapFilename = outputFilename + '.map';\n\n code += '\\n//# sourceMappingURL=' + path.basename(mapFilename);\n\n // Don't inline the source code, it can be retrieved from the source file\n result.map.sourcesContent = undefined;\n\n await fs.writeJSON(mapFilename, result.map);\n }\n\n await fs.writeFile(outputFilename, code);\n\n if (copyFlow) {\n fs.copy(filepath, outputFilename + '.flow');\n }\n })\n );\n\n report.success(`Wrote files to ${kleur.blue(path.relative(root, output))}`);\n\n const getGeneratedEntryPath = async () => {\n if (pkg.source) {\n for (const ext of ['.js', '.cjs', '.mjs']) {\n const indexName =\n // The source field may not have an extension, so we add it instead of replacing directly\n path.basename(pkg.source).replace(sourceExt, '') + ext;\n\n const potentialPath = path.join(\n output,\n path.dirname(path.relative(source, path.join(root, pkg.source))),\n indexName\n );\n\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const fields =\n modules === 'commonjs'\n ? [{ name: 'main', value: pkg.main }]\n : [{ name: 'module', value: pkg.module }];\n\n if (esm) {\n if (modules === 'commonjs') {\n fields.push(\n typeof pkg.exports?.['.']?.require === 'string'\n ? {\n name: \"exports['.'].require\",\n value: pkg.exports?.['.']?.require,\n }\n : {\n name: \"exports['.'].require.default\",\n value: pkg.exports?.['.']?.require?.default,\n }\n );\n } else {\n fields.push(\n typeof pkg.exports?.['.']?.import === 'string'\n ? {\n name: \"exports['.'].import\",\n value: pkg.exports?.['.']?.import,\n }\n : {\n name: \"exports['.'].import.default\",\n value: pkg.exports?.['.']?.import?.default,\n }\n );\n }\n } else {\n if (modules === 'commonjs' && pkg.exports?.['.']?.require) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].require\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n } else if (modules === 'preserve' && pkg.exports?.['.']?.import) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].import\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n }\n }\n\n if (fields.some((field) => field.value)) {\n await Promise.all(\n fields.map(async ({ name, value }) => {\n if (!value) {\n return;\n }\n\n if (name.startsWith('exports') && value && !/^\\.\\//.test(value)) {\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(value)}`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n\n try {\n require.resolve(path.join(root, value));\n } catch (e: unknown) {\n if (\n e != null &&\n typeof e === 'object' &&\n 'code' in e &&\n e.code === 'MODULE_NOT_FOUND'\n ) {\n const generatedEntryPath = await getGeneratedEntryPath();\n\n if (!generatedEntryPath) {\n report.warn(\n `Failed to detect the entry point for the generated files. Make sure you have a valid ${kleur.blue(\n 'source'\n )} field in your ${kleur.blue('package.json')}.`\n );\n }\n\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedEntryPath\n ? ` (found ${kleur.blue(generatedEntryPath)}).`\n : '.'\n }`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n\n throw e;\n }\n })\n );\n } else {\n const generatedEntryPath = await getGeneratedEntryPath();\n\n report.warn(\n `No ${fields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue('package.json')}. Consider ${\n generatedEntryPath\n ? `pointing to ${kleur.blue(generatedEntryPath)}`\n : `adding ${fields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can import your package.`\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"compile.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","babel","_interopRequireWildcard","_glob","_isCodegenSpec","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","sourceExt","compile","root","source","output","esm","babelrc","configFile","exclude","modules","copyFlow","sourceMaps","report","jsxRuntime","variants","files","glob","sync","cwd","absolute","nodir","ignore","info","kleur","blue","String","length","path","relative","pkg","JSON","parse","fs","readFile","join","keys","devDependencies","includes","warn","mkdirp","writeJSON","type","Promise","all","map","filepath","outputFilename","replace","dirname","test","copy","content","isCodegenSpec","result","transformAsync","caller","name","supportsStaticESM","rewriteImportExtensions","codegenEnabled","sourceRoot","sourceFileName","filename","presets","resolve","Error","code","mapFilename","basename","sourcesContent","undefined","writeFile","success","getGeneratedEntryPath","ext","indexName","potentialPath","pathExists","fields","commonjs","module","push","value","main","exports","import","generatedEntryPath","some","field","startsWith","error"],"sources":["../../src/utils/compile.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport * as babel from '@babel/core';\nimport glob from 'glob';\nimport type { Input, Variants } from '../types';\nimport { isCodegenSpec } from './isCodegenSpec';\n\nexport type CompileOptions = {\n esm?: boolean;\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n jsxRuntime?: 'automatic' | 'classic';\n};\n\ntype Options = Input &\n CompileOptions & {\n modules: 'commonjs' | 'preserve';\n variants: Variants;\n exclude: string;\n };\n\nconst sourceExt = /\\.([cm])?[jt]sx?$/;\n\nexport default async function compile({\n root,\n source,\n output,\n esm = false,\n babelrc = false,\n configFile = false,\n exclude,\n modules,\n copyFlow,\n sourceMaps = true,\n report,\n jsxRuntime = 'automatic',\n variants,\n}: Options) {\n const files = glob.sync('**/*', {\n cwd: source,\n absolute: true,\n nodir: true,\n ignore: exclude,\n });\n\n report.info(\n `Compiling ${kleur.blue(String(files.length))} files in ${kleur.blue(\n path.relative(root, source)\n )} with ${kleur.blue('babel')}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n if (copyFlow) {\n if (!Object.keys(pkg.devDependencies || {}).includes('flow-bin')) {\n report.warn(\n `The ${kleur.blue(\n 'copyFlow'\n )} option was specified, but couldn't find ${kleur.blue(\n 'flow-bin'\n )} in ${kleur.blue(\n 'package.json'\n )}.\\nIf the project is using ${kleur.blue(\n 'flow'\n )}, then make sure you have added ${kleur.blue(\n 'flow-bin'\n )} to your ${kleur.blue(\n 'devDependencies'\n )}, otherwise remove the ${kleur.blue('copyFlow')} option.`\n );\n }\n }\n\n await fs.mkdirp(output);\n\n // Imports are not rewritten to include the extension if `esm` is not enabled\n // Ideally we should always treat ESM syntax as CommonJS if `esm` is not enabled\n // This would maintain compatibility for legacy setups where `import`/`export` didn't require file extensions\n // However NextJS has non-standard behavior and breaks if we add `type: 'commonjs'` for code with import/export\n // So we skip generating `package.json` if `esm` is not enabled and `modules` is not `commonjs`\n // This means that user can't use `type: 'module'` in root `package.json` without enabling `esm` for `module` target\n if (esm || modules === 'commonjs') {\n await fs.writeJSON(path.join(output, 'package.json'), {\n type: modules === 'commonjs' ? 'commonjs' : 'module',\n });\n }\n\n await Promise.all(\n files.map(async (filepath) => {\n const outputFilename = path\n .join(output, path.relative(source, filepath))\n .replace(sourceExt, '.$1js');\n\n await fs.mkdirp(path.dirname(outputFilename));\n\n if (!sourceExt.test(filepath)) {\n // Copy files which aren't source code\n fs.copy(filepath, outputFilename);\n return;\n }\n\n const content = await fs.readFile(filepath, 'utf-8');\n\n // If codegen is used in the app, then we need to preserve TypeScript source\n // So we copy the file as is instead of transforming it\n if (isCodegenSpec(filepath)) {\n fs.copy(filepath, path.join(output, path.relative(source, filepath)));\n return;\n }\n\n const result = await babel.transformAsync(content, {\n caller: {\n name: 'react-native-builder-bob',\n supportsStaticESM:\n /\\.m[jt]s$/.test(filepath) || // If a file is explicitly marked as ESM, then preserve the syntax\n modules === 'preserve'\n ? true\n : false,\n rewriteImportExtensions: esm,\n jsxRuntime,\n codegenEnabled: 'codegenConfig' in pkg,\n },\n cwd: root,\n babelrc: babelrc,\n configFile: configFile,\n sourceMaps,\n sourceRoot: path.relative(path.dirname(outputFilename), source),\n sourceFileName: path.relative(source, filepath),\n filename: filepath,\n ...(babelrc || configFile\n ? null\n : {\n presets: [require.resolve('../../babel-preset')],\n }),\n });\n\n if (result == null) {\n throw new Error('Output code was null');\n }\n\n let code = result.code;\n\n if (sourceMaps && result.map) {\n const mapFilename = outputFilename + '.map';\n\n code += '\\n//# sourceMappingURL=' + path.basename(mapFilename);\n\n // Don't inline the source code, it can be retrieved from the source file\n result.map.sourcesContent = undefined;\n\n await fs.writeJSON(mapFilename, result.map);\n }\n\n await fs.writeFile(outputFilename, code);\n\n if (copyFlow) {\n fs.copy(filepath, outputFilename + '.flow');\n }\n })\n );\n\n report.success(`Wrote files to ${kleur.blue(path.relative(root, output))}`);\n\n const getGeneratedEntryPath = async () => {\n if (pkg.source) {\n for (const ext of ['.js', '.cjs', '.mjs']) {\n const indexName =\n // The source field may not have an extension, so we add it instead of replacing directly\n path.basename(pkg.source).replace(sourceExt, '') + ext;\n\n const potentialPath = path.join(\n output,\n path.dirname(path.relative(source, path.join(root, pkg.source))),\n indexName\n );\n\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const fields: { name: string; value: string | undefined }[] = [];\n\n if (variants.commonjs && variants.module) {\n if (modules === 'commonjs') {\n fields.push({ name: 'main', value: pkg.main });\n } else {\n fields.push({ name: 'module', value: pkg.module });\n }\n } else {\n fields.push({ name: 'main', value: pkg.main });\n }\n\n if (esm) {\n if (variants.commonjs && variants.module) {\n if (modules === 'commonjs') {\n fields.push(\n typeof pkg.exports?.['.']?.require === 'string'\n ? {\n name: \"exports['.'].require\",\n value: pkg.exports?.['.']?.require,\n }\n : {\n name: \"exports['.'].require.default\",\n value: pkg.exports?.['.']?.require?.default,\n }\n );\n } else {\n fields.push(\n typeof pkg.exports?.['.']?.import === 'string'\n ? {\n name: \"exports['.'].import\",\n value: pkg.exports?.['.']?.import,\n }\n : {\n name: \"exports['.'].import.default\",\n value: pkg.exports?.['.']?.import?.default,\n }\n );\n }\n } else {\n fields.push({\n name: \"exports['.'].default\",\n value: pkg.exports?.['.']?.default,\n });\n }\n } else {\n if (modules === 'commonjs' && pkg.exports?.['.']?.require) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].require\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n } else if (modules === 'preserve' && pkg.exports?.['.']?.import) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].import\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n }\n }\n\n const generatedEntryPath = await getGeneratedEntryPath();\n\n if (fields.some((field) => field.value)) {\n await Promise.all(\n fields.map(async ({ name, value }) => {\n if (!value) {\n return;\n }\n\n if (name.startsWith('exports') && value && !/^\\.\\//.test(value)) {\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(value)}`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n\n try {\n require.resolve(path.join(root, value));\n } catch (e: unknown) {\n if (\n e != null &&\n typeof e === 'object' &&\n 'code' in e &&\n e.code === 'MODULE_NOT_FOUND'\n ) {\n if (!generatedEntryPath) {\n report.warn(\n `Failed to detect the entry point for the generated files. Make sure you have a valid ${kleur.blue(\n 'source'\n )} field in your ${kleur.blue('package.json')}.`\n );\n }\n\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedEntryPath\n ? ` (found ${kleur.blue(generatedEntryPath)}).`\n : '.'\n }`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n\n throw e;\n }\n })\n );\n\n if (\n modules === 'commonjs' &&\n pkg.exports?.['.']?.import === `./${generatedEntryPath}`\n ) {\n report.warn(\n `The the ${kleur.blue(\n \"exports['.'].import\"\n )} field points to a CommonJS module. This is likely a mistake.`\n );\n } else if (\n modules === 'preserve' &&\n pkg.exports?.['.']?.require === `./${generatedEntryPath}`\n ) {\n report.warn(\n `The the ${kleur.blue(\n \"exports['.'].import\"\n )} field points to a ES module. This is likely a mistake.`\n );\n }\n } else {\n report.warn(\n `No ${fields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue('package.json')}. Consider ${\n generatedEntryPath\n ? `pointing to ${kleur.blue(generatedEntryPath)}`\n : `adding ${fields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can import your package.`\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isCodegenSpec = void 0;
|
|
7
|
+
const isCodegenSpec = filepath => {
|
|
8
|
+
return /(?:^|[\\/])(?:Native\w+|(\w+)NativeComponent)\.[jt]sx?$/i.test(filepath);
|
|
9
|
+
};
|
|
10
|
+
exports.isCodegenSpec = isCodegenSpec;
|
|
11
|
+
//# sourceMappingURL=isCodegenSpec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isCodegenSpec.js","names":["isCodegenSpec","filepath","test","exports"],"sources":["../../src/utils/isCodegenSpec.ts"],"sourcesContent":["export const isCodegenSpec = (filepath: string) => {\n return /(?:^|[\\\\/])(?:Native\\w+|(\\w+)NativeComponent)\\.[jt]sx?$/i.test(\n filepath\n );\n};\n"],"mappings":";;;;;;AAAO,MAAMA,aAAa,GAAIC,QAAgB,IAAK;EACjD,OAAO,0DAA0D,CAACC,IAAI,CACpED,QACF,CAAC;AACH,CAAC;AAACE,OAAA,CAAAH,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.loadConfig = void 0;
|
|
7
|
+
var _cosmiconfig = require("cosmiconfig");
|
|
8
|
+
// eslint-disable-next-line import/no-commonjs, @typescript-eslint/no-var-requires
|
|
9
|
+
const {
|
|
10
|
+
name
|
|
11
|
+
} = require('../../package.json');
|
|
12
|
+
const root = process.cwd();
|
|
13
|
+
const explorer = (0, _cosmiconfig.cosmiconfig)(name, {
|
|
14
|
+
stopDir: root,
|
|
15
|
+
searchPlaces: ['package.json', 'bob.config.mjs', 'bob.config.cjs', 'bob.config.js']
|
|
16
|
+
});
|
|
17
|
+
const loadConfig = async () => {
|
|
18
|
+
return explorer.search();
|
|
19
|
+
};
|
|
20
|
+
exports.loadConfig = loadConfig;
|
|
21
|
+
//# sourceMappingURL=loadConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadConfig.js","names":["_cosmiconfig","require","name","root","process","cwd","explorer","cosmiconfig","stopDir","searchPlaces","loadConfig","search","exports"],"sources":["../../src/utils/loadConfig.ts"],"sourcesContent":["import { cosmiconfig } from 'cosmiconfig';\n\n// eslint-disable-next-line import/no-commonjs, @typescript-eslint/no-var-requires\nconst { name } = require('../../package.json');\n\nconst root = process.cwd();\nconst explorer = cosmiconfig(name, {\n stopDir: root,\n searchPlaces: [\n 'package.json',\n 'bob.config.mjs',\n 'bob.config.cjs',\n 'bob.config.js',\n ],\n});\n\nexport const loadConfig = async () => {\n return explorer.search();\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AACA,MAAM;EAAEC;AAAK,CAAC,GAAGD,OAAO,CAAC,oBAAoB,CAAC;AAE9C,MAAME,IAAI,GAAGC,OAAO,CAACC,GAAG,CAAC,CAAC;AAC1B,MAAMC,QAAQ,GAAG,IAAAC,wBAAW,EAACL,IAAI,EAAE;EACjCM,OAAO,EAAEL,IAAI;EACbM,YAAY,EAAE,CACZ,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,eAAe;AAEnB,CAAC,CAAC;AAEK,MAAMC,UAAU,GAAG,MAAAA,CAAA,KAAY;EACpC,OAAOJ,QAAQ,CAACK,MAAM,CAAC,CAAC;AAC1B,CAAC;AAACC,OAAA,CAAAF,UAAA,GAAAA,UAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-builder-bob",
|
|
3
|
-
"version": "0.38.
|
|
3
|
+
"version": "0.38.2",
|
|
4
4
|
"description": "CLI to build JavaScript files for React Native libraries",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"@types/yargs": "^17.0.10",
|
|
86
86
|
"concurrently": "^7.2.2",
|
|
87
87
|
"jest": "^29.7.0",
|
|
88
|
-
"mock-fs": "^5.2.0"
|
|
88
|
+
"mock-fs": "^5.2.0",
|
|
89
|
+
"mock-stdin": "^1.0.0"
|
|
89
90
|
},
|
|
90
|
-
"gitHead": "
|
|
91
|
+
"gitHead": "9c0d0df06e65af995d685551835957c3af60d57a"
|
|
91
92
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"$alias-input.js","names":["require"],"sources":["../../../../src/__fixtures__/project/code/$alias-input.ts"],"sourcesContent":["import \"@\";\nimport f from \"@/f\";\nimport \"@something\";\nimport \"./@\";\nimport \"file\";\nimport { something } from \"something\";\nimport \"something/somefile\";\n"],"mappings":";;AAAAA,OAAA;AAEAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAEAA,OAAA","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"$alias-output.js","names":["require"],"sources":["../../../../src/__fixtures__/project/code/$alias-output.ts"],"sourcesContent":["import \"..\";\nimport f from \"../f\";\nimport \"@something\";\nimport \"./@\";\nimport \"../f\";\nimport { something } from \"another\";\nimport \"another/somefile\";\n"],"mappings":";;AAAAA,OAAA;AAEAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAEAA,OAAA","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","names":["_globals","require","_core","_nodeFs","_interopRequireDefault","_nodePath","e","__esModule","default","it","each","name","filepath","path","resolve","__dirname","result","transformFileAsync","configFile","babelrc","plugins","extension","expected","fs","promises","readFile","expect","code","toEqual","trim"],"sources":["../../src/__tests__/index.test.ts"],"sourcesContent":["import { expect, it } from '@jest/globals';\nimport { transformFileAsync } from '@babel/core';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nit.each(['imports', 'exports'])(`adds extension to %s`, async (name) => {\n const filepath = path.resolve(\n __dirname,\n `../__fixtures__/project/code/$${name}-input.ts`\n );\n\n const result = await transformFileAsync(filepath, {\n configFile: false,\n babelrc: false,\n plugins: [\n '@babel/plugin-syntax-typescript',\n [require.resolve('../babel.ts'), { extension: 'mjs' }],\n ],\n });\n\n const expected = await fs.promises.readFile(\n path.resolve(__dirname, `../__fixtures__/project/code/$${name}-output.ts`),\n 'utf8'\n );\n\n expect(result?.code).toEqual(expected.trim());\n});\n"],"mappings":";;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,SAAA,GAAAD,sBAAA,CAAAH,OAAA;AAA6B,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE7BG,WAAE,CAACC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,sBAAsB,EAAE,MAAOC,IAAI,IAAK;EACtE,MAAMC,QAAQ,GAAGC,iBAAI,CAACC,OAAO,CAC3BC,SAAS,EACT,iCAAiCJ,IAAI,WACvC,CAAC;EAED,MAAMK,MAAM,GAAG,MAAM,IAAAC,wBAAkB,EAACL,QAAQ,EAAE;IAChDM,UAAU,EAAE,KAAK;IACjBC,OAAO,EAAE,KAAK;IACdC,OAAO,EAAE,CACP,iCAAiC,EACjC,CAACnB,OAAO,CAACa,OAAO,CAAC,aAAa,CAAC,EAAE;MAAEO,SAAS,EAAE;IAAM,CAAC,CAAC;EAE1D,CAAC,CAAC;EAEF,MAAMC,QAAQ,GAAG,MAAMC,eAAE,CAACC,QAAQ,CAACC,QAAQ,CACzCZ,iBAAI,CAACC,OAAO,CAACC,SAAS,EAAE,iCAAiCJ,IAAI,YAAY,CAAC,EAC1E,MACF,CAAC;EAED,IAAAe,eAAM,EAACV,MAAM,EAAEW,IAAI,CAAC,CAACC,OAAO,CAACN,QAAQ,CAACO,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC","ignoreList":[]}
|