react-native-builder-bob 0.41.0 → 0.42.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.
Files changed (187) hide show
  1. package/bin/bob +1 -1
  2. package/lib/package.json +93 -0
  3. package/lib/src/__tests__/babel.test.d.ts +1 -0
  4. package/lib/src/__tests__/babel.test.js +26 -0
  5. package/lib/src/__tests__/babel.test.js.map +1 -0
  6. package/lib/src/__tests__/init.test.d.ts +1 -0
  7. package/lib/src/__tests__/init.test.js +93 -0
  8. package/lib/src/__tests__/init.test.js.map +1 -0
  9. package/lib/src/__tests__/resolveModuleSpecifier.test.d.ts +1 -0
  10. package/lib/src/__tests__/resolveModuleSpecifier.test.js +95 -0
  11. package/lib/src/__tests__/resolveModuleSpecifier.test.js.map +1 -0
  12. package/lib/src/__tests__/typescript.test.d.ts +1 -0
  13. package/lib/src/__tests__/typescript.test.js +193 -0
  14. package/lib/src/__tests__/typescript.test.js.map +1 -0
  15. package/lib/src/__tests__/updateSourceMap.test.d.ts +1 -0
  16. package/lib/src/__tests__/updateSourceMap.test.js +84 -0
  17. package/lib/src/__tests__/updateSourceMap.test.js.map +1 -0
  18. package/lib/src/babel.d.ts +19 -0
  19. package/lib/src/babel.js +58 -0
  20. package/lib/src/babel.js.map +1 -0
  21. package/lib/src/build.d.ts +14 -0
  22. package/lib/src/build.js +122 -0
  23. package/lib/src/build.js.map +1 -0
  24. package/lib/src/configs/babel-config.cjs +46 -0
  25. package/lib/src/configs/babel-config.cjs.map +1 -0
  26. package/lib/src/configs/babel-config.d.cts +15 -0
  27. package/lib/src/configs/babel-preset.cjs +66 -0
  28. package/lib/src/configs/babel-preset.cjs.map +1 -0
  29. package/lib/src/configs/babel-preset.d.cts +19 -0
  30. package/lib/src/configs/metro-config.d.mts +4 -0
  31. package/{configs/metro-config.js → lib/src/configs/metro-config.mjs} +3 -6
  32. package/lib/src/configs/metro-config.mjs.map +1 -0
  33. package/lib/src/configs/vite-config.d.mts +2 -0
  34. package/lib/src/configs/vite-config.mjs +59 -0
  35. package/lib/src/configs/vite-config.mjs.map +1 -0
  36. package/lib/src/index.d.ts +1 -0
  37. package/lib/src/index.js +18 -0
  38. package/lib/src/index.js.map +1 -0
  39. package/lib/src/init.d.ts +1 -0
  40. package/lib/src/init.js +370 -0
  41. package/lib/src/init.js.map +1 -0
  42. package/lib/src/schema.d.ts +70 -0
  43. package/lib/src/schema.js +45 -0
  44. package/lib/src/schema.js.map +1 -0
  45. package/lib/src/targets/codegen/index.d.ts +4 -0
  46. package/lib/src/targets/codegen/index.js +54 -0
  47. package/lib/src/targets/codegen/index.js.map +1 -0
  48. package/lib/src/targets/codegen/patches/patchCodegenAndroidPackage.d.ts +11 -0
  49. package/lib/src/targets/codegen/patches/patchCodegenAndroidPackage.js +63 -0
  50. package/lib/src/targets/codegen/patches/patchCodegenAndroidPackage.js.map +1 -0
  51. package/lib/src/targets/codegen/patches/patchCodegenAndroidPackage.test.d.ts +1 -0
  52. package/lib/src/targets/codegen/patches/patchCodegenAndroidPackage.test.js +103 -0
  53. package/lib/src/targets/codegen/patches/patchCodegenAndroidPackage.test.js.map +1 -0
  54. package/lib/src/targets/codegen/patches/removeCodegenAppLevelCode.d.ts +16 -0
  55. package/lib/src/targets/codegen/patches/removeCodegenAppLevelCode.js +59 -0
  56. package/lib/src/targets/codegen/patches/removeCodegenAppLevelCode.js.map +1 -0
  57. package/lib/src/targets/codegen/patches/removeCodegenAppLevelCode.test.d.ts +1 -0
  58. package/lib/src/targets/codegen/patches/removeCodegenAppLevelCode.test.js +75 -0
  59. package/lib/src/targets/codegen/patches/removeCodegenAppLevelCode.test.js.map +1 -0
  60. package/lib/src/targets/commonjs.d.ts +9 -0
  61. package/lib/src/targets/commonjs.js +19 -0
  62. package/lib/src/targets/commonjs.js.map +1 -0
  63. package/lib/src/targets/custom.d.ts +9 -0
  64. package/lib/src/targets/custom.js +30 -0
  65. package/lib/src/targets/custom.js.map +1 -0
  66. package/lib/src/targets/module.d.ts +9 -0
  67. package/lib/src/targets/module.js +19 -0
  68. package/lib/src/targets/module.js.map +1 -0
  69. package/lib/src/targets/typescript.d.ts +11 -0
  70. package/lib/src/targets/typescript.js +340 -0
  71. package/lib/src/targets/typescript.js.map +1 -0
  72. package/lib/src/types.d.ts +24 -0
  73. package/lib/src/types.js +2 -0
  74. package/lib/src/types.js.map +1 -0
  75. package/lib/src/utils/androidAssemble.d.ts +8 -0
  76. package/lib/src/utils/androidAssemble.js +17 -0
  77. package/lib/src/utils/androidAssemble.js.map +1 -0
  78. package/lib/src/utils/compile.d.ts +16 -0
  79. package/lib/src/utils/compile.js +211 -0
  80. package/lib/src/utils/compile.js.map +1 -0
  81. package/lib/src/utils/isCodegenSpec.d.ts +1 -0
  82. package/lib/src/utils/isCodegenSpec.js +14 -0
  83. package/lib/src/utils/isCodegenSpec.js.map +1 -0
  84. package/lib/src/utils/isGitDirty.d.ts +1 -0
  85. package/lib/src/utils/isGitDirty.js +14 -0
  86. package/lib/src/utils/isGitDirty.js.map +1 -0
  87. package/lib/src/utils/loadConfig.d.ts +4 -0
  88. package/lib/src/utils/loadConfig.js +59 -0
  89. package/lib/src/utils/loadConfig.js.map +1 -0
  90. package/lib/src/utils/logger.d.ts +10 -0
  91. package/lib/src/utils/logger.js +30 -0
  92. package/lib/src/utils/logger.js.map +1 -0
  93. package/lib/src/utils/prompts.d.ts +3 -0
  94. package/lib/src/utils/prompts.js +10 -0
  95. package/lib/src/utils/prompts.js.map +1 -0
  96. package/lib/src/utils/resolveModuleSpecifier.d.ts +21 -0
  97. package/lib/src/utils/resolveModuleSpecifier.js +57 -0
  98. package/lib/src/utils/resolveModuleSpecifier.js.map +1 -0
  99. package/lib/src/utils/spawn.d.ts +2 -0
  100. package/lib/src/utils/spawn.js +41 -0
  101. package/lib/src/utils/spawn.js.map +1 -0
  102. package/lib/src/utils/updateSourceMap.d.ts +11 -0
  103. package/lib/src/utils/updateSourceMap.js +56 -0
  104. package/lib/src/utils/updateSourceMap.js.map +1 -0
  105. package/lib/src/utils/workerize.d.ts +15 -0
  106. package/lib/src/utils/workerize.js +75 -0
  107. package/lib/src/utils/workerize.js.map +1 -0
  108. package/package.json +15 -13
  109. package/configs/babel-config.js +0 -54
  110. package/configs/babel-preset.js +0 -69
  111. package/configs/vite-config.mjs +0 -62
  112. package/lib/__fixtures__/project/MyNativeComponent.js +0 -8
  113. package/lib/__fixtures__/project/MyNativeComponent.js.map +0 -1
  114. package/lib/__fixtures__/project/NativeMyLib.js +0 -2
  115. package/lib/__fixtures__/project/NativeMyLib.js.map +0 -1
  116. package/lib/__fixtures__/project/code/$exports-input.js +0 -121
  117. package/lib/__fixtures__/project/code/$exports-input.js.map +0 -1
  118. package/lib/__fixtures__/project/code/$exports-output.js +0 -121
  119. package/lib/__fixtures__/project/code/$exports-output.js.map +0 -1
  120. package/lib/__fixtures__/project/code/$imports-input.js +0 -24
  121. package/lib/__fixtures__/project/code/$imports-input.js.map +0 -1
  122. package/lib/__fixtures__/project/code/$imports-output.js +0 -20
  123. package/lib/__fixtures__/project/code/$imports-output.js.map +0 -1
  124. package/lib/__fixtures__/project/code/MyNativeComponent.js +0 -8
  125. package/lib/__fixtures__/project/code/MyNativeComponent.js.map +0 -1
  126. package/lib/__fixtures__/project/code/NativeMyLib.js +0 -2
  127. package/lib/__fixtures__/project/code/NativeMyLib.js.map +0 -1
  128. package/lib/__fixtures__/project/code/a.js +0 -2
  129. package/lib/__fixtures__/project/code/a.js.map +0 -1
  130. package/lib/__fixtures__/project/code/b.js +0 -2
  131. package/lib/__fixtures__/project/code/b.js.map +0 -1
  132. package/lib/__fixtures__/project/code/e.story.js +0 -2
  133. package/lib/__fixtures__/project/code/e.story.js.map +0 -1
  134. package/lib/__fixtures__/project/f.js +0 -2
  135. package/lib/__fixtures__/project/f.js.map +0 -1
  136. package/lib/__fixtures__/project/index.js +0 -2
  137. package/lib/__fixtures__/project/index.js.map +0 -1
  138. package/lib/__tests__/babel.test.js +0 -28
  139. package/lib/__tests__/babel.test.js.map +0 -1
  140. package/lib/__tests__/init.test.js +0 -93
  141. package/lib/__tests__/init.test.js.map +0 -1
  142. package/lib/babel.js +0 -92
  143. package/lib/babel.js.map +0 -1
  144. package/lib/build.js +0 -141
  145. package/lib/build.js.map +0 -1
  146. package/lib/index.js +0 -16
  147. package/lib/index.js.map +0 -1
  148. package/lib/init.js +0 -371
  149. package/lib/init.js.map +0 -1
  150. package/lib/schema.js +0 -49
  151. package/lib/schema.js.map +0 -1
  152. package/lib/targets/codegen/index.js +0 -60
  153. package/lib/targets/codegen/index.js.map +0 -1
  154. package/lib/targets/codegen/patches/patchCodegenAndroidPackage.js +0 -74
  155. package/lib/targets/codegen/patches/patchCodegenAndroidPackage.js.map +0 -1
  156. package/lib/targets/codegen/patches/patchCodegenAndroidPackage.test.js +0 -106
  157. package/lib/targets/codegen/patches/patchCodegenAndroidPackage.test.js.map +0 -1
  158. package/lib/targets/codegen/patches/removeCodegenAppLevelCode.js +0 -57
  159. package/lib/targets/codegen/patches/removeCodegenAppLevelCode.js.map +0 -1
  160. package/lib/targets/codegen/patches/removeCodegenAppLevelCode.test.js +0 -78
  161. package/lib/targets/codegen/patches/removeCodegenAppLevelCode.test.js.map +0 -1
  162. package/lib/targets/commonjs.js +0 -34
  163. package/lib/targets/commonjs.js.map +0 -1
  164. package/lib/targets/custom.js +0 -40
  165. package/lib/targets/custom.js.map +0 -1
  166. package/lib/targets/module.js +0 -34
  167. package/lib/targets/module.js.map +0 -1
  168. package/lib/targets/typescript.js +0 -219
  169. package/lib/targets/typescript.js.map +0 -1
  170. package/lib/types.js +0 -6
  171. package/lib/types.js.map +0 -1
  172. package/lib/utils/androidAssemble.js +0 -29
  173. package/lib/utils/androidAssemble.js.map +0 -1
  174. package/lib/utils/compile.js +0 -217
  175. package/lib/utils/compile.js.map +0 -1
  176. package/lib/utils/isCodegenSpec.js +0 -22
  177. package/lib/utils/isCodegenSpec.js.map +0 -1
  178. package/lib/utils/loadConfig.js +0 -56
  179. package/lib/utils/loadConfig.js.map +0 -1
  180. package/lib/utils/logger.js +0 -35
  181. package/lib/utils/logger.js.map +0 -1
  182. package/lib/utils/prompts.js +0 -17
  183. package/lib/utils/prompts.js.map +0 -1
  184. package/lib/utils/spawn.js +0 -48
  185. package/lib/utils/spawn.js.map +0 -1
  186. package/lib/utils/workerize.js +0 -102
  187. package/lib/utils/workerize.js.map +0 -1
@@ -0,0 +1,340 @@
1
+ import { createRequire } from 'node:module';
2
+ import { platform } from 'node:os';
3
+ import path from 'node:path';
4
+ import { deleteAsync } from 'del';
5
+ import fs from 'fs-extra';
6
+ import { glob } from 'glob';
7
+ import JSON5 from 'json5';
8
+ import kleur from 'kleur';
9
+ import ts from 'typescript';
10
+ import which from 'which';
11
+ import { isCodegenSpec } from "../utils/isCodegenSpec.js";
12
+ import { resolveModuleSpecifier, SOURCE_EXTENSIONS, } from "../utils/resolveModuleSpecifier.js";
13
+ import { spawn } from "../utils/spawn.js";
14
+ import { updateSourceMap } from "../utils/updateSourceMap.js";
15
+ const DECLARATION_EXTENSIONS = [{ source: 'd.ts', output: 'js' }];
16
+ const EXPLICIT_SOURCE_EXTENSIONS = ['ts', 'tsx'].map((source) => ({
17
+ source,
18
+ emitted: DECLARATION_EXTENSIONS,
19
+ }));
20
+ const DECLARATION_REWRITE_BATCH_SIZE = 32;
21
+ const getModuleSpecifier = (node) => {
22
+ if ((ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) &&
23
+ node.moduleSpecifier &&
24
+ ts.isStringLiteral(node.moduleSpecifier)) {
25
+ return node.moduleSpecifier;
26
+ }
27
+ if (ts.isImportTypeNode(node) &&
28
+ ts.isLiteralTypeNode(node.argument) &&
29
+ ts.isStringLiteral(node.argument.literal)) {
30
+ return node.argument.literal;
31
+ }
32
+ return undefined;
33
+ };
34
+ const rewriteDeclarationImports = async (output, source, root, codegenEnabled) => {
35
+ const isCodegenImport = (filepath, specifier) => {
36
+ if (!codegenEnabled || !specifier.startsWith('.')) {
37
+ return false;
38
+ }
39
+ // The declaration output mirrors the source tree, so map the import back to the source file
40
+ const target = path.resolve(path.dirname(filepath), specifier);
41
+ const relative = path.relative(output, target);
42
+ // The tree root depends on tsc's inferred `rootDir`, so check both the project and source roots
43
+ return [root, source].some((base) => {
44
+ const candidate = path.join(base, relative);
45
+ return (isCodegenSpec(candidate) ||
46
+ SOURCE_EXTENSIONS.some((ext) => isCodegenSpec(`${candidate}.${ext}`)));
47
+ });
48
+ };
49
+ const files = await glob('**/*.d.ts', {
50
+ cwd: output,
51
+ absolute: true,
52
+ nodir: true,
53
+ });
54
+ // Process files in chunks to avoid firing read/writes for each file at once
55
+ for (let i = 0; i < files.length; i += DECLARATION_REWRITE_BATCH_SIZE) {
56
+ const promises = files
57
+ .slice(i, i + DECLARATION_REWRITE_BATCH_SIZE)
58
+ .map(async (filepath) => {
59
+ const code = await fs.readFile(filepath, 'utf-8');
60
+ const sourceFile = ts.createSourceFile(filepath, code, ts.ScriptTarget.Latest, true);
61
+ // Collect text changes before writing the file.
62
+ const replacements = [];
63
+ const addReplacement = (node) => {
64
+ // Rewrite the module path if it points to an emitted file.
65
+ // Only replace the text inside quotes to preserve the rest of tsc's output.
66
+ const value = resolveModuleSpecifier({
67
+ filepath,
68
+ specifier: node.text,
69
+ extensions: DECLARATION_EXTENSIONS,
70
+ explicitExtensions: EXPLICIT_SOURCE_EXTENSIONS,
71
+ });
72
+ if (value !== node.text) {
73
+ replacements.push({
74
+ start: node.getStart(sourceFile) + 1,
75
+ end: node.getEnd() - 1,
76
+ value,
77
+ });
78
+ }
79
+ };
80
+ const visit = (node) => {
81
+ // Find module paths in this node.
82
+ // Cover static imports/exports and import() types.
83
+ const specifier = getModuleSpecifier(node);
84
+ if (specifier && !isCodegenImport(filepath, specifier.text)) {
85
+ addReplacement(specifier);
86
+ }
87
+ ts.forEachChild(node, visit);
88
+ };
89
+ visit(sourceFile);
90
+ if (replacements.length) {
91
+ // Keep the source map in sync with the changed declaration file.
92
+ const sourceMapPath = `${filepath}.map`;
93
+ if (await fs.pathExists(sourceMapPath)) {
94
+ await updateSourceMap({
95
+ filepath: sourceMapPath,
96
+ replacements,
97
+ sourceFile,
98
+ });
99
+ }
100
+ // Write the declaration file with the new module paths.
101
+ await fs.writeFile(filepath, replacements
102
+ // Apply edits from the end so earlier offsets stay valid.
103
+ .sort((a, b) => b.start - a.start)
104
+ .reduce((result, replacement) => result.slice(0, replacement.start) +
105
+ replacement.value +
106
+ result.slice(replacement.end), code));
107
+ }
108
+ });
109
+ await Promise.all(promises);
110
+ }
111
+ };
112
+ export default async function build({ source, root, output, report, options, variants, esm, }) {
113
+ report.info(`Cleaning up previous build at ${kleur.blue(path.relative(root, output))}`);
114
+ await deleteAsync([output]);
115
+ report.info(`Generating type definitions with ${kleur.blue('tsc')}`);
116
+ const project = options?.project ? options.project : 'tsconfig.json';
117
+ const tsconfig = path.join(root, project);
118
+ try {
119
+ if (await fs.pathExists(tsconfig)) {
120
+ try {
121
+ const config = JSON5.parse(await fs.readFile(tsconfig, 'utf-8'));
122
+ if (config.compilerOptions) {
123
+ const conflicts = [];
124
+ if (config.compilerOptions.declarationDir) {
125
+ conflicts.push('compilerOptions.declarationDir');
126
+ }
127
+ if (config.compilerOptions.outDir &&
128
+ path.join(root, config.compilerOptions.outDir) !== output) {
129
+ conflicts.push('compilerOptions.outDir');
130
+ }
131
+ if (conflicts.length) {
132
+ report.warn(`Found following options in the config file which can conflict with the CLI options. Please remove them from ${kleur.blue(project)}:${conflicts.reduce((acc, curr) => acc + `\n${kleur.gray('-')} ${kleur.yellow(curr)}`, '')}`);
133
+ }
134
+ }
135
+ }
136
+ catch (e) {
137
+ report.warn(`Couldn't parse ${kleur.blue(project)}. There might be validation errors.`);
138
+ }
139
+ }
140
+ else {
141
+ throw new Error(`Couldn't find a ${kleur.blue(project)} in the project root.`);
142
+ }
143
+ const args = [
144
+ '--pretty',
145
+ '--declaration',
146
+ '--declarationMap',
147
+ '--noEmit',
148
+ 'false',
149
+ '--emitDeclarationOnly',
150
+ '--project',
151
+ project,
152
+ ];
153
+ let command;
154
+ if (options?.tsc) {
155
+ command = path.resolve(root, options.tsc);
156
+ if (!(await fs.pathExists(command))) {
157
+ throw new Error(`The ${kleur.blue('tsc')} binary doesn't seem to be installed at ${kleur.blue(command)}. Please specify the correct path in options or remove it to use the workspace's version.`);
158
+ }
159
+ }
160
+ else {
161
+ try {
162
+ const manifest = createRequire(path.join(root, 'package.json')).resolve('typescript/package.json');
163
+ const { bin } = JSON.parse(await fs.readFile(manifest, 'utf-8'));
164
+ // Run the binary with node command
165
+ command = process.execPath;
166
+ args.unshift(path.join(path.dirname(manifest), bin.tsc));
167
+ }
168
+ catch {
169
+ const binary = platform() === 'win32' ? 'tsc.cmd' : 'tsc';
170
+ command = await which(binary, { nothrow: true });
171
+ if (command == null) {
172
+ throw new Error(`The ${kleur.blue('tsc')} binary doesn't seem to be installed in the workspace or present in $PATH. Make sure you have added ${kleur.blue('typescript')} to your ${kleur.blue('devDependencies')} or specify the ${kleur.blue('tsc')} option for typescript.`);
173
+ }
174
+ report.warn(`Failed to resolve ${kleur.blue('tsc')} in the workspace. Falling back to the binary found in ${kleur.blue('PATH')} at ${kleur.blue(command)}. Consider adding ${kleur.blue('typescript')} to your ${kleur.blue('devDependencies')} or specifying the ${kleur.blue('tsc')} option for the typescript target.`);
175
+ }
176
+ }
177
+ const outputs = {};
178
+ if (esm && variants.commonjs && variants.module) {
179
+ outputs.commonjs = path.join(output, 'commonjs');
180
+ outputs.module = path.join(output, 'module');
181
+ }
182
+ else if (variants.commonjs) {
183
+ outputs.commonjs = output;
184
+ }
185
+ else {
186
+ outputs.module = output;
187
+ }
188
+ const outDir = outputs.commonjs ?? outputs.module;
189
+ if (outDir == null) {
190
+ throw new Error('Neither commonjs nor module output is enabled.');
191
+ }
192
+ args.push('--outDir', outDir);
193
+ const tsbuildinfo = path.join(outDir, project.replace(/\.json$/, '.tsbuildinfo'));
194
+ try {
195
+ await deleteAsync([tsbuildinfo]);
196
+ }
197
+ catch (e) {
198
+ // Ignore
199
+ }
200
+ await spawn(command, args, { cwd: root });
201
+ try {
202
+ await deleteAsync([tsbuildinfo]);
203
+ }
204
+ catch (e) {
205
+ // Ignore
206
+ }
207
+ const pkg = JSON.parse(await fs.readFile(path.join(root, 'package.json'), 'utf-8'));
208
+ const codegenEnabled = 'codegenConfig' in pkg;
209
+ if (esm) {
210
+ if (outputs?.commonjs && outputs?.module) {
211
+ // When ESM compatible output is enabled and commonjs build is present, we need to generate 2 builds for commonjs and esm
212
+ // In this case we copy the already generated types, and add `package.json` with `type` field
213
+ await fs.copy(outputs.commonjs, outputs.module);
214
+ await fs.writeJSON(path.join(outputs.commonjs, 'package.json'), {
215
+ type: 'commonjs',
216
+ });
217
+ await fs.writeJSON(path.join(outputs.module, 'package.json'), {
218
+ type: 'module',
219
+ });
220
+ }
221
+ else if (outputs?.commonjs) {
222
+ await fs.writeJSON(path.join(outputs.commonjs, 'package.json'), {
223
+ type: 'commonjs',
224
+ });
225
+ }
226
+ else if (outputs?.module) {
227
+ await fs.writeJSON(path.join(outputs.module, 'package.json'), {
228
+ type: 'module',
229
+ });
230
+ }
231
+ if (outputs.module) {
232
+ await rewriteDeclarationImports(outputs.module, source, root, codegenEnabled);
233
+ }
234
+ }
235
+ report.success(`Wrote definition files to ${kleur.blue(path.relative(root, output))}`);
236
+ const fields = [
237
+ {
238
+ name: 'types',
239
+ value: pkg.types,
240
+ output: outputs.commonjs,
241
+ error: false,
242
+ message: undefined,
243
+ },
244
+ ...(pkg.exports?.['.']?.types
245
+ ? [
246
+ {
247
+ name: "exports['.'].types",
248
+ value: pkg.exports?.['.']?.types,
249
+ output: outDir,
250
+ error: Boolean(pkg.exports?.['.']?.import && pkg.exports?.['.']?.require),
251
+ message: `using ${kleur.blue("exports['.'].import")} and ${kleur.blue("exports['.'].require")}. Specify ${kleur.blue("exports['.'].import.types")} and ${kleur.blue("exports['.'].require.types")} instead.`,
252
+ },
253
+ ]
254
+ : []),
255
+ {
256
+ name: "exports['.'].import.types",
257
+ value: pkg.exports?.['.']?.import?.types,
258
+ output: outputs.module,
259
+ error: !esm,
260
+ message: `the ${kleur.blue('esm')} option is not enabled for the ${kleur.blue('module')} target`,
261
+ },
262
+ {
263
+ name: "exports['.'].require.types",
264
+ value: pkg.exports?.['.']?.require?.types,
265
+ output: outputs.commonjs,
266
+ error: false,
267
+ message: undefined,
268
+ },
269
+ ];
270
+ const getGeneratedTypesPath = async (field) => {
271
+ if (!field.output || field.error) {
272
+ return null;
273
+ }
274
+ if (pkg.source) {
275
+ const indexDTsName = path.basename(pkg.source).replace(/\.(jsx?|tsx?)$/, '') + '.d.ts';
276
+ const potentialPaths = [
277
+ path.join(field.output, path.dirname(pkg.source), indexDTsName),
278
+ path.join(field.output, path.relative(source, path.join(root, path.dirname(pkg.source))), indexDTsName),
279
+ ];
280
+ for (const potentialPath of potentialPaths) {
281
+ if (await fs.pathExists(potentialPath)) {
282
+ return path.relative(root, potentialPath);
283
+ }
284
+ }
285
+ }
286
+ return null;
287
+ };
288
+ const invalidFieldNames = (await Promise.all(fields.map(async (field) => {
289
+ if (field.error) {
290
+ if (field.value) {
291
+ report.warn(`The ${kleur.blue(field.name)} field in ${kleur.blue(`package.json`)} should not be set when ${String(field.message)}.`);
292
+ }
293
+ return null;
294
+ }
295
+ if (field.name.startsWith('exports') &&
296
+ field.value &&
297
+ !/^\.\//.test(field.value)) {
298
+ report.error(`The ${kleur.blue(field.name)} field in ${kleur.blue(`package.json`)} should be a relative path starting with ${kleur.blue('./')}. Found: ${kleur.blue(field.value)}`);
299
+ return field.name;
300
+ }
301
+ if (field.value &&
302
+ !(await fs.pathExists(path.join(root, field.value)))) {
303
+ const generatedTypesPath = await getGeneratedTypesPath(field);
304
+ report.error(`The ${kleur.blue(field.name)} field in ${kleur.blue('package.json')} points to a non-existent file: ${kleur.blue(field.value)}.\nVerify the path points to the correct file under ${kleur.blue(path.relative(root, output))}${generatedTypesPath
305
+ ? ` (found ${kleur.blue(generatedTypesPath)}).`
306
+ : '.'}`);
307
+ return field.name;
308
+ }
309
+ return null;
310
+ }))).filter((name) => name != null);
311
+ if (invalidFieldNames.length) {
312
+ throw new Error(`Found errors for fields: ${invalidFieldNames.join(', ')}.`);
313
+ }
314
+ const validFields = fields.filter((field) => !field.error);
315
+ if (validFields.every((field) => field.value == null)) {
316
+ const suggestedTypesPaths = (await Promise.all(validFields.map(async (field) => getGeneratedTypesPath(field))))
317
+ .filter((path) => path != null)
318
+ .filter((path, i, self) => self.indexOf(path) === i);
319
+ report.warn(`No ${validFields
320
+ .map((field) => kleur.blue(field.name))
321
+ .join(' or ')} field found in ${kleur.blue('package.json')}. Consider ${suggestedTypesPaths.length
322
+ ? `pointing to ${suggestedTypesPaths
323
+ .map((path) => kleur.blue(path))
324
+ .join(' or ')}`
325
+ : `adding ${validFields.length > 1 ? 'them' : 'it'}`} so that consumers of your package can use the typescript definitions.`);
326
+ }
327
+ }
328
+ catch (e) {
329
+ if (e != null && typeof e === 'object') {
330
+ if ('stdout' in e && e.stdout != null) {
331
+ report.error(`Errors found when building definition files:\n${e.stdout.toString()}`);
332
+ }
333
+ else if ('message' in e && typeof e.message === 'string') {
334
+ report.error(e.message);
335
+ }
336
+ }
337
+ throw new Error('Failed to build definition files.', { cause: e });
338
+ }
339
+ }
340
+ //# sourceMappingURL=typescript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../src/targets/typescript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAoB,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAmBhF,MAAM,sBAAsB,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAElE,MAAM,0BAA0B,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChE,MAAM;IACN,OAAO,EAAE,sBAAsB;CAChC,CAAC,CAAC,CAAC;AAEJ,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAE1C,MAAM,kBAAkB,GAAG,CAAC,IAAa,EAAE,EAAE;IAC3C,IACE,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,eAAe;QACpB,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,EACxC,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IACE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;QACzB,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;QACnC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EACzC,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,KAAK,EACrC,MAAc,EACd,MAAc,EACd,IAAY,EACZ,cAAuB,EACvB,EAAE;IACF,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,SAAiB,EAAE,EAAE;QAC9D,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAClD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,4FAA4F;QAC5F,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE/C,gGAAgG;QAChG,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE5C,OAAO,CACL,aAAa,CAAC,SAAS,CAAC;gBACxB,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC,CACtE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;QACpC,GAAG,EAAE,MAAM;QACX,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,4EAA4E;IAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,8BAA8B,EAAE,CAAC;QACtE,MAAM,QAAQ,GAAG,KAAK;aACnB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,8BAA8B,CAAC;aAC5C,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACtB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CACpC,QAAQ,EACR,IAAI,EACJ,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACL,CAAC;YAEF,gDAAgD;YAChD,MAAM,YAAY,GAAkB,EAAE,CAAC;YAEvC,MAAM,cAAc,GAAG,CAAC,IAAsB,EAAE,EAAE;gBAChD,2DAA2D;gBAC3D,4EAA4E;gBAC5E,MAAM,KAAK,GAAG,sBAAsB,CAAC;oBACnC,QAAQ;oBACR,SAAS,EAAE,IAAI,CAAC,IAAI;oBACpB,UAAU,EAAE,sBAAsB;oBAClC,kBAAkB,EAAE,0BAA0B;iBAC/C,CAAC,CAAC;gBAEH,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;oBACxB,YAAY,CAAC,IAAI,CAAC;wBAChB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;wBACpC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;wBACtB,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,EAAE;gBAC9B,kCAAkC;gBAClC,mDAAmD;gBACnD,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAE3C,IAAI,SAAS,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5D,cAAc,CAAC,SAAS,CAAC,CAAC;gBAC5B,CAAC;gBAED,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC/B,CAAC,CAAC;YAEF,KAAK,CAAC,UAAU,CAAC,CAAC;YAElB,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gBACxB,iEAAiE;gBACjE,MAAM,aAAa,GAAG,GAAG,QAAQ,MAAM,CAAC;gBAExC,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBACvC,MAAM,eAAe,CAAC;wBACpB,QAAQ,EAAE,aAAa;wBACvB,YAAY;wBACZ,UAAU;qBACX,CAAC,CAAC;gBACL,CAAC;gBAED,wDAAwD;gBACxD,MAAM,EAAE,CAAC,SAAS,CAChB,QAAQ,EACR,YAAY;oBACV,0DAA0D;qBACzD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;qBACjC,MAAM,CACL,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CACtB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC;oBAClC,WAAW,CAAC,KAAK;oBACjB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAC/B,IAAI,CACL,CACJ,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEL,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,KAAK,CAAC,EAClC,MAAM,EACN,IAAI,EACJ,MAAM,EACN,MAAM,EACN,OAAO,EACP,QAAQ,EACR,GAAG,GACK;IACR,MAAM,CAAC,IAAI,CACT,iCAAiC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAC3E,CAAC;IAEF,MAAM,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,oCAAoC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAErE,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE1C,IAAI,CAAC;QACH,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;gBAEjE,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;oBAC3B,MAAM,SAAS,GAAa,EAAE,CAAC;oBAE/B,IAAI,MAAM,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;wBAC1C,SAAS,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;oBACnD,CAAC;oBAED,IACE,MAAM,CAAC,eAAe,CAAC,MAAM;wBAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,MAAM,EACzD,CAAC;wBACD,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;oBAC3C,CAAC;oBAED,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;wBACrB,MAAM,CAAC,IAAI,CACT,+GAA+G,KAAK,CAAC,IAAI,CACvH,OAAO,CACR,IAAI,SAAS,CAAC,MAAM,CACnB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACZ,GAAG,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EACpD,EAAE,CACH,EAAE,CACJ,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CACT,kBAAkB,KAAK,CAAC,IAAI,CAC1B,OAAO,CACR,qCAAqC,CACvC,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,mBAAmB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAC9D,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG;YACX,UAAU;YACV,eAAe;YACf,kBAAkB;YAClB,UAAU;YACV,OAAO;YACP,uBAAuB;YACvB,WAAW;YACX,OAAO;SACR,CAAC;QAEF,IAAI,OAAsB,CAAC;QAE3B,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;YACjB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YAE1C,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACb,OAAO,KAAK,CAAC,IAAI,CACf,KAAK,CACN,2CAA2C,KAAK,CAAC,IAAI,CACpD,OAAO,CACR,2FAA2F,CAC7F,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CACrE,yBAAyB,CAC1B,CAAC;gBAEF,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;gBAEjE,mCAAmC;gBACnC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3D,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,MAAM,GAAG,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;gBAE1D,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEjD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CACb,OAAO,KAAK,CAAC,IAAI,CACf,KAAK,CACN,uGAAuG,KAAK,CAAC,IAAI,CAChH,YAAY,CACb,YAAY,KAAK,CAAC,IAAI,CACrB,iBAAiB,CAClB,mBAAmB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAC/D,CAAC;gBACJ,CAAC;gBAED,MAAM,CAAC,IAAI,CACT,qBAAqB,KAAK,CAAC,IAAI,CAC7B,KAAK,CACN,0DAA0D,KAAK,CAAC,IAAI,CACnE,MAAM,CACP,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,KAAK,CAAC,IAAI,CACxD,YAAY,CACb,YAAY,KAAK,CAAC,IAAI,CACrB,iBAAiB,CAClB,sBAAsB,KAAK,CAAC,IAAI,CAC/B,KAAK,CACN,oCAAoC,CACtC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAA2C,EAAE,CAAC;QAE3D,IAAI,GAAG,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAChD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACjD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QAC1B,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;QAElD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAE9B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,MAAM,EACN,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAC3C,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QAED,MAAM,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1C,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAC5D,CAAC;QAEF,MAAM,cAAc,GAAG,eAAe,IAAI,GAAG,CAAC;QAE9C,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;gBACzC,yHAAyH;gBACzH,6FAA6F;gBAC7F,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE;oBAC9D,IAAI,EAAE,UAAU;iBACjB,CAAC,CAAC;gBACH,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE;oBAC5D,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;gBAC7B,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE;oBAC9D,IAAI,EAAE,UAAU;iBACjB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;gBAC3B,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE;oBAC5D,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,yBAAyB,CAC7B,OAAO,CAAC,MAAM,EACd,MAAM,EACN,IAAI,EACJ,cAAc,CACf,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,CAAC,OAAO,CACZ,6BAA6B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CACvE,CAAC;QAEF,MAAM,MAAM,GAAY;YACtB;gBACE,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,OAAO,CAAC,QAAQ;gBACxB,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,SAAS;aACnB;YACD,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK;gBAC3B,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK;wBAChC,MAAM,EAAE,MAAM;wBACd,KAAK,EAAE,OAAO,CACZ,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAC1D;wBACD,OAAO,EAAE,UAAU,KAAK,CAAC,IAAI,CAC3B,qBAAqB,CACtB,QAAQ,KAAK,CAAC,IAAI,CACjB,sBAAsB,CACvB,aAAa,KAAK,CAAC,IAAI,CACtB,2BAA2B,CAC5B,QAAQ,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,WAAW;qBAC7D;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP;gBACE,IAAI,EAAE,2BAA2B;gBACjC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK;gBACxC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,CAAC,GAAG;gBACX,OAAO,EAAE,OAAO,KAAK,CAAC,IAAI,CACxB,KAAK,CACN,kCAAkC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS;aACjE;YACD;gBACE,IAAI,EAAE,4BAA4B;gBAClC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK;gBACzC,MAAM,EAAE,OAAO,CAAC,QAAQ;gBACxB,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,SAAS;aACnB;SACF,CAAC;QAEF,MAAM,qBAAqB,GAAG,KAAK,EAAE,KAAY,EAAE,EAAE;YACnD,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,MAAM,YAAY,GAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC;gBAEpE,MAAM,cAAc,GAAG;oBACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;oBAC/D,IAAI,CAAC,IAAI,CACP,KAAK,CAAC,MAAM,EACZ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAChE,YAAY,CACb;iBACF,CAAC;gBAEF,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;oBAC3C,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;wBACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,CACxB,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACzB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,MAAM,CAAC,IAAI,CACT,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,IAAI,CAClD,cAAc,CACf,2BAA2B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CACrD,CAAC;gBACJ,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IACE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBAChC,KAAK,CAAC,KAAK;gBACX,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAC1B,CAAC;gBACD,MAAM,CAAC,KAAK,CACV,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,IAAI,CAClD,cAAc,CACf,4CAA4C,KAAK,CAAC,IAAI,CACrD,IAAI,CACL,YAAY,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CACvC,CAAC;gBAEF,OAAO,KAAK,CAAC,IAAI,CAAC;YACpB,CAAC;YAED,IACE,KAAK,CAAC,KAAK;gBACX,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EACpD,CAAC;gBACD,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBAE9D,MAAM,CAAC,KAAK,CACV,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,IAAI,CAClD,cAAc,CACf,mCAAmC,KAAK,CAAC,IAAI,CAC5C,KAAK,CAAC,KAAK,CACZ,uDAAuD,KAAK,CAAC,IAAI,CAChE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAC5B,GACC,kBAAkB;oBAChB,CAAC,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI;oBAC/C,CAAC,CAAC,GACN,EAAE,CACH,CAAC;gBAEF,OAAO,KAAK,CAAC,IAAI,CAAC;YACpB,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CACH,CACF,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;QAEjD,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,4BAA4B,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC5D,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE3D,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;YACtD,MAAM,mBAAmB,GAAG,CAC1B,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAC/D,CACF;iBACE,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC;iBAC9C,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAEvD,MAAM,CAAC,IAAI,CACT,MAAM,WAAW;iBACd,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBACtC,IAAI,CAAC,MAAM,CAAC,mBAAmB,KAAK,CAAC,IAAI,CAC1C,cAAc,CACf,cACC,mBAAmB,CAAC,MAAM;gBACxB,CAAC,CAAC,eAAe,mBAAmB;qBAC/B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC/B,IAAI,CAAC,MAAM,CAAC,EAAE;gBACnB,CAAC,CAAC,UAAU,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EACtD,wEAAwE,CACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBACtC,MAAM,CAAC,KAAK,CACV,iDAAiD,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CACvE,CAAC;YACJ,CAAC;iBAAM,IAAI,SAAS,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC3D,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,mCAAmC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC"}
@@ -0,0 +1,24 @@
1
+ export type Log = (message: string) => void;
2
+ export type Report = {
3
+ info: Log;
4
+ warn: Log;
5
+ success: Log;
6
+ error: Log;
7
+ };
8
+ export type Input = {
9
+ root: string;
10
+ source: string;
11
+ output: string;
12
+ report: Report;
13
+ };
14
+ export type Variants = {
15
+ commonjs?: boolean;
16
+ module?: boolean;
17
+ };
18
+ declare module '@babel/core' {
19
+ interface TransformCaller {
20
+ rewriteImportExtensions: boolean;
21
+ jsxRuntime: 'automatic' | 'classic';
22
+ codegenEnabled: boolean;
23
+ }
24
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import type { Report } from '../types.ts';
2
+ type Options = {
3
+ root: string;
4
+ androidPath: string;
5
+ report: Report;
6
+ };
7
+ export default function androidAssemble({ root, androidPath, report, }: Options): Promise<void>;
8
+ export {};
@@ -0,0 +1,17 @@
1
+ import { execFileSync } from 'node:child_process';
2
+ import { platform } from 'node:os';
3
+ import path from 'node:path';
4
+ import kleur from 'kleur';
5
+ import fs from 'fs-extra';
6
+ export default async function androidAssemble({ root, androidPath, report, }) {
7
+ const cwd = path.relative(root, androidPath);
8
+ report.info(`Assembling Android project in ${kleur.blue(cwd)} with ${kleur.blue('gradle')}`);
9
+ const gradleWrapper = platform() === 'win32' ? 'gradlew.bat' : './gradlew';
10
+ if (await fs.pathExists(path.join(androidPath, gradleWrapper))) {
11
+ execFileSync(gradleWrapper, ['assemble'], { cwd: androidPath });
12
+ }
13
+ else {
14
+ throw new Error(`The ${kleur.blue('gradlew')} script doesn't seem to present in ${kleur.blue(androidPath)}. Make sure you have added it by running ${kleur.blue('gradle wrapper')} in that directory.`);
15
+ }
16
+ }
17
+ //# sourceMappingURL=androidAssemble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"androidAssemble.js","sourceRoot":"","sources":["../../../src/utils/androidAssemble.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAS1B,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,eAAe,CAAC,EAC5C,IAAI,EACJ,WAAW,EACX,MAAM,GACE;IACR,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAE7C,MAAM,CAAC,IAAI,CACT,iCAAiC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,IAAI,CACjE,QAAQ,CACT,EAAE,CACJ,CAAC;IAEF,MAAM,aAAa,GAAG,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IAE3E,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;QAC/D,YAAY,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,OAAO,KAAK,CAAC,IAAI,CACf,SAAS,CACV,sCAAsC,KAAK,CAAC,IAAI,CAC/C,WAAW,CACZ,4CAA4C,KAAK,CAAC,IAAI,CACrD,gBAAgB,CACjB,qBAAqB,CACvB,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { Input, Variants } from '../types.ts';
2
+ export type CompileOptions = {
3
+ esm?: boolean;
4
+ babelrc?: boolean | null;
5
+ configFile?: string | false | null;
6
+ sourceMaps?: boolean;
7
+ copyFlow?: boolean;
8
+ jsxRuntime?: 'automatic' | 'classic';
9
+ };
10
+ type Options = Input & CompileOptions & {
11
+ modules: 'commonjs' | 'preserve';
12
+ variants: Variants;
13
+ exclude: string;
14
+ };
15
+ export default function compile({ root, source, output, esm, babelrc, configFile, exclude, modules, copyFlow, sourceMaps, report, jsxRuntime, variants, }: Options): Promise<void>;
16
+ export {};