react-native-builder-bob 0.22.0 → 0.23.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/README.md CHANGED
@@ -9,4 +9,4 @@ cd your-project
9
9
  npx react-native-builder-bob@latest init
10
10
  ```
11
11
 
12
- See more details on the [GitHub repository](https://github.com/callstack/react-native-builder-bob).
12
+ See more details on the [documentation website](https://callstack.github.io/react-native-builder-bob/build).
package/lib/index.js CHANGED
@@ -1,47 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _path = _interopRequireDefault(require("path"));
4
-
5
4
  var _fsExtra = _interopRequireDefault(require("fs-extra"));
6
-
7
5
  var _kleur = _interopRequireDefault(require("kleur"));
8
-
9
6
  var _dedent = _interopRequireDefault(require("dedent"));
10
-
11
7
  var _yargs = _interopRequireDefault(require("yargs"));
12
-
13
8
  var _cosmiconfig = require("cosmiconfig");
14
-
15
9
  var _isGitDirty = _interopRequireDefault(require("is-git-dirty"));
16
-
17
10
  var _prompts = _interopRequireDefault(require("./utils/prompts"));
18
-
19
11
  var logger = _interopRequireWildcard(require("./utils/logger"));
20
-
21
12
  var _commonjs = _interopRequireDefault(require("./targets/commonjs"));
22
-
23
13
  var _module = _interopRequireDefault(require("./targets/module"));
24
-
25
14
  var _typescript = _interopRequireDefault(require("./targets/typescript"));
26
-
27
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
-
29
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
30
-
31
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32
-
33
18
  // eslint-disable-next-line import/no-commonjs
34
19
  const {
35
20
  name,
36
21
  version
37
22
  } = require('../package.json');
38
-
39
23
  const root = process.cwd();
40
24
  const explorer = (0, _cosmiconfig.cosmiconfigSync)(name, {
41
25
  searchPlaces: ['package.json', `bob.config.js`, 'bob.config.cjs']
42
26
  });
43
- const FLOW_PRGAMA_REGEX = /\*?\s*@(flow)\b/m; // eslint-disable-next-line babel/no-unused-expressions
27
+ const FLOW_PRGAMA_REGEX = /\*?\s*@(flow)\b/m;
44
28
 
29
+ // eslint-disable-next-line babel/no-unused-expressions
45
30
  _yargs.default.command('init', 'configure the package to use bob', {}, async () => {
46
31
  if ((0, _isGitDirty.default)()) {
47
32
  const {
@@ -52,21 +37,16 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
52
37
  message: `The working directory is not clean. You should commit or stash your changes before configuring bob. Continue anyway?`,
53
38
  initial: false
54
39
  });
55
-
56
40
  if (!shouldContinue) {
57
41
  process.exit(0);
58
42
  }
59
43
  }
60
-
61
44
  const pak = _path.default.join(root, 'package.json');
62
-
63
45
  if (!(await _fsExtra.default.pathExists(pak))) {
64
46
  logger.exit(`Couldn't find a 'package.json' file in '${root}'. Are you in a project folder?`);
65
47
  }
66
-
67
48
  const pkg = JSON.parse(await _fsExtra.default.readFile(pak, 'utf-8'));
68
49
  const result = explorer.search();
69
-
70
50
  if (result?.config && pkg.devDependencies && name in pkg.devDependencies) {
71
51
  const {
72
52
  shouldContinue
@@ -76,12 +56,10 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
76
56
  message: `The project seems to be already configured with bob. Do you want to overwrite the existing configuration?`,
77
57
  initial: false
78
58
  });
79
-
80
59
  if (!shouldContinue) {
81
60
  process.exit(0);
82
61
  }
83
62
  }
84
-
85
63
  const {
86
64
  source
87
65
  } = await (0, _prompts.default)({
@@ -92,7 +70,6 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
92
70
  validate: input => Boolean(input)
93
71
  });
94
72
  let entryFile;
95
-
96
73
  if (await _fsExtra.default.pathExists(_path.default.join(root, source, 'index.js'))) {
97
74
  entryFile = 'index.js';
98
75
  } else if (await _fsExtra.default.pathExists(_path.default.join(root, source, 'index.ts'))) {
@@ -100,12 +77,10 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
100
77
  } else if (await _fsExtra.default.pathExists(_path.default.join(root, source, 'index.tsx'))) {
101
78
  entryFile = 'index.tsx';
102
79
  }
103
-
104
80
  if (!entryFile) {
105
81
  logger.exit(`Couldn't find a 'index.js'. 'index.ts' or 'index.tsx' file under '${source}'. Please re-run the CLI after creating it.`);
106
82
  return;
107
83
  }
108
-
109
84
  pkg.devDependencies = Object.fromEntries([...Object.entries(pkg.devDependencies || {}), [name, `^${version}`]].sort(([a], [b]) => a.localeCompare(b)));
110
85
  const questions = [{
111
86
  type: 'text',
@@ -132,7 +107,6 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
132
107
  }],
133
108
  validate: input => Boolean(input.length)
134
109
  }];
135
-
136
110
  if (entryFile.endsWith('.js') && FLOW_PRGAMA_REGEX.test(await _fsExtra.default.readFile(_path.default.join(root, source, entryFile), 'utf-8'))) {
137
111
  questions.push({
138
112
  type: 'confirm',
@@ -141,7 +115,6 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
141
115
  initial: Object.keys(pkg.devDependencies || {}).includes('flow-bin')
142
116
  });
143
117
  }
144
-
145
118
  const {
146
119
  output,
147
120
  targets,
@@ -153,14 +126,11 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
153
126
  'react-native': _path.default.join(source, entryFile),
154
127
  'source': _path.default.join(source, entryFile)
155
128
  };
156
-
157
129
  if (targets.includes('module')) {
158
130
  entries.module = _path.default.join(output, 'module', 'index.js');
159
131
  }
160
-
161
132
  if (targets.includes('typescript')) {
162
133
  entries.types = _path.default.join(output, 'typescript', source, 'index.d.ts');
163
-
164
134
  if (!(await _fsExtra.default.pathExists(_path.default.join(root, 'tsconfig.json')))) {
165
135
  const {
166
136
  tsconfig
@@ -170,9 +140,8 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
170
140
  message: `You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root. Generate one?`,
171
141
  initial: true
172
142
  });
173
-
174
143
  if (tsconfig) {
175
- await _fsExtra.default.writeFile(_path.default.join(root, 'tsconfig.json'), JSON.stringify({
144
+ await _fsExtra.default.writeJSON(_path.default.join(root, 'tsconfig.json'), {
176
145
  compilerOptions: {
177
146
  rootDir: '.',
178
147
  allowUnreachableCode: false,
@@ -196,17 +165,16 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
196
165
  target: 'esnext',
197
166
  verbatimModuleSyntax: true
198
167
  }
199
- }, null, 2));
168
+ }, {
169
+ spaces: 2
170
+ });
200
171
  }
201
172
  }
202
173
  }
203
-
204
- const prepack = 'bob build';
174
+ const prepare = 'bob build';
205
175
  const files = [source, output, '!**/__tests__', '!**/__fixtures__', '!**/__mocks__'];
206
-
207
176
  for (const key in entries) {
208
177
  const entry = entries[key];
209
-
210
178
  if (pkg[key] && pkg[key] !== entry) {
211
179
  const {
212
180
  replace
@@ -216,7 +184,6 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
216
184
  message: `Your package.json has the '${key}' field set to '${pkg[key]}'. Do you want to replace it with '${entry}'?`,
217
185
  initial: true
218
186
  });
219
-
220
187
  if (replace) {
221
188
  pkg[key] = entry;
222
189
  }
@@ -224,25 +191,22 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
224
191
  pkg[key] = entry;
225
192
  }
226
193
  }
227
-
228
- if (pkg.scripts?.prepack && pkg.scripts.prepack !== prepack) {
194
+ if (pkg.scripts?.prepare && pkg.scripts.prepare !== prepare) {
229
195
  const {
230
196
  replace
231
197
  } = await (0, _prompts.default)({
232
198
  type: 'confirm',
233
199
  name: 'replace',
234
- message: `Your package.json has the 'scripts.prepack' field set to '${pkg.scripts.prepack}'. Do you want to replace it with '${prepack}'?`,
200
+ message: `Your package.json has the 'scripts.prepare' field set to '${pkg.scripts.prepare}'. Do you want to replace it with '${prepare}'?`,
235
201
  initial: true
236
202
  });
237
-
238
203
  if (replace) {
239
- pkg.scripts.prepack = prepack;
204
+ pkg.scripts.prepare = prepare;
240
205
  }
241
206
  } else {
242
207
  pkg.scripts = pkg.scripts || {};
243
- pkg.scripts.prepack = prepack;
208
+ pkg.scripts.prepare = prepare;
244
209
  }
245
-
246
210
  if (pkg.files && JSON.stringify(pkg.files.slice().sort()) !== JSON.stringify(files.slice().sort())) {
247
211
  const {
248
212
  update
@@ -252,14 +216,12 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
252
216
  message: `Your package.json already has a 'files' field. Do you want to update it?`,
253
217
  initial: true
254
218
  });
255
-
256
219
  if (update) {
257
220
  pkg.files = [...files, ...pkg.files.filter(file => !files.includes(file.replace(/\/$/g, '')))];
258
221
  }
259
222
  } else {
260
223
  pkg.files = files;
261
224
  }
262
-
263
225
  pkg[name] = {
264
226
  source,
265
227
  output,
@@ -269,19 +231,15 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
269
231
  copyFlow: true
270
232
  }];
271
233
  }
272
-
273
234
  return t;
274
235
  })
275
236
  };
276
-
277
237
  if (pkg.jest) {
278
238
  const entry = `<rootDir>/${output}/`;
279
-
280
239
  if (pkg.jest.modulePathIgnorePatterns) {
281
240
  const {
282
241
  modulePathIgnorePatterns
283
242
  } = pkg.jest;
284
-
285
243
  if (!modulePathIgnorePatterns.includes(entry)) {
286
244
  modulePathIgnorePatterns.push(entry);
287
245
  }
@@ -289,60 +247,49 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
289
247
  pkg.jest.modulePathIgnorePatterns = [entry];
290
248
  }
291
249
  }
292
-
293
250
  pkg.eslintIgnore = pkg.eslintIgnore || ['node_modules/'];
294
-
295
251
  if (!pkg.eslintIgnore.includes(`${output}/`)) {
296
252
  pkg.eslintIgnore.push(`${output}/`);
297
253
  }
298
-
299
- await _fsExtra.default.writeFile(pak, JSON.stringify(pkg, null, 2));
254
+ await _fsExtra.default.writeJSON(pak, pkg, {
255
+ spaces: 2
256
+ });
300
257
  const ignorefiles = [_path.default.join(root, '.gitignore'), _path.default.join(root, '.eslintignore')];
301
-
302
258
  for (const ignorefile of ignorefiles) {
303
259
  if (await _fsExtra.default.pathExists(ignorefile)) {
304
260
  const content = await _fsExtra.default.readFile(ignorefile, 'utf-8');
305
-
306
261
  if (!content.split('\n').includes(`${output}/`)) {
307
262
  await _fsExtra.default.writeFile(ignorefile, `${content}\n# generated by bob\n${output}/\n`);
308
263
  }
309
264
  }
310
265
  }
311
-
266
+ const packageManager = (await _fsExtra.default.pathExists(_path.default.join(root, 'yarn.lock'))) ? 'yarn' : 'npm';
312
267
  console.log((0, _dedent.default)(`
313
268
  Project ${_kleur.default.yellow(pkg.name)} configured successfully!
314
269
 
315
270
  ${_kleur.default.magenta(`${_kleur.default.bold('Perform last steps')} by running`)}${_kleur.default.gray(':')}
316
271
 
317
- ${_kleur.default.gray(':')} yarn
272
+ ${_kleur.default.gray('$')} ${packageManager} install
318
273
 
319
274
  ${_kleur.default.yellow('Good luck!')}
320
275
  `));
321
276
  }).command('build', 'build files for publishing', {}, async argv => {
322
277
  const result = explorer.search();
323
-
324
278
  if (!result?.config) {
325
279
  logger.exit(`No configuration found. Run '${argv.$0} init' to create one automatically.`);
326
280
  }
327
-
328
281
  const options = result.config;
329
-
330
282
  if (!options.targets?.length) {
331
283
  logger.exit(`No targets found in the configuration in '${_path.default.relative(root, result.filepath)}'.`);
332
284
  }
333
-
334
285
  const source = options.source;
335
-
336
286
  if (!source) {
337
287
  logger.exit(`No source option found in the configuration in '${_path.default.relative(root, result.filepath)}'.`);
338
288
  }
339
-
340
289
  const output = options.output;
341
-
342
290
  if (!output) {
343
291
  logger.exit(`No source option found in the configuration in '${_path.default.relative(root, result.filepath)}'.`);
344
292
  }
345
-
346
293
  const exclude = options.exclude ?? '**/{__tests__,__fixtures__,__mocks__}/**';
347
294
  const report = {
348
295
  info: logger.info,
@@ -350,12 +297,10 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
350
297
  error: logger.error,
351
298
  success: logger.success
352
299
  };
353
-
354
300
  for (const target of options.targets) {
355
301
  const targetName = Array.isArray(target) ? target[0] : target;
356
302
  const targetOptions = Array.isArray(target) ? target[1] : undefined;
357
303
  report.info(`Building target ${_kleur.default.blue(targetName)}`);
358
-
359
304
  switch (targetName) {
360
305
  case 'commonjs':
361
306
  await (0, _commonjs.default)({
@@ -367,7 +312,6 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
367
312
  report
368
313
  });
369
314
  break;
370
-
371
315
  case 'module':
372
316
  await (0, _module.default)({
373
317
  root,
@@ -378,7 +322,6 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
378
322
  report
379
323
  });
380
324
  break;
381
-
382
325
  case 'typescript':
383
326
  await (0, _typescript.default)({
384
327
  root,
@@ -388,7 +331,6 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
388
331
  report
389
332
  });
390
333
  break;
391
-
392
334
  default:
393
335
  logger.exit(`Invalid target ${_kleur.default.blue(targetName)}.`);
394
336
  }
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["name","version","require","root","process","cwd","explorer","cosmiconfigSync","searchPlaces","FLOW_PRGAMA_REGEX","yargs","command","isGitDirty","shouldContinue","prompts","type","message","initial","exit","pak","path","join","fs","pathExists","logger","pkg","JSON","parse","readFile","result","search","config","devDependencies","source","validate","input","Boolean","entryFile","Object","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","writeFile","stringify","compilerOptions","rootDir","allowUnreachableCode","allowUnusedLabels","esModuleInterop","forceConsistentCasingInFileNames","jsx","lib","moduleResolution","noFallthroughCasesInSwitch","noImplicitReturns","noImplicitUseStrict","noStrictGenericChecks","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","resolveJsonModule","skipLibCheck","strict","verbatimModuleSyntax","prepack","files","key","entry","replace","scripts","slice","update","filter","file","map","t","copyFlow","jest","modulePathIgnorePatterns","eslintIgnore","ignorefiles","ignorefile","content","split","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\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\n// eslint-disable-next-line babel/no-unused-expressions\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.writeFile(\n path.join(root, 'tsconfig.json'),\n JSON.stringify(\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 null,\n 2\n )\n );\n }\n }\n }\n\n const prepack = '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?.prepack && pkg.scripts.prepack !== prepack) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the 'scripts.prepack' field set to '${pkg.scripts.prepack}'. Do you want to replace it with '${prepack}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg.scripts.prepack = prepack;\n }\n } else {\n pkg.scripts = pkg.scripts || {};\n pkg.scripts.prepack = prepack;\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.writeFile(pak, JSON.stringify(pkg, null, 2));\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 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(':')} yarn\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","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\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\n// eslint-disable-next-line babel/no-unused-expressions\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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"}
@@ -4,17 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = build;
7
-
8
7
  var _path = _interopRequireDefault(require("path"));
9
-
10
8
  var _kleur = _interopRequireDefault(require("kleur"));
11
-
12
9
  var _del = _interopRequireDefault(require("del"));
13
-
14
10
  var _compile = _interopRequireDefault(require("../utils/compile"));
15
-
16
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
12
  async function build({
19
13
  root,
20
14
  source,
@@ -25,7 +19,8 @@ async function build({
25
19
  }) {
26
20
  report.info(`Cleaning up previous build at ${_kleur.default.blue(_path.default.relative(root, output))}`);
27
21
  await (0, _del.default)([output]);
28
- await (0, _compile.default)({ ...options,
22
+ await (0, _compile.default)({
23
+ ...options,
29
24
  root,
30
25
  source,
31
26
  output,
@@ -1 +1 @@
1
- {"version":3,"file":"commonjs.js","names":["build","root","source","output","exclude","options","report","info","kleur","blue","path","relative","del","compile","modules","field"],"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 field: 'main',\n });\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAae,eAAeA,KAAf,CAAqB;EAClCC,IADkC;EAElCC,MAFkC;EAGlCC,MAHkC;EAIlCC,OAJkC;EAKlCC,OALkC;EAMlCC;AANkC,CAArB,EAOH;EACVA,MAAM,CAACC,IAAP,CACG,iCAAgCC,cAAA,CAAMC,IAAN,CAAWC,aAAA,CAAKC,QAAL,CAAcV,IAAd,EAAoBE,MAApB,CAAX,CAAwC,EAD3E;EAIA,MAAM,IAAAS,YAAA,EAAI,CAACT,MAAD,CAAJ,CAAN;EAEA,MAAM,IAAAU,gBAAA,EAAQ,EACZ,GAAGR,OADS;IAEZJ,IAFY;IAGZC,MAHY;IAIZC,MAJY;IAKZC,OALY;IAMZU,OAAO,EAAE,UANG;IAOZR,MAPY;IAQZS,KAAK,EAAE;EARK,CAAR,CAAN;AAUD"}
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","field"],"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 field: 'main',\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,MAAM;IACNS,KAAK,EAAE;EACT,CAAC,CAAC;AACJ"}
@@ -4,17 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = build;
7
-
8
7
  var _path = _interopRequireDefault(require("path"));
9
-
10
8
  var _kleur = _interopRequireDefault(require("kleur"));
11
-
12
9
  var _del = _interopRequireDefault(require("del"));
13
-
14
10
  var _compile = _interopRequireDefault(require("../utils/compile"));
15
-
16
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
12
  async function build({
19
13
  root,
20
14
  source,
@@ -25,7 +19,8 @@ async function build({
25
19
  }) {
26
20
  report.info(`Cleaning up previous build at ${_kleur.default.blue(_path.default.relative(root, output))}`);
27
21
  await (0, _del.default)([output]);
28
- await (0, _compile.default)({ ...options,
22
+ await (0, _compile.default)({
23
+ ...options,
29
24
  root,
30
25
  source,
31
26
  output,
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","names":["build","root","source","output","exclude","options","report","info","kleur","blue","path","relative","del","compile","modules","field"],"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 field: 'module',\n });\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAae,eAAeA,KAAf,CAAqB;EAClCC,IADkC;EAElCC,MAFkC;EAGlCC,MAHkC;EAIlCC,OAJkC;EAKlCC,OALkC;EAMlCC;AANkC,CAArB,EAOH;EACVA,MAAM,CAACC,IAAP,CACG,iCAAgCC,cAAA,CAAMC,IAAN,CAAWC,aAAA,CAAKC,QAAL,CAAcV,IAAd,EAAoBE,MAApB,CAAX,CAAwC,EAD3E;EAIA,MAAM,IAAAS,YAAA,EAAI,CAACT,MAAD,CAAJ,CAAN;EAEA,MAAM,IAAAU,gBAAA,EAAQ,EACZ,GAAGR,OADS;IAEZJ,IAFY;IAGZC,MAHY;IAIZC,MAJY;IAKZC,OALY;IAMZU,OAAO,EAAE,KANG;IAOZR,MAPY;IAQZS,KAAK,EAAE;EARK,CAAR,CAAN;AAUD"}
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","field"],"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 field: 'module',\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,MAAM;IACNS,KAAK,EAAE;EACT,CAAC,CAAC;AACJ"}
@@ -4,25 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = build;
7
-
8
7
  var _kleur = _interopRequireDefault(require("kleur"));
9
-
10
8
  var _path = _interopRequireDefault(require("path"));
11
-
12
9
  var _fsExtra = _interopRequireDefault(require("fs-extra"));
13
-
14
10
  var _which = _interopRequireDefault(require("which"));
15
-
16
11
  var _crossSpawn = _interopRequireDefault(require("cross-spawn"));
17
-
18
12
  var _del = _interopRequireDefault(require("del"));
19
-
20
13
  var _json = _interopRequireDefault(require("json5"));
21
-
22
14
  var _os = require("os");
23
-
24
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
16
  async function build({
27
17
  source,
28
18
  root,
@@ -34,33 +24,25 @@ async function build({
34
24
  await (0, _del.default)([output]);
35
25
  report.info(`Generating type definitions with ${_kleur.default.blue('tsc')}`);
36
26
  const project = options?.project ? options.project : 'tsconfig.json';
37
-
38
27
  const tsconfig = _path.default.join(root, project);
39
-
40
28
  try {
41
29
  if (await _fsExtra.default.pathExists(tsconfig)) {
42
30
  try {
43
31
  const config = _json.default.parse(await _fsExtra.default.readFile(tsconfig, 'utf-8'));
44
-
45
32
  if (config.compilerOptions) {
46
33
  const conflicts = [];
47
-
48
34
  if (config.compilerOptions.noEmit !== undefined) {
49
35
  conflicts.push('compilerOptions.noEmit');
50
36
  }
51
-
52
37
  if (config.compilerOptions.emitDeclarationOnly !== undefined) {
53
38
  conflicts.push('compilerOptions.emitDeclarationOnly');
54
39
  }
55
-
56
40
  if (config.compilerOptions.declarationDir) {
57
41
  conflicts.push('compilerOptions.declarationDir');
58
42
  }
59
-
60
43
  if (config.compilerOptions.outDir && _path.default.join(root, config.compilerOptions.outDir) !== output) {
61
44
  conflicts.push('compilerOptions.outDir');
62
45
  }
63
-
64
46
  if (conflicts.length) {
65
47
  report.warn(`Found following options in the config file which can conflict with the CLI options. Please remove them from ${_kleur.default.blue(project)}:${conflicts.reduce((acc, curr) => acc + `\n${_kleur.default.gray('-')} ${_kleur.default.yellow(curr)}`, '')}`);
66
48
  }
@@ -71,93 +53,75 @@ async function build({
71
53
  } else {
72
54
  throw new Error(`Couldn't find a ${_kleur.default.blue('tsconfig.json')} in the project root.`);
73
55
  }
74
-
75
56
  let tsc;
76
-
77
57
  if (options?.tsc) {
78
58
  tsc = _path.default.resolve(root, options.tsc);
79
-
80
59
  if (!(await _fsExtra.default.pathExists(tsc))) {
81
60
  throw new Error(`The ${_kleur.default.blue('tsc')} binary doesn't seem to be installed at ${_kleur.default.blue(tsc)}. Please specify the correct path in options or remove it to use the workspace's version.`);
82
61
  }
83
62
  } else {
84
63
  const execpath = process.env.npm_execpath;
85
64
  const cli = execpath?.split('/').pop()?.includes('yarn') ? 'yarn' : 'npm';
86
-
87
65
  if (cli === 'yarn') {
88
66
  const result = _crossSpawn.default.sync('yarn', ['bin', 'tsc'], {
89
67
  stdio: 'pipe',
90
68
  encoding: 'utf-8',
91
69
  cwd: root
92
70
  });
93
-
94
71
  tsc = result.stdout.trim();
95
72
  } else {
96
73
  tsc = _path.default.resolve(root, 'node_modules', '.bin', 'tsc');
97
74
  }
98
-
99
75
  if ((0, _os.platform)() === 'win32' && !tsc.endsWith('.cmd')) {
100
76
  tsc += '.cmd';
101
77
  }
102
78
  }
103
-
104
79
  if (!(await _fsExtra.default.pathExists(tsc))) {
105
80
  try {
106
81
  tsc = await (0, _which.default)('tsc');
107
-
108
82
  if (await _fsExtra.default.pathExists(tsc)) {
109
83
  report.warn(`Failed to locate ${_kleur.default.blue('tsc')} in the workspace. Falling back to the binary found in ${_kleur.default.blue('PATH')} at ${_kleur.default.blue(tsc)}. Consider adding ${_kleur.default.blue('typescript')} to your ${_kleur.default.blue('devDependencies')} or specifying the ${_kleur.default.blue('tsc')} option for the typescript target.`);
110
84
  }
111
- } catch (e) {// Ignore
85
+ } catch (e) {
86
+ // Ignore
112
87
  }
113
88
  }
114
-
115
89
  if (tsc == null || !(await _fsExtra.default.pathExists(tsc))) {
116
90
  throw new Error(`The ${_kleur.default.blue('tsc')} binary doesn't seem to be installed under ${_kleur.default.blue('node_modules')} or present in $PATH. Make sure you have added ${_kleur.default.blue('typescript')} to your ${_kleur.default.blue('devDependencies')} or specify the ${_kleur.default.blue('tsc')} option for typescript.`);
117
91
  }
118
-
119
92
  const tsbuildinfo = _path.default.join(output, project.replace(/\.json$/, '.tsbuildinfo'));
120
-
121
93
  try {
122
94
  await (0, _del.default)([tsbuildinfo]);
123
- } catch (e) {// Ignore
95
+ } catch (e) {
96
+ // Ignore
124
97
  }
125
-
126
98
  const result = _crossSpawn.default.sync(tsc, ['--pretty', '--declaration', '--declarationMap', '--emitDeclarationOnly', '--project', project, '--outDir', output], {
127
99
  stdio: 'inherit',
128
100
  cwd: root
129
101
  });
130
-
131
102
  if (result.status === 0) {
132
103
  await (0, _del.default)([tsbuildinfo]);
133
104
  report.success(`Wrote definition files to ${_kleur.default.blue(_path.default.relative(root, output))}`);
134
105
  const pkg = JSON.parse(await _fsExtra.default.readFile(_path.default.join(root, 'package.json'), 'utf-8'));
135
-
136
106
  const getGeneratedTypesPath = async () => {
137
107
  if (pkg.source) {
138
108
  const indexDTsName = _path.default.basename(pkg.source).replace(/\.(jsx?|tsx?)$/, '') + '.d.ts';
139
109
  const potentialPaths = [_path.default.join(output, _path.default.dirname(pkg.source), indexDTsName), _path.default.join(output, _path.default.dirname(_path.default.relative(source, _path.default.join(root, pkg.source))), indexDTsName)];
140
-
141
110
  for (const potentialPath of potentialPaths) {
142
111
  if (await _fsExtra.default.pathExists(potentialPath)) {
143
112
  return _path.default.relative(root, potentialPath);
144
113
  }
145
114
  }
146
115
  }
147
-
148
116
  return null;
149
117
  };
150
-
151
118
  if ('types' in pkg) {
152
119
  const typesPath = _path.default.join(root, pkg.types);
153
-
154
120
  if (!(await _fsExtra.default.pathExists(typesPath))) {
155
121
  const generatedTypesPath = await getGeneratedTypesPath();
156
-
157
122
  if (!generatedTypesPath) {
158
123
  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')}.`);
159
124
  }
160
-
161
125
  report.error(`The ${_kleur.default.blue('types')} field in ${_kleur.default.blue('package.json')} points to a non-existent file: ${_kleur.default.blue(pkg.types)}.\nVerify the path points to the correct file under ${_kleur.default.blue(_path.default.relative(root, output))}${generatedTypesPath ? ` (found ${_kleur.default.blue(generatedTypesPath)}).` : '.'}`);
162
126
  throw new Error("Found incorrect path in 'types' field.");
163
127
  }
@@ -180,7 +144,6 @@ async function build({
180
144
  } else {
181
145
  throw e;
182
146
  }
183
-
184
147
  throw new Error('Failed to build definition files.');
185
148
  }
186
149
  }
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","names":["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","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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"}
@@ -4,29 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = androidAssemble;
7
-
8
7
  var _path = _interopRequireDefault(require("path"));
9
-
10
8
  var _kleur = _interopRequireDefault(require("kleur"));
11
-
12
9
  var _fsExtra = _interopRequireDefault(require("fs-extra"));
13
-
14
10
  var _child_process = require("child_process");
15
-
16
11
  var _os = require("os");
17
-
18
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
13
  async function androidAssemble({
21
14
  root,
22
15
  androidPath,
23
16
  report
24
17
  }) {
25
18
  const cwd = _path.default.relative(root, androidPath);
26
-
27
19
  report.info(`Assembling Android project in ${_kleur.default.blue(cwd)} with ${_kleur.default.blue('gradle')}`);
28
20
  const gradleWrapper = (0, _os.platform)() === 'win32' ? 'gradlew.bat' : './gradlew';
29
-
30
21
  if (await _fsExtra.default.pathExists(_path.default.join(androidPath, gradleWrapper))) {
31
22
  (0, _child_process.execFileSync)(gradleWrapper, ['assemble'], {
32
23
  cwd: androidPath
@@ -1 +1 @@
1
- {"version":3,"file":"androidAssemble.js","names":["androidAssemble","root","androidPath","report","cwd","path","relative","info","kleur","blue","gradleWrapper","platform","fs","pathExists","join","execFileSync","Error"],"sources":["../../src/utils/androidAssemble.ts"],"sourcesContent":["import path from 'path';\nimport kleur from 'kleur';\nimport fs from 'fs-extra';\nimport { execFileSync } from 'child_process';\nimport { platform } from 'os';\nimport type { Report } from '../types';\n\ntype Options = {\n root: string;\n androidPath: string;\n report: Report;\n};\n\nexport default async function androidAssemble({\n root,\n androidPath,\n report,\n}: Options) {\n const cwd = path.relative(root, androidPath);\n\n report.info(\n `Assembling Android project in ${kleur.blue(cwd)} with ${kleur.blue(\n 'gradle'\n )}`\n );\n\n const gradleWrapper = platform() === 'win32' ? 'gradlew.bat' : './gradlew';\n if (await fs.pathExists(path.join(androidPath, gradleWrapper))) {\n execFileSync(gradleWrapper, ['assemble'], { cwd: androidPath });\n } else {\n throw new Error(\n `The ${kleur.blue(\n 'gradlew'\n )} script doesn't seem to present in ${kleur.blue(\n androidPath\n )}. Make sure you have added it by running ${kleur.blue(\n 'gradle wrapper'\n )} in that directory.`\n );\n }\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AASe,eAAeA,eAAf,CAA+B;EAC5CC,IAD4C;EAE5CC,WAF4C;EAG5CC;AAH4C,CAA/B,EAIH;EACV,MAAMC,GAAG,GAAGC,aAAA,CAAKC,QAAL,CAAcL,IAAd,EAAoBC,WAApB,CAAZ;;EAEAC,MAAM,CAACI,IAAP,CACG,iCAAgCC,cAAA,CAAMC,IAAN,CAAWL,GAAX,CAAgB,SAAQI,cAAA,CAAMC,IAAN,CACvD,QADuD,CAEvD,EAHJ;EAMA,MAAMC,aAAa,GAAG,IAAAC,YAAA,QAAe,OAAf,GAAyB,aAAzB,GAAyC,WAA/D;;EACA,IAAI,MAAMC,gBAAA,CAAGC,UAAH,CAAcR,aAAA,CAAKS,IAAL,CAAUZ,WAAV,EAAuBQ,aAAvB,CAAd,CAAV,EAAgE;IAC9D,IAAAK,2BAAA,EAAaL,aAAb,EAA4B,CAAC,UAAD,CAA5B,EAA0C;MAAEN,GAAG,EAAEF;IAAP,CAA1C;EACD,CAFD,MAEO;IACL,MAAM,IAAIc,KAAJ,CACH,OAAMR,cAAA,CAAMC,IAAN,CACL,SADK,CAEL,sCAAqCD,cAAA,CAAMC,IAAN,CACrCP,WADqC,CAErC,4CAA2CM,cAAA,CAAMC,IAAN,CAC3C,gBAD2C,CAE3C,qBAPE,CAAN;EASD;AACF"}
1
+ {"version":3,"file":"androidAssemble.js","names":["_path","_interopRequireDefault","require","_kleur","_fsExtra","_child_process","_os","obj","__esModule","default","androidAssemble","root","androidPath","report","cwd","path","relative","info","kleur","blue","gradleWrapper","platform","fs","pathExists","join","execFileSync","Error"],"sources":["../../src/utils/androidAssemble.ts"],"sourcesContent":["import path from 'path';\nimport kleur from 'kleur';\nimport fs from 'fs-extra';\nimport { execFileSync } from 'child_process';\nimport { platform } from 'os';\nimport type { Report } from '../types';\n\ntype Options = {\n root: string;\n androidPath: string;\n report: Report;\n};\n\nexport default async function androidAssemble({\n root,\n androidPath,\n report,\n}: Options) {\n const cwd = path.relative(root, androidPath);\n\n report.info(\n `Assembling Android project in ${kleur.blue(cwd)} with ${kleur.blue(\n 'gradle'\n )}`\n );\n\n const gradleWrapper = platform() === 'win32' ? 'gradlew.bat' : './gradlew';\n if (await fs.pathExists(path.join(androidPath, gradleWrapper))) {\n execFileSync(gradleWrapper, ['assemble'], { cwd: androidPath });\n } else {\n throw new Error(\n `The ${kleur.blue(\n 'gradlew'\n )} script doesn't seem to present in ${kleur.blue(\n androidPath\n )}. Make sure you have added it by running ${kleur.blue(\n 'gradle wrapper'\n )} in that directory.`\n );\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,GAAA,GAAAJ,OAAA;AAA8B,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AASf,eAAeG,eAAeA,CAAC;EAC5CC,IAAI;EACJC,WAAW;EACXC;AACO,CAAC,EAAE;EACV,MAAMC,GAAG,GAAGC,aAAI,CAACC,QAAQ,CAACL,IAAI,EAAEC,WAAW,CAAC;EAE5CC,MAAM,CAACI,IAAI,CACR,iCAAgCC,cAAK,CAACC,IAAI,CAACL,GAAG,CAAE,SAAQI,cAAK,CAACC,IAAI,CACjE,QACF,CAAE,EACJ,CAAC;EAED,MAAMC,aAAa,GAAG,IAAAC,YAAQ,EAAC,CAAC,KAAK,OAAO,GAAG,aAAa,GAAG,WAAW;EAC1E,IAAI,MAAMC,gBAAE,CAACC,UAAU,CAACR,aAAI,CAACS,IAAI,CAACZ,WAAW,EAAEQ,aAAa,CAAC,CAAC,EAAE;IAC9D,IAAAK,2BAAY,EAACL,aAAa,EAAE,CAAC,UAAU,CAAC,EAAE;MAAEN,GAAG,EAAEF;IAAY,CAAC,CAAC;EACjE,CAAC,MAAM;IACL,MAAM,IAAIc,KAAK,CACZ,OAAMR,cAAK,CAACC,IAAI,CACf,SACF,CAAE,sCAAqCD,cAAK,CAACC,IAAI,CAC/CP,WACF,CAAE,4CAA2CM,cAAK,CAACC,IAAI,CACrD,gBACF,CAAE,qBACJ,CAAC;EACH;AACF"}
@@ -4,25 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = compile;
7
-
8
7
  var _path = _interopRequireDefault(require("path"));
9
-
10
8
  var _fsExtra = _interopRequireDefault(require("fs-extra"));
11
-
12
9
  var _kleur = _interopRequireDefault(require("kleur"));
13
-
14
10
  var babel = _interopRequireWildcard(require("@babel/core"));
15
-
16
11
  var _browserslist = _interopRequireDefault(require("browserslist"));
17
-
18
12
  var _glob = _interopRequireDefault(require("glob"));
19
-
20
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
14
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
-
24
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
16
  async function compile({
27
17
  root,
28
18
  source,
@@ -42,28 +32,21 @@ async function compile({
42
32
  nodir: true,
43
33
  ignore: exclude
44
34
  });
45
-
46
35
  report.info(`Compiling ${_kleur.default.blue(String(files.length))} files in ${_kleur.default.blue(_path.default.relative(root, source))} with ${_kleur.default.blue('babel')}`);
47
36
  const pkg = JSON.parse(await _fsExtra.default.readFile(_path.default.join(root, 'package.json'), 'utf-8'));
48
-
49
37
  if (copyFlow) {
50
38
  if (!Object.keys(pkg.devDependencies || {}).includes('flow-bin')) {
51
39
  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.`);
52
40
  }
53
41
  }
54
-
55
42
  await Promise.all(files.map(async filepath => {
56
43
  const outputFilename = _path.default.join(output, _path.default.relative(source, filepath)).replace(/\.(jsx?|tsx?)$/, '.js');
57
-
58
44
  await _fsExtra.default.mkdirp(_path.default.dirname(outputFilename));
59
-
60
45
  if (!/\.(jsx?|tsx?)$/.test(filepath)) {
61
46
  // Copy files which aren't source code
62
47
  _fsExtra.default.copy(filepath, outputFilename);
63
-
64
48
  return;
65
49
  }
66
-
67
50
  const content = await _fsExtra.default.readFile(filepath, 'utf-8');
68
51
  const result = await babel.transformAsync(content, {
69
52
  cwd: root,
@@ -84,59 +67,46 @@ async function compile({
84
67
  }], require.resolve('@babel/preset-react'), require.resolve('@babel/preset-typescript'), require.resolve('@babel/preset-flow')]
85
68
  })
86
69
  });
87
-
88
70
  if (result == null) {
89
71
  throw new Error('Output code was null');
90
72
  }
91
-
92
73
  let code = result.code;
93
-
94
74
  if (sourceMaps && result.map) {
95
75
  const mapFilename = outputFilename + '.map';
96
- code += '\n//# sourceMappingURL=' + _path.default.basename(mapFilename); // Don't inline the source code, it can be retrieved from the source file
76
+ code += '\n//# sourceMappingURL=' + _path.default.basename(mapFilename);
97
77
 
78
+ // Don't inline the source code, it can be retrieved from the source file
98
79
  result.map.sourcesContent = undefined;
99
-
100
- _fsExtra.default.writeFileSync(mapFilename, JSON.stringify(result.map));
80
+ await _fsExtra.default.writeJSON(mapFilename, result.map);
101
81
  }
102
-
103
82
  await _fsExtra.default.writeFile(outputFilename, code);
104
-
105
83
  if (copyFlow) {
106
84
  _fsExtra.default.copy(filepath, outputFilename + '.flow');
107
85
  }
108
86
  }));
109
87
  report.success(`Wrote files to ${_kleur.default.blue(_path.default.relative(root, output))}`);
110
-
111
88
  const getGeneratedEntryPath = async () => {
112
89
  if (pkg.source) {
113
90
  const indexName = _path.default.basename(pkg.source).replace(/\.(jsx?|tsx?)$/, '') + '.js';
114
-
115
91
  const potentialPath = _path.default.join(output, _path.default.dirname(_path.default.relative(source, _path.default.join(root, pkg.source))), indexName);
116
-
117
92
  if (await _fsExtra.default.pathExists(potentialPath)) {
118
93
  return _path.default.relative(root, potentialPath);
119
94
  }
120
95
  }
121
-
122
96
  return null;
123
97
  };
124
-
125
98
  if (field in pkg) {
126
99
  try {
127
100
  require.resolve(_path.default.join(root, pkg[field]));
128
101
  } catch (e) {
129
102
  if (e != null && typeof e === 'object' && 'code' in e && e.code === 'MODULE_NOT_FOUND') {
130
103
  const generatedEntryPath = await getGeneratedEntryPath();
131
-
132
104
  if (!generatedEntryPath) {
133
105
  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')}.`);
134
106
  }
135
-
136
107
  report.error(`The ${_kleur.default.blue(field)} field in ${_kleur.default.blue('package.json')} points to a non-existent file: ${_kleur.default.blue(pkg[field])}.\nVerify the path points to the correct file under ${_kleur.default.blue(_path.default.relative(root, output))}${generatedEntryPath ? ` (found ${_kleur.default.blue(generatedEntryPath)}).` : '.'}`);
137
108
  throw new Error(`Found incorrect path in '${field}' field.`);
138
109
  }
139
-
140
110
  throw e;
141
111
  }
142
112
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","names":["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","Object","keys","devDependencies","includes","warn","Promise","all","map","filepath","outputFilename","replace","mkdirp","dirname","test","copy","content","result","babel","transformAsync","sourceRoot","sourceFileName","filename","presets","require","resolve","targets","browserslist","findConfig","browsers","node","useBuiltIns","Error","code","mapFilename","basename","sourcesContent","undefined","writeFileSync","stringify","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 browserslist from 'browserslist';\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: [\n [\n require.resolve('@babel/preset-env'),\n {\n targets: browserslist.findConfig(root) ?? {\n browsers: [\n '>1%',\n 'last 2 chrome versions',\n 'last 2 edge versions',\n 'last 2 firefox versions',\n 'last 2 safari versions',\n 'not dead',\n 'not ie <= 11',\n 'not op_mini all',\n 'not android <= 4.4',\n 'not samsung <= 4',\n ],\n node: '18',\n },\n useBuiltIns: false,\n modules,\n },\n ],\n require.resolve('@babel/preset-react'),\n require.resolve('@babel/preset-typescript'),\n require.resolve('@babel/preset-flow'),\n ],\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 fs.writeFileSync(mapFilename, JSON.stringify(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","_browserslist","_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","targets","browserslist","findConfig","browsers","node","useBuiltIns","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 browserslist from 'browserslist';\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: [\n [\n require.resolve('@babel/preset-env'),\n {\n targets: browserslist.findConfig(root) ?? {\n browsers: [\n '>1%',\n 'last 2 chrome versions',\n 'last 2 edge versions',\n 'last 2 firefox versions',\n 'last 2 safari versions',\n 'not dead',\n 'not ie <= 11',\n 'not op_mini all',\n 'not android <= 4.4',\n 'not samsung <= 4',\n ],\n node: '18',\n },\n useBuiltIns: false,\n modules,\n },\n ],\n require.resolve('@babel/preset-react'),\n require.resolve('@babel/preset-typescript'),\n require.resolve('@babel/preset-flow'),\n ],\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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"}
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.warn = exports.success = exports.info = exports.exit = exports.error = void 0;
7
-
8
7
  var _kleur = _interopRequireDefault(require("kleur"));
9
-
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
9
  const logger = (type, color) => (...messages) => {
13
10
  console.log(color(_kleur.default.bold(type)), ...messages.map(message => {
14
11
  if (typeof message === 'string') {
@@ -18,7 +15,6 @@ const logger = (type, color) => (...messages) => {
18
15
  }
19
16
  }));
20
17
  };
21
-
22
18
  const info = logger('ℹ', _kleur.default.blue);
23
19
  exports.info = info;
24
20
  const warn = logger('⚠', _kleur.default.yellow);
@@ -27,11 +23,9 @@ const error = logger('✖', _kleur.default.red);
27
23
  exports.error = error;
28
24
  const success = logger('✔', _kleur.default.green);
29
25
  exports.success = success;
30
-
31
26
  const exit = (...messages) => {
32
27
  error(...messages);
33
28
  process.exit(1);
34
29
  };
35
-
36
30
  exports.exit = exit;
37
31
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","names":["logger","type","color","messages","console","log","kleur","bold","map","message","split","join","info","blue","warn","yellow","error","red","success","green","exit","process"],"sources":["../../src/utils/logger.ts"],"sourcesContent":["import kleur from 'kleur';\n\nconst logger =\n (type: string, color: Function) =>\n (...messages: unknown[]) => {\n console.log(\n color(kleur.bold(type)),\n ...messages.map((message) => {\n if (typeof message === 'string') {\n return message.split('\\n').join(`\\n `);\n } else {\n return message;\n }\n })\n );\n };\n\nexport const info = logger('ℹ', kleur.blue);\nexport const warn = logger('⚠', kleur.yellow);\nexport const error = logger('✖', kleur.red);\nexport const success = logger('✔', kleur.green);\n\nexport const exit = (...messages: unknown[]) => {\n error(...messages);\n process.exit(1);\n};\n"],"mappings":";;;;;;;AAAA;;;;AAEA,MAAMA,MAAM,GACV,CAACC,IAAD,EAAeC,KAAf,KACA,CAAC,GAAGC,QAAJ,KAA4B;EAC1BC,OAAO,CAACC,GAAR,CACEH,KAAK,CAACI,cAAA,CAAMC,IAAN,CAAWN,IAAX,CAAD,CADP,EAEE,GAAGE,QAAQ,CAACK,GAAT,CAAcC,OAAD,IAAa;IAC3B,IAAI,OAAOA,OAAP,KAAmB,QAAvB,EAAiC;MAC/B,OAAOA,OAAO,CAACC,KAAR,CAAc,IAAd,EAAoBC,IAApB,CAA0B,MAA1B,CAAP;IACD,CAFD,MAEO;MACL,OAAOF,OAAP;IACD;EACF,CANE,CAFL;AAUD,CAbH;;AAeO,MAAMG,IAAI,GAAGZ,MAAM,CAAC,GAAD,EAAMM,cAAA,CAAMO,IAAZ,CAAnB;;AACA,MAAMC,IAAI,GAAGd,MAAM,CAAC,GAAD,EAAMM,cAAA,CAAMS,MAAZ,CAAnB;;AACA,MAAMC,KAAK,GAAGhB,MAAM,CAAC,GAAD,EAAMM,cAAA,CAAMW,GAAZ,CAApB;;AACA,MAAMC,OAAO,GAAGlB,MAAM,CAAC,GAAD,EAAMM,cAAA,CAAMa,KAAZ,CAAtB;;;AAEA,MAAMC,IAAI,GAAG,CAAC,GAAGjB,QAAJ,KAA4B;EAC9Ca,KAAK,CAAC,GAAGb,QAAJ,CAAL;EACAkB,OAAO,CAACD,IAAR,CAAa,CAAb;AACD,CAHM"}
1
+ {"version":3,"file":"logger.js","names":["_kleur","_interopRequireDefault","require","obj","__esModule","default","logger","type","color","messages","console","log","kleur","bold","map","message","split","join","info","blue","exports","warn","yellow","error","red","success","green","exit","process"],"sources":["../../src/utils/logger.ts"],"sourcesContent":["import kleur from 'kleur';\n\nconst logger =\n (type: string, color: Function) =>\n (...messages: unknown[]) => {\n console.log(\n color(kleur.bold(type)),\n ...messages.map((message) => {\n if (typeof message === 'string') {\n return message.split('\\n').join(`\\n `);\n } else {\n return message;\n }\n })\n );\n };\n\nexport const info = logger('ℹ', kleur.blue);\nexport const warn = logger('⚠', kleur.yellow);\nexport const error = logger('✖', kleur.red);\nexport const success = logger('✔', kleur.green);\n\nexport const exit = (...messages: unknown[]) => {\n error(...messages);\n process.exit(1);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE1B,MAAMG,MAAM,GACVA,CAACC,IAAY,EAAEC,KAAe,KAC9B,CAAC,GAAGC,QAAmB,KAAK;EAC1BC,OAAO,CAACC,GAAG,CACTH,KAAK,CAACI,cAAK,CAACC,IAAI,CAACN,IAAI,CAAC,CAAC,EACvB,GAAGE,QAAQ,CAACK,GAAG,CAAEC,OAAO,IAAK;IAC3B,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;MAC/B,OAAOA,OAAO,CAACC,KAAK,CAAC,IAAI,CAAC,CAACC,IAAI,CAAE,MAAK,CAAC;IACzC,CAAC,MAAM;MACL,OAAOF,OAAO;IAChB;EACF,CAAC,CACH,CAAC;AACH,CAAC;AAEI,MAAMG,IAAI,GAAGZ,MAAM,CAAC,GAAG,EAAEM,cAAK,CAACO,IAAI,CAAC;AAACC,OAAA,CAAAF,IAAA,GAAAA,IAAA;AACrC,MAAMG,IAAI,GAAGf,MAAM,CAAC,GAAG,EAAEM,cAAK,CAACU,MAAM,CAAC;AAACF,OAAA,CAAAC,IAAA,GAAAA,IAAA;AACvC,MAAME,KAAK,GAAGjB,MAAM,CAAC,GAAG,EAAEM,cAAK,CAACY,GAAG,CAAC;AAACJ,OAAA,CAAAG,KAAA,GAAAA,KAAA;AACrC,MAAME,OAAO,GAAGnB,MAAM,CAAC,GAAG,EAAEM,cAAK,CAACc,KAAK,CAAC;AAACN,OAAA,CAAAK,OAAA,GAAAA,OAAA;AAEzC,MAAME,IAAI,GAAGA,CAAC,GAAGlB,QAAmB,KAAK;EAC9Cc,KAAK,CAAC,GAAGd,QAAQ,CAAC;EAClBmB,OAAO,CAACD,IAAI,CAAC,CAAC,CAAC;AACjB,CAAC;AAACP,OAAA,CAAAO,IAAA,GAAAA,IAAA"}
@@ -4,17 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = prompts;
7
-
8
7
  var _prompts = _interopRequireDefault(require("prompts"));
9
-
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
9
  function prompts(args, options) {
13
10
  return (0, _prompts.default)(args, {
14
11
  onCancel() {
15
12
  process.exit(1);
16
13
  },
17
-
18
14
  ...options
19
15
  });
20
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","names":["prompts","args","options","promptsModule","onCancel","process","exit"],"sources":["../../src/utils/prompts.ts"],"sourcesContent":["import promptsModule from 'prompts';\n\nexport default function prompts(\n args: promptsModule.PromptObject | promptsModule.PromptObject[],\n options?: promptsModule.Options\n) {\n return promptsModule(args, {\n onCancel() {\n process.exit(1);\n },\n ...options,\n });\n}\n\nexport type PromptObject<T extends string = string> =\n promptsModule.PromptObject<T>;\n"],"mappings":";;;;;;;AAAA;;;;AAEe,SAASA,OAAT,CACbC,IADa,EAEbC,OAFa,EAGb;EACA,OAAO,IAAAC,gBAAA,EAAcF,IAAd,EAAoB;IACzBG,QAAQ,GAAG;MACTC,OAAO,CAACC,IAAR,CAAa,CAAb;IACD,CAHwB;;IAIzB,GAAGJ;EAJsB,CAApB,CAAP;AAMD"}
1
+ {"version":3,"file":"prompts.js","names":["_prompts","_interopRequireDefault","require","obj","__esModule","default","prompts","args","options","promptsModule","onCancel","process","exit"],"sources":["../../src/utils/prompts.ts"],"sourcesContent":["import promptsModule from 'prompts';\n\nexport default function prompts(\n args: promptsModule.PromptObject | promptsModule.PromptObject[],\n options?: promptsModule.Options\n) {\n return promptsModule(args, {\n onCancel() {\n process.exit(1);\n },\n ...options,\n });\n}\n\nexport type PromptObject<T extends string = string> =\n promptsModule.PromptObject<T>;\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAoC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAErB,SAASG,OAAOA,CAC7BC,IAA+D,EAC/DC,OAA+B,EAC/B;EACA,OAAO,IAAAC,gBAAa,EAACF,IAAI,EAAE;IACzBG,QAAQA,CAAA,EAAG;MACTC,OAAO,CAACC,IAAI,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,GAAGJ;EACL,CAAC,CAAC;AACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-builder-bob",
3
- "version": "0.22.0",
3
+ "version": "0.23.1",
4
4
  "description": "CLI to build JavaScript files for React Native libraries",
5
5
  "keywords": [
6
6
  "react-native",
@@ -16,7 +16,7 @@
16
16
  "bugs": {
17
17
  "url": "https://github.com/callstack/react-native-builder-bob/issues"
18
18
  },
19
- "homepage": "https://github.com/callstack/react-native-builder-bob/blob/main/README.md",
19
+ "homepage": "https://callstack.github.io/react-native-builder-bob/build",
20
20
  "main": "lib/index.js",
21
21
  "bin": {
22
22
  "bob": "bin/bob"
@@ -33,7 +33,7 @@
33
33
  "registry": "https://registry.npmjs.org/"
34
34
  },
35
35
  "scripts": {
36
- "prepack": "babel --extensions .ts,.tsx src --out-dir lib --source-maps --delete-dir-on-start"
36
+ "prepare": "babel --extensions .ts,.tsx src --out-dir lib --source-maps --delete-dir-on-start"
37
37
  },
38
38
  "dependencies": {
39
39
  "@babel/core": "^7.18.5",
@@ -71,5 +71,5 @@
71
71
  "@types/yargs": "^17.0.10",
72
72
  "concurrently": "^7.2.2"
73
73
  },
74
- "gitHead": "2a92f26b642637b853c0dfe7f59e2d561d6394af"
74
+ "gitHead": "1d82fb23700516ca8c2d5864c6df90f9ae3e3c11"
75
75
  }