react-native-builder-bob 0.28.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/babel-config.js +22 -13
  2. package/babel-preset.js +9 -5
  3. package/lib/__fixtures__/project/code/$alias-input.js.map +1 -1
  4. package/lib/__fixtures__/project/code/$alias-output.js.map +1 -1
  5. package/lib/__fixtures__/project/code/$exports-input.js +4 -6
  6. package/lib/__fixtures__/project/code/$exports-input.js.map +1 -1
  7. package/lib/__fixtures__/project/code/$exports-output.js +4 -6
  8. package/lib/__fixtures__/project/code/$exports-output.js.map +1 -1
  9. package/lib/__fixtures__/project/code/$imports-input.js.map +1 -1
  10. package/lib/__fixtures__/project/code/$imports-output.js.map +1 -1
  11. package/lib/__fixtures__/project/code/a.js.map +1 -1
  12. package/lib/__fixtures__/project/code/b.js.map +1 -1
  13. package/lib/__fixtures__/project/code/e.story.js.map +1 -1
  14. package/lib/__fixtures__/project/f.js.map +1 -1
  15. package/lib/__fixtures__/project/index.js.map +1 -1
  16. package/lib/__tests__/index.test.js +1 -1
  17. package/lib/__tests__/index.test.js.map +1 -1
  18. package/lib/babel.js +1 -1
  19. package/lib/babel.js.map +1 -1
  20. package/lib/index.js +38 -25
  21. package/lib/index.js.map +1 -1
  22. package/lib/targets/commonjs.js +1 -1
  23. package/lib/targets/commonjs.js.map +1 -1
  24. package/lib/targets/module.js +1 -1
  25. package/lib/targets/module.js.map +1 -1
  26. package/lib/targets/typescript.js +69 -31
  27. package/lib/targets/typescript.js.map +1 -1
  28. package/lib/types.js.map +1 -1
  29. package/lib/utils/androidAssemble.js +1 -1
  30. package/lib/utils/androidAssemble.js.map +1 -1
  31. package/lib/utils/compile.js +16 -6
  32. package/lib/utils/compile.js.map +1 -1
  33. package/lib/utils/logger.js +5 -9
  34. package/lib/utils/logger.js.map +1 -1
  35. package/lib/utils/prompts.js +1 -1
  36. package/lib/utils/prompts.js.map +1 -1
  37. package/metro-config.js +6 -1
  38. package/package.json +12 -8
@@ -1 +1 @@
1
- {"version":3,"file":"commonjs.js","names":["_path","_interopRequireDefault","require","_kleur","_del","_compile","obj","__esModule","default","build","root","source","output","exclude","options","report","info","kleur","blue","path","relative","del","compile","modules"],"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 esm?: boolean;\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n };\n exclude: string;\n};\n\nexport default async function build({\n root,\n source,\n output,\n exclude,\n options,\n report,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n await compile({\n ...options,\n root,\n source,\n output,\n exclude,\n modules: 'commonjs',\n report,\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,IAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAcxB,eAAeG,KAAKA,CAAC;EAClCC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC;AACO,CAAC,EAAE;EACVA,MAAM,CAACC,IAAI,CACR,iCAAgCC,cAAK,CAACC,IAAI,CAACC,aAAI,CAACC,QAAQ,CAACV,IAAI,EAAEE,MAAM,CAAC,CAAE,EAC3E,CAAC;EAED,MAAM,IAAAS,YAAG,EAAC,CAACT,MAAM,CAAC,CAAC;EAEnB,MAAM,IAAAU,gBAAO,EAAC;IACZ,GAAGR,OAAO;IACVJ,IAAI;IACJC,MAAM;IACNC,MAAM;IACNC,OAAO;IACPU,OAAO,EAAE,UAAU;IACnBR;EACF,CAAC,CAAC;AACJ"}
1
+ {"version":3,"file":"commonjs.js","names":["_path","_interopRequireDefault","require","_kleur","_del","_compile","e","__esModule","default","build","root","source","output","exclude","options","report","info","kleur","blue","path","relative","del","compile","modules"],"sources":["../../src/targets/commonjs.ts"],"sourcesContent":["import path from 'path';\nimport kleur from 'kleur';\nimport del from 'del';\nimport compile from '../utils/compile';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n options?: {\n esm?: boolean;\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n };\n exclude: string;\n};\n\nexport default async function build({\n root,\n source,\n output,\n exclude,\n options,\n report,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n await compile({\n ...options,\n root,\n source,\n output,\n exclude,\n modules: 'commonjs',\n report,\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,IAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAcxB,eAAeG,KAAKA,CAAC;EAClCC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC;AACO,CAAC,EAAE;EACVA,MAAM,CAACC,IAAI,CACT,iCAAiCC,cAAK,CAACC,IAAI,CAACC,aAAI,CAACC,QAAQ,CAACV,IAAI,EAAEE,MAAM,CAAC,CAAC,EAC1E,CAAC;EAED,MAAM,IAAAS,YAAG,EAAC,CAACT,MAAM,CAAC,CAAC;EAEnB,MAAM,IAAAU,gBAAO,EAAC;IACZ,GAAGR,OAAO;IACVJ,IAAI;IACJC,MAAM;IACNC,MAAM;IACNC,OAAO;IACPU,OAAO,EAAE,UAAU;IACnBR;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -8,7 +8,7 @@ var _path = _interopRequireDefault(require("path"));
8
8
  var _kleur = _interopRequireDefault(require("kleur"));
9
9
  var _del = _interopRequireDefault(require("del"));
10
10
  var _compile = _interopRequireDefault(require("../utils/compile"));
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  async function build({
13
13
  root,
14
14
  source,
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","names":["_path","_interopRequireDefault","require","_kleur","_del","_compile","obj","__esModule","default","build","root","source","output","exclude","options","report","info","kleur","blue","path","relative","del","compile","modules"],"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 esm?: boolean;\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: 'preserve',\n report,\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,IAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAcxB,eAAeG,KAAKA,CAAC;EAClCC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC;AACO,CAAC,EAAE;EACVA,MAAM,CAACC,IAAI,CACR,iCAAgCC,cAAK,CAACC,IAAI,CAACC,aAAI,CAACC,QAAQ,CAACV,IAAI,EAAEE,MAAM,CAAC,CAAE,EAC3E,CAAC;EAED,MAAM,IAAAS,YAAG,EAAC,CAACT,MAAM,CAAC,CAAC;EAEnB,MAAM,IAAAU,gBAAO,EAAC;IACZ,GAAGR,OAAO;IACVJ,IAAI;IACJC,MAAM;IACNC,MAAM;IACNC,OAAO;IACPU,OAAO,EAAE,UAAU;IACnBR;EACF,CAAC,CAAC;AACJ"}
1
+ {"version":3,"file":"module.js","names":["_path","_interopRequireDefault","require","_kleur","_del","_compile","e","__esModule","default","build","root","source","output","exclude","options","report","info","kleur","blue","path","relative","del","compile","modules"],"sources":["../../src/targets/module.ts"],"sourcesContent":["import path from 'path';\nimport kleur from 'kleur';\nimport del from 'del';\nimport compile from '../utils/compile';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n options?: {\n esm?: boolean;\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: 'preserve',\n report,\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,IAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAcxB,eAAeG,KAAKA,CAAC;EAClCC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,OAAO;EACPC,OAAO;EACPC;AACO,CAAC,EAAE;EACVA,MAAM,CAACC,IAAI,CACT,iCAAiCC,cAAK,CAACC,IAAI,CAACC,aAAI,CAACC,QAAQ,CAACV,IAAI,EAAEE,MAAM,CAAC,CAAC,EAC1E,CAAC;EAED,MAAM,IAAAS,YAAG,EAAC,CAACT,MAAM,CAAC,CAAC;EAEnB,MAAM,IAAAU,gBAAO,EAAC;IACZ,GAAGR,OAAO;IACVJ,IAAI;IACJC,MAAM;IACNC,MAAM;IACNC,OAAO;IACPU,OAAO,EAAE,UAAU;IACnBR;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -12,7 +12,7 @@ var _crossSpawn = _interopRequireDefault(require("cross-spawn"));
12
12
  var _del = _interopRequireDefault(require("del"));
13
13
  var _json = _interopRequireDefault(require("json5"));
14
14
  var _os = require("os");
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
16
  async function build({
17
17
  source,
18
18
  root,
@@ -89,18 +89,59 @@ async function build({
89
89
  } catch (e) {
90
90
  // Ignore
91
91
  }
92
- const result = _crossSpawn.default.sync(tsc, ['--pretty', '--declaration', '--declarationMap', '--noEmit', 'false', '--emitDeclarationOnly', '--project', project, '--outDir', output], {
92
+ const outputs = options?.esm ? {
93
+ commonjs: _path.default.join(output, 'commonjs'),
94
+ module: _path.default.join(output, 'module')
95
+ } : {
96
+ commonjs: output
97
+ };
98
+ const result = _crossSpawn.default.sync(tsc, ['--pretty', '--declaration', '--declarationMap', '--noEmit', 'false', '--emitDeclarationOnly', '--project', project, '--outDir', outputs.commonjs], {
93
99
  stdio: 'inherit',
94
100
  cwd: root
95
101
  });
96
102
  if (result.status === 0) {
97
103
  await (0, _del.default)([tsbuildinfo]);
104
+ if (outputs?.module) {
105
+ // When ESM compatible output is enabled, we need to generate 2 builds for commonjs and esm
106
+ // In this case we copy the already generated types, and add `package.json` with `type` field
107
+ await _fsExtra.default.copy(outputs.commonjs, outputs.module);
108
+ await _fsExtra.default.writeJSON(_path.default.join(outputs.commonjs, 'package.json'), {
109
+ type: 'commonjs'
110
+ });
111
+ await _fsExtra.default.writeJSON(_path.default.join(outputs.module, 'package.json'), {
112
+ type: 'module'
113
+ });
114
+ }
98
115
  report.success(`Wrote definition files to ${_kleur.default.blue(_path.default.relative(root, output))}`);
99
116
  const pkg = JSON.parse(await _fsExtra.default.readFile(_path.default.join(root, 'package.json'), 'utf-8'));
100
- const getGeneratedTypesPath = async () => {
117
+ const fields = [{
118
+ name: 'types',
119
+ value: pkg.types,
120
+ output: outputs.commonjs,
121
+ error: false
122
+ }, ...(pkg.exports?.['.']?.types ? [{
123
+ name: "exports['.'].types",
124
+ value: pkg.exports?.['.']?.types,
125
+ output: outputs.commonjs,
126
+ error: options?.esm === true
127
+ }] : []), {
128
+ name: "exports['.'].import.types",
129
+ value: pkg.exports?.['.']?.import?.types,
130
+ output: outputs.module,
131
+ error: !options?.esm
132
+ }, {
133
+ name: "exports['.'].require.types",
134
+ value: pkg.exports?.['.']?.require?.types,
135
+ output: outputs.commonjs,
136
+ error: !options?.esm
137
+ }];
138
+ const getGeneratedTypesPath = async field => {
139
+ if (!field.output || field.error) {
140
+ return null;
141
+ }
101
142
  if (pkg.source) {
102
143
  const indexDTsName = _path.default.basename(pkg.source).replace(/\.(jsx?|tsx?)$/, '') + '.d.ts';
103
- 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)];
144
+ const potentialPaths = [_path.default.join(field.output, _path.default.dirname(pkg.source), indexDTsName), _path.default.join(field.output, _path.default.relative(source, _path.default.join(root, _path.default.dirname(pkg.source))), indexDTsName)];
104
145
  for (const potentialPath of potentialPaths) {
105
146
  if (await _fsExtra.default.pathExists(potentialPath)) {
106
147
  return _path.default.relative(root, potentialPath);
@@ -109,34 +150,31 @@ async function build({
109
150
  }
110
151
  return null;
111
152
  };
112
- const fields = [{
113
- name: 'types',
114
- value: pkg.types
115
- }, {
116
- name: "exports['.'].types",
117
- value: pkg.exports?.['.']?.types
118
- }];
119
- if (fields.some(field => field.value)) {
120
- await Promise.all(fields.map(async ({
121
- name,
122
- value
123
- }) => {
124
- if (!value) {
125
- return;
153
+ const invalidFieldNames = (await Promise.all(fields.map(async field => {
154
+ if (field.error) {
155
+ if (field.value) {
156
+ report.warn(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue(`package.json`)} should not be set when the ${_kleur.default.blue('esm')} option is ${options?.esm ? 'enabled' : 'disabled'}.`);
126
157
  }
127
- const typesPath = _path.default.join(root, value);
128
- if (!(await _fsExtra.default.pathExists(typesPath))) {
129
- const generatedTypesPath = await getGeneratedTypesPath();
130
- if (!generatedTypesPath) {
131
- 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')}.`);
132
- }
133
- report.error(`The ${_kleur.default.blue(name)} field in ${_kleur.default.blue('package.json')} points to a non-existent file: ${_kleur.default.blue(value)}.\nVerify the path points to the correct file under ${_kleur.default.blue(_path.default.relative(root, output))}${generatedTypesPath ? ` (found ${_kleur.default.blue(generatedTypesPath)}).` : '.'}`);
134
- throw new Error(`Found incorrect path in '${name}' field.`);
135
- }
136
- }));
137
- } else {
138
- const generatedTypesPath = await getGeneratedTypesPath();
139
- report.warn(`No ${_kleur.default.blue(fields.map(field => field.name).join(' or '))} field found in ${_kleur.default.blue('package.json')}.\nConsider ${generatedTypesPath ? `pointing it to ${_kleur.default.blue(generatedTypesPath)}` : 'adding it'} so that consumers of your package can use the types.`);
158
+ return null;
159
+ }
160
+ if (field.name.startsWith('exports') && field.value && !/^\.\//.test(field.value)) {
161
+ report.error(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue(`package.json`)} should be a relative path starting with ${_kleur.default.blue('./')}. Found: ${_kleur.default.blue(field.value)}`);
162
+ return field.name;
163
+ }
164
+ if (field.value && !(await _fsExtra.default.pathExists(_path.default.join(root, field.value)))) {
165
+ const generatedTypesPath = await getGeneratedTypesPath(field);
166
+ report.error(`The ${_kleur.default.blue(field.name)} field in ${_kleur.default.blue('package.json')} points to a non-existent file: ${_kleur.default.blue(field.value)}.\nVerify the path points to the correct file under ${_kleur.default.blue(_path.default.relative(root, output))}${generatedTypesPath ? ` (found ${_kleur.default.blue(generatedTypesPath)}).` : '.'}`);
167
+ return field.name;
168
+ }
169
+ return null;
170
+ }))).filter(name => name != null);
171
+ if (invalidFieldNames.length) {
172
+ throw new Error(`Found errors for fields: ${invalidFieldNames.join(', ')}.`);
173
+ }
174
+ const validFields = fields.filter(field => !field.error);
175
+ if (validFields.every(field => field.value == null)) {
176
+ const suggestedTypesPaths = (await Promise.all(validFields.map(field => getGeneratedTypesPath(field)))).filter(path => path != null).filter((path, i, self) => self.indexOf(path) === i);
177
+ report.warn(`No ${validFields.map(field => _kleur.default.blue(field.name)).join(' or ')} field found in ${_kleur.default.blue('package.json')}. Consider ${suggestedTypesPaths.length ? `pointing to ${suggestedTypesPaths.map(path => _kleur.default.blue(path)).join(' or ')}` : `adding ${validFields.length > 1 ? 'them' : 'it'}`} so that consumers of your package can use the typescript definitions.`);
140
178
  }
141
179
  } else {
142
180
  throw new Error('Failed to build definition files.');
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","names":["_kleur","_interopRequireDefault","require","_path","_fsExtra","_which","_crossSpawn","_del","_json","_os","obj","__esModule","default","build","source","root","output","report","options","info","kleur","blue","path","relative","del","project","tsconfig","join","fs","pathExists","config","JSON5","parse","readFile","compilerOptions","conflicts","declarationDir","push","outDir","length","warn","reduce","acc","curr","gray","yellow","e","Error","tsc","resolve","execpath","process","env","npm_execpath","cli","split","pop","includes","result","spawn","sync","stdio","encoding","cwd","stdout","trim","platform","endsWith","which","tsbuildinfo","replace","status","success","pkg","JSON","getGeneratedTypesPath","indexDTsName","basename","potentialPaths","dirname","potentialPath","fields","name","value","types","exports","some","field","Promise","all","map","typesPath","generatedTypesPath","error","toString","message"],"sources":["../../src/targets/typescript.ts"],"sourcesContent":["import kleur from 'kleur';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport which from 'which';\nimport spawn from 'cross-spawn';\nimport del from 'del';\nimport JSON5 from 'json5';\nimport { platform } from 'os';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n options?: { project?: string; tsc?: string };\n};\n\nexport default async function build({\n source,\n root,\n output,\n report,\n options,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n report.info(`Generating type definitions with ${kleur.blue('tsc')}`);\n\n const project = options?.project ? options.project : 'tsconfig.json';\n const tsconfig = path.join(root, project);\n\n try {\n if (await fs.pathExists(tsconfig)) {\n try {\n const config = JSON5.parse(await fs.readFile(tsconfig, 'utf-8'));\n\n if (config.compilerOptions) {\n const conflicts: string[] = [];\n\n if (config.compilerOptions.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 '--noEmit',\n 'false',\n '--emitDeclarationOnly',\n '--project',\n project,\n '--outDir',\n output,\n ],\n {\n stdio: 'inherit',\n cwd: root,\n }\n );\n\n if (result.status === 0) {\n await del([tsbuildinfo]);\n\n report.success(\n `Wrote definition files to ${kleur.blue(path.relative(root, output))}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n const getGeneratedTypesPath = async () => {\n if (pkg.source) {\n const indexDTsName =\n path.basename(pkg.source).replace(/\\.(jsx?|tsx?)$/, '') + '.d.ts';\n\n const potentialPaths = [\n path.join(output, path.dirname(pkg.source), indexDTsName),\n path.join(\n output,\n path.dirname(path.relative(source, path.join(root, pkg.source))),\n indexDTsName\n ),\n ];\n\n for (const potentialPath of potentialPaths) {\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const fields = [\n { name: 'types', value: pkg.types },\n { name: \"exports['.'].types\", value: pkg.exports?.['.']?.types },\n ];\n\n if (fields.some((field) => field.value)) {\n await Promise.all(\n fields.map(async ({ name, value }) => {\n if (!value) {\n return;\n }\n\n const typesPath = path.join(root, value);\n\n if (!(await fs.pathExists(typesPath))) {\n const generatedTypesPath = await getGeneratedTypesPath();\n\n if (!generatedTypesPath) {\n report.warn(\n `Failed to detect the entry point for the generated types. Make sure you have a valid ${kleur.blue(\n 'source'\n )} field in your ${kleur.blue('package.json')}.`\n );\n }\n\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedTypesPath\n ? ` (found ${kleur.blue(generatedTypesPath)}).`\n : '.'\n }`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n })\n );\n } else {\n const generatedTypesPath = await getGeneratedTypesPath();\n\n report.warn(\n `No ${kleur.blue(\n fields.map((field) => field.name).join(' or ')\n )} field found in ${kleur.blue('package.json')}.\\nConsider ${\n generatedTypesPath\n ? `pointing it to ${kleur.blue(generatedTypesPath)}`\n : 'adding it'\n } so that consumers of your package can use the types.`\n );\n }\n } else {\n throw new Error('Failed to build definition files.');\n }\n } catch (e: unknown) {\n if (e != null && typeof e === 'object') {\n if ('stdout' in e && e.stdout != null) {\n report.error(\n `Errors found when building definition files:\\n${e.stdout.toString()}`\n );\n } else if ('message' in e && typeof e.message === 'string') {\n report.error(e.message);\n } else {\n throw e;\n }\n } else {\n throw e;\n }\n\n throw new Error('Failed to build definition files.');\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"typescript.js","names":["_kleur","_interopRequireDefault","require","_path","_fsExtra","_which","_crossSpawn","_del","_json","_os","e","__esModule","default","build","source","root","output","report","options","info","kleur","blue","path","relative","del","project","tsconfig","join","fs","pathExists","config","JSON5","parse","readFile","compilerOptions","conflicts","declarationDir","push","outDir","length","warn","reduce","acc","curr","gray","yellow","Error","tsc","resolve","execpath","process","env","npm_execpath","cli","split","pop","includes","result","spawn","sync","stdio","encoding","cwd","stdout","trim","platform","endsWith","which","tsbuildinfo","replace","outputs","esm","commonjs","module","status","copy","writeJSON","type","success","pkg","JSON","fields","name","value","types","error","exports","import","getGeneratedTypesPath","field","indexDTsName","basename","potentialPaths","dirname","potentialPath","invalidFieldNames","Promise","all","map","startsWith","test","generatedTypesPath","filter","validFields","every","suggestedTypesPaths","i","self","indexOf","toString","message"],"sources":["../../src/targets/typescript.ts"],"sourcesContent":["import kleur from 'kleur';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport which from 'which';\nimport spawn from 'cross-spawn';\nimport del from 'del';\nimport JSON5 from 'json5';\nimport { platform } from 'os';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n options?: {\n esm?: boolean;\n project?: string;\n tsc?: string;\n };\n};\n\ntype Field = {\n name: string;\n value: string | undefined;\n output: string | undefined;\n error: boolean;\n};\n\nexport default async function build({\n source,\n root,\n output,\n report,\n options,\n}: Options) {\n report.info(\n `Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`\n );\n\n await del([output]);\n\n report.info(`Generating type definitions with ${kleur.blue('tsc')}`);\n\n const project = options?.project ? options.project : 'tsconfig.json';\n const tsconfig = path.join(root, project);\n\n try {\n if (await fs.pathExists(tsconfig)) {\n try {\n const config = JSON5.parse(await fs.readFile(tsconfig, 'utf-8'));\n\n if (config.compilerOptions) {\n const conflicts: string[] = [];\n\n if (config.compilerOptions.declarationDir) {\n conflicts.push('compilerOptions.declarationDir');\n }\n\n if (\n config.compilerOptions.outDir &&\n path.join(root, config.compilerOptions.outDir) !== output\n ) {\n conflicts.push('compilerOptions.outDir');\n }\n\n if (conflicts.length) {\n report.warn(\n `Found following options in the config file which can conflict with the CLI options. Please remove them from ${kleur.blue(\n project\n )}:${conflicts.reduce(\n (acc, curr) =>\n acc + `\\n${kleur.gray('-')} ${kleur.yellow(curr)}`,\n ''\n )}`\n );\n }\n }\n } catch (e) {\n report.warn(\n `Couldn't parse '${project}'. There might be validation errors.`\n );\n }\n } else {\n throw new Error(\n `Couldn't find a ${kleur.blue('tsconfig.json')} in the project root.`\n );\n }\n\n let tsc;\n\n if (options?.tsc) {\n tsc = path.resolve(root, options.tsc);\n\n if (!(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed at ${kleur.blue(\n tsc\n )}. Please specify the correct path in options or remove it to use the workspace's version.`\n );\n }\n } else {\n const execpath = process.env.npm_execpath;\n const cli = execpath?.split('/').pop()?.includes('yarn') ? 'yarn' : 'npm';\n\n if (cli === 'yarn') {\n const result = spawn.sync('yarn', ['bin', 'tsc'], {\n stdio: 'pipe',\n encoding: 'utf-8',\n cwd: root,\n });\n\n tsc = result.stdout.trim();\n } else {\n tsc = path.resolve(root, 'node_modules', '.bin', 'tsc');\n }\n\n if (platform() === 'win32' && !tsc.endsWith('.cmd')) {\n tsc += '.cmd';\n }\n }\n\n if (!(await fs.pathExists(tsc))) {\n try {\n tsc = await which('tsc');\n\n if (await fs.pathExists(tsc)) {\n report.warn(\n `Failed to locate ${kleur.blue(\n 'tsc'\n )} in the workspace. Falling back to the binary found in ${kleur.blue(\n 'PATH'\n )} at ${kleur.blue(tsc)}. Consider adding ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue(\n 'devDependencies'\n )} or specifying the ${kleur.blue(\n 'tsc'\n )} option for the typescript target.`\n );\n }\n } catch (e) {\n // Ignore\n }\n }\n\n if (tsc == null || !(await fs.pathExists(tsc))) {\n throw new Error(\n `The ${kleur.blue(\n 'tsc'\n )} binary doesn't seem to be installed under ${kleur.blue(\n 'node_modules'\n )} or present in $PATH. Make sure you have added ${kleur.blue(\n 'typescript'\n )} to your ${kleur.blue('devDependencies')} or specify the ${kleur.blue(\n 'tsc'\n )} option for typescript.`\n );\n }\n\n const 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 outputs = options?.esm\n ? {\n commonjs: path.join(output, 'commonjs'),\n module: path.join(output, 'module'),\n }\n : { commonjs: output };\n\n const result = spawn.sync(\n tsc,\n [\n '--pretty',\n '--declaration',\n '--declarationMap',\n '--noEmit',\n 'false',\n '--emitDeclarationOnly',\n '--project',\n project,\n '--outDir',\n outputs.commonjs,\n ],\n {\n stdio: 'inherit',\n cwd: root,\n }\n );\n\n if (result.status === 0) {\n await del([tsbuildinfo]);\n\n if (outputs?.module) {\n // When ESM compatible output is enabled, we need to generate 2 builds for commonjs and esm\n // In this case we copy the already generated types, and add `package.json` with `type` field\n await fs.copy(outputs.commonjs, outputs.module);\n await fs.writeJSON(path.join(outputs.commonjs, 'package.json'), {\n type: 'commonjs',\n });\n await fs.writeJSON(path.join(outputs.module, 'package.json'), {\n type: 'module',\n });\n }\n\n report.success(\n `Wrote definition files to ${kleur.blue(path.relative(root, output))}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n const fields: Field[] = [\n {\n name: 'types',\n value: pkg.types,\n output: outputs.commonjs,\n error: false,\n },\n ...(pkg.exports?.['.']?.types\n ? [\n {\n name: \"exports['.'].types\",\n value: pkg.exports?.['.']?.types,\n output: outputs.commonjs,\n error: options?.esm === true,\n },\n ]\n : []),\n {\n name: \"exports['.'].import.types\",\n value: pkg.exports?.['.']?.import?.types,\n output: outputs.module,\n error: !options?.esm,\n },\n {\n name: \"exports['.'].require.types\",\n value: pkg.exports?.['.']?.require?.types,\n output: outputs.commonjs,\n error: !options?.esm,\n },\n ];\n\n const getGeneratedTypesPath = async (field: Field) => {\n if (!field.output || field.error) {\n return null;\n }\n\n if (pkg.source) {\n const indexDTsName =\n path.basename(pkg.source).replace(/\\.(jsx?|tsx?)$/, '') + '.d.ts';\n\n const potentialPaths = [\n path.join(field.output, path.dirname(pkg.source), indexDTsName),\n path.join(\n field.output,\n path.relative(source, path.join(root, path.dirname(pkg.source))),\n indexDTsName\n ),\n ];\n\n for (const potentialPath of potentialPaths) {\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const invalidFieldNames = (\n await Promise.all(\n fields.map(async (field) => {\n if (field.error) {\n if (field.value) {\n report.warn(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n `package.json`\n )} should not be set when the ${kleur.blue(\n 'esm'\n )} option is ${options?.esm ? 'enabled' : 'disabled'}.`\n );\n }\n\n return null;\n }\n\n if (\n field.name.startsWith('exports') &&\n field.value &&\n !/^\\.\\//.test(field.value)\n ) {\n report.error(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(field.value)}`\n );\n\n return field.name;\n }\n\n if (\n field.value &&\n !(await fs.pathExists(path.join(root, field.value)))\n ) {\n const generatedTypesPath = await getGeneratedTypesPath(field);\n\n report.error(\n `The ${kleur.blue(field.name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n field.value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedTypesPath\n ? ` (found ${kleur.blue(generatedTypesPath)}).`\n : '.'\n }`\n );\n\n return field.name;\n }\n\n return null;\n })\n )\n ).filter((name): name is string => name != null);\n\n if (invalidFieldNames.length) {\n throw new Error(\n `Found errors for fields: ${invalidFieldNames.join(', ')}.`\n );\n }\n\n const validFields = fields.filter((field) => !field.error);\n\n if (validFields.every((field) => field.value == null)) {\n const suggestedTypesPaths = (\n await Promise.all(\n validFields.map((field) => getGeneratedTypesPath(field))\n )\n )\n .filter((path): path is string => path != null)\n .filter((path, i, self) => self.indexOf(path) === i);\n\n report.warn(\n `No ${validFields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue(\n 'package.json'\n )}. Consider ${\n suggestedTypesPaths.length\n ? `pointing to ${suggestedTypesPaths\n .map((path) => kleur.blue(path))\n .join(' or ')}`\n : `adding ${validFields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can use the typescript definitions.`\n );\n }\n } else {\n throw new Error('Failed to build definition files.');\n }\n } catch (e: unknown) {\n if (e != null && typeof e === 'object') {\n if ('stdout' in e && e.stdout != null) {\n report.error(\n `Errors found when building definition files:\\n${e.stdout.toString()}`\n );\n } else if ('message' in e && typeof e.message === 'string') {\n report.error(e.message);\n } else {\n throw e;\n }\n } else {\n throw e;\n }\n\n throw new Error('Failed to build definition files.');\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["export type Log = (message: string) => void;\nexport type Report = {\n info: Log;\n warn: Log;\n success: Log;\n error: Log;\n};\n\nexport type Input = {\n root: string;\n source: string;\n output: string;\n report: Report;\n};\n\nexport type Target = 'commonjs' | 'module' | 'typescript';\n\nexport type Options = {\n source?: string;\n output?: string;\n targets?: (Target | [Target, object])[];\n exclude?: string;\n};\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["export type Log = (message: string) => void;\nexport type Report = {\n info: Log;\n warn: Log;\n success: Log;\n error: Log;\n};\n\nexport type Input = {\n root: string;\n source: string;\n output: string;\n report: Report;\n};\n\nexport type Target = 'commonjs' | 'module' | 'typescript';\n\nexport type Options = {\n source?: string;\n output?: string;\n targets?: (Target | [Target, object])[];\n exclude?: string;\n};\n"],"mappings":"","ignoreList":[]}
@@ -9,7 +9,7 @@ var _kleur = _interopRequireDefault(require("kleur"));
9
9
  var _fsExtra = _interopRequireDefault(require("fs-extra"));
10
10
  var _child_process = require("child_process");
11
11
  var _os = require("os");
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
13
  async function androidAssemble({
14
14
  root,
15
15
  androidPath,
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"androidAssemble.js","names":["_path","_interopRequireDefault","require","_kleur","_fsExtra","_child_process","_os","e","__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,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;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,CACT,iCAAiCC,cAAK,CAACC,IAAI,CAACL,GAAG,CAAC,SAASI,cAAK,CAACC,IAAI,CACjE,QACF,CAAC,EACH,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,CACb,OAAOR,cAAK,CAACC,IAAI,CACf,SACF,CAAC,sCAAsCD,cAAK,CAACC,IAAI,CAC/CP,WACF,CAAC,4CAA4CM,cAAK,CAACC,IAAI,CACrD,gBACF,CAAC,qBACH,CAAC;EACH;AACF","ignoreList":[]}
@@ -9,9 +9,9 @@ var _fsExtra = _interopRequireDefault(require("fs-extra"));
9
9
  var _kleur = _interopRequireDefault(require("kleur"));
10
10
  var babel = _interopRequireWildcard(require("@babel/core"));
11
11
  var _glob = _interopRequireDefault(require("glob"));
12
- 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); }
13
- 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; }
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
15
  const sourceExt = /\.([cm])?[jt]sx?$/;
16
16
  async function compile({
17
17
  root,
@@ -110,14 +110,20 @@ async function compile({
110
110
  }];
111
111
  if (esm) {
112
112
  if (modules === 'commonjs') {
113
- fields.push({
113
+ fields.push(typeof pkg.exports?.['.']?.require === 'string' ? {
114
114
  name: "exports['.'].require",
115
115
  value: pkg.exports?.['.']?.require
116
+ } : {
117
+ name: "exports['.'].require.default",
118
+ value: pkg.exports?.['.']?.require?.default
116
119
  });
117
120
  } else {
118
- fields.push({
121
+ fields.push(typeof pkg.exports?.['.']?.import === 'string' ? {
119
122
  name: "exports['.'].import",
120
123
  value: pkg.exports?.['.']?.import
124
+ } : {
125
+ name: "exports['.'].import.default",
126
+ value: pkg.exports?.['.']?.import?.default
121
127
  });
122
128
  }
123
129
  } else {
@@ -135,6 +141,10 @@ async function compile({
135
141
  if (!value) {
136
142
  return;
137
143
  }
144
+ if (name.startsWith('exports') && value && !/^\.\//.test(value)) {
145
+ report.error(`The ${_kleur.default.blue(name)} field in ${_kleur.default.blue(`package.json`)} should be a relative path starting with ${_kleur.default.blue('./')}. Found: ${_kleur.default.blue(value)}`);
146
+ throw new Error(`Found incorrect path in '${name}' field.`);
147
+ }
138
148
  try {
139
149
  require.resolve(_path.default.join(root, value));
140
150
  } catch (e) {
@@ -151,7 +161,7 @@ async function compile({
151
161
  }));
152
162
  } else {
153
163
  const generatedEntryPath = await getGeneratedEntryPath();
154
- report.warn(`No ${_kleur.default.blue(fields.map(field => field.name).join(' or '))} field found in ${_kleur.default.blue('package.json')}. Consider ${generatedEntryPath ? `pointing it to ${_kleur.default.blue(generatedEntryPath)}` : 'adding it'} so that consumers of your package can use it.`);
164
+ report.warn(`No ${fields.map(field => _kleur.default.blue(field.name)).join(' or ')} field found in ${_kleur.default.blue('package.json')}. Consider ${generatedEntryPath ? `pointing to ${_kleur.default.blue(generatedEntryPath)}` : `adding ${fields.length > 1 ? 'them' : 'it'}`} so that consumers of your package can import your package.`);
155
165
  }
156
166
  }
157
167
  //# sourceMappingURL=compile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","babel","_interopRequireWildcard","_glob","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","sourceExt","compile","root","source","output","esm","babelrc","configFile","exclude","modules","copyFlow","sourceMaps","report","files","glob","sync","cwd","absolute","nodir","ignore","info","kleur","blue","String","length","path","relative","pkg","JSON","parse","fs","readFile","join","keys","devDependencies","includes","warn","mkdirp","writeJSON","type","Promise","all","map","filepath","outputFilename","replace","dirname","test","copy","content","result","transformAsync","sourceRoot","sourceFileName","filename","presets","resolve","Error","code","mapFilename","basename","sourcesContent","undefined","writeFile","success","getGeneratedEntryPath","ext","indexName","potentialPath","pathExists","fields","name","value","main","module","push","exports","import","some","field","e","generatedEntryPath","error"],"sources":["../../src/utils/compile.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport * as babel from '@babel/core';\nimport glob from 'glob';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n esm?: boolean;\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n modules: 'commonjs' | 'preserve';\n exclude: string;\n};\n\nconst sourceExt = /\\.([cm])?[jt]sx?$/;\n\nexport default async function compile({\n root,\n source,\n output,\n esm = false,\n babelrc = false,\n configFile = false,\n exclude,\n modules,\n copyFlow,\n sourceMaps = true,\n report,\n}: Options) {\n const files = glob.sync('**/*', {\n cwd: source,\n absolute: true,\n nodir: true,\n ignore: exclude,\n });\n\n report.info(\n `Compiling ${kleur.blue(String(files.length))} files in ${kleur.blue(\n path.relative(root, source)\n )} with ${kleur.blue('babel')}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n if (copyFlow) {\n if (!Object.keys(pkg.devDependencies || {}).includes('flow-bin')) {\n report.warn(\n `The ${kleur.blue(\n 'copyFlow'\n )} option was specified, but couldn't find ${kleur.blue(\n 'flow-bin'\n )} in ${kleur.blue(\n 'package.json'\n )}.\\nIf the project is using ${kleur.blue(\n 'flow'\n )}, then make sure you have added ${kleur.blue(\n 'flow-bin'\n )} to your ${kleur.blue(\n 'devDependencies'\n )}, otherwise remove the ${kleur.blue('copyFlow')} option.`\n );\n }\n }\n\n await fs.mkdirp(output);\n await fs.writeJSON(path.join(output, 'package.json'), {\n type: modules === 'commonjs' ? 'commonjs' : 'module',\n });\n\n await Promise.all(\n files.map(async (filepath) => {\n const outputFilename = path\n .join(output, path.relative(source, filepath))\n .replace(sourceExt, '.$1js');\n\n await fs.mkdirp(path.dirname(outputFilename));\n\n if (!sourceExt.test(filepath)) {\n // Copy files which aren't source code\n fs.copy(filepath, outputFilename);\n return;\n }\n\n const content = await fs.readFile(filepath, 'utf-8');\n const result = await babel.transformAsync(content, {\n 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'),\n {\n modules:\n // If a file is explicitly marked as ESM, then preserve the syntax\n /\\.m[jt]s$/.test(filepath) ? 'preserve' : modules,\n esm,\n },\n ],\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 for (const ext of ['.js', '.cjs', '.mjs']) {\n const indexName =\n // The source field may not have an extension, so we add it instead of replacing directly\n path.basename(pkg.source).replace(sourceExt, '') + ext;\n\n const potentialPath = path.join(\n output,\n path.dirname(path.relative(source, path.join(root, pkg.source))),\n indexName\n );\n\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const fields =\n modules === 'commonjs'\n ? [{ name: 'main', value: pkg.main }]\n : [{ name: 'module', value: pkg.module }];\n\n if (esm) {\n if (modules === 'commonjs') {\n fields.push({\n name: \"exports['.'].require\",\n value: pkg.exports?.['.']?.require,\n });\n } else {\n fields.push({\n name: \"exports['.'].import\",\n value: pkg.exports?.['.']?.import,\n });\n }\n } else {\n if (modules === 'commonjs' && pkg.exports?.['.']?.require) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].require\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n } else if (modules === 'preserve' && pkg.exports?.['.']?.import) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].import\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n }\n }\n\n if (fields.some((field) => field.value)) {\n await Promise.all(\n fields.map(async ({ name, value }) => {\n if (!value) {\n return;\n }\n\n try {\n require.resolve(path.join(root, value));\n } catch (e: unknown) {\n if (\n e != null &&\n typeof e === 'object' &&\n 'code' in e &&\n e.code === 'MODULE_NOT_FOUND'\n ) {\n const generatedEntryPath = await getGeneratedEntryPath();\n\n if (!generatedEntryPath) {\n report.warn(\n `Failed to detect the entry point for the generated files. Make sure you have a valid ${kleur.blue(\n 'source'\n )} field in your ${kleur.blue('package.json')}.`\n );\n }\n\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedEntryPath\n ? ` (found ${kleur.blue(generatedEntryPath)}).`\n : '.'\n }`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n\n throw e;\n }\n })\n );\n } else {\n const generatedEntryPath = await getGeneratedEntryPath();\n\n report.warn(\n `No ${kleur.blue(\n fields.map((field) => field.name).join(' or ')\n )} field found in ${kleur.blue('package.json')}. Consider ${\n generatedEntryPath\n ? `pointing it to ${kleur.blue(generatedEntryPath)}`\n : 'adding it'\n } so that consumers of your package can use it.`\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","babel","_interopRequireWildcard","_glob","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","sourceExt","compile","root","source","output","esm","babelrc","configFile","exclude","modules","copyFlow","sourceMaps","report","files","glob","sync","cwd","absolute","nodir","ignore","info","kleur","blue","String","length","path","relative","pkg","JSON","parse","fs","readFile","join","keys","devDependencies","includes","warn","mkdirp","writeJSON","type","Promise","all","map","filepath","outputFilename","replace","dirname","test","copy","content","result","transformAsync","sourceRoot","sourceFileName","filename","presets","resolve","Error","code","mapFilename","basename","sourcesContent","undefined","writeFile","success","getGeneratedEntryPath","ext","indexName","potentialPath","pathExists","fields","name","value","main","module","push","exports","import","some","field","startsWith","error","generatedEntryPath"],"sources":["../../src/utils/compile.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport * as babel from '@babel/core';\nimport glob from 'glob';\nimport type { Input } from '../types';\n\ntype Options = Input & {\n esm?: boolean;\n babelrc?: boolean | null;\n configFile?: string | false | null;\n sourceMaps?: boolean;\n copyFlow?: boolean;\n modules: 'commonjs' | 'preserve';\n exclude: string;\n};\n\nconst sourceExt = /\\.([cm])?[jt]sx?$/;\n\nexport default async function compile({\n root,\n source,\n output,\n esm = false,\n babelrc = false,\n configFile = false,\n exclude,\n modules,\n copyFlow,\n sourceMaps = true,\n report,\n}: Options) {\n const files = glob.sync('**/*', {\n cwd: source,\n absolute: true,\n nodir: true,\n ignore: exclude,\n });\n\n report.info(\n `Compiling ${kleur.blue(String(files.length))} files in ${kleur.blue(\n path.relative(root, source)\n )} with ${kleur.blue('babel')}`\n );\n\n const pkg = JSON.parse(\n await fs.readFile(path.join(root, 'package.json'), 'utf-8')\n );\n\n if (copyFlow) {\n if (!Object.keys(pkg.devDependencies || {}).includes('flow-bin')) {\n report.warn(\n `The ${kleur.blue(\n 'copyFlow'\n )} option was specified, but couldn't find ${kleur.blue(\n 'flow-bin'\n )} in ${kleur.blue(\n 'package.json'\n )}.\\nIf the project is using ${kleur.blue(\n 'flow'\n )}, then make sure you have added ${kleur.blue(\n 'flow-bin'\n )} to your ${kleur.blue(\n 'devDependencies'\n )}, otherwise remove the ${kleur.blue('copyFlow')} option.`\n );\n }\n }\n\n await fs.mkdirp(output);\n await fs.writeJSON(path.join(output, 'package.json'), {\n type: modules === 'commonjs' ? 'commonjs' : 'module',\n });\n\n await Promise.all(\n files.map(async (filepath) => {\n const outputFilename = path\n .join(output, path.relative(source, filepath))\n .replace(sourceExt, '.$1js');\n\n await fs.mkdirp(path.dirname(outputFilename));\n\n if (!sourceExt.test(filepath)) {\n // Copy files which aren't source code\n fs.copy(filepath, outputFilename);\n return;\n }\n\n const content = await fs.readFile(filepath, 'utf-8');\n const result = await babel.transformAsync(content, {\n 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'),\n {\n modules:\n // If a file is explicitly marked as ESM, then preserve the syntax\n /\\.m[jt]s$/.test(filepath) ? 'preserve' : modules,\n esm,\n },\n ],\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 for (const ext of ['.js', '.cjs', '.mjs']) {\n const indexName =\n // The source field may not have an extension, so we add it instead of replacing directly\n path.basename(pkg.source).replace(sourceExt, '') + ext;\n\n const potentialPath = path.join(\n output,\n path.dirname(path.relative(source, path.join(root, pkg.source))),\n indexName\n );\n\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n }\n\n return null;\n };\n\n const fields =\n modules === 'commonjs'\n ? [{ name: 'main', value: pkg.main }]\n : [{ name: 'module', value: pkg.module }];\n\n if (esm) {\n if (modules === 'commonjs') {\n fields.push(\n typeof pkg.exports?.['.']?.require === 'string'\n ? {\n name: \"exports['.'].require\",\n value: pkg.exports?.['.']?.require,\n }\n : {\n name: \"exports['.'].require.default\",\n value: pkg.exports?.['.']?.require?.default,\n }\n );\n } else {\n fields.push(\n typeof pkg.exports?.['.']?.import === 'string'\n ? {\n name: \"exports['.'].import\",\n value: pkg.exports?.['.']?.import,\n }\n : {\n name: \"exports['.'].import.default\",\n value: pkg.exports?.['.']?.import?.default,\n }\n );\n }\n } else {\n if (modules === 'commonjs' && pkg.exports?.['.']?.require) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].require\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n } else if (modules === 'preserve' && pkg.exports?.['.']?.import) {\n report.warn(\n `The ${kleur.blue('esm')} option is disabled, but the ${kleur.blue(\n \"exports['.'].import\"\n )} field is set in ${kleur.blue(\n 'package.json'\n )}. This is likely a mistake.`\n );\n }\n }\n\n if (fields.some((field) => field.value)) {\n await Promise.all(\n fields.map(async ({ name, value }) => {\n if (!value) {\n return;\n }\n\n if (name.startsWith('exports') && value && !/^\\.\\//.test(value)) {\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n `package.json`\n )} should be a relative path starting with ${kleur.blue(\n './'\n )}. Found: ${kleur.blue(value)}`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n\n try {\n require.resolve(path.join(root, value));\n } catch (e: unknown) {\n if (\n e != null &&\n typeof e === 'object' &&\n 'code' in e &&\n e.code === 'MODULE_NOT_FOUND'\n ) {\n const generatedEntryPath = await getGeneratedEntryPath();\n\n if (!generatedEntryPath) {\n report.warn(\n `Failed to detect the entry point for the generated files. Make sure you have a valid ${kleur.blue(\n 'source'\n )} field in your ${kleur.blue('package.json')}.`\n );\n }\n\n report.error(\n `The ${kleur.blue(name)} field in ${kleur.blue(\n 'package.json'\n )} points to a non-existent file: ${kleur.blue(\n value\n )}.\\nVerify the path points to the correct file under ${kleur.blue(\n path.relative(root, output)\n )}${\n generatedEntryPath\n ? ` (found ${kleur.blue(generatedEntryPath)}).`\n : '.'\n }`\n );\n\n throw new Error(`Found incorrect path in '${name}' field.`);\n }\n\n throw e;\n }\n })\n );\n } else {\n const generatedEntryPath = await getGeneratedEntryPath();\n\n report.warn(\n `No ${fields\n .map((field) => kleur.blue(field.name))\n .join(' or ')} field found in ${kleur.blue('package.json')}. Consider ${\n generatedEntryPath\n ? `pointing to ${kleur.blue(generatedEntryPath)}`\n : `adding ${fields.length > 1 ? 'them' : 'it'}`\n } so that consumers of your package can import your package.`\n );\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAC,uBAAA,CAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAN,sBAAA,CAAAC,OAAA;AAAwB,SAAAM,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAhB,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAI,UAAA,GAAAJ,CAAA,KAAAK,OAAA,EAAAL,CAAA;AAaxB,MAAMmB,SAAS,GAAG,mBAAmB;AAEtB,eAAeC,OAAOA,CAAC;EACpCC,IAAI;EACJC,MAAM;EACNC,MAAM;EACNC,GAAG,GAAG,KAAK;EACXC,OAAO,GAAG,KAAK;EACfC,UAAU,GAAG,KAAK;EAClBC,OAAO;EACPC,OAAO;EACPC,QAAQ;EACRC,UAAU,GAAG,IAAI;EACjBC;AACO,CAAC,EAAE;EACV,MAAMC,KAAK,GAAGC,aAAI,CAACC,IAAI,CAAC,MAAM,EAAE;IAC9BC,GAAG,EAAEb,MAAM;IACXc,QAAQ,EAAE,IAAI;IACdC,KAAK,EAAE,IAAI;IACXC,MAAM,EAAEX;EACV,CAAC,CAAC;EAEFI,MAAM,CAACQ,IAAI,CACT,aAAaC,cAAK,CAACC,IAAI,CAACC,MAAM,CAACV,KAAK,CAACW,MAAM,CAAC,CAAC,aAAaH,cAAK,CAACC,IAAI,CAClEG,aAAI,CAACC,QAAQ,CAACxB,IAAI,EAAEC,MAAM,CAC5B,CAAC,SAASkB,cAAK,CAACC,IAAI,CAAC,OAAO,CAAC,EAC/B,CAAC;EAED,MAAMK,GAAG,GAAGC,IAAI,CAACC,KAAK,CACpB,MAAMC,gBAAE,CAACC,QAAQ,CAACN,aAAI,CAACO,IAAI,CAAC9B,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAC5D,CAAC;EAED,IAAIQ,QAAQ,EAAE;IACZ,IAAI,CAAClB,MAAM,CAACyC,IAAI,CAACN,GAAG,CAACO,eAAe,IAAI,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,UAAU,CAAC,EAAE;MAChEvB,MAAM,CAACwB,IAAI,CACT,OAAOf,cAAK,CAACC,IAAI,CACf,UACF,CAAC,4CAA4CD,cAAK,CAACC,IAAI,CACrD,UACF,CAAC,OAAOD,cAAK,CAACC,IAAI,CAChB,cACF,CAAC,8BAA8BD,cAAK,CAACC,IAAI,CACvC,MACF,CAAC,mCAAmCD,cAAK,CAACC,IAAI,CAC5C,UACF,CAAC,YAAYD,cAAK,CAACC,IAAI,CACrB,iBACF,CAAC,0BAA0BD,cAAK,CAACC,IAAI,CAAC,UAAU,CAAC,UACnD,CAAC;IACH;EACF;EAEA,MAAMQ,gBAAE,CAACO,MAAM,CAACjC,MAAM,CAAC;EACvB,MAAM0B,gBAAE,CAACQ,SAAS,CAACb,aAAI,CAACO,IAAI,CAAC5B,MAAM,EAAE,cAAc,CAAC,EAAE;IACpDmC,IAAI,EAAE9B,OAAO,KAAK,UAAU,GAAG,UAAU,GAAG;EAC9C,CAAC,CAAC;EAEF,MAAM+B,OAAO,CAACC,GAAG,CACf5B,KAAK,CAAC6B,GAAG,CAAC,MAAOC,QAAQ,IAAK;IAC5B,MAAMC,cAAc,GAAGnB,aAAI,CACxBO,IAAI,CAAC5B,MAAM,EAAEqB,aAAI,CAACC,QAAQ,CAACvB,MAAM,EAAEwC,QAAQ,CAAC,CAAC,CAC7CE,OAAO,CAAC7C,SAAS,EAAE,OAAO,CAAC;IAE9B,MAAM8B,gBAAE,CAACO,MAAM,CAACZ,aAAI,CAACqB,OAAO,CAACF,cAAc,CAAC,CAAC;IAE7C,IAAI,CAAC5C,SAAS,CAAC+C,IAAI,CAACJ,QAAQ,CAAC,EAAE;MAC7B;MACAb,gBAAE,CAACkB,IAAI,CAACL,QAAQ,EAAEC,cAAc,CAAC;MACjC;IACF;IAEA,MAAMK,OAAO,GAAG,MAAMnB,gBAAE,CAACC,QAAQ,CAACY,QAAQ,EAAE,OAAO,CAAC;IACpD,MAAMO,MAAM,GAAG,MAAMzE,KAAK,CAAC0E,cAAc,CAACF,OAAO,EAAE;MACjDjC,GAAG,EAAEd,IAAI;MACTI,OAAO,EAAEA,OAAO;MAChBC,UAAU,EAAEA,UAAU;MACtBI,UAAU;MACVyC,UAAU,EAAE3B,aAAI,CAACC,QAAQ,CAACD,aAAI,CAACqB,OAAO,CAACF,cAAc,CAAC,EAAEzC,MAAM,CAAC;MAC/DkD,cAAc,EAAE5B,aAAI,CAACC,QAAQ,CAACvB,MAAM,EAAEwC,QAAQ,CAAC;MAC/CW,QAAQ,EAAEX,QAAQ;MAClB,IAAIrC,OAAO,IAAIC,UAAU,GACrB,IAAI,GACJ;QACEgD,OAAO,EAAE,CACP,CACEjF,OAAO,CAACkF,OAAO,CAAC,oBAAoB,CAAC,EACrC;UACE/C,OAAO;UACL;UACA,WAAW,CAACsC,IAAI,CAACJ,QAAQ,CAAC,GAAG,UAAU,GAAGlC,OAAO;UACnDJ;QACF,CAAC,CACF;MAEL,CAAC;IACP,CAAC,CAAC;IAEF,IAAI6C,MAAM,IAAI,IAAI,EAAE;MAClB,MAAM,IAAIO,KAAK,CAAC,sBAAsB,CAAC;IACzC;IAEA,IAAIC,IAAI,GAAGR,MAAM,CAACQ,IAAI;IAEtB,IAAI/C,UAAU,IAAIuC,MAAM,CAACR,GAAG,EAAE;MAC5B,MAAMiB,WAAW,GAAGf,cAAc,GAAG,MAAM;MAE3Cc,IAAI,IAAI,yBAAyB,GAAGjC,aAAI,CAACmC,QAAQ,CAACD,WAAW,CAAC;;MAE9D;MACAT,MAAM,CAACR,GAAG,CAACmB,cAAc,GAAGC,SAAS;MAErC,MAAMhC,gBAAE,CAACQ,SAAS,CAACqB,WAAW,EAAET,MAAM,CAACR,GAAG,CAAC;IAC7C;IAEA,MAAMZ,gBAAE,CAACiC,SAAS,CAACnB,cAAc,EAAEc,IAAI,CAAC;IAExC,IAAIhD,QAAQ,EAAE;MACZoB,gBAAE,CAACkB,IAAI,CAACL,QAAQ,EAAEC,cAAc,GAAG,OAAO,CAAC;IAC7C;EACF,CAAC,CACH,CAAC;EAEDhC,MAAM,CAACoD,OAAO,CAAC,kBAAkB3C,cAAK,CAACC,IAAI,CAACG,aAAI,CAACC,QAAQ,CAACxB,IAAI,EAAEE,MAAM,CAAC,CAAC,EAAE,CAAC;EAE3E,MAAM6D,qBAAqB,GAAG,MAAAA,CAAA,KAAY;IACxC,IAAItC,GAAG,CAACxB,MAAM,EAAE;MACd,KAAK,MAAM+D,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QACzC,MAAMC,SAAS;QACb;QACA1C,aAAI,CAACmC,QAAQ,CAACjC,GAAG,CAACxB,MAAM,CAAC,CAAC0C,OAAO,CAAC7C,SAAS,EAAE,EAAE,CAAC,GAAGkE,GAAG;QAExD,MAAME,aAAa,GAAG3C,aAAI,CAACO,IAAI,CAC7B5B,MAAM,EACNqB,aAAI,CAACqB,OAAO,CAACrB,aAAI,CAACC,QAAQ,CAACvB,MAAM,EAAEsB,aAAI,CAACO,IAAI,CAAC9B,IAAI,EAAEyB,GAAG,CAACxB,MAAM,CAAC,CAAC,CAAC,EAChEgE,SACF,CAAC;QAED,IAAI,MAAMrC,gBAAE,CAACuC,UAAU,CAACD,aAAa,CAAC,EAAE;UACtC,OAAO3C,aAAI,CAACC,QAAQ,CAACxB,IAAI,EAAEkE,aAAa,CAAC;QAC3C;MACF;IACF;IAEA,OAAO,IAAI;EACb,CAAC;EAED,MAAME,MAAM,GACV7D,OAAO,KAAK,UAAU,GAClB,CAAC;IAAE8D,IAAI,EAAE,MAAM;IAAEC,KAAK,EAAE7C,GAAG,CAAC8C;EAAK,CAAC,CAAC,GACnC,CAAC;IAAEF,IAAI,EAAE,QAAQ;IAAEC,KAAK,EAAE7C,GAAG,CAAC+C;EAAO,CAAC,CAAC;EAE7C,IAAIrE,GAAG,EAAE;IACP,IAAII,OAAO,KAAK,UAAU,EAAE;MAC1B6D,MAAM,CAACK,IAAI,CACT,OAAOhD,GAAG,CAACiD,OAAO,GAAG,GAAG,CAAC,EAAEtG,OAAO,KAAK,QAAQ,GAC3C;QACEiG,IAAI,EAAE,sBAAsB;QAC5BC,KAAK,EAAE7C,GAAG,CAACiD,OAAO,GAAG,GAAG,CAAC,EAAEtG;MAC7B,CAAC,GACD;QACEiG,IAAI,EAAE,8BAA8B;QACpCC,KAAK,EAAE7C,GAAG,CAACiD,OAAO,GAAG,GAAG,CAAC,EAAEtG,OAAO,EAAEY;MACtC,CACN,CAAC;IACH,CAAC,MAAM;MACLoF,MAAM,CAACK,IAAI,CACT,OAAOhD,GAAG,CAACiD,OAAO,GAAG,GAAG,CAAC,EAAEC,MAAM,KAAK,QAAQ,GAC1C;QACEN,IAAI,EAAE,qBAAqB;QAC3BC,KAAK,EAAE7C,GAAG,CAACiD,OAAO,GAAG,GAAG,CAAC,EAAEC;MAC7B,CAAC,GACD;QACEN,IAAI,EAAE,6BAA6B;QACnCC,KAAK,EAAE7C,GAAG,CAACiD,OAAO,GAAG,GAAG,CAAC,EAAEC,MAAM,EAAE3F;MACrC,CACN,CAAC;IACH;EACF,CAAC,MAAM;IACL,IAAIuB,OAAO,KAAK,UAAU,IAAIkB,GAAG,CAACiD,OAAO,GAAG,GAAG,CAAC,EAAEtG,OAAO,EAAE;MACzDsC,MAAM,CAACwB,IAAI,CACT,OAAOf,cAAK,CAACC,IAAI,CAAC,KAAK,CAAC,gCAAgCD,cAAK,CAACC,IAAI,CAChE,sBACF,CAAC,oBAAoBD,cAAK,CAACC,IAAI,CAC7B,cACF,CAAC,6BACH,CAAC;IACH,CAAC,MAAM,IAAIb,OAAO,KAAK,UAAU,IAAIkB,GAAG,CAACiD,OAAO,GAAG,GAAG,CAAC,EAAEC,MAAM,EAAE;MAC/DjE,MAAM,CAACwB,IAAI,CACT,OAAOf,cAAK,CAACC,IAAI,CAAC,KAAK,CAAC,gCAAgCD,cAAK,CAACC,IAAI,CAChE,qBACF,CAAC,oBAAoBD,cAAK,CAACC,IAAI,CAC7B,cACF,CAAC,6BACH,CAAC;IACH;EACF;EAEA,IAAIgD,MAAM,CAACQ,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAACP,KAAK,CAAC,EAAE;IACvC,MAAMhC,OAAO,CAACC,GAAG,CACf6B,MAAM,CAAC5B,GAAG,CAAC,OAAO;MAAE6B,IAAI;MAAEC;IAAM,CAAC,KAAK;MACpC,IAAI,CAACA,KAAK,EAAE;QACV;MACF;MAEA,IAAID,IAAI,CAACS,UAAU,CAAC,SAAS,CAAC,IAAIR,KAAK,IAAI,CAAC,OAAO,CAACzB,IAAI,CAACyB,KAAK,CAAC,EAAE;QAC/D5D,MAAM,CAACqE,KAAK,CACV,OAAO5D,cAAK,CAACC,IAAI,CAACiD,IAAI,CAAC,aAAalD,cAAK,CAACC,IAAI,CAC5C,cACF,CAAC,4CAA4CD,cAAK,CAACC,IAAI,CACrD,IACF,CAAC,YAAYD,cAAK,CAACC,IAAI,CAACkD,KAAK,CAAC,EAChC,CAAC;QAED,MAAM,IAAIf,KAAK,CAAC,4BAA4Bc,IAAI,UAAU,CAAC;MAC7D;MAEA,IAAI;QACFjG,OAAO,CAACkF,OAAO,CAAC/B,aAAI,CAACO,IAAI,CAAC9B,IAAI,EAAEsE,KAAK,CAAC,CAAC;MACzC,CAAC,CAAC,OAAO3F,CAAU,EAAE;QACnB,IACEA,CAAC,IAAI,IAAI,IACT,OAAOA,CAAC,KAAK,QAAQ,IACrB,MAAM,IAAIA,CAAC,IACXA,CAAC,CAAC6E,IAAI,KAAK,kBAAkB,EAC7B;UACA,MAAMwB,kBAAkB,GAAG,MAAMjB,qBAAqB,CAAC,CAAC;UAExD,IAAI,CAACiB,kBAAkB,EAAE;YACvBtE,MAAM,CAACwB,IAAI,CACT,wFAAwFf,cAAK,CAACC,IAAI,CAChG,QACF,CAAC,kBAAkBD,cAAK,CAACC,IAAI,CAAC,cAAc,CAAC,GAC/C,CAAC;UACH;UAEAV,MAAM,CAACqE,KAAK,CACV,OAAO5D,cAAK,CAACC,IAAI,CAACiD,IAAI,CAAC,aAAalD,cAAK,CAACC,IAAI,CAC5C,cACF,CAAC,mCAAmCD,cAAK,CAACC,IAAI,CAC5CkD,KACF,CAAC,uDAAuDnD,cAAK,CAACC,IAAI,CAChEG,aAAI,CAACC,QAAQ,CAACxB,IAAI,EAAEE,MAAM,CAC5B,CAAC,GACC8E,kBAAkB,GACd,WAAW7D,cAAK,CAACC,IAAI,CAAC4D,kBAAkB,CAAC,IAAI,GAC7C,GAAG,EAEX,CAAC;UAED,MAAM,IAAIzB,KAAK,CAAC,4BAA4Bc,IAAI,UAAU,CAAC;QAC7D;QAEA,MAAM1F,CAAC;MACT;IACF,CAAC,CACH,CAAC;EACH,CAAC,MAAM;IACL,MAAMqG,kBAAkB,GAAG,MAAMjB,qBAAqB,CAAC,CAAC;IAExDrD,MAAM,CAACwB,IAAI,CACT,MAAMkC,MAAM,CACT5B,GAAG,CAAEqC,KAAK,IAAK1D,cAAK,CAACC,IAAI,CAACyD,KAAK,CAACR,IAAI,CAAC,CAAC,CACtCvC,IAAI,CAAC,MAAM,CAAC,mBAAmBX,cAAK,CAACC,IAAI,CAAC,cAAc,CAAC,cAC1D4D,kBAAkB,GACd,eAAe7D,cAAK,CAACC,IAAI,CAAC4D,kBAAkB,CAAC,EAAE,GAC/C,UAAUZ,MAAM,CAAC9C,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,6DAErD,CAAC;EACH;AACF","ignoreList":[]}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.warn = exports.success = exports.info = exports.exit = exports.error = void 0;
7
7
  var _kleur = _interopRequireDefault(require("kleur"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
9
  const logger = (type, color) => (...messages) => {
10
10
  console.log(color(_kleur.default.bold(type)), ...messages.map(message => {
11
11
  if (typeof message === 'string') {
@@ -15,14 +15,10 @@ const logger = (type, color) => (...messages) => {
15
15
  }
16
16
  }));
17
17
  };
18
- const info = logger('ℹ', _kleur.default.blue);
19
- exports.info = info;
20
- const warn = logger('', _kleur.default.yellow);
21
- exports.warn = warn;
22
- const error = logger('✖', _kleur.default.red);
23
- exports.error = error;
24
- const success = logger('✔', _kleur.default.green);
25
- exports.success = success;
18
+ const info = exports.info = logger('ℹ', _kleur.default.blue);
19
+ const warn = exports.warn = logger('⚠', _kleur.default.yellow);
20
+ const error = exports.error = logger('', _kleur.default.red);
21
+ const success = exports.success = logger('✔', _kleur.default.green);
26
22
  const exit = (...messages) => {
27
23
  error(...messages);
28
24
  process.exit(1);
@@ -1 +1 @@
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: kleur.Color) =>\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,KAAkB,KACjC,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"}
1
+ {"version":3,"file":"logger.js","names":["_kleur","_interopRequireDefault","require","e","__esModule","default","logger","type","color","messages","console","log","kleur","bold","map","message","split","join","info","exports","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: kleur.Color) =>\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,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1B,MAAMG,MAAM,GACVA,CAACC,IAAY,EAAEC,KAAkB,KACjC,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,CAAC,MAAM,CAAC;IACzC,CAAC,MAAM;MACL,OAAOF,OAAO;IAChB;EACF,CAAC,CACH,CAAC;AACH,CAAC;AAEI,MAAMG,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAGZ,MAAM,CAAC,GAAG,EAAEM,cAAK,CAACQ,IAAI,CAAC;AACpC,MAAMC,IAAI,GAAAF,OAAA,CAAAE,IAAA,GAAGf,MAAM,CAAC,GAAG,EAAEM,cAAK,CAACU,MAAM,CAAC;AACtC,MAAMC,KAAK,GAAAJ,OAAA,CAAAI,KAAA,GAAGjB,MAAM,CAAC,GAAG,EAAEM,cAAK,CAACY,GAAG,CAAC;AACpC,MAAMC,OAAO,GAAAN,OAAA,CAAAM,OAAA,GAAGnB,MAAM,CAAC,GAAG,EAAEM,cAAK,CAACc,KAAK,CAAC;AAExC,MAAMC,IAAI,GAAGA,CAAC,GAAGlB,QAAmB,KAAK;EAC9Cc,KAAK,CAAC,GAAGd,QAAQ,CAAC;EAClBmB,OAAO,CAACD,IAAI,CAAC,CAAC,CAAC;AACjB,CAAC;AAACR,OAAA,CAAAQ,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = prompts;
7
7
  var _prompts = _interopRequireDefault(require("prompts"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
9
  function prompts(args, options) {
10
10
  return (0, _prompts.default)(args, {
11
11
  onCancel() {
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"prompts.js","names":["_prompts","_interopRequireDefault","require","e","__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,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;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","ignoreList":[]}
package/metro-config.js CHANGED
@@ -17,7 +17,12 @@ const exclusionList = require('metro-config/src/defaults/exclusionList');
17
17
  * @returns {import('metro-config').MetroConfig} Metro configuration
18
18
  */
19
19
  const getConfig = (defaultConfig, { root, pkg, project }) => {
20
- const modules = Object.keys({ ...pkg.peerDependencies });
20
+ const modules = [
21
+ // AssetsRegistry is used internally by React Native to handle asset imports
22
+ // This needs to be a singleton so all assets are registered to a single registry
23
+ '@react-native/assets-registry',
24
+ ...Object.keys({ ...pkg.peerDependencies }),
25
+ ];
21
26
 
22
27
  /**
23
28
  * Metro configuration
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-builder-bob",
3
- "version": "0.28.0",
3
+ "version": "0.29.0",
4
4
  "description": "CLI to build JavaScript files for React Native libraries",
5
5
  "keywords": [
6
6
  "react-native",
@@ -45,12 +45,16 @@
45
45
  ]
46
46
  },
47
47
  "dependencies": {
48
- "@babel/core": "^7.18.5",
48
+ "@babel/core": "^7.25.2",
49
+ "@babel/plugin-transform-class-properties": "^7.24.7",
50
+ "@babel/plugin-transform-classes": "^7.25.0",
51
+ "@babel/plugin-transform-private-methods": "^7.24.7",
52
+ "@babel/plugin-transform-private-property-in-object": "^7.24.7",
49
53
  "@babel/plugin-transform-strict-mode": "^7.24.7",
50
- "@babel/preset-env": "^7.18.2",
51
- "@babel/preset-flow": "^7.17.12",
52
- "@babel/preset-react": "^7.17.12",
53
- "@babel/preset-typescript": "^7.17.12",
54
+ "@babel/preset-env": "^7.25.2",
55
+ "@babel/preset-flow": "^7.24.7",
56
+ "@babel/preset-react": "^7.24.7",
57
+ "@babel/preset-typescript": "^7.24.7",
54
58
  "babel-plugin-module-resolver": "^5.0.2",
55
59
  "browserslist": "^4.20.4",
56
60
  "cosmiconfig": "^9.0.0",
@@ -69,7 +73,7 @@
69
73
  "yargs": "^17.5.1"
70
74
  },
71
75
  "devDependencies": {
72
- "@babel/cli": "^7.17.10",
76
+ "@babel/cli": "^7.24.8",
73
77
  "@jest/globals": "^29.7.0",
74
78
  "@types/babel__core": "^7.1.19",
75
79
  "@types/browserslist": "^4.15.0",
@@ -85,5 +89,5 @@
85
89
  "concurrently": "^7.2.2",
86
90
  "jest": "^29.7.0"
87
91
  },
88
- "gitHead": "be426bb86dd4d3576bd7bf246d77d25a4a6cc698"
92
+ "gitHead": "47d624eb8e1524a15a4ceaa5d0388d3af5b2bb14"
89
93
  }