react-native-builder-bob 0.39.1 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/build.js +30 -33
- package/lib/build.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/init.js +1 -8
- package/lib/init.js.map +1 -1
- package/lib/schema.js +49 -0
- package/lib/schema.js.map +1 -0
- package/lib/targets/codegen/index.js.map +1 -1
- package/lib/targets/typescript.js +2 -2
- package/lib/targets/typescript.js.map +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/loadConfig.js.map +1 -1
- package/lib/utils/workerize.js.map +1 -1
- package/package.json +3 -2
package/lib/build.js
CHANGED
|
@@ -5,9 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.args = void 0;
|
|
7
7
|
exports.build = build;
|
|
8
|
+
var _arktype = require("arktype");
|
|
8
9
|
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
9
10
|
var _kleur = _interopRequireDefault(require("kleur"));
|
|
10
11
|
var _path = _interopRequireDefault(require("path"));
|
|
12
|
+
var _schema = require("./schema");
|
|
11
13
|
var _loadConfig = require("./utils/loadConfig");
|
|
12
14
|
var logger = _interopRequireWildcard(require("./utils/logger"));
|
|
13
15
|
var _workerize = require("./utils/workerize");
|
|
@@ -31,21 +33,18 @@ async function build(argv) {
|
|
|
31
33
|
if (!result?.config) {
|
|
32
34
|
throw new Error(`No configuration found. Run '${argv.$0} init' to create one automatically.`);
|
|
33
35
|
}
|
|
34
|
-
const
|
|
35
|
-
if (
|
|
36
|
-
throw new Error(`
|
|
36
|
+
const parsed = (0, _schema.config)(result.config);
|
|
37
|
+
if (parsed instanceof _arktype.type.errors) {
|
|
38
|
+
throw new Error(`Invalid configuration in ${result.filepath}: ${parsed.summary}`);
|
|
37
39
|
}
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const exclude = options.exclude ?? '**/{__tests__,__fixtures__,__mocks__}/**';
|
|
47
|
-
const commonjs = options.targets?.some(t => Array.isArray(t) ? t[0] === 'commonjs' : t === 'commonjs');
|
|
48
|
-
const module = options.targets?.some(t => Array.isArray(t) ? t[0] === 'module' : t === 'module');
|
|
40
|
+
const {
|
|
41
|
+
source,
|
|
42
|
+
output,
|
|
43
|
+
targets,
|
|
44
|
+
exclude
|
|
45
|
+
} = parsed;
|
|
46
|
+
const commonjs = targets.some(t => Array.isArray(t) ? t[0] === 'commonjs' : t === 'commonjs');
|
|
47
|
+
const module = targets.some(t => Array.isArray(t) ? t[0] === 'module' : t === 'module');
|
|
49
48
|
const variants = {
|
|
50
49
|
commonjs,
|
|
51
50
|
module
|
|
@@ -57,17 +56,17 @@ async function build(argv) {
|
|
|
57
56
|
source,
|
|
58
57
|
output,
|
|
59
58
|
exclude,
|
|
60
|
-
|
|
59
|
+
config: parsed,
|
|
61
60
|
variants
|
|
62
61
|
});
|
|
63
62
|
} else {
|
|
64
|
-
await Promise.all(
|
|
63
|
+
await Promise.all(targets.map(target => buildTarget({
|
|
65
64
|
root,
|
|
66
|
-
target,
|
|
65
|
+
target: Array.isArray(target) ? target[0] : target,
|
|
67
66
|
source,
|
|
68
67
|
output,
|
|
69
68
|
exclude,
|
|
70
|
-
|
|
69
|
+
config: parsed,
|
|
71
70
|
variants
|
|
72
71
|
})));
|
|
73
72
|
}
|
|
@@ -78,28 +77,27 @@ async function buildTarget({
|
|
|
78
77
|
source,
|
|
79
78
|
output,
|
|
80
79
|
exclude,
|
|
81
|
-
|
|
80
|
+
config,
|
|
82
81
|
variants
|
|
83
82
|
}) {
|
|
84
|
-
const
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
switch (targetName) {
|
|
83
|
+
const options = config.targets.map(t => Array.isArray(t) ? t : [t, undefined]).find(t => t[0] === target)?.[1];
|
|
84
|
+
const report = logger.grouped(target);
|
|
85
|
+
switch (target) {
|
|
88
86
|
case 'commonjs':
|
|
89
87
|
case 'module':
|
|
90
|
-
await (0, _workerize.run)(
|
|
88
|
+
await (0, _workerize.run)(target, {
|
|
91
89
|
root,
|
|
92
90
|
source: _path.default.resolve(root, source),
|
|
93
|
-
output: _path.default.resolve(root, output,
|
|
91
|
+
output: _path.default.resolve(root, output, target),
|
|
94
92
|
exclude,
|
|
95
|
-
options:
|
|
93
|
+
options: options,
|
|
96
94
|
variants,
|
|
97
95
|
report
|
|
98
96
|
});
|
|
99
97
|
break;
|
|
100
98
|
case 'typescript':
|
|
101
99
|
{
|
|
102
|
-
const esm =
|
|
100
|
+
const esm = config.targets?.some(t => {
|
|
103
101
|
if (Array.isArray(t)) {
|
|
104
102
|
const [name, options] = t;
|
|
105
103
|
if (name === 'module') {
|
|
@@ -112,7 +110,7 @@ async function buildTarget({
|
|
|
112
110
|
root,
|
|
113
111
|
source: _path.default.resolve(root, source),
|
|
114
112
|
output: _path.default.resolve(root, output, 'typescript'),
|
|
115
|
-
options:
|
|
113
|
+
options: options,
|
|
116
114
|
esm,
|
|
117
115
|
variants,
|
|
118
116
|
report
|
|
@@ -123,20 +121,19 @@ async function buildTarget({
|
|
|
123
121
|
await (0, _workerize.run)('codegen', {
|
|
124
122
|
root,
|
|
125
123
|
source: _path.default.resolve(root, source),
|
|
126
|
-
output: _path.default.resolve(root, output, 'typescript'),
|
|
127
124
|
report
|
|
128
125
|
});
|
|
129
126
|
break;
|
|
130
127
|
case 'custom':
|
|
131
128
|
await (0, _workerize.run)('custom', {
|
|
132
|
-
|
|
129
|
+
root,
|
|
133
130
|
source: _path.default.resolve(root, source),
|
|
134
|
-
|
|
135
|
-
|
|
131
|
+
options: options,
|
|
132
|
+
report
|
|
136
133
|
});
|
|
137
134
|
break;
|
|
138
135
|
default:
|
|
139
|
-
throw new Error(`Invalid target ${_kleur.default.blue(
|
|
136
|
+
throw new Error(`Invalid target ${_kleur.default.blue(target)}.`);
|
|
140
137
|
}
|
|
141
138
|
}
|
|
142
139
|
//# sourceMappingURL=build.js.map
|
package/lib/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","names":["_fsExtra","_interopRequireDefault","require","_kleur","_path","_loadConfig","logger","_interopRequireWildcard","_workerize","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","args","exports","target","type","description","choices","build","argv","root","process","cwd","projectPackagePath","path","resolve","fs","pathExists","Error","result","loadConfig","config","$0","options","targets","length","relative","filepath","source","output","exclude","commonjs","some","Array","isArray","module","variants","buildTarget","Promise","all","map","targetName","targetOptions","undefined","report","grouped","run","esm","name","kleur","blue"],"sources":["../src/build.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport kleur from 'kleur';\nimport path from 'path';\nimport yargs from 'yargs';\nimport { type Options, type Target } from './types';\nimport { loadConfig } from './utils/loadConfig';\nimport * as logger from './utils/logger';\nimport { run } from './utils/workerize';\n\nexport const args = {\n target: {\n type: 'string',\n description: 'The target to build',\n choices: ['commonjs', 'module', 'typescript', 'codegen'] satisfies Target[],\n },\n} satisfies Record<'target', yargs.Options>;\n\ntype Argv = {\n $0: string;\n target?: Target;\n};\n\nexport async function build(argv: Argv) {\n const root = process.cwd();\n\n const projectPackagePath = path.resolve(root, 'package.json');\n\n if (!(await fs.pathExists(projectPackagePath))) {\n throw new Error(\n `Couldn't find a 'package.json' file in '${root}'. Are you in a project folder?`\n );\n }\n\n const result = loadConfig(root);\n\n if (!result?.config) {\n throw new Error(\n `No configuration found. Run '${argv.$0} init' to create one automatically.`\n );\n }\n\n const options: Options = result!.config;\n\n if (!options.targets?.length) {\n throw new Error(\n `No 'targets' found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const source = options.source;\n\n if (!source) {\n throw new Error(\n `No 'source' option found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const output = options.output;\n\n if (!output) {\n throw new Error(\n `No 'output' option found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const exclude = options.exclude ?? '**/{__tests__,__fixtures__,__mocks__}/**';\n\n const commonjs = options.targets?.some((t) =>\n Array.isArray(t) ? t[0] === 'commonjs' : t === 'commonjs'\n );\n\n const module = options.targets?.some((t) =>\n Array.isArray(t) ? t[0] === 'module' : t === 'module'\n );\n\n const variants = {\n commonjs,\n module,\n };\n\n if (argv.target != null) {\n await buildTarget({\n root,\n target: argv.target,\n source,\n output,\n exclude,\n options,\n variants,\n });\n } else {\n await Promise.all(\n options.targets?.map((target) =>\n buildTarget({\n root,\n target,\n source,\n output,\n exclude,\n options,\n variants,\n })\n )\n );\n }\n}\n\nasync function buildTarget({\n root,\n target,\n source,\n output,\n exclude,\n options,\n variants,\n}: {\n root: string;\n target: Exclude<Options['targets'], undefined>[number];\n source: string;\n output: string;\n exclude: string;\n options: Options;\n variants: {\n commonjs?: boolean;\n module?: boolean;\n };\n}) {\n const targetName = Array.isArray(target) ? target[0] : target;\n const targetOptions = Array.isArray(target) ? target[1] : undefined;\n\n const report = logger.grouped(targetName);\n\n switch (targetName) {\n case 'commonjs':\n case 'module':\n await run(targetName, {\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, targetName),\n exclude,\n options: targetOptions,\n variants,\n report,\n });\n break;\n case 'typescript':\n {\n const esm =\n options.targets?.some((t) => {\n if (Array.isArray(t)) {\n const [name, options] = t;\n\n if (name === 'module') {\n return options && 'esm' in options && options?.esm;\n }\n }\n\n return false;\n }) ?? false;\n\n await run('typescript', {\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, 'typescript'),\n options: targetOptions,\n esm,\n variants,\n report,\n });\n }\n break;\n case 'codegen':\n await run('codegen', {\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, 'typescript'),\n report,\n });\n break;\n case 'custom':\n await run('custom', {\n options: targetOptions,\n source: path.resolve(root, source),\n report,\n root,\n });\n break;\n default:\n throw new Error(`Invalid target ${kleur.blue(targetName)}.`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"build.js","names":["_arktype","require","_fsExtra","_interopRequireDefault","_kleur","_path","_schema","_loadConfig","logger","_interopRequireWildcard","_workerize","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","args","exports","target","type","description","choices","build","argv","root","process","cwd","projectPackagePath","path","resolve","fs","pathExists","Error","result","loadConfig","config","$0","parsed","errors","filepath","summary","source","output","targets","exclude","commonjs","some","Array","isArray","module","variants","buildTarget","Promise","all","map","options","undefined","find","report","grouped","run","esm","name","kleur","blue"],"sources":["../src/build.ts"],"sourcesContent":["import { type } from 'arktype';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport path from 'path';\nimport yargs from 'yargs';\nimport { config, type Config, type Target, type TargetOptions } from './schema';\nimport { loadConfig } from './utils/loadConfig';\nimport * as logger from './utils/logger';\nimport { run } from './utils/workerize';\n\nexport const args = {\n target: {\n type: 'string',\n description: 'The target to build',\n choices: ['commonjs', 'module', 'typescript', 'codegen'] satisfies Target[],\n },\n} satisfies Record<'target', yargs.Options>;\n\ntype Argv = {\n $0: string;\n target?: Target;\n};\n\nexport async function build(argv: Argv) {\n const root = process.cwd();\n\n const projectPackagePath = path.resolve(root, 'package.json');\n\n if (!(await fs.pathExists(projectPackagePath))) {\n throw new Error(\n `Couldn't find a 'package.json' file in '${root}'. Are you in a project folder?`\n );\n }\n\n const result = loadConfig(root);\n\n if (!result?.config) {\n throw new Error(\n `No configuration found. Run '${argv.$0} init' to create one automatically.`\n );\n }\n\n const parsed = config(result.config);\n\n if (parsed instanceof type.errors) {\n throw new Error(\n `Invalid configuration in ${result.filepath}: ${parsed.summary}`\n );\n }\n\n const { source, output, targets, exclude } = parsed;\n\n const commonjs = targets.some((t) =>\n Array.isArray(t) ? t[0] === 'commonjs' : t === 'commonjs'\n );\n\n const module = targets.some((t) =>\n Array.isArray(t) ? t[0] === 'module' : t === 'module'\n );\n\n const variants = {\n commonjs,\n module,\n };\n\n if (argv.target != null) {\n await buildTarget({\n root,\n target: argv.target,\n source,\n output,\n exclude,\n config: parsed,\n variants,\n });\n } else {\n await Promise.all(\n targets.map((target) =>\n buildTarget({\n root,\n target: Array.isArray(target) ? target[0] : target,\n source,\n output,\n exclude,\n config: parsed,\n variants,\n })\n )\n );\n }\n}\n\nasync function buildTarget<T extends Target>({\n root,\n target,\n source,\n output,\n exclude,\n config,\n variants,\n}: {\n root: string;\n target: T;\n source: string;\n output: string;\n exclude: string;\n config: Config;\n variants: {\n commonjs?: boolean;\n module?: boolean;\n };\n}) {\n const options = config.targets\n .map((t) => (Array.isArray(t) ? t : ([t, undefined] as const)))\n .find((t) => t[0] === target)?.[1];\n\n const report = logger.grouped(target);\n\n switch (target) {\n case 'commonjs':\n case 'module':\n await run(target, {\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, target),\n exclude,\n options: options as TargetOptions<'commonjs' | 'module'>,\n variants,\n report,\n });\n break;\n case 'typescript':\n {\n const esm =\n config.targets?.some((t) => {\n if (Array.isArray(t)) {\n const [name, options] = t;\n\n if (name === 'module') {\n return options && 'esm' in options && options?.esm;\n }\n }\n\n return false;\n }) ?? false;\n\n await run('typescript', {\n root,\n source: path.resolve(root, source),\n output: path.resolve(root, output, 'typescript'),\n options: options as TargetOptions<'typescript'>,\n esm,\n variants,\n report,\n });\n }\n break;\n case 'codegen':\n await run('codegen', {\n root,\n source: path.resolve(root, source),\n report,\n });\n break;\n case 'custom':\n await run('custom', {\n root,\n source: path.resolve(root, source),\n options: options as TargetOptions<'custom'>,\n report,\n });\n break;\n default:\n throw new Error(`Invalid target ${kleur.blue(target)}.`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_yargs","_interopRequireDefault","require","_build","_init","e","__esModule","default","args","target","type","description","choices","yargs","command","init","build","demandCommand","recommendCommands","strict","argv"],"sources":["../src/index.ts"],"sourcesContent":["import yargs from 'yargs';\nimport { build } from './build';\nimport { init } from './init';\nimport type { Target } from './
|
|
1
|
+
{"version":3,"file":"index.js","names":["_yargs","_interopRequireDefault","require","_build","_init","e","__esModule","default","args","target","type","description","choices","yargs","command","init","build","demandCommand","recommendCommands","strict","argv"],"sources":["../src/index.ts"],"sourcesContent":["import yargs from 'yargs';\nimport { build } from './build';\nimport { init } from './init';\nimport type { Target } from './schema';\n\ntype ArgName = 'target';\n\nconst args = {\n target: {\n type: 'string',\n description: 'The target to build',\n choices: ['commonjs', 'module', 'typescript', 'codegen'] satisfies Target[],\n },\n} satisfies Record<ArgName, yargs.Options>;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-expressions\nyargs\n .command('init', 'configure the package to use bob', {}, init)\n .command('build', 'build files for publishing', args, build)\n .demandCommand()\n .recommendCommands()\n .strict().argv;\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAA8B,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAK9B,MAAMG,IAAI,GAAG;EACXC,MAAM,EAAE;IACNC,IAAI,EAAE,QAAQ;IACdC,WAAW,EAAE,qBAAqB;IAClCC,OAAO,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS;EACzD;AACF,CAA0C;;AAE1C;AACAC,cAAK,CACFC,OAAO,CAAC,MAAM,EAAE,kCAAkC,EAAE,CAAC,CAAC,EAAEC,UAAI,CAAC,CAC7DD,OAAO,CAAC,OAAO,EAAE,4BAA4B,EAAEN,IAAI,EAAEQ,YAAK,CAAC,CAC3DC,aAAa,CAAC,CAAC,CACfC,iBAAiB,CAAC,CAAC,CACnBC,MAAM,CAAC,CAAC,CAACC,IAAI","ignoreList":[]}
|
package/lib/init.js
CHANGED
|
@@ -90,7 +90,7 @@ async function init() {
|
|
|
90
90
|
}, {
|
|
91
91
|
title: 'commonjs - for legacy setups (Node.js < 20)',
|
|
92
92
|
value: 'commonjs',
|
|
93
|
-
selected:
|
|
93
|
+
selected: false
|
|
94
94
|
}, {
|
|
95
95
|
title: 'typescript - declaration files for typechecking',
|
|
96
96
|
value: 'typescript',
|
|
@@ -231,13 +231,6 @@ async function init() {
|
|
|
231
231
|
} else if (targets.includes('module')) {
|
|
232
232
|
entryFields.main = entries.module;
|
|
233
233
|
}
|
|
234
|
-
if (targets.includes('typescript') && !pkg.exports?.['.']) {
|
|
235
|
-
if (entryFields.main === entries.commonjs) {
|
|
236
|
-
entryFields.types = types.require;
|
|
237
|
-
} else {
|
|
238
|
-
entryFields.types = types.import;
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
234
|
for (const key in entryFields) {
|
|
242
235
|
const entry = entryFields[key];
|
|
243
236
|
if (pkg[key] && pkg[key] !== entry) {
|
package/lib/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","_dedent","_isGitDirty","_prompts","_loadConfig","e","__esModule","default","name","version","FLOW_PRGAMA_REGEX","init","root","process","cwd","projectPackagePath","path","resolve","isGitDirty","shouldContinue","prompts","type","message","initial","exit","fs","pathExists","Error","pkg","JSON","parse","readFile","result","loadConfig","config","devDependencies","source","validate","input","Boolean","entryFile","join","Object","fromEntries","entries","sort","a","b","localeCompare","questions","choices","title","value","selected","test","length","endsWith","push","keys","includes","output","targets","flow","target","undefined","esm","module","commonjs","types","import","tsconfig","writeJSON","compilerOptions","rootDir","allowUnreachableCode","allowUnusedLabels","esModuleInterop","forceConsistentCasingInFileNames","jsx","lib","moduleResolution","noFallthroughCasesInSwitch","noImplicitReturns","noImplicitUseStrict","noStrictGenericChecks","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","resolveJsonModule","skipLibCheck","strict","verbatimModuleSyntax","spaces","prepare","files","replace","exportsField","importField","requireField","exports","stringify","entryFields","main","key","entry","startsWith","remove","scripts","pkgFiles","some","file","update","filter","map","t","copyFlow","jest","modulePathIgnorePatterns","eslintIgnore","ignorefiles","ignorefile","content","split","writeFile","packageManager","stdout","write","dedent","kleur","yellow","magenta","bold","gray"],"sources":["../src/init.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport dedent from 'dedent';\nimport isGitDirty from 'is-git-dirty';\nimport prompts, { type PromptObject } from './utils/prompts';\nimport { loadConfig } from './utils/loadConfig';\n\n// eslint-disable-next-line @typescript-eslint/no-require-imports,import-x/no-commonjs\nconst { name, version } = require('../package.json');\n\nconst FLOW_PRGAMA_REGEX = /\\*?\\s*@(flow)\\b/m;\n\nexport async function init() {\n const root = process.cwd();\n const projectPackagePath = path.resolve(root, 'package.json');\n\n if (isGitDirty()) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The working directory is not clean.\\n You should commit or stash your changes before configuring bob.\\n Continue anyway?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n if (!(await fs.pathExists(projectPackagePath))) {\n throw new Error(\n `Couldn't find a 'package.json' file in '${root}'.\\n Are you in a project folder?`\n );\n }\n\n const pkg = JSON.parse(await fs.readFile(projectPackagePath, 'utf-8'));\n const result = loadConfig(root);\n\n if (result?.config && pkg.devDependencies && name in pkg.devDependencies) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The project seems to be already configured with bob.\\n Do you want to overwrite the existing configuration?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n const { source } = await prompts({\n type: 'text',\n name: 'source',\n message: 'Where are your source files?',\n initial: 'src',\n validate: (input) => Boolean(input),\n });\n\n let entryFile;\n\n if (await fs.pathExists(path.join(root, source, 'index.js'))) {\n entryFile = 'index.js';\n } else if (await fs.pathExists(path.join(root, source, 'index.ts'))) {\n entryFile = 'index.ts';\n } else if (await fs.pathExists(path.join(root, source, 'index.tsx'))) {\n entryFile = 'index.tsx';\n }\n\n if (!entryFile) {\n throw new Error(\n `Couldn't find a 'index.js'. 'index.ts' or 'index.tsx' file under '${source}'.\\n Please re-run the CLI after creating it.`\n );\n }\n\n pkg.devDependencies = Object.fromEntries(\n [...Object.entries(pkg.devDependencies || {}), [name, `^${version}`]].sort(\n ([a], [b]) => a.localeCompare(b)\n )\n );\n\n const questions: PromptObject[] = [\n {\n type: 'text',\n name: 'output',\n message: 'Where do you want to generate the output files?',\n initial: 'lib',\n validate: (input: string) => Boolean(input),\n },\n {\n type: 'multiselect',\n name: 'targets',\n message: 'Which targets do you want to build?',\n choices: [\n {\n title: 'module - for modern setups',\n value: 'module',\n selected: true,\n },\n {\n title: 'commonjs - for legacy setups (Node.js < 20)',\n value: 'commonjs',\n selected: true,\n },\n {\n title: 'typescript - declaration files for typechecking',\n value: 'typescript',\n selected: /\\.tsx?$/.test(entryFile),\n },\n ],\n validate: (input: string) => Boolean(input.length),\n },\n ];\n\n if (\n entryFile.endsWith('.js') &&\n FLOW_PRGAMA_REGEX.test(\n await fs.readFile(path.join(root, source, entryFile), 'utf-8')\n )\n ) {\n questions.push({\n type: 'confirm',\n name: 'flow',\n message: 'Do you want to publish definitions for flow?',\n initial: Object.keys(pkg.devDependencies || {}).includes('flow-bin'),\n });\n }\n\n const { output, targets, flow } = await prompts(questions);\n\n const target =\n targets[0] === 'commonjs' || targets[0] === 'module'\n ? targets[0]\n : undefined;\n\n const entries: {\n [key in 'source' | 'commonjs' | 'module']?: string;\n } = {\n source: `./${path.join(source, entryFile)}`,\n };\n\n let esm = false;\n\n if (targets.includes('module')) {\n esm = true;\n entries.module = `./${path.join(output, 'module', 'index.js')}`;\n }\n\n if (targets.includes('commonjs')) {\n entries.commonjs = `./${path.join(output, 'commonjs', 'index.js')}`;\n }\n\n const types: {\n [key in 'require' | 'import']?: string;\n } = {};\n\n if (targets.includes('typescript')) {\n if (targets.includes('commonjs') && targets.includes('module')) {\n types.require = `./${path.join(\n output,\n 'typescript',\n 'commonjs',\n source,\n 'index.d.ts'\n )}`;\n\n types.import = `./${path.join(\n output,\n 'typescript',\n 'module',\n source,\n 'index.d.ts'\n )}`;\n } else {\n types.require = `./${path.join(\n output,\n 'typescript',\n source,\n 'index.d.ts'\n )}`;\n\n types.import = types.require;\n }\n\n if (!(await fs.pathExists(path.join(root, 'tsconfig.json')))) {\n const { tsconfig } = await prompts({\n type: 'confirm',\n name: 'tsconfig',\n message: `You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root.\\n Generate one?`,\n initial: true,\n });\n\n if (tsconfig) {\n await fs.writeJSON(\n path.join(root, 'tsconfig.json'),\n {\n compilerOptions: {\n rootDir: '.',\n allowUnreachableCode: false,\n allowUnusedLabels: false,\n esModuleInterop: true,\n forceConsistentCasingInFileNames: true,\n jsx: 'react-jsx',\n lib: ['ESNext'],\n module: 'ESNext',\n moduleResolution: 'bundler',\n noFallthroughCasesInSwitch: true,\n noImplicitReturns: true,\n noImplicitUseStrict: false,\n noStrictGenericChecks: false,\n noUncheckedIndexedAccess: true,\n noUnusedLocals: true,\n noUnusedParameters: true,\n resolveJsonModule: true,\n skipLibCheck: true,\n strict: true,\n target: 'ESNext',\n verbatimModuleSyntax: true,\n },\n },\n { spaces: 2 }\n );\n }\n }\n }\n\n const prepare = 'bob build';\n const files = [\n source,\n output,\n '!**/__tests__',\n '!**/__fixtures__',\n '!**/__mocks__',\n ];\n\n if (esm) {\n let replace = false;\n\n const exportsField = {\n '.': {},\n './package.json': './package.json',\n };\n\n const importField = {\n ...(types.import ? { types: types.import } : null),\n ...(entries.module ? { default: entries.module } : null),\n };\n\n const requireField = {\n ...(types.require ? { types: types.require } : null),\n ...(entries.commonjs ? { default: entries.commonjs } : null),\n };\n\n if (targets.includes('commonjs') && targets.includes('module')) {\n exportsField['.'] = {\n import: importField,\n require: requireField,\n };\n } else if (targets.includes('commonjs')) {\n exportsField['.'] = requireField;\n } else if (targets.includes('module')) {\n exportsField['.'] = importField;\n }\n\n if (\n pkg.exports &&\n JSON.stringify(pkg.exports) !== JSON.stringify(exportsField)\n ) {\n replace = (\n await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has 'exports' field set.\\n Do you want to replace it?`,\n initial: true,\n })\n ).replace;\n } else {\n replace = true;\n }\n\n if (replace) {\n pkg.exports = exportsField;\n }\n }\n\n const entryFields: {\n [key in 'source' | 'main' | 'module' | 'types']?: string;\n } = {\n source: entries.source,\n };\n\n if (targets.includes('commonjs') && targets.includes('module')) {\n entryFields.main = entries.commonjs;\n entryFields.module = entries.module;\n } else if (targets.includes('commonjs')) {\n entryFields.main = entries.commonjs;\n } else if (targets.includes('module')) {\n entryFields.main = entries.module;\n }\n\n if (targets.includes('typescript') && !pkg.exports?.['.']) {\n if (entryFields.main === entries.commonjs) {\n entryFields.types = types.require;\n } else {\n entryFields.types = types.import;\n }\n }\n\n for (const key in entryFields) {\n const entry = entryFields[key as keyof typeof entryFields];\n\n if (pkg[key] && pkg[key] !== entry) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the '${key}' field set to '${pkg[key]}'.\\n Do you want to replace it with '${entry}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg[key] = entry;\n }\n } else {\n pkg[key] = entry;\n }\n }\n\n if (\n pkg['react-native'] &&\n (pkg['react-native'].startsWith(source) ||\n pkg['react-native'].startsWith(`./${source}`))\n ) {\n const { remove } = await prompts({\n type: 'confirm',\n name: 'remove',\n message: `Your package.json has the 'react-native' field pointing to source code.\\n This can cause problems when customizing babel configuration.\\n Do you want to remove it?`,\n initial: true,\n });\n\n if (remove) {\n delete pkg['react-native'];\n }\n }\n\n if (pkg.scripts?.prepare && pkg.scripts.prepare !== prepare) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the 'scripts.prepare' field set to '${pkg.scripts.prepare}'.\\n Do you want to replace it with '${prepare}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg.scripts.prepare = prepare;\n }\n } else {\n pkg.scripts = pkg.scripts || {};\n pkg.scripts.prepare = prepare;\n }\n\n if (pkg.files) {\n const pkgFiles = pkg.files;\n\n if (files?.some((file) => !pkgFiles.includes(file))) {\n const { update } = await prompts({\n type: 'confirm',\n name: 'update',\n message: `Your package.json already has a 'files' field.\\n Do you want to update it?`,\n initial: true,\n });\n\n if (update) {\n pkg.files = [\n ...files,\n ...pkg.files.filter((file: string) => !files.includes(file)),\n ];\n }\n }\n } else {\n pkg.files = files;\n }\n\n pkg[name] = {\n source,\n output,\n targets: targets.map((t: string) => {\n if (t === target && flow) {\n return [t, { copyFlow: true }];\n }\n\n if (t === 'commonjs' || t === 'module') {\n return [t, { esm }];\n }\n\n return t;\n }),\n };\n\n if (pkg.jest) {\n const entry = `<rootDir>/${output}/`;\n\n if (pkg.jest.modulePathIgnorePatterns) {\n const { modulePathIgnorePatterns } = pkg.jest;\n\n if (!modulePathIgnorePatterns.includes(entry)) {\n modulePathIgnorePatterns.push(entry);\n }\n } else {\n pkg.jest.modulePathIgnorePatterns = [entry];\n }\n }\n\n pkg.eslintIgnore = pkg.eslintIgnore || ['node_modules/'];\n\n if (!pkg.eslintIgnore.includes(`${output}/`)) {\n pkg.eslintIgnore.push(`${output}/`);\n }\n\n await fs.writeJSON(projectPackagePath, pkg, {\n spaces: 2,\n });\n\n const ignorefiles = [\n path.join(root, '.gitignore'),\n path.join(root, '.eslintignore'),\n ];\n\n for (const ignorefile of ignorefiles) {\n if (await fs.pathExists(ignorefile)) {\n const content = await fs.readFile(ignorefile, 'utf-8');\n\n if (!content.split('\\n').includes(`${output}/`)) {\n await fs.writeFile(\n ignorefile,\n `${content}\\n# generated by bob\\n${output}/\\n`\n );\n }\n }\n }\n\n const packageManager = (await fs.pathExists(path.join(root, 'yarn.lock')))\n ? 'yarn'\n : 'npm';\n\n process.stdout.write(\n dedent(`\n Project ${kleur.yellow(pkg.name)} configured successfully!\n\n ${kleur.magenta(\n `${kleur.bold('Perform last steps')} by running`\n )}${kleur.gray(':')}\n\n ${kleur.gray('$')} ${packageManager} install\n\n ${kleur.yellow('Good luck!')}\n `)\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"init.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","_dedent","_isGitDirty","_prompts","_loadConfig","e","__esModule","default","name","version","FLOW_PRGAMA_REGEX","init","root","process","cwd","projectPackagePath","path","resolve","isGitDirty","shouldContinue","prompts","type","message","initial","exit","fs","pathExists","Error","pkg","JSON","parse","readFile","result","loadConfig","config","devDependencies","source","validate","input","Boolean","entryFile","join","Object","fromEntries","entries","sort","a","b","localeCompare","questions","choices","title","value","selected","test","length","endsWith","push","keys","includes","output","targets","flow","target","undefined","esm","module","commonjs","types","import","tsconfig","writeJSON","compilerOptions","rootDir","allowUnreachableCode","allowUnusedLabels","esModuleInterop","forceConsistentCasingInFileNames","jsx","lib","moduleResolution","noFallthroughCasesInSwitch","noImplicitReturns","noImplicitUseStrict","noStrictGenericChecks","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","resolveJsonModule","skipLibCheck","strict","verbatimModuleSyntax","spaces","prepare","files","replace","exportsField","importField","requireField","exports","stringify","entryFields","main","key","entry","startsWith","remove","scripts","pkgFiles","some","file","update","filter","map","t","copyFlow","jest","modulePathIgnorePatterns","eslintIgnore","ignorefiles","ignorefile","content","split","writeFile","packageManager","stdout","write","dedent","kleur","yellow","magenta","bold","gray"],"sources":["../src/init.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport dedent from 'dedent';\nimport isGitDirty from 'is-git-dirty';\nimport prompts, { type PromptObject } from './utils/prompts';\nimport { loadConfig } from './utils/loadConfig';\n\n// eslint-disable-next-line @typescript-eslint/no-require-imports,import-x/no-commonjs\nconst { name, version } = require('../package.json');\n\nconst FLOW_PRGAMA_REGEX = /\\*?\\s*@(flow)\\b/m;\n\nexport async function init() {\n const root = process.cwd();\n const projectPackagePath = path.resolve(root, 'package.json');\n\n if (isGitDirty()) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The working directory is not clean.\\n You should commit or stash your changes before configuring bob.\\n Continue anyway?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n if (!(await fs.pathExists(projectPackagePath))) {\n throw new Error(\n `Couldn't find a 'package.json' file in '${root}'.\\n Are you in a project folder?`\n );\n }\n\n const pkg = JSON.parse(await fs.readFile(projectPackagePath, 'utf-8'));\n const result = loadConfig(root);\n\n if (result?.config && pkg.devDependencies && name in pkg.devDependencies) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The project seems to be already configured with bob.\\n Do you want to overwrite the existing configuration?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n const { source } = await prompts({\n type: 'text',\n name: 'source',\n message: 'Where are your source files?',\n initial: 'src',\n validate: (input) => Boolean(input),\n });\n\n let entryFile;\n\n if (await fs.pathExists(path.join(root, source, 'index.js'))) {\n entryFile = 'index.js';\n } else if (await fs.pathExists(path.join(root, source, 'index.ts'))) {\n entryFile = 'index.ts';\n } else if (await fs.pathExists(path.join(root, source, 'index.tsx'))) {\n entryFile = 'index.tsx';\n }\n\n if (!entryFile) {\n throw new Error(\n `Couldn't find a 'index.js'. 'index.ts' or 'index.tsx' file under '${source}'.\\n Please re-run the CLI after creating it.`\n );\n }\n\n pkg.devDependencies = Object.fromEntries(\n [...Object.entries(pkg.devDependencies || {}), [name, `^${version}`]].sort(\n ([a], [b]) => a.localeCompare(b)\n )\n );\n\n const questions: PromptObject[] = [\n {\n type: 'text',\n name: 'output',\n message: 'Where do you want to generate the output files?',\n initial: 'lib',\n validate: (input: string) => Boolean(input),\n },\n {\n type: 'multiselect',\n name: 'targets',\n message: 'Which targets do you want to build?',\n choices: [\n {\n title: 'module - for modern setups',\n value: 'module',\n selected: true,\n },\n {\n title: 'commonjs - for legacy setups (Node.js < 20)',\n value: 'commonjs',\n selected: false,\n },\n {\n title: 'typescript - declaration files for typechecking',\n value: 'typescript',\n selected: /\\.tsx?$/.test(entryFile),\n },\n ],\n validate: (input: string) => Boolean(input.length),\n },\n ];\n\n if (\n entryFile.endsWith('.js') &&\n FLOW_PRGAMA_REGEX.test(\n await fs.readFile(path.join(root, source, entryFile), 'utf-8')\n )\n ) {\n questions.push({\n type: 'confirm',\n name: 'flow',\n message: 'Do you want to publish definitions for flow?',\n initial: Object.keys(pkg.devDependencies || {}).includes('flow-bin'),\n });\n }\n\n const { output, targets, flow } = await prompts(questions);\n\n const target =\n targets[0] === 'commonjs' || targets[0] === 'module'\n ? targets[0]\n : undefined;\n\n const entries: {\n [key in 'source' | 'commonjs' | 'module']?: string;\n } = {\n source: `./${path.join(source, entryFile)}`,\n };\n\n let esm = false;\n\n if (targets.includes('module')) {\n esm = true;\n entries.module = `./${path.join(output, 'module', 'index.js')}`;\n }\n\n if (targets.includes('commonjs')) {\n entries.commonjs = `./${path.join(output, 'commonjs', 'index.js')}`;\n }\n\n const types: {\n [key in 'require' | 'import']?: string;\n } = {};\n\n if (targets.includes('typescript')) {\n if (targets.includes('commonjs') && targets.includes('module')) {\n types.require = `./${path.join(\n output,\n 'typescript',\n 'commonjs',\n source,\n 'index.d.ts'\n )}`;\n\n types.import = `./${path.join(\n output,\n 'typescript',\n 'module',\n source,\n 'index.d.ts'\n )}`;\n } else {\n types.require = `./${path.join(\n output,\n 'typescript',\n source,\n 'index.d.ts'\n )}`;\n\n types.import = types.require;\n }\n\n if (!(await fs.pathExists(path.join(root, 'tsconfig.json')))) {\n const { tsconfig } = await prompts({\n type: 'confirm',\n name: 'tsconfig',\n message: `You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root.\\n Generate one?`,\n initial: true,\n });\n\n if (tsconfig) {\n await fs.writeJSON(\n path.join(root, 'tsconfig.json'),\n {\n compilerOptions: {\n rootDir: '.',\n allowUnreachableCode: false,\n allowUnusedLabels: false,\n esModuleInterop: true,\n forceConsistentCasingInFileNames: true,\n jsx: 'react-jsx',\n lib: ['ESNext'],\n module: 'ESNext',\n moduleResolution: 'bundler',\n noFallthroughCasesInSwitch: true,\n noImplicitReturns: true,\n noImplicitUseStrict: false,\n noStrictGenericChecks: false,\n noUncheckedIndexedAccess: true,\n noUnusedLocals: true,\n noUnusedParameters: true,\n resolveJsonModule: true,\n skipLibCheck: true,\n strict: true,\n target: 'ESNext',\n verbatimModuleSyntax: true,\n },\n },\n { spaces: 2 }\n );\n }\n }\n }\n\n const prepare = 'bob build';\n const files = [\n source,\n output,\n '!**/__tests__',\n '!**/__fixtures__',\n '!**/__mocks__',\n ];\n\n if (esm) {\n let replace = false;\n\n const exportsField = {\n '.': {},\n './package.json': './package.json',\n };\n\n const importField = {\n ...(types.import ? { types: types.import } : null),\n ...(entries.module ? { default: entries.module } : null),\n };\n\n const requireField = {\n ...(types.require ? { types: types.require } : null),\n ...(entries.commonjs ? { default: entries.commonjs } : null),\n };\n\n if (targets.includes('commonjs') && targets.includes('module')) {\n exportsField['.'] = {\n import: importField,\n require: requireField,\n };\n } else if (targets.includes('commonjs')) {\n exportsField['.'] = requireField;\n } else if (targets.includes('module')) {\n exportsField['.'] = importField;\n }\n\n if (\n pkg.exports &&\n JSON.stringify(pkg.exports) !== JSON.stringify(exportsField)\n ) {\n replace = (\n await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has 'exports' field set.\\n Do you want to replace it?`,\n initial: true,\n })\n ).replace;\n } else {\n replace = true;\n }\n\n if (replace) {\n pkg.exports = exportsField;\n }\n }\n\n const entryFields: {\n [key in 'source' | 'main' | 'module' | 'types']?: string;\n } = {\n source: entries.source,\n };\n\n if (targets.includes('commonjs') && targets.includes('module')) {\n entryFields.main = entries.commonjs;\n entryFields.module = entries.module;\n } else if (targets.includes('commonjs')) {\n entryFields.main = entries.commonjs;\n } else if (targets.includes('module')) {\n entryFields.main = entries.module;\n }\n\n for (const key in entryFields) {\n const entry = entryFields[key as keyof typeof entryFields];\n\n if (pkg[key] && pkg[key] !== entry) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the '${key}' field set to '${pkg[key]}'.\\n Do you want to replace it with '${entry}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg[key] = entry;\n }\n } else {\n pkg[key] = entry;\n }\n }\n\n if (\n pkg['react-native'] &&\n (pkg['react-native'].startsWith(source) ||\n pkg['react-native'].startsWith(`./${source}`))\n ) {\n const { remove } = await prompts({\n type: 'confirm',\n name: 'remove',\n message: `Your package.json has the 'react-native' field pointing to source code.\\n This can cause problems when customizing babel configuration.\\n Do you want to remove it?`,\n initial: true,\n });\n\n if (remove) {\n delete pkg['react-native'];\n }\n }\n\n if (pkg.scripts?.prepare && pkg.scripts.prepare !== prepare) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the 'scripts.prepare' field set to '${pkg.scripts.prepare}'.\\n Do you want to replace it with '${prepare}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg.scripts.prepare = prepare;\n }\n } else {\n pkg.scripts = pkg.scripts || {};\n pkg.scripts.prepare = prepare;\n }\n\n if (pkg.files) {\n const pkgFiles = pkg.files;\n\n if (files?.some((file) => !pkgFiles.includes(file))) {\n const { update } = await prompts({\n type: 'confirm',\n name: 'update',\n message: `Your package.json already has a 'files' field.\\n Do you want to update it?`,\n initial: true,\n });\n\n if (update) {\n pkg.files = [\n ...files,\n ...pkg.files.filter((file: string) => !files.includes(file)),\n ];\n }\n }\n } else {\n pkg.files = files;\n }\n\n pkg[name] = {\n source,\n output,\n targets: targets.map((t: string) => {\n if (t === target && flow) {\n return [t, { copyFlow: true }];\n }\n\n if (t === 'commonjs' || t === 'module') {\n return [t, { esm }];\n }\n\n return t;\n }),\n };\n\n if (pkg.jest) {\n const entry = `<rootDir>/${output}/`;\n\n if (pkg.jest.modulePathIgnorePatterns) {\n const { modulePathIgnorePatterns } = pkg.jest;\n\n if (!modulePathIgnorePatterns.includes(entry)) {\n modulePathIgnorePatterns.push(entry);\n }\n } else {\n pkg.jest.modulePathIgnorePatterns = [entry];\n }\n }\n\n pkg.eslintIgnore = pkg.eslintIgnore || ['node_modules/'];\n\n if (!pkg.eslintIgnore.includes(`${output}/`)) {\n pkg.eslintIgnore.push(`${output}/`);\n }\n\n await fs.writeJSON(projectPackagePath, pkg, {\n spaces: 2,\n });\n\n const ignorefiles = [\n path.join(root, '.gitignore'),\n path.join(root, '.eslintignore'),\n ];\n\n for (const ignorefile of ignorefiles) {\n if (await fs.pathExists(ignorefile)) {\n const content = await fs.readFile(ignorefile, 'utf-8');\n\n if (!content.split('\\n').includes(`${output}/`)) {\n await fs.writeFile(\n ignorefile,\n `${content}\\n# generated by bob\\n${output}/\\n`\n );\n }\n }\n }\n\n const packageManager = (await fs.pathExists(path.join(root, 'yarn.lock')))\n ? 'yarn'\n : 'npm';\n\n process.stdout.write(\n dedent(`\n Project ${kleur.yellow(pkg.name)} configured successfully!\n\n ${kleur.magenta(\n `${kleur.bold('Perform last steps')} by running`\n )}${kleur.gray(':')}\n\n ${kleur.gray('$')} ${packageManager} install\n\n ${kleur.yellow('Good luck!')}\n `)\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/schema.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.config = void 0;
|
|
7
|
+
var _arktype = require("arktype");
|
|
8
|
+
const _module = {
|
|
9
|
+
name: '"module"',
|
|
10
|
+
options: (0, _arktype.type)({
|
|
11
|
+
esm: (0, _arktype.type)('boolean').default(false),
|
|
12
|
+
babelrc: (0, _arktype.type)('boolean').default(false),
|
|
13
|
+
configFile: (0, _arktype.type)('boolean').default(false),
|
|
14
|
+
sourceMaps: (0, _arktype.type)('boolean').default(true),
|
|
15
|
+
copyFlow: (0, _arktype.type)('boolean').default(false),
|
|
16
|
+
jsxRuntime: (0, _arktype.type)('"automatic" | "classic"').default('automatic')
|
|
17
|
+
})
|
|
18
|
+
};
|
|
19
|
+
const commonjs = {
|
|
20
|
+
name: '"commonjs"',
|
|
21
|
+
options: _module.options
|
|
22
|
+
};
|
|
23
|
+
const typescript = {
|
|
24
|
+
name: '"typescript"',
|
|
25
|
+
options: (0, _arktype.type)({
|
|
26
|
+
project: 'string?',
|
|
27
|
+
tsc: 'string?'
|
|
28
|
+
})
|
|
29
|
+
};
|
|
30
|
+
const codegen = {
|
|
31
|
+
name: '"codegen"'
|
|
32
|
+
};
|
|
33
|
+
const custom = {
|
|
34
|
+
name: '"custom"',
|
|
35
|
+
options: (0, _arktype.type)({
|
|
36
|
+
script: 'string',
|
|
37
|
+
clean: 'string?'
|
|
38
|
+
})
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
42
|
+
const target = _arktype.type.or(commonjs.name, _module.name, typescript.name, codegen.name, custom.name);
|
|
43
|
+
const config = exports.config = (0, _arktype.type)({
|
|
44
|
+
source: 'string',
|
|
45
|
+
output: 'string',
|
|
46
|
+
targets: _arktype.type.or(_arktype.type.or(_module.name, [_module.name], [_module.name, _module.options]), _arktype.type.or(commonjs.name, [commonjs.name], [commonjs.name, commonjs.options]), _arktype.type.or(typescript.name, [typescript.name], [typescript.name, typescript.options]), _arktype.type.or(codegen.name, [codegen.name]), [custom.name, custom.options]).array().moreThanLength(0),
|
|
47
|
+
exclude: _arktype.type.string.default('**/{__tests__,__fixtures__,__mocks__}/**')
|
|
48
|
+
}).onDeepUndeclaredKey('reject');
|
|
49
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","names":["_arktype","require","module","name","options","type","esm","default","babelrc","configFile","sourceMaps","copyFlow","jsxRuntime","commonjs","typescript","project","tsc","codegen","custom","script","clean","target","or","config","exports","source","output","targets","array","moreThanLength","exclude","string","onDeepUndeclaredKey"],"sources":["../src/schema.ts"],"sourcesContent":["import { type } from 'arktype';\n\nconst module = {\n name: '\"module\"',\n options: type({\n esm: type('boolean').default(false),\n babelrc: type('boolean').default(false),\n configFile: type('boolean').default(false),\n sourceMaps: type('boolean').default(true),\n copyFlow: type('boolean').default(false),\n jsxRuntime: type('\"automatic\" | \"classic\"').default('automatic'),\n }),\n} as const;\n\nconst commonjs = {\n name: '\"commonjs\"',\n options: module.options,\n} as const;\n\nconst typescript = {\n name: '\"typescript\"',\n options: type({\n project: 'string?',\n tsc: 'string?',\n }),\n} as const;\n\nconst codegen = {\n name: '\"codegen\"',\n} as const;\n\nconst custom = {\n name: '\"custom\"',\n options: type({\n script: 'string',\n clean: 'string?',\n }),\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst target = type.or(\n commonjs.name,\n module.name,\n typescript.name,\n codegen.name,\n custom.name\n);\n\nexport const config = type({\n source: 'string',\n output: 'string',\n targets: type\n .or(\n type.or(module.name, [module.name], [module.name, module.options]),\n type.or(\n commonjs.name,\n [commonjs.name],\n [commonjs.name, commonjs.options]\n ),\n type.or(\n typescript.name,\n [typescript.name],\n [typescript.name, typescript.options]\n ),\n type.or(codegen.name, [codegen.name]),\n [custom.name, custom.options]\n )\n .array()\n .moreThanLength(0),\n exclude: type.string.default('**/{__tests__,__fixtures__,__mocks__}/**'),\n}).onDeepUndeclaredKey('reject');\n\nexport type Config = typeof config.infer;\n\nexport type Target = typeof target.infer;\n\nexport type TargetOptions<T extends Target> = T extends typeof commonjs.name\n ? typeof commonjs.options.infer\n : T extends typeof module.name\n ? typeof module.options.infer\n : T extends typeof typescript.name\n ? typeof typescript.options.infer\n : T extends typeof custom.name\n ? typeof custom.options.infer\n : T extends typeof codegen.name\n ? undefined\n : never;\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,MAAMC,OAAM,GAAG;EACbC,IAAI,EAAE,UAAU;EAChBC,OAAO,EAAE,IAAAC,aAAI,EAAC;IACZC,GAAG,EAAE,IAAAD,aAAI,EAAC,SAAS,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC;IACnCC,OAAO,EAAE,IAAAH,aAAI,EAAC,SAAS,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC;IACvCE,UAAU,EAAE,IAAAJ,aAAI,EAAC,SAAS,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC;IAC1CG,UAAU,EAAE,IAAAL,aAAI,EAAC,SAAS,CAAC,CAACE,OAAO,CAAC,IAAI,CAAC;IACzCI,QAAQ,EAAE,IAAAN,aAAI,EAAC,SAAS,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC;IACxCK,UAAU,EAAE,IAAAP,aAAI,EAAC,yBAAyB,CAAC,CAACE,OAAO,CAAC,WAAW;EACjE,CAAC;AACH,CAAU;AAEV,MAAMM,QAAQ,GAAG;EACfV,IAAI,EAAE,YAAY;EAClBC,OAAO,EAAEF,OAAM,CAACE;AAClB,CAAU;AAEV,MAAMU,UAAU,GAAG;EACjBX,IAAI,EAAE,cAAc;EACpBC,OAAO,EAAE,IAAAC,aAAI,EAAC;IACZU,OAAO,EAAE,SAAS;IAClBC,GAAG,EAAE;EACP,CAAC;AACH,CAAU;AAEV,MAAMC,OAAO,GAAG;EACdd,IAAI,EAAE;AACR,CAAU;AAEV,MAAMe,MAAM,GAAG;EACbf,IAAI,EAAE,UAAU;EAChBC,OAAO,EAAE,IAAAC,aAAI,EAAC;IACZc,MAAM,EAAE,QAAQ;IAChBC,KAAK,EAAE;EACT,CAAC;AACH,CAAU;;AAEV;AACA,MAAMC,MAAM,GAAGhB,aAAI,CAACiB,EAAE,CACpBT,QAAQ,CAACV,IAAI,EACbD,OAAM,CAACC,IAAI,EACXW,UAAU,CAACX,IAAI,EACfc,OAAO,CAACd,IAAI,EACZe,MAAM,CAACf,IACT,CAAC;AAEM,MAAMoB,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAlB,aAAI,EAAC;EACzBoB,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAEtB,aAAI,CACViB,EAAE,CACDjB,aAAI,CAACiB,EAAE,CAACpB,OAAM,CAACC,IAAI,EAAE,CAACD,OAAM,CAACC,IAAI,CAAC,EAAE,CAACD,OAAM,CAACC,IAAI,EAAED,OAAM,CAACE,OAAO,CAAC,CAAC,EAClEC,aAAI,CAACiB,EAAE,CACLT,QAAQ,CAACV,IAAI,EACb,CAACU,QAAQ,CAACV,IAAI,CAAC,EACf,CAACU,QAAQ,CAACV,IAAI,EAAEU,QAAQ,CAACT,OAAO,CAClC,CAAC,EACDC,aAAI,CAACiB,EAAE,CACLR,UAAU,CAACX,IAAI,EACf,CAACW,UAAU,CAACX,IAAI,CAAC,EACjB,CAACW,UAAU,CAACX,IAAI,EAAEW,UAAU,CAACV,OAAO,CACtC,CAAC,EACDC,aAAI,CAACiB,EAAE,CAACL,OAAO,CAACd,IAAI,EAAE,CAACc,OAAO,CAACd,IAAI,CAAC,CAAC,EACrC,CAACe,MAAM,CAACf,IAAI,EAAEe,MAAM,CAACd,OAAO,CAC9B,CAAC,CACAwB,KAAK,CAAC,CAAC,CACPC,cAAc,CAAC,CAAC,CAAC;EACpBC,OAAO,EAAEzB,aAAI,CAAC0B,MAAM,CAACxB,OAAO,CAAC,0CAA0C;AACzE,CAAC,CAAC,CAACyB,mBAAmB,CAAC,QAAQ,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_kleur","_interopRequireDefault","require","_patchCodegenAndroidPackage","_fsExtra","_path","_del","_runRNCCli","_removeCodegenAppLevelCode","e","__esModule","default","build","root","report","packageJsonPath","path","resolve","packageJson","fs","readJson","codegenIosPath","codegenConfig","outputDir","ios","info","kleur","blue","relative","del","codegenAndroidPath","android","codegenType","type","undefined","Error","runRNCCli","patchCodegenAndroidPackage","removeCodegenAppLevelCode","success","stdout","toString","message","includes"],"sources":["../../../src/targets/codegen/index.ts"],"sourcesContent":["import kleur from 'kleur';\nimport type { Input } from '../../types';\nimport { patchCodegenAndroidPackage } from './patches/patchCodegenAndroidPackage';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport del from 'del';\nimport { runRNCCli } from '../../utils/runRNCCli';\nimport { removeCodegenAppLevelCode } from './patches/removeCodegenAppLevelCode';\n\ntype Options = Input
|
|
1
|
+
{"version":3,"file":"index.js","names":["_kleur","_interopRequireDefault","require","_patchCodegenAndroidPackage","_fsExtra","_path","_del","_runRNCCli","_removeCodegenAppLevelCode","e","__esModule","default","build","root","report","packageJsonPath","path","resolve","packageJson","fs","readJson","codegenIosPath","codegenConfig","outputDir","ios","info","kleur","blue","relative","del","codegenAndroidPath","android","codegenType","type","undefined","Error","runRNCCli","patchCodegenAndroidPackage","removeCodegenAppLevelCode","success","stdout","toString","message","includes"],"sources":["../../../src/targets/codegen/index.ts"],"sourcesContent":["import kleur from 'kleur';\nimport type { Input } from '../../types';\nimport { patchCodegenAndroidPackage } from './patches/patchCodegenAndroidPackage';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport del from 'del';\nimport { runRNCCli } from '../../utils/runRNCCli';\nimport { removeCodegenAppLevelCode } from './patches/removeCodegenAppLevelCode';\n\ntype Options = Omit<Input, 'output'>;\n\nexport default async function build({ root, report }: Options) {\n const packageJsonPath = path.resolve(root, 'package.json');\n const packageJson = await fs.readJson(packageJsonPath);\n\n const codegenIosPath = packageJson.codegenConfig?.outputDir?.ios;\n if (codegenIosPath != null) {\n report.info(\n `Cleaning up previous iOS codegen native code at ${kleur.blue(\n path.relative(root, codegenIosPath)\n )}`\n );\n await del([codegenIosPath]);\n }\n\n const codegenAndroidPath = packageJson.codegenConfig?.outputDir?.android;\n if (codegenAndroidPath != null) {\n report.info(\n `Cleaning up previous Android codegen native code at ${kleur.blue(\n path.relative(root, codegenAndroidPath)\n )}`\n );\n await del([codegenAndroidPath]);\n }\n\n const codegenType = packageJson.codegenConfig?.type;\n\n if (codegenType === undefined) {\n throw new Error(\n \"Couldn't find the 'type' value in 'codegenConfig'. Please check your package.json's 'codegenConfig' property and make sure 'type' is defined. https://reactnative.dev/docs/the-new-architecture/using-codegen#configuring-codegen\"\n );\n }\n\n try {\n await runRNCCli(['codegen']);\n\n if (codegenType === 'modules' || codegenType === 'all') {\n await patchCodegenAndroidPackage(root, packageJson, report);\n }\n await removeCodegenAppLevelCode(root, packageJson);\n\n report.success('Generated native code with codegen');\n } catch (e: unknown) {\n if (e != null && typeof e === 'object') {\n if ('stdout' in e && e.stdout != null) {\n throw new Error(\n `Errors found while generating codegen files:\\n${e.stdout.toString()}`\n );\n } else if ('message' in e && typeof e.message === 'string') {\n if (\n e.message.includes(\n \"Error: Cannot find module '@react-native-community/cli/package.json'\"\n )\n ) {\n throw new Error(\n \"You don't have `@react-native-community/cli` in your root package's dev dependencies. Please install it and make sure it uses the same version as your application.\"\n );\n }\n }\n }\n\n throw e;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,2BAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,IAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,0BAAA,GAAAN,OAAA;AAAgF,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAIjE,eAAeG,KAAKA,CAAC;EAAEC,IAAI;EAAEC;AAAgB,CAAC,EAAE;EAC7D,MAAMC,eAAe,GAAGC,aAAI,CAACC,OAAO,CAACJ,IAAI,EAAE,cAAc,CAAC;EAC1D,MAAMK,WAAW,GAAG,MAAMC,gBAAE,CAACC,QAAQ,CAACL,eAAe,CAAC;EAEtD,MAAMM,cAAc,GAAGH,WAAW,CAACI,aAAa,EAAEC,SAAS,EAAEC,GAAG;EAChE,IAAIH,cAAc,IAAI,IAAI,EAAE;IAC1BP,MAAM,CAACW,IAAI,CACT,mDAAmDC,cAAK,CAACC,IAAI,CAC3DX,aAAI,CAACY,QAAQ,CAACf,IAAI,EAAEQ,cAAc,CACpC,CAAC,EACH,CAAC;IACD,MAAM,IAAAQ,YAAG,EAAC,CAACR,cAAc,CAAC,CAAC;EAC7B;EAEA,MAAMS,kBAAkB,GAAGZ,WAAW,CAACI,aAAa,EAAEC,SAAS,EAAEQ,OAAO;EACxE,IAAID,kBAAkB,IAAI,IAAI,EAAE;IAC9BhB,MAAM,CAACW,IAAI,CACT,uDAAuDC,cAAK,CAACC,IAAI,CAC/DX,aAAI,CAACY,QAAQ,CAACf,IAAI,EAAEiB,kBAAkB,CACxC,CAAC,EACH,CAAC;IACD,MAAM,IAAAD,YAAG,EAAC,CAACC,kBAAkB,CAAC,CAAC;EACjC;EAEA,MAAME,WAAW,GAAGd,WAAW,CAACI,aAAa,EAAEW,IAAI;EAEnD,IAAID,WAAW,KAAKE,SAAS,EAAE;IAC7B,MAAM,IAAIC,KAAK,CACb,mOACF,CAAC;EACH;EAEA,IAAI;IACF,MAAM,IAAAC,oBAAS,EAAC,CAAC,SAAS,CAAC,CAAC;IAE5B,IAAIJ,WAAW,KAAK,SAAS,IAAIA,WAAW,KAAK,KAAK,EAAE;MACtD,MAAM,IAAAK,sDAA0B,EAACxB,IAAI,EAAEK,WAAW,EAAEJ,MAAM,CAAC;IAC7D;IACA,MAAM,IAAAwB,oDAAyB,EAACzB,IAAI,EAAEK,WAAW,CAAC;IAElDJ,MAAM,CAACyB,OAAO,CAAC,oCAAoC,CAAC;EACtD,CAAC,CAAC,OAAO9B,CAAU,EAAE;IACnB,IAAIA,CAAC,IAAI,IAAI,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;MACtC,IAAI,QAAQ,IAAIA,CAAC,IAAIA,CAAC,CAAC+B,MAAM,IAAI,IAAI,EAAE;QACrC,MAAM,IAAIL,KAAK,CACb,iDAAiD1B,CAAC,CAAC+B,MAAM,CAACC,QAAQ,CAAC,CAAC,EACtE,CAAC;MACH,CAAC,MAAM,IAAI,SAAS,IAAIhC,CAAC,IAAI,OAAOA,CAAC,CAACiC,OAAO,KAAK,QAAQ,EAAE;QAC1D,IACEjC,CAAC,CAACiC,OAAO,CAACC,QAAQ,CAChB,sEACF,CAAC,EACD;UACA,MAAM,IAAIR,KAAK,CACb,qKACF,CAAC;QACH;MACF;IACF;IAEA,MAAM1B,CAAC;EACT;AACF","ignoreList":[]}
|
|
@@ -143,8 +143,8 @@ async function build({
|
|
|
143
143
|
name: "exports['.'].types",
|
|
144
144
|
value: pkg.exports?.['.']?.types,
|
|
145
145
|
output: outDir,
|
|
146
|
-
error: Boolean(
|
|
147
|
-
message: `using
|
|
146
|
+
error: Boolean(pkg.exports?.['.']?.import && pkg.exports?.['.']?.require),
|
|
147
|
+
message: `using ${_kleur.default.blue("exports['.'].import")} and ${_kleur.default.blue("exports['.'].require")}. Specify ${_kleur.default.blue("exports['.'].import.types")} and ${_kleur.default.blue("exports['.'].require.types")} instead.`
|
|
148
148
|
}] : []), {
|
|
149
149
|
name: "exports['.'].import.types",
|
|
150
150
|
value: pkg.exports?.['.']?.import?.types,
|
|
@@ -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","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 ${kleur.blue(\n project\n )}. There might be validation errors.`\n );\n }\n } else {\n throw new Error(\n `Couldn't find a ${kleur.blue(project)} 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":[]}
|
|
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 ${kleur.blue(\n project\n )}. There might be validation errors.`\n );\n }\n } else {\n throw new Error(\n `Couldn't find a ${kleur.blue(project)} 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(\n pkg.exports?.['.']?.import && pkg.exports?.['.']?.require\n ),\n message: `using ${kleur.blue(\n \"exports['.'].import\"\n )} and ${kleur.blue(\n \"exports['.'].require\"\n )}. 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
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["export type Log = (message: string) => void;\n\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 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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadConfig.js","names":["_path","require","_package","searchPlaces","loadConfig","root","filename","result","requireConfig","content","name","filepath","config","__esModule","default","undefined","exports","join","e","code"],"sources":["../../src/utils/loadConfig.ts"],"sourcesContent":["import { join } from 'path';\nimport { name } from '../../package.json';\n\nconst searchPlaces = [\n 'bob.config.mjs',\n 'bob.config.cjs',\n 'bob.config.js',\n 'package.json',\n];\n\nexport const loadConfig = (root: string) => {\n for (const filename of searchPlaces) {\n const result = requireConfig(root, filename);\n\n if (filename === 'package.json' && result != null) {\n if (result.content[name] != null) {\n return {\n filepath: result.filepath,\n config: result.content[name],\n };\n }\n }\n\n if (result != null) {\n const content = result.content;\n\n if (content?.__esModule) {\n return {\n filepath: result.filepath,\n config: content.default,\n };\n }\n\n return {\n filepath: result.filepath,\n config: content,\n };\n }\n }\n\n return undefined;\n};\n\nconst requireConfig = (root: string, filename: string) => {\n const filepath = join(root, filename);\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const content = require(filepath);\n\n return {\n filepath,\n content,\n };\n } catch (e) {\n if (\n typeof e === 'object' &&\n e != null &&\n 'code' in e &&\n e.code === 'MODULE_NOT_FOUND'\n ) {\n // We expect that some of the config files won't exist\n // So we just return undefined in that case\n return undefined;\n }\n\n throw e;\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,MAAME,YAAY,GAAG,CACnB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,CACf;AAEM,MAAMC,UAAU,
|
|
1
|
+
{"version":3,"file":"loadConfig.js","names":["_path","require","_package","searchPlaces","loadConfig","root","filename","result","requireConfig","content","name","filepath","config","__esModule","default","undefined","exports","join","e","code"],"sources":["../../src/utils/loadConfig.ts"],"sourcesContent":["import { join } from 'path';\nimport { name } from '../../package.json';\n\nconst searchPlaces = [\n 'bob.config.mjs',\n 'bob.config.cjs',\n 'bob.config.js',\n 'package.json',\n];\n\nexport const loadConfig = (\n root: string\n): { filepath: string; config: unknown } | undefined => {\n for (const filename of searchPlaces) {\n const result = requireConfig(root, filename);\n\n if (filename === 'package.json' && result != null) {\n if (result.content[name] != null) {\n return {\n filepath: result.filepath,\n config: result.content[name],\n };\n }\n }\n\n if (result != null) {\n const content = result.content;\n\n if (content?.__esModule) {\n return {\n filepath: result.filepath,\n config: content.default,\n };\n }\n\n return {\n filepath: result.filepath,\n config: content,\n };\n }\n }\n\n return undefined;\n};\n\nconst requireConfig = (root: string, filename: string) => {\n const filepath = join(root, filename);\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const content = require(filepath);\n\n return {\n filepath,\n content,\n };\n } catch (e) {\n if (\n typeof e === 'object' &&\n e != null &&\n 'code' in e &&\n e.code === 'MODULE_NOT_FOUND'\n ) {\n // We expect that some of the config files won't exist\n // So we just return undefined in that case\n return undefined;\n }\n\n throw e;\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,MAAME,YAAY,GAAG,CACnB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,CACf;AAEM,MAAMC,UAAU,GACrBC,IAAY,IAC0C;EACtD,KAAK,MAAMC,QAAQ,IAAIH,YAAY,EAAE;IACnC,MAAMI,MAAM,GAAGC,aAAa,CAACH,IAAI,EAAEC,QAAQ,CAAC;IAE5C,IAAIA,QAAQ,KAAK,cAAc,IAAIC,MAAM,IAAI,IAAI,EAAE;MACjD,IAAIA,MAAM,CAACE,OAAO,CAACC,aAAI,CAAC,IAAI,IAAI,EAAE;QAChC,OAAO;UACLC,QAAQ,EAAEJ,MAAM,CAACI,QAAQ;UACzBC,MAAM,EAAEL,MAAM,CAACE,OAAO,CAACC,aAAI;QAC7B,CAAC;MACH;IACF;IAEA,IAAIH,MAAM,IAAI,IAAI,EAAE;MAClB,MAAME,OAAO,GAAGF,MAAM,CAACE,OAAO;MAE9B,IAAIA,OAAO,EAAEI,UAAU,EAAE;QACvB,OAAO;UACLF,QAAQ,EAAEJ,MAAM,CAACI,QAAQ;UACzBC,MAAM,EAAEH,OAAO,CAACK;QAClB,CAAC;MACH;MAEA,OAAO;QACLH,QAAQ,EAAEJ,MAAM,CAACI,QAAQ;QACzBC,MAAM,EAAEH;MACV,CAAC;IACH;EACF;EAEA,OAAOM,SAAS;AAClB,CAAC;AAACC,OAAA,CAAAZ,UAAA,GAAAA,UAAA;AAEF,MAAMI,aAAa,GAAGA,CAACH,IAAY,EAAEC,QAAgB,KAAK;EACxD,MAAMK,QAAQ,GAAG,IAAAM,UAAI,EAACZ,IAAI,EAAEC,QAAQ,CAAC;EAErC,IAAI;IACF;IACA,MAAMG,OAAO,GAAGR,OAAO,CAACU,QAAQ,CAAC;IAEjC,OAAO;MACLA,QAAQ;MACRF;IACF,CAAC;EACH,CAAC,CAAC,OAAOS,CAAC,EAAE;IACV,IACE,OAAOA,CAAC,KAAK,QAAQ,IACrBA,CAAC,IAAI,IAAI,IACT,MAAM,IAAIA,CAAC,IACXA,CAAC,CAACC,IAAI,KAAK,kBAAkB,EAC7B;MACA;MACA;MACA,OAAOJ,SAAS;IAClB;IAEA,MAAMG,CAAC;EACT;AACF,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerize.js","names":["_nodeWorker_threads","require","_codegen","_interopRequireDefault","_commonjs","_custom","_module2","_typescript","e","__esModule","default","targets","commonjs","module","typescript","codegen","custom","run","target","report","data","isMainThread","Error","Promise","resolve","reject","worker","Worker","__filename","workerData","env","process","FORCE_COLOR","stdout","isTTY","on","message","type","info","warn","error","success","code","exports","parentPort","postMessage"],"sources":["../../src/utils/workerize.ts"],"sourcesContent":["import {\n Worker,\n isMainThread,\n parentPort,\n workerData,\n} from 'node:worker_threads';\nimport codegen from '../targets/codegen';\nimport commonjs from '../targets/commonjs';\nimport custom from '../targets/custom';\nimport module from '../targets/module';\nimport typescript from '../targets/typescript';\nimport type { Report
|
|
1
|
+
{"version":3,"file":"workerize.js","names":["_nodeWorker_threads","require","_codegen","_interopRequireDefault","_commonjs","_custom","_module2","_typescript","e","__esModule","default","targets","commonjs","module","typescript","codegen","custom","run","target","report","data","isMainThread","Error","Promise","resolve","reject","worker","Worker","__filename","workerData","env","process","FORCE_COLOR","stdout","isTTY","on","message","type","info","warn","error","success","code","exports","parentPort","postMessage"],"sources":["../../src/utils/workerize.ts"],"sourcesContent":["import {\n Worker,\n isMainThread,\n parentPort,\n workerData,\n} from 'node:worker_threads';\nimport codegen from '../targets/codegen';\nimport commonjs from '../targets/commonjs';\nimport custom from '../targets/custom';\nimport module from '../targets/module';\nimport typescript from '../targets/typescript';\nimport type { Report } from '../types';\nimport type { Target } from '../schema';\n\ntype WorkerData<T extends Target> = {\n target: T;\n data: Omit<Parameters<(typeof targets)[T]>[0], 'report'>;\n};\n\nconst targets = {\n commonjs,\n module,\n typescript,\n codegen,\n custom,\n} as const;\n\nexport const run = async <T extends Target>(\n target: T,\n { report, ...data }: Parameters<(typeof targets)[T]>[0]\n) => {\n if (!isMainThread) {\n throw new Error('Worker can only be run from the main thread');\n }\n\n return new Promise<void>((resolve, reject) => {\n const worker = new Worker(__filename, {\n workerData: {\n target,\n data,\n } satisfies WorkerData<T>,\n env: {\n ...process.env,\n FORCE_COLOR: process.stdout.isTTY ? '1' : '0',\n },\n });\n\n worker.on('message', (message) => {\n switch (message.type) {\n case 'info':\n report.info(message.message);\n break;\n case 'warn':\n report.warn(message.message);\n break;\n case 'error':\n report.error(message.message);\n break;\n case 'success':\n report.success(message.message);\n break;\n }\n });\n\n worker.on('error', (error) => {\n reject(error);\n });\n\n worker.on('exit', (code) => {\n if (code !== 0) {\n reject(new Error(`Worker exited with code ${code}`));\n } else {\n resolve();\n }\n });\n });\n};\n\nif (!isMainThread) {\n const { target, data } = workerData as WorkerData<Target>;\n\n const report: Report = {\n info: (message) => parentPort?.postMessage({ type: 'info', message }),\n warn: (message) => parentPort?.postMessage({ type: 'warn', message }),\n error: (message) => parentPort?.postMessage({ type: 'error', message }),\n success: (message) => parentPort?.postMessage({ type: 'success', message }),\n };\n\n if (target in targets) {\n // @ts-expect-error - typescript doesn't support correlated union types https://github.com/microsoft/TypeScript/issues/30581\n targets[target]({ ...data, report });\n } else {\n throw new Error(`Unknown target: ${target}`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-builder-bob",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.40.0",
|
|
4
4
|
"description": "CLI to build JavaScript files for React Native libraries",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
"@babel/preset-flow": "^7.24.7",
|
|
52
52
|
"@babel/preset-react": "^7.24.7",
|
|
53
53
|
"@babel/preset-typescript": "^7.24.7",
|
|
54
|
+
"arktype": "^2.1.15",
|
|
54
55
|
"babel-plugin-module-resolver": "^5.0.2",
|
|
55
56
|
"browserslist": "^4.20.4",
|
|
56
57
|
"cross-spawn": "^7.0.3",
|
|
@@ -87,5 +88,5 @@
|
|
|
87
88
|
"mock-fs": "^5.2.0",
|
|
88
89
|
"mock-stdin": "^1.0.0"
|
|
89
90
|
},
|
|
90
|
-
"gitHead": "
|
|
91
|
+
"gitHead": "f1db236b9017176dd568ce89e2296be6b1a67e3c"
|
|
91
92
|
}
|