react-native-builder-bob 0.24.0 → 0.25.0-next.1
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/babel-preset.js +17 -2
- package/lib/babel.js +17 -7
- package/lib/babel.js.map +1 -1
- package/lib/index.js +59 -18
- package/lib/index.js.map +1 -1
- package/lib/targets/commonjs.js +1 -2
- package/lib/targets/commonjs.js.map +1 -1
- package/lib/targets/module.js +1 -2
- package/lib/targets/module.js.map +1 -1
- package/lib/targets/typescript.js +25 -10
- package/lib/targets/typescript.js.map +1 -1
- package/lib/utils/compile.js +38 -17
- package/lib/utils/compile.js.map +1 -1
- package/package.json +2 -2
package/babel-preset.js
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
const browserslist = require('browserslist');
|
|
4
4
|
|
|
5
5
|
module.exports = function (api, options, cwd) {
|
|
6
|
+
const cjs = options.modules === 'commonjs';
|
|
7
|
+
|
|
6
8
|
return {
|
|
7
9
|
presets: [
|
|
8
10
|
[
|
|
@@ -24,12 +26,25 @@ module.exports = function (api, options, cwd) {
|
|
|
24
26
|
node: '18',
|
|
25
27
|
},
|
|
26
28
|
useBuiltIns: false,
|
|
27
|
-
modules:
|
|
29
|
+
modules: cjs ? 'commonjs' : false,
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
[
|
|
33
|
+
require.resolve('@babel/preset-react'),
|
|
34
|
+
{
|
|
35
|
+
runtime: 'automatic',
|
|
28
36
|
},
|
|
29
37
|
],
|
|
30
|
-
require.resolve('@babel/preset-react'),
|
|
31
38
|
require.resolve('@babel/preset-typescript'),
|
|
32
39
|
require.resolve('@babel/preset-flow'),
|
|
33
40
|
],
|
|
41
|
+
plugins: [
|
|
42
|
+
[
|
|
43
|
+
require.resolve('./lib/babel'),
|
|
44
|
+
{
|
|
45
|
+
extension: cjs ? 'cjs' : 'mjs',
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
],
|
|
34
49
|
};
|
|
35
50
|
};
|
package/lib/babel.js
CHANGED
|
@@ -19,6 +19,14 @@ const isDirectory = filename => {
|
|
|
19
19
|
})?.isDirectory() ?? false;
|
|
20
20
|
return exists;
|
|
21
21
|
};
|
|
22
|
+
const isModule = (filename, ext) => {
|
|
23
|
+
const exts = ['ts', 'tsx', ext];
|
|
24
|
+
|
|
25
|
+
// Metro won't resolve these extensions if explicit extension is provided
|
|
26
|
+
// So we can't add extension to these files
|
|
27
|
+
const additional = ['native', 'android', 'ios', 'web'];
|
|
28
|
+
return exts.some(ext => isFile(`${filename}.${ext}`) && additional.every(add => !isFile(`${filename}.${add}.${ext}`)));
|
|
29
|
+
};
|
|
22
30
|
const isTypeImport = node => 'importKind' in node && node.importKind === 'type' || 'exportKind' in node && node.exportKind === 'type';
|
|
23
31
|
const assertFilename = filename => {
|
|
24
32
|
if (filename == null) {
|
|
@@ -66,18 +74,20 @@ function _default(api, {
|
|
|
66
74
|
// Skip folder imports
|
|
67
75
|
const filename = _path.default.resolve(_path.default.dirname(state.filename), node.source.value);
|
|
68
76
|
|
|
69
|
-
//
|
|
70
|
-
if (isFile(
|
|
71
|
-
node.source.value
|
|
77
|
+
// Replace .ts extension with .js if file with extension is explicitly imported
|
|
78
|
+
if (isFile(filename)) {
|
|
79
|
+
node.source.value = node.source.value.replace(/\.tsx?$/, `.${extension}`);
|
|
72
80
|
return;
|
|
73
81
|
}
|
|
74
82
|
|
|
75
|
-
//
|
|
76
|
-
if (
|
|
77
|
-
node.source.value
|
|
83
|
+
// Add extension if .ts file or file with extension exists
|
|
84
|
+
if (isModule(filename, extension)) {
|
|
85
|
+
node.source.value += `.${extension}`;
|
|
78
86
|
return;
|
|
79
87
|
}
|
|
80
|
-
|
|
88
|
+
|
|
89
|
+
// Expand folder imports to index and add extension
|
|
90
|
+
if (isDirectory(filename) && isModule(_path.default.join(filename, 'index'), extension)) {
|
|
81
91
|
node.source.value = node.source.value.replace(/\/?$/, `/index.${extension}`);
|
|
82
92
|
return;
|
|
83
93
|
}
|
package/lib/babel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"babel.js","names":["_fs","_interopRequireDefault","require","_path","obj","__esModule","default","isFile","filename","exists","fs","lstatSync","throwIfNoEntry","isDirectory","isTypeImport","node","importKind","exportKind","assertFilename","Error","_default","api","alias","extension","assertVersion","aliasImports","state","source","value","root","cwd","key","Object","entries","startsWith","resolved","path","relative","dirname","resolve","replace","addExtension","join","name","visitor","ImportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"],"sources":["../src/babel.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport type { ConfigAPI, NodePath, PluginObj, PluginPass } from '@babel/core';\nimport type {\n ImportDeclaration,\n ExportAllDeclaration,\n ExportNamedDeclaration,\n} from '@babel/types';\n\ntype Options = {\n alias?: Record<string, string>;\n extension?: 'cjs' | 'mjs';\n};\n\nconst isFile = (filename: string): boolean => {\n const exists =\n fs.lstatSync(filename, { throwIfNoEntry: false })?.isFile() ?? false;\n\n return exists;\n};\n\nconst isDirectory = (filename: string): boolean => {\n const exists =\n fs.lstatSync(filename, { throwIfNoEntry: false })?.isDirectory() ?? false;\n\n return exists;\n};\n\nconst isTypeImport = (\n node: ImportDeclaration | ExportNamedDeclaration | ExportAllDeclaration\n) =>\n ('importKind' in node && node.importKind === 'type') ||\n ('exportKind' in node && node.exportKind === 'type');\n\nconst assertFilename: (\n filename: string | null | undefined\n) => asserts filename is string = (filename) => {\n if (filename == null) {\n throw new Error(\"Couldn't find a filename for the current file.\");\n }\n};\n\nexport default function (\n api: ConfigAPI,\n { alias, extension }: Options\n): PluginObj {\n api.assertVersion(7);\n\n function aliasImports(\n {\n node,\n }: NodePath<\n ImportDeclaration | ExportNamedDeclaration | ExportAllDeclaration\n >,\n state: PluginPass\n ) {\n if (\n alias == null ||\n // Skip type imports as they'll be removed\n isTypeImport(node) ||\n // Skip imports without a source\n !node.source?.value\n ) {\n return;\n }\n\n assertFilename(state.filename);\n\n const root = state.cwd;\n const source = node.source.value;\n\n for (const [key, value] of Object.entries(alias)) {\n if (source === key || source.startsWith(`${key}/`)) {\n const resolved = value.startsWith('.')\n ? path.relative(\n path.dirname(state.filename),\n path.resolve(root, value)\n )\n : value;\n\n node.source.value = source.replace(key, resolved);\n return;\n }\n }\n }\n\n function addExtension(\n {\n node,\n }: NodePath<\n ImportDeclaration | ExportNamedDeclaration | ExportAllDeclaration\n >,\n state: PluginPass\n ) {\n if (\n extension == null ||\n // Skip type imports as they'll be removed\n isTypeImport(node) ||\n // Skip non-relative imports\n !node.source?.value.startsWith('.')\n ) {\n return;\n }\n\n assertFilename(state.filename);\n\n // Skip folder imports\n const filename = path.resolve(\n path.dirname(state.filename),\n node.source.value\n );\n\n //
|
|
1
|
+
{"version":3,"file":"babel.js","names":["_fs","_interopRequireDefault","require","_path","obj","__esModule","default","isFile","filename","exists","fs","lstatSync","throwIfNoEntry","isDirectory","isModule","ext","exts","additional","some","every","add","isTypeImport","node","importKind","exportKind","assertFilename","Error","_default","api","alias","extension","assertVersion","aliasImports","state","source","value","root","cwd","key","Object","entries","startsWith","resolved","path","relative","dirname","resolve","replace","addExtension","join","name","visitor","ImportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"],"sources":["../src/babel.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport type { ConfigAPI, NodePath, PluginObj, PluginPass } from '@babel/core';\nimport type {\n ImportDeclaration,\n ExportAllDeclaration,\n ExportNamedDeclaration,\n} from '@babel/types';\n\ntype Options = {\n alias?: Record<string, string>;\n extension?: 'cjs' | 'mjs';\n};\n\nconst isFile = (filename: string): boolean => {\n const exists =\n fs.lstatSync(filename, { throwIfNoEntry: false })?.isFile() ?? false;\n\n return exists;\n};\n\nconst isDirectory = (filename: string): boolean => {\n const exists =\n fs.lstatSync(filename, { throwIfNoEntry: false })?.isDirectory() ?? false;\n\n return exists;\n};\n\nconst isModule = (filename: string, ext: string): boolean => {\n const exts = ['ts', 'tsx', ext];\n\n // Metro won't resolve these extensions if explicit extension is provided\n // So we can't add extension to these files\n const additional = ['native', 'android', 'ios', 'web'];\n\n return exts.some(\n (ext) =>\n isFile(`${filename}.${ext}`) &&\n additional.every((add) => !isFile(`${filename}.${add}.${ext}`))\n );\n};\n\nconst isTypeImport = (\n node: ImportDeclaration | ExportNamedDeclaration | ExportAllDeclaration\n) =>\n ('importKind' in node && node.importKind === 'type') ||\n ('exportKind' in node && node.exportKind === 'type');\n\nconst assertFilename: (\n filename: string | null | undefined\n) => asserts filename is string = (filename) => {\n if (filename == null) {\n throw new Error(\"Couldn't find a filename for the current file.\");\n }\n};\n\nexport default function (\n api: ConfigAPI,\n { alias, extension }: Options\n): PluginObj {\n api.assertVersion(7);\n\n function aliasImports(\n {\n node,\n }: NodePath<\n ImportDeclaration | ExportNamedDeclaration | ExportAllDeclaration\n >,\n state: PluginPass\n ) {\n if (\n alias == null ||\n // Skip type imports as they'll be removed\n isTypeImport(node) ||\n // Skip imports without a source\n !node.source?.value\n ) {\n return;\n }\n\n assertFilename(state.filename);\n\n const root = state.cwd;\n const source = node.source.value;\n\n for (const [key, value] of Object.entries(alias)) {\n if (source === key || source.startsWith(`${key}/`)) {\n const resolved = value.startsWith('.')\n ? path.relative(\n path.dirname(state.filename),\n path.resolve(root, value)\n )\n : value;\n\n node.source.value = source.replace(key, resolved);\n return;\n }\n }\n }\n\n function addExtension(\n {\n node,\n }: NodePath<\n ImportDeclaration | ExportNamedDeclaration | ExportAllDeclaration\n >,\n state: PluginPass\n ) {\n if (\n extension == null ||\n // Skip type imports as they'll be removed\n isTypeImport(node) ||\n // Skip non-relative imports\n !node.source?.value.startsWith('.')\n ) {\n return;\n }\n\n assertFilename(state.filename);\n\n // Skip folder imports\n const filename = path.resolve(\n path.dirname(state.filename),\n node.source.value\n );\n\n // Replace .ts extension with .js if file with extension is explicitly imported\n if (isFile(filename)) {\n node.source.value = node.source.value.replace(/\\.tsx?$/, `.${extension}`);\n return;\n }\n\n // Add extension if .ts file or file with extension exists\n if (isModule(filename, extension)) {\n node.source.value += `.${extension}`;\n return;\n }\n\n // Expand folder imports to index and add extension\n if (\n isDirectory(filename) &&\n isModule(path.join(filename, 'index'), extension)\n ) {\n node.source.value = node.source.value.replace(\n /\\/?$/,\n `/index.${extension}`\n );\n return;\n }\n }\n\n return {\n name: '@builder-bob/babel-plugin',\n visitor: {\n ImportDeclaration(path, state) {\n aliasImports(path, state);\n addExtension(path, state);\n },\n ExportNamedDeclaration(path, state) {\n aliasImports(path, state);\n addExtension(path, state);\n },\n ExportAllDeclaration(path, state) {\n aliasImports(path, state);\n addExtension(path, state);\n },\n },\n };\n}\n"],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -32,7 +32,7 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
|
|
|
32
32
|
} = await (0, _prompts.default)({
|
|
33
33
|
type: 'confirm',
|
|
34
34
|
name: 'shouldContinue',
|
|
35
|
-
message: `The working directory is not clean
|
|
35
|
+
message: `The working directory is not clean.\n You should commit or stash your changes before configuring bob.\n Continue anyway?`,
|
|
36
36
|
initial: false
|
|
37
37
|
});
|
|
38
38
|
if (!shouldContinue) {
|
|
@@ -41,7 +41,7 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
|
|
|
41
41
|
}
|
|
42
42
|
const pak = _path.default.join(root, 'package.json');
|
|
43
43
|
if (!(await _fsExtra.default.pathExists(pak))) {
|
|
44
|
-
logger.exit(`Couldn't find a 'package.json' file in '${root}'
|
|
44
|
+
logger.exit(`Couldn't find a 'package.json' file in '${root}'.\n Are you in a project folder?`);
|
|
45
45
|
}
|
|
46
46
|
const pkg = JSON.parse(await _fsExtra.default.readFile(pak, 'utf-8'));
|
|
47
47
|
const result = explorer.search();
|
|
@@ -51,7 +51,7 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
|
|
|
51
51
|
} = await (0, _prompts.default)({
|
|
52
52
|
type: 'confirm',
|
|
53
53
|
name: 'shouldContinue',
|
|
54
|
-
message: `The project seems to be already configured with bob
|
|
54
|
+
message: `The project seems to be already configured with bob.\n Do you want to overwrite the existing configuration?`,
|
|
55
55
|
initial: false
|
|
56
56
|
});
|
|
57
57
|
if (!shouldContinue) {
|
|
@@ -76,7 +76,7 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
|
|
|
76
76
|
entryFile = 'index.tsx';
|
|
77
77
|
}
|
|
78
78
|
if (!entryFile) {
|
|
79
|
-
logger.exit(`Couldn't find a 'index.js'. 'index.ts' or 'index.tsx' file under '${source}'
|
|
79
|
+
logger.exit(`Couldn't find a 'index.js'. 'index.ts' or 'index.tsx' file under '${source}'.\n Please re-run the CLI after creating it.`);
|
|
80
80
|
return;
|
|
81
81
|
}
|
|
82
82
|
pkg.devDependencies = Object.fromEntries([...Object.entries(pkg.devDependencies || {}), [name, `^${version}`]].sort(([a], [b]) => a.localeCompare(b)));
|
|
@@ -120,22 +120,21 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
|
|
|
120
120
|
} = await (0, _prompts.default)(questions);
|
|
121
121
|
const target = targets[0] === 'commonjs' || targets[0] === 'module' ? targets[0] : undefined;
|
|
122
122
|
const entries = {
|
|
123
|
-
|
|
124
|
-
'
|
|
125
|
-
'source': _path.default.join(source, entryFile)
|
|
123
|
+
source: `./${_path.default.join(source, entryFile)}`,
|
|
124
|
+
main: `./${target ? _path.default.join(output, target, 'index.cjs') : _path.default.join(source, entryFile)}`
|
|
126
125
|
};
|
|
127
126
|
if (targets.includes('module')) {
|
|
128
|
-
entries.module = _path.default.join(output, 'module', 'index.
|
|
127
|
+
entries.module = `./${_path.default.join(output, 'module', 'index.mjs')}`;
|
|
129
128
|
}
|
|
130
129
|
if (targets.includes('typescript')) {
|
|
131
|
-
entries.types = _path.default.join(output, 'typescript', source, 'index.d.ts')
|
|
130
|
+
entries.types = `./${_path.default.join(output, 'typescript', source, 'index.d.ts')}`;
|
|
132
131
|
if (!(await _fsExtra.default.pathExists(_path.default.join(root, 'tsconfig.json')))) {
|
|
133
132
|
const {
|
|
134
133
|
tsconfig
|
|
135
134
|
} = await (0, _prompts.default)({
|
|
136
135
|
type: 'confirm',
|
|
137
136
|
name: 'tsconfig',
|
|
138
|
-
message: `You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root
|
|
137
|
+
message: `You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root.\n Generate one?`,
|
|
139
138
|
initial: true
|
|
140
139
|
});
|
|
141
140
|
if (tsconfig) {
|
|
@@ -146,10 +145,10 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
|
|
|
146
145
|
allowUnusedLabels: false,
|
|
147
146
|
esModuleInterop: true,
|
|
148
147
|
forceConsistentCasingInFileNames: true,
|
|
149
|
-
jsx: 'react',
|
|
150
|
-
lib: ['
|
|
151
|
-
module: '
|
|
152
|
-
moduleResolution: '
|
|
148
|
+
jsx: 'react-jsx',
|
|
149
|
+
lib: ['ESNext'],
|
|
150
|
+
module: 'ESNext',
|
|
151
|
+
moduleResolution: 'Bundler',
|
|
153
152
|
noFallthroughCasesInSwitch: true,
|
|
154
153
|
noImplicitReturns: true,
|
|
155
154
|
noImplicitUseStrict: false,
|
|
@@ -160,7 +159,7 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
|
|
|
160
159
|
resolveJsonModule: true,
|
|
161
160
|
skipLibCheck: true,
|
|
162
161
|
strict: true,
|
|
163
|
-
target: '
|
|
162
|
+
target: 'ESNext',
|
|
164
163
|
verbatimModuleSyntax: true
|
|
165
164
|
}
|
|
166
165
|
}, {
|
|
@@ -179,7 +178,7 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
|
|
|
179
178
|
} = await (0, _prompts.default)({
|
|
180
179
|
type: 'confirm',
|
|
181
180
|
name: 'replace',
|
|
182
|
-
message: `Your package.json has the '${key}' field set to '${pkg[key]}'
|
|
181
|
+
message: `Your package.json has the '${key}' field set to '${pkg[key]}'.\n Do you want to replace it with '${entry}'?`,
|
|
183
182
|
initial: true
|
|
184
183
|
});
|
|
185
184
|
if (replace) {
|
|
@@ -189,13 +188,55 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
|
|
|
189
188
|
pkg[key] = entry;
|
|
190
189
|
}
|
|
191
190
|
}
|
|
191
|
+
if (Object.values(entries).some(entry => entry.endsWith('.mjs'))) {
|
|
192
|
+
let replace = false;
|
|
193
|
+
const exports = {
|
|
194
|
+
'.': {
|
|
195
|
+
...(entries.types ? {
|
|
196
|
+
types: entries.types
|
|
197
|
+
} : null),
|
|
198
|
+
...(entries.module ? {
|
|
199
|
+
import: entries.module
|
|
200
|
+
} : null),
|
|
201
|
+
...(entries.main ? {
|
|
202
|
+
require: entries.main
|
|
203
|
+
} : null)
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
if (pkg.exports && JSON.stringify(pkg.exports) !== JSON.stringify(exports)) {
|
|
207
|
+
replace = (await (0, _prompts.default)({
|
|
208
|
+
type: 'confirm',
|
|
209
|
+
name: 'replace',
|
|
210
|
+
message: `Your package.json has 'exports' field set.\n Do you want to replace it?`,
|
|
211
|
+
initial: true
|
|
212
|
+
})).replace;
|
|
213
|
+
} else {
|
|
214
|
+
replace = true;
|
|
215
|
+
}
|
|
216
|
+
if (replace) {
|
|
217
|
+
pkg.exports = exports;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
if (pkg['react-native'] && (pkg['react-native'].startsWith(source) || pkg['react-native'].startsWith(`./${source}`))) {
|
|
221
|
+
const {
|
|
222
|
+
remove
|
|
223
|
+
} = await (0, _prompts.default)({
|
|
224
|
+
type: 'confirm',
|
|
225
|
+
name: 'remove',
|
|
226
|
+
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?`,
|
|
227
|
+
initial: true
|
|
228
|
+
});
|
|
229
|
+
if (remove) {
|
|
230
|
+
delete pkg['react-native'];
|
|
231
|
+
}
|
|
232
|
+
}
|
|
192
233
|
if (pkg.scripts?.prepare && pkg.scripts.prepare !== prepare) {
|
|
193
234
|
const {
|
|
194
235
|
replace
|
|
195
236
|
} = await (0, _prompts.default)({
|
|
196
237
|
type: 'confirm',
|
|
197
238
|
name: 'replace',
|
|
198
|
-
message: `Your package.json has the 'scripts.prepare' field set to '${pkg.scripts.prepare}'
|
|
239
|
+
message: `Your package.json has the 'scripts.prepare' field set to '${pkg.scripts.prepare}'.\n Do you want to replace it with '${prepare}'?`,
|
|
199
240
|
initial: true
|
|
200
241
|
});
|
|
201
242
|
if (replace) {
|
|
@@ -211,7 +252,7 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
|
|
|
211
252
|
} = await (0, _prompts.default)({
|
|
212
253
|
type: 'confirm',
|
|
213
254
|
name: 'update',
|
|
214
|
-
message: `Your package.json already has a 'files' field
|
|
255
|
+
message: `Your package.json already has a 'files' field.\n Do you want to update it?`,
|
|
215
256
|
initial: true
|
|
216
257
|
});
|
|
217
258
|
if (update) {
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","_dedent","_yargs","_cosmiconfig","_isGitDirty","_prompts","logger","_interopRequireWildcard","_commonjs","_module","_typescript","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","name","version","root","process","cwd","explorer","cosmiconfigSync","searchPlaces","FLOW_PRGAMA_REGEX","yargs","command","isGitDirty","shouldContinue","prompts","type","message","initial","exit","pak","path","join","fs","pathExists","pkg","JSON","parse","readFile","result","search","config","devDependencies","source","validate","input","Boolean","entryFile","fromEntries","entries","sort","a","b","localeCompare","questions","choices","title","value","selected","test","length","endsWith","push","keys","includes","output","targets","flow","target","undefined","module","types","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","entry","replace","scripts","stringify","slice","update","filter","file","map","t","copyFlow","jest","modulePathIgnorePatterns","eslintIgnore","ignorefiles","ignorefile","content","split","writeFile","packageManager","console","log","dedent","kleur","yellow","magenta","bold","gray","argv","$0","options","relative","filepath","exclude","report","info","warn","error","success","targetName","Array","isArray","targetOptions","blue","buildCommonJS","resolve","buildModule","buildTypescript","demandCommand","recommendCommands"],"sources":["../src/index.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport dedent from 'dedent';\nimport yargs from 'yargs';\nimport { cosmiconfigSync } from 'cosmiconfig';\nimport isGitDirty from 'is-git-dirty';\nimport prompts, { type PromptObject } from './utils/prompts';\nimport * as logger from './utils/logger';\nimport buildCommonJS from './targets/commonjs';\nimport buildModule from './targets/module';\nimport buildTypescript from './targets/typescript';\nimport type { Options } from './types';\n\n// eslint-disable-next-line import/no-commonjs, @typescript-eslint/no-var-requires\nconst { name, version } = require('../package.json');\n\nconst root = process.cwd();\nconst explorer = cosmiconfigSync(name, {\n searchPlaces: ['package.json', `bob.config.js`, 'bob.config.cjs'],\n});\n\nconst FLOW_PRGAMA_REGEX = /\\*?\\s*@(flow)\\b/m;\n\nyargs\n .command('init', 'configure the package to use bob', {}, async () => {\n if (isGitDirty()) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The working directory is not clean. You should commit or stash your changes before configuring bob. Continue anyway?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n const pak = path.join(root, 'package.json');\n\n if (!(await fs.pathExists(pak))) {\n logger.exit(\n `Couldn't find a 'package.json' file in '${root}'. Are you in a project folder?`\n );\n }\n\n const pkg = JSON.parse(await fs.readFile(pak, 'utf-8'));\n const result = explorer.search();\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. 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 logger.exit(\n `Couldn't find a 'index.js'. 'index.ts' or 'index.tsx' file under '${source}'. Please re-run the CLI after creating it.`\n );\n return;\n }\n\n pkg.devDependencies = Object.fromEntries(\n [\n ...Object.entries(pkg.devDependencies || {}),\n [name, `^${version}`],\n ].sort(([a], [b]) => a.localeCompare(b))\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: 'commonjs - for running in Node (tests, SSR etc.)',\n value: 'commonjs',\n selected: true,\n },\n {\n title: 'module - for bundlers (metro, webpack etc.)',\n value: 'module',\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: { [key: string]: string } = {\n 'main': target\n ? path.join(output, target, 'index.js')\n : path.join(source, entryFile),\n 'react-native': path.join(source, entryFile),\n 'source': path.join(source, entryFile),\n };\n\n if (targets.includes('module')) {\n entries.module = path.join(output, 'module', 'index.js');\n }\n\n if (targets.includes('typescript')) {\n entries.types = path.join(output, 'typescript', source, 'index.d.ts');\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. 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',\n lib: ['esnext'],\n module: 'esnext',\n moduleResolution: 'node',\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 for (const key in entries) {\n const entry = entries[key];\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]}'. 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 (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}'. 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 (\n pkg.files &&\n JSON.stringify(pkg.files.slice().sort()) !==\n JSON.stringify(files.slice().sort())\n ) {\n const { update } = await prompts({\n type: 'confirm',\n name: 'update',\n message: `Your package.json already has a 'files' field. Do you want to update it?`,\n initial: true,\n });\n\n if (update) {\n pkg.files = [\n ...files,\n ...pkg.files.filter(\n (file: string) => !files.includes(file.replace(/\\/$/g, ''))\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 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(pak, 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 console.log(\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 .command('build', 'build files for publishing', {}, async (argv) => {\n const result = explorer.search();\n\n if (!result?.config) {\n logger.exit(\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 logger.exit(\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 logger.exit(\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 logger.exit(\n `No source option found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const exclude =\n options.exclude ?? '**/{__tests__,__fixtures__,__mocks__}/**';\n\n const report = {\n info: logger.info,\n warn: logger.warn,\n error: logger.error,\n success: logger.success,\n };\n\n for (const target of options.targets!) {\n const targetName = Array.isArray(target) ? target[0] : target;\n const targetOptions = Array.isArray(target) ? target[1] : undefined;\n\n report.info(`Building target ${kleur.blue(targetName)}`);\n\n switch (targetName) {\n case 'commonjs':\n await buildCommonJS({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'commonjs'),\n exclude,\n options: targetOptions,\n report,\n });\n break;\n case 'module':\n await buildModule({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'module'),\n exclude,\n options: targetOptions,\n report,\n });\n break;\n case 'typescript':\n await buildTypescript({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'typescript'),\n options: targetOptions,\n report,\n });\n break;\n default:\n logger.exit(`Invalid target ${kleur.blue(targetName)}.`);\n }\n }\n })\n .demandCommand()\n .recommendCommands()\n .strict().argv;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","_dedent","_yargs","_cosmiconfig","_isGitDirty","_prompts","logger","_interopRequireWildcard","_commonjs","_module","_typescript","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","name","version","root","process","cwd","explorer","cosmiconfigSync","searchPlaces","FLOW_PRGAMA_REGEX","yargs","command","isGitDirty","shouldContinue","prompts","type","message","initial","exit","pak","path","join","fs","pathExists","pkg","JSON","parse","readFile","result","search","config","devDependencies","source","validate","input","Boolean","entryFile","fromEntries","entries","sort","a","b","localeCompare","questions","choices","title","value","selected","test","length","endsWith","push","keys","includes","output","targets","flow","target","undefined","main","module","types","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","entry","replace","values","some","exports","import","stringify","startsWith","remove","scripts","slice","update","filter","file","map","t","copyFlow","jest","modulePathIgnorePatterns","eslintIgnore","ignorefiles","ignorefile","content","split","writeFile","packageManager","console","log","dedent","kleur","yellow","magenta","bold","gray","argv","$0","options","relative","filepath","exclude","report","info","warn","error","success","targetName","Array","isArray","targetOptions","blue","buildCommonJS","resolve","buildModule","buildTypescript","demandCommand","recommendCommands"],"sources":["../src/index.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport dedent from 'dedent';\nimport yargs from 'yargs';\nimport { cosmiconfigSync } from 'cosmiconfig';\nimport isGitDirty from 'is-git-dirty';\nimport prompts, { type PromptObject } from './utils/prompts';\nimport * as logger from './utils/logger';\nimport buildCommonJS from './targets/commonjs';\nimport buildModule from './targets/module';\nimport buildTypescript from './targets/typescript';\nimport type { Options } from './types';\n\n// eslint-disable-next-line import/no-commonjs, @typescript-eslint/no-var-requires\nconst { name, version } = require('../package.json');\n\nconst root = process.cwd();\nconst explorer = cosmiconfigSync(name, {\n searchPlaces: ['package.json', `bob.config.js`, 'bob.config.cjs'],\n});\n\nconst FLOW_PRGAMA_REGEX = /\\*?\\s*@(flow)\\b/m;\n\nyargs\n .command('init', 'configure the package to use bob', {}, async () => {\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 const pak = path.join(root, 'package.json');\n\n if (!(await fs.pathExists(pak))) {\n logger.exit(\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(pak, 'utf-8'));\n const result = explorer.search();\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 logger.exit(\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 return;\n }\n\n pkg.devDependencies = Object.fromEntries(\n [\n ...Object.entries(pkg.devDependencies || {}),\n [name, `^${version}`],\n ].sort(([a], [b]) => a.localeCompare(b))\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: 'commonjs - for running in Node (tests, SSR etc.)',\n value: 'commonjs',\n selected: true,\n },\n {\n title: 'module - for bundlers (metro, webpack etc.)',\n value: 'module',\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' | 'main' | 'module' | 'types']?: string;\n } = {\n source: `./${path.join(source, entryFile)}`,\n main: `./${\n target\n ? path.join(output, target, 'index.cjs')\n : path.join(source, entryFile)\n }`,\n };\n\n if (targets.includes('module')) {\n entries.module = `./${path.join(output, 'module', 'index.mjs')}`;\n }\n\n if (targets.includes('typescript')) {\n entries.types = `./${path.join(\n output,\n 'typescript',\n source,\n 'index.d.ts'\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 for (const key in entries) {\n const entry = entries[key as keyof typeof entries];\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 (Object.values(entries).some((entry) => entry.endsWith('.mjs'))) {\n let replace = false;\n\n const exports = {\n '.': {\n ...(entries.types ? { types: entries.types } : null),\n ...(entries.module ? { import: entries.module } : null),\n ...(entries.main ? { require: entries.main } : null),\n },\n };\n\n if (\n pkg.exports &&\n JSON.stringify(pkg.exports) !== JSON.stringify(exports)\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 = exports;\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 (\n pkg.files &&\n JSON.stringify(pkg.files.slice().sort()) !==\n JSON.stringify(files.slice().sort())\n ) {\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(\n (file: string) => !files.includes(file.replace(/\\/$/g, ''))\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 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(pak, 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 console.log(\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 .command('build', 'build files for publishing', {}, async (argv) => {\n const result = explorer.search();\n\n if (!result?.config) {\n logger.exit(\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 logger.exit(\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 logger.exit(\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 logger.exit(\n `No source option found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const exclude =\n options.exclude ?? '**/{__tests__,__fixtures__,__mocks__}/**';\n\n const report = {\n info: logger.info,\n warn: logger.warn,\n error: logger.error,\n success: logger.success,\n };\n\n for (const target of options.targets!) {\n const targetName = Array.isArray(target) ? target[0] : target;\n const targetOptions = Array.isArray(target) ? target[1] : undefined;\n\n report.info(`Building target ${kleur.blue(targetName)}`);\n\n switch (targetName) {\n case 'commonjs':\n await buildCommonJS({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'commonjs'),\n exclude,\n options: targetOptions,\n report,\n });\n break;\n case 'module':\n await buildModule({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'module'),\n exclude,\n options: targetOptions,\n report,\n });\n break;\n case 'typescript':\n await buildTypescript({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'typescript'),\n options: targetOptions,\n report,\n });\n break;\n default:\n logger.exit(`Invalid target ${kleur.blue(targetName)}.`);\n }\n }\n })\n .demandCommand()\n .recommendCommands()\n .strict().argv;\n"],"mappings":"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"}
|
package/lib/targets/commonjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commonjs.js","names":["_path","_interopRequireDefault","require","_kleur","_del","_compile","obj","__esModule","default","build","root","source","output","exclude","options","report","info","kleur","blue","path","relative","del","compile","modules"
|
|
1
|
+
{"version":3,"file":"commonjs.js","names":["_path","_interopRequireDefault","require","_kleur","_del","_compile","obj","__esModule","default","build","root","source","output","exclude","options","report","info","kleur","blue","path","relative","del","compile","modules"],"sources":["../../src/targets/commonjs.ts"],"sourcesContent":["import path from 'path';\nimport kleur from 'kleur';\nimport del from 'del';\nimport compile from '../utils/compile';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n options?: {\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n };\n exclude: string;\n};\n\nexport default async function build({\n root,\n source,\n output,\n exclude,\n options,\n report,\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 await compile({\n ...options,\n root,\n source,\n output,\n exclude,\n modules: 'commonjs',\n report,\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,IAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAaxB,eAAeG,KAAKA,CAAC;EAClCC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC;AACO,CAAC,EAAE;EACVA,MAAM,CAACC,IAAI,CACR,iCAAgCC,cAAK,CAACC,IAAI,CAACC,aAAI,CAACC,QAAQ,CAACV,IAAI,EAAEE,MAAM,CAAC,CAAE,EAC3E,CAAC;EAED,MAAM,IAAAS,YAAG,EAAC,CAACT,MAAM,CAAC,CAAC;EAEnB,MAAM,IAAAU,gBAAO,EAAC;IACZ,GAAGR,OAAO;IACVJ,IAAI;IACJC,MAAM;IACNC,MAAM;IACNC,OAAO;IACPU,OAAO,EAAE,UAAU;IACnBR;EACF,CAAC,CAAC;AACJ"}
|
package/lib/targets/module.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","names":["_path","_interopRequireDefault","require","_kleur","_del","_compile","obj","__esModule","default","build","root","source","output","exclude","options","report","info","kleur","blue","path","relative","del","compile","modules"
|
|
1
|
+
{"version":3,"file":"module.js","names":["_path","_interopRequireDefault","require","_kleur","_del","_compile","obj","__esModule","default","build","root","source","output","exclude","options","report","info","kleur","blue","path","relative","del","compile","modules"],"sources":["../../src/targets/module.ts"],"sourcesContent":["import path from 'path';\nimport kleur from 'kleur';\nimport del from 'del';\nimport compile from '../utils/compile';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n options?: {\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n };\n exclude: string;\n};\n\nexport default async function build({\n root,\n source,\n output,\n exclude,\n options,\n report,\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 await compile({\n ...options,\n root,\n source,\n output,\n exclude,\n modules: false,\n report,\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,IAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAaxB,eAAeG,KAAKA,CAAC;EAClCC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC;AACO,CAAC,EAAE;EACVA,MAAM,CAACC,IAAI,CACR,iCAAgCC,cAAK,CAACC,IAAI,CAACC,aAAI,CAACC,QAAQ,CAACV,IAAI,EAAEE,MAAM,CAAC,CAAE,EAC3E,CAAC;EAED,MAAM,IAAAS,YAAG,EAAC,CAACT,MAAM,CAAC,CAAC;EAEnB,MAAM,IAAAU,gBAAO,EAAC;IACZ,GAAGR,OAAO;IACVJ,IAAI;IACJC,MAAM;IACNC,MAAM;IACNC,OAAO;IACPU,OAAO,EAAE,KAAK;IACdR;EACF,CAAC,CAAC;AACJ"}
|
|
@@ -115,19 +115,34 @@ async function build({
|
|
|
115
115
|
}
|
|
116
116
|
return null;
|
|
117
117
|
};
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
118
|
+
const fields = [{
|
|
119
|
+
name: 'types',
|
|
120
|
+
value: pkg.types
|
|
121
|
+
}, {
|
|
122
|
+
name: "exports['.'].types",
|
|
123
|
+
value: pkg.exports?.['.']?.types
|
|
124
|
+
}];
|
|
125
|
+
if (fields.some(field => field.value)) {
|
|
126
|
+
await Promise.all(fields.map(async ({
|
|
127
|
+
name,
|
|
128
|
+
value
|
|
129
|
+
}) => {
|
|
130
|
+
if (!value) {
|
|
131
|
+
return;
|
|
124
132
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
133
|
+
const typesPath = _path.default.join(root, value);
|
|
134
|
+
if (!(await _fsExtra.default.pathExists(typesPath))) {
|
|
135
|
+
const generatedTypesPath = await getGeneratedTypesPath();
|
|
136
|
+
if (!generatedTypesPath) {
|
|
137
|
+
report.warn(`Failed to detect the entry point for the generated types. Make sure you have a valid ${_kleur.default.blue('source')} field in your ${_kleur.default.blue('package.json')}.`);
|
|
138
|
+
}
|
|
139
|
+
report.error(`The ${_kleur.default.blue(name)} field in ${_kleur.default.blue('package.json')} points to a non-existent file: ${_kleur.default.blue(value)}.\nVerify the path points to the correct file under ${_kleur.default.blue(_path.default.relative(root, output))}${generatedTypesPath ? ` (found ${_kleur.default.blue(generatedTypesPath)}).` : '.'}`);
|
|
140
|
+
throw new Error(`Found incorrect path in '${name}' field.`);
|
|
141
|
+
}
|
|
142
|
+
}));
|
|
128
143
|
} else {
|
|
129
144
|
const generatedTypesPath = await getGeneratedTypesPath();
|
|
130
|
-
report.warn(`No ${_kleur.default.blue('
|
|
145
|
+
report.warn(`No ${_kleur.default.blue(fields.map(field => field.name).join(' or '))} field found in ${_kleur.default.blue('package.json')}.\nConsider ${generatedTypesPath ? `pointing it to ${_kleur.default.blue(generatedTypesPath)}` : 'adding it'} so that consumers of your package can use the types.`);
|
|
131
146
|
}
|
|
132
147
|
} else {
|
|
133
148
|
throw new Error('Failed to build definition files.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript.js","names":["_kleur","_interopRequireDefault","require","_path","_fsExtra","_which","_crossSpawn","_del","_json","_os","obj","__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","noEmit","undefined","push","emitDeclarationOnly","declarationDir","outDir","length","warn","reduce","acc","curr","gray","yellow","e","Error","tsc","resolve","execpath","process","env","npm_execpath","cli","split","pop","includes","result","spawn","sync","stdio","encoding","cwd","stdout","trim","platform","endsWith","which","tsbuildinfo","replace","status","success","pkg","JSON","getGeneratedTypesPath","indexDTsName","basename","potentialPaths","dirname","potentialPath","typesPath","types","generatedTypesPath","error","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?: { project?: string; tsc?: string };\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.noEmit !== undefined) {\n conflicts.push('compilerOptions.noEmit');\n }\n\n if (config.compilerOptions.emitDeclarationOnly !== undefined) {\n conflicts.push('compilerOptions.emitDeclarationOnly');\n }\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 tsbuildinfo = path.join(\n output,\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 '--emitDeclarationOnly',\n '--project',\n project,\n '--outDir',\n output,\n ],\n {\n stdio: 'inherit',\n cwd: root,\n }\n );\n\n if (result.status === 0) {\n await del([tsbuildinfo]);\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 getGeneratedTypesPath = async () => {\n if (pkg.source) {\n const indexDTsName =\n path.basename(pkg.source).replace(/\\.(jsx?|tsx?)$/, '') + '.d.ts';\n\n const potentialPaths = [\n path.join(output, path.dirname(pkg.source), indexDTsName),\n path.join(\n output,\n path.dirname(path.relative(source, path.join(root, 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 if ('types' in pkg) {\n const typesPath = path.join(root, pkg.types);\n\n if (!(await fs.pathExists(typesPath))) {\n const generatedTypesPath = await getGeneratedTypesPath();\n\n if (!generatedTypesPath) {\n report.warn(\n `Failed to detect the entry point for the generated types. 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('types')} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n pkg.types\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 throw new Error(\"Found incorrect path in 'types' field.\");\n }\n } else {\n const generatedTypesPath = await getGeneratedTypesPath();\n\n report.warn(\n `No ${kleur.blue('types')} field found in ${kleur.blue(\n 'package.json'\n )}.\\nConsider ${\n generatedTypesPath\n ? `pointing it to ${kleur.blue(generatedTypesPath)}`\n : 'adding it'\n } so that consumers of your package can use the types.`\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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"}
|
|
1
|
+
{"version":3,"file":"typescript.js","names":["_kleur","_interopRequireDefault","require","_path","_fsExtra","_which","_crossSpawn","_del","_json","_os","obj","__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","noEmit","undefined","push","emitDeclarationOnly","declarationDir","outDir","length","warn","reduce","acc","curr","gray","yellow","e","Error","tsc","resolve","execpath","process","env","npm_execpath","cli","split","pop","includes","result","spawn","sync","stdio","encoding","cwd","stdout","trim","platform","endsWith","which","tsbuildinfo","replace","status","success","pkg","JSON","getGeneratedTypesPath","indexDTsName","basename","potentialPaths","dirname","potentialPath","fields","name","value","types","exports","some","field","Promise","all","map","typesPath","generatedTypesPath","error","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?: { project?: string; tsc?: string };\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.noEmit !== undefined) {\n conflicts.push('compilerOptions.noEmit');\n }\n\n if (config.compilerOptions.emitDeclarationOnly !== undefined) {\n conflicts.push('compilerOptions.emitDeclarationOnly');\n }\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 tsbuildinfo = path.join(\n output,\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 '--emitDeclarationOnly',\n '--project',\n project,\n '--outDir',\n output,\n ],\n {\n stdio: 'inherit',\n cwd: root,\n }\n );\n\n if (result.status === 0) {\n await del([tsbuildinfo]);\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 getGeneratedTypesPath = async () => {\n if (pkg.source) {\n const indexDTsName =\n path.basename(pkg.source).replace(/\\.(jsx?|tsx?)$/, '') + '.d.ts';\n\n const potentialPaths = [\n path.join(output, path.dirname(pkg.source), indexDTsName),\n path.join(\n output,\n path.dirname(path.relative(source, path.join(root, 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 fields = [\n { name: 'types', value: pkg.types },\n { name: \"exports['.'].types\", value: pkg.exports?.['.']?.types },\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 const typesPath = path.join(root, value);\n\n if (!(await fs.pathExists(typesPath))) {\n const generatedTypesPath = await getGeneratedTypesPath();\n\n if (!generatedTypesPath) {\n report.warn(\n `Failed to detect the entry point for the generated types. 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 generatedTypesPath\n ? ` (found ${kleur.blue(generatedTypesPath)}).`\n : '.'\n }`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n })\n );\n } else {\n const generatedTypesPath = await getGeneratedTypesPath();\n\n report.warn(\n `No ${kleur.blue(\n fields.map((field) => field.name).join(' or ')\n )} field found in ${kleur.blue('package.json')}.\\nConsider ${\n generatedTypesPath\n ? `pointing it to ${kleur.blue(generatedTypesPath)}`\n : 'adding it'\n } so that consumers of your package can use the types.`\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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"}
|
package/lib/utils/compile.js
CHANGED
|
@@ -22,8 +22,7 @@ async function compile({
|
|
|
22
22
|
modules,
|
|
23
23
|
copyFlow,
|
|
24
24
|
sourceMaps = true,
|
|
25
|
-
report
|
|
26
|
-
field
|
|
25
|
+
report
|
|
27
26
|
}) {
|
|
28
27
|
const files = _glob.default.sync('**/*', {
|
|
29
28
|
cwd: source,
|
|
@@ -38,8 +37,9 @@ async function compile({
|
|
|
38
37
|
report.warn(`The ${_kleur.default.blue('copyFlow')} option was specified, but couldn't find ${_kleur.default.blue('flow-bin')} in ${_kleur.default.blue('package.json')}.\nIf the project is using ${_kleur.default.blue('flow')}, then make sure you have added ${_kleur.default.blue('flow-bin')} to your ${_kleur.default.blue('devDependencies')}, otherwise remove the ${_kleur.default.blue('copyFlow')} option.`);
|
|
39
38
|
}
|
|
40
39
|
}
|
|
40
|
+
const outputExtension = modules === 'commonjs' ? '.cjs' : '.mjs';
|
|
41
41
|
await Promise.all(files.map(async filepath => {
|
|
42
|
-
const outputFilename = _path.default.join(output, _path.default.relative(source, filepath)).replace(/\.(jsx?|tsx?)$/,
|
|
42
|
+
const outputFilename = _path.default.join(output, _path.default.relative(source, filepath)).replace(/\.(jsx?|tsx?)$/, outputExtension);
|
|
43
43
|
await _fsExtra.default.mkdirp(_path.default.dirname(outputFilename));
|
|
44
44
|
if (!/\.(jsx?|tsx?)$/.test(filepath)) {
|
|
45
45
|
// Copy files which aren't source code
|
|
@@ -81,7 +81,7 @@ async function compile({
|
|
|
81
81
|
report.success(`Wrote files to ${_kleur.default.blue(_path.default.relative(root, output))}`);
|
|
82
82
|
const getGeneratedEntryPath = async () => {
|
|
83
83
|
if (pkg.source) {
|
|
84
|
-
const indexName = _path.default.basename(pkg.source).replace(/\.(jsx?|tsx?)$/, '') +
|
|
84
|
+
const indexName = _path.default.basename(pkg.source).replace(/\.(jsx?|tsx?)$/, '') + outputExtension;
|
|
85
85
|
const potentialPath = _path.default.join(output, _path.default.dirname(_path.default.relative(source, _path.default.join(root, pkg.source))), indexName);
|
|
86
86
|
if (await _fsExtra.default.pathExists(potentialPath)) {
|
|
87
87
|
return _path.default.relative(root, potentialPath);
|
|
@@ -89,23 +89,44 @@ async function compile({
|
|
|
89
89
|
}
|
|
90
90
|
return null;
|
|
91
91
|
};
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
92
|
+
const fields = modules === 'commonjs' ? [{
|
|
93
|
+
name: 'main',
|
|
94
|
+
value: pkg.main
|
|
95
|
+
}, {
|
|
96
|
+
name: "exports['.'].require",
|
|
97
|
+
value: pkg.exports?.['.']?.require
|
|
98
|
+
}] : [{
|
|
99
|
+
name: 'module',
|
|
100
|
+
value: pkg.module
|
|
101
|
+
}, {
|
|
102
|
+
name: "exports['.'].import",
|
|
103
|
+
value: pkg.exports?.['.']?.import
|
|
104
|
+
}];
|
|
105
|
+
if (fields.some(field => field.value)) {
|
|
106
|
+
await Promise.all(fields.map(async ({
|
|
107
|
+
name,
|
|
108
|
+
value
|
|
109
|
+
}) => {
|
|
110
|
+
if (!value) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
try {
|
|
114
|
+
require.resolve(_path.default.join(root, value));
|
|
115
|
+
} catch (e) {
|
|
116
|
+
if (e != null && typeof e === 'object' && 'code' in e && e.code === 'MODULE_NOT_FOUND') {
|
|
117
|
+
const generatedEntryPath = await getGeneratedEntryPath();
|
|
118
|
+
if (!generatedEntryPath) {
|
|
119
|
+
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')}.`);
|
|
120
|
+
}
|
|
121
|
+
report.error(`The ${_kleur.default.blue(name)} field in ${_kleur.default.blue('package.json')} points to a non-existent file: ${_kleur.default.blue(value)}.\nVerify the path points to the correct file under ${_kleur.default.blue(_path.default.relative(root, output))}${generatedEntryPath ? ` (found ${_kleur.default.blue(generatedEntryPath)}).` : '.'}`);
|
|
122
|
+
throw new Error(`Found incorrect path in '${name}' field.`);
|
|
100
123
|
}
|
|
101
|
-
|
|
102
|
-
throw new Error(`Found incorrect path in '${field}' field.`);
|
|
124
|
+
throw e;
|
|
103
125
|
}
|
|
104
|
-
|
|
105
|
-
}
|
|
126
|
+
}));
|
|
106
127
|
} else {
|
|
107
128
|
const generatedEntryPath = await getGeneratedEntryPath();
|
|
108
|
-
report.warn(`No ${_kleur.default.blue(field)} field found in ${_kleur.default.blue('package.json')}. Consider ${generatedEntryPath ? `pointing it to ${_kleur.default.blue(generatedEntryPath)}` : 'adding it'} so that consumers of your package can use it.`);
|
|
129
|
+
report.warn(`No ${_kleur.default.blue(fields.map(field => field.name).join(' or '))} field found in ${_kleur.default.blue('package.json')}. Consider ${generatedEntryPath ? `pointing it to ${_kleur.default.blue(generatedEntryPath)}` : 'adding it'} so that consumers of your package can use it.`);
|
|
109
130
|
}
|
|
110
131
|
}
|
|
111
132
|
//# sourceMappingURL=compile.js.map
|
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","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","compile","root","source","output","babelrc","configFile","exclude","modules","copyFlow","sourceMaps","report","field","files","glob","sync","cwd","absolute","nodir","ignore","info","kleur","blue","String","length","path","relative","pkg","JSON","parse","fs","readFile","join","keys","devDependencies","includes","warn","Promise","all","map","filepath","outputFilename","replace","mkdirp","dirname","test","copy","content","result","transformAsync","sourceRoot","sourceFileName","filename","presets","resolve","Error","code","mapFilename","basename","sourcesContent","undefined","writeJSON","writeFile","success","getGeneratedEntryPath","indexName","potentialPath","pathExists","e","generatedEntryPath","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 } from '../types';\n\ntype Options = Input & {\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n modules: 'commonjs' | false;\n field: 'main' | 'module';\n exclude: string;\n};\n\nexport default async function compile({\n root,\n source,\n output,\n babelrc = false,\n configFile = false,\n exclude,\n modules,\n copyFlow,\n sourceMaps = true,\n report,\n field,\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 Promise.all(\n files.map(async (filepath) => {\n const outputFilename = path\n .join(output, path.relative(source, filepath))\n .replace(/\\.(jsx?|tsx?)$/, '.js');\n\n await fs.mkdirp(path.dirname(outputFilename));\n\n if (!/\\.(jsx?|tsx?)$/.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 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'), { modules }]],\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 const indexName =\n path.basename(pkg.source).replace(/\\.(jsx?|tsx?)$/, '') + '.js';\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 return null;\n };\n\n if (field in pkg) {\n try {\n require.resolve(path.join(root, pkg[field]));\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(field)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n pkg[field]\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 '${field}' field.`);\n }\n\n throw e;\n }\n } else {\n const generatedEntryPath = await getGeneratedEntryPath();\n\n report.warn(\n `No ${kleur.blue(field)} field found in ${kleur.blue(\n 'package.json'\n )}. Consider ${\n generatedEntryPath\n ? `pointing it to ${kleur.blue(generatedEntryPath)}`\n : 'adding it'\n } so that consumers of your package can use it.`\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compile.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","babel","_interopRequireWildcard","_glob","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","compile","root","source","output","babelrc","configFile","exclude","modules","copyFlow","sourceMaps","report","files","glob","sync","cwd","absolute","nodir","ignore","info","kleur","blue","String","length","path","relative","pkg","JSON","parse","fs","readFile","join","keys","devDependencies","includes","warn","outputExtension","Promise","all","map","filepath","outputFilename","replace","mkdirp","dirname","test","copy","content","result","transformAsync","sourceRoot","sourceFileName","filename","presets","resolve","Error","code","mapFilename","basename","sourcesContent","undefined","writeJSON","writeFile","success","getGeneratedEntryPath","indexName","potentialPath","pathExists","fields","name","value","main","exports","module","import","some","field","e","generatedEntryPath","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 } from '../types';\n\ntype Options = Input & {\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n modules: 'commonjs' | false;\n exclude: string;\n};\n\nexport default async function compile({\n root,\n source,\n output,\n babelrc = false,\n configFile = false,\n exclude,\n modules,\n copyFlow,\n sourceMaps = true,\n report,\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 const outputExtension = modules === 'commonjs' ? '.cjs' : '.mjs';\n\n await Promise.all(\n files.map(async (filepath) => {\n const outputFilename = path\n .join(output, path.relative(source, filepath))\n .replace(/\\.(jsx?|tsx?)$/, outputExtension);\n\n await fs.mkdirp(path.dirname(outputFilename));\n\n if (!/\\.(jsx?|tsx?)$/.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 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'), { modules }]],\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 const indexName =\n path.basename(pkg.source).replace(/\\.(jsx?|tsx?)$/, '') +\n outputExtension;\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 return null;\n };\n\n const fields =\n modules === 'commonjs'\n ? [\n { name: 'main', value: pkg.main },\n { name: \"exports['.'].require\", value: pkg.exports?.['.']?.require },\n ]\n : [\n { name: 'module', value: pkg.module },\n { name: \"exports['.'].import\", value: pkg.exports?.['.']?.import },\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 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 ${kleur.blue(\n fields.map((field) => field.name).join(' or ')\n )} field found in ${kleur.blue('package.json')}. Consider ${\n generatedEntryPath\n ? `pointing it to ${kleur.blue(generatedEntryPath)}`\n : 'adding it'\n } so that consumers of your package can use it.`\n );\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-builder-bob",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.25.0-next.1",
|
|
4
4
|
"description": "CLI to build JavaScript files for React Native libraries",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"concurrently": "^7.2.2",
|
|
81
81
|
"jest": "^29.7.0"
|
|
82
82
|
},
|
|
83
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "3780ba9b479ac1dd3b321b4c42e5c3e11aab11ae"
|
|
84
84
|
}
|