react-native-builder-bob 0.25.0 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/babel-preset.js +1 -1
- package/lib/babel.js.map +1 -1
- package/lib/index.js +7 -6
- package/lib/index.js.map +1 -1
- package/lib/utils/compile.js +20 -8
- package/lib/utils/compile.js.map +1 -1
- package/package.json +3 -3
package/babel-preset.js
CHANGED
package/lib/babel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"babel.js","names":["_fs","_interopRequireDefault","require","_path","obj","__esModule","default","isFile","filename","exists","fs","lstatSync","throwIfNoEntry","isDirectory","isModule","extension","platforms","exts","some","ext","every","platform","isTypeImport","node","importKind","exportKind","assertFilename","Error","_default","api","assertVersion","addExtension","state","source","value","startsWith","path","resolve","dirname","replace","join","name","visitor","ImportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"],"sources":["../src/babel.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport type { ConfigAPI, NodePath, PluginObj, PluginPass } from '@babel/core';\nimport type {\n ImportDeclaration,\n ExportAllDeclaration,\n ExportNamedDeclaration,\n} from '@babel/types';\n\ntype Options = {\n /**\n * Extension to add to the imports\n * For commonjs use 'cjs' and for esm use 'mjs'\n * NodeJS requires explicit extension for esm\n * The `cjs` extension avoids disambiguity when package.json has \"type\": \"module\"\n */\n extension?: 'cjs' | 'mjs';\n /**\n * Out of tree platforms to support\n * For `import './file'`, we skip adding extension if `file.${platform}.ts` exists\n * This is necessary for the platform specific extensions to be resolve correctly\n * Bundlers won't resolve the platform specific extension if explicit extension is present\n */\n platforms?: string[];\n};\n\nconst isFile = (filename: string): boolean => {\n const exists =\n fs.lstatSync(filename, { throwIfNoEntry: false })?.isFile() ?? false;\n\n return exists;\n};\n\nconst isDirectory = (filename: string): boolean => {\n const exists =\n fs.lstatSync(filename, { throwIfNoEntry: false })?.isDirectory() ?? false;\n\n return exists;\n};\n\nconst isModule = (\n filename: string,\n extension: string,\n platforms: string[]\n): boolean => {\n const exts = ['js', 'ts', 'jsx', 'tsx', extension];\n\n return exts.some(\n (ext) =>\n isFile(`${filename}.${ext}`) &&\n platforms.every((platform) => !isFile(`${filename}.${platform}.${ext}`))\n );\n};\n\nconst isTypeImport = (\n node: ImportDeclaration | ExportNamedDeclaration | ExportAllDeclaration\n) =>\n ('importKind' in node && node.importKind === 'type') ||\n ('exportKind' in node && node.exportKind === 'type');\n\nconst assertFilename: (\n filename: string | null | undefined\n) => asserts filename is string = (filename) => {\n if (filename == null) {\n throw new Error(\"Couldn't find a filename for the current file.\");\n }\n};\n\nexport default function (\n api: ConfigAPI,\n {\n extension,\n platforms = [\n 'native',\n 'android',\n 'ios',\n 'windows',\n 'macos',\n 'visionos',\n 'web',\n 'tv',\n 'android.tv',\n 'ios.tv',\n ],\n }: Options\n): PluginObj {\n api.assertVersion(7);\n\n function addExtension(\n {\n node,\n }: NodePath<\n ImportDeclaration | ExportNamedDeclaration | ExportAllDeclaration\n >,\n state: PluginPass\n ) {\n if (\n extension == null ||\n // Skip type imports as they'll be removed\n isTypeImport(node) ||\n // Skip non-relative imports\n !node.source?.value.startsWith('.')\n ) {\n return;\n }\n\n assertFilename(state.filename);\n\n // Skip folder imports\n const filename = path.resolve(\n path.dirname(state.filename),\n node.source.value\n );\n\n // Replace .ts extension with .js if file with extension is explicitly imported\n if (isFile(filename)) {\n node.source.value = node.source.value.replace(/\\.tsx?$/, `.${extension}`);\n return;\n }\n\n // Add extension if .ts file or file with extension exists\n if (isModule(filename, extension, platforms)) {\n node.source.value += `.${extension}`;\n return;\n }\n\n // Expand folder imports to index and add extension\n if (\n isDirectory(filename) &&\n isModule(path.join(filename, 'index'), extension, platforms)\n ) {\n node.source.value = node.source.value.replace(\n /\\/?$/,\n `/index.${extension}`\n );\n return;\n }\n }\n\n return {\n name: 'react-native-builder-bob',\n visitor: {\n ImportDeclaration(path, state) {\n addExtension(path, state);\n },\n ExportNamedDeclaration(path, state) {\n addExtension(path, state);\n },\n ExportAllDeclaration(path, state) {\n addExtension(path, state);\n },\n },\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"babel.js","names":["_fs","_interopRequireDefault","require","_path","obj","__esModule","default","isFile","filename","exists","fs","lstatSync","throwIfNoEntry","isDirectory","isModule","extension","platforms","exts","some","ext","every","platform","isTypeImport","node","importKind","exportKind","assertFilename","Error","_default","api","assertVersion","addExtension","state","source","value","startsWith","path","resolve","dirname","replace","join","name","visitor","ImportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"],"sources":["../src/babel.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport type { ConfigAPI, NodePath, PluginObj, PluginPass } from '@babel/core';\nimport type {\n ImportDeclaration,\n ExportAllDeclaration,\n ExportNamedDeclaration,\n} from '@babel/types';\n\ntype Options = {\n /**\n * Extension to add to the imports\n * For commonjs use 'cjs' and for esm use 'mjs'\n * NodeJS requires explicit extension for esm\n * The `cjs` extension avoids disambiguity when package.json has \"type\": \"module\"\n */\n extension?: 'js' | 'cjs' | 'mjs';\n /**\n * Out of tree platforms to support\n * For `import './file'`, we skip adding extension if `file.${platform}.ts` exists\n * This is necessary for the platform specific extensions to be resolve correctly\n * Bundlers won't resolve the platform specific extension if explicit extension is present\n */\n platforms?: string[];\n};\n\nconst isFile = (filename: string): boolean => {\n const exists =\n fs.lstatSync(filename, { throwIfNoEntry: false })?.isFile() ?? false;\n\n return exists;\n};\n\nconst isDirectory = (filename: string): boolean => {\n const exists =\n fs.lstatSync(filename, { throwIfNoEntry: false })?.isDirectory() ?? false;\n\n return exists;\n};\n\nconst isModule = (\n filename: string,\n extension: string,\n platforms: string[]\n): boolean => {\n const exts = ['js', 'ts', 'jsx', 'tsx', extension];\n\n return exts.some(\n (ext) =>\n isFile(`${filename}.${ext}`) &&\n platforms.every((platform) => !isFile(`${filename}.${platform}.${ext}`))\n );\n};\n\nconst isTypeImport = (\n node: ImportDeclaration | ExportNamedDeclaration | ExportAllDeclaration\n) =>\n ('importKind' in node && node.importKind === 'type') ||\n ('exportKind' in node && node.exportKind === 'type');\n\nconst assertFilename: (\n filename: string | null | undefined\n) => asserts filename is string = (filename) => {\n if (filename == null) {\n throw new Error(\"Couldn't find a filename for the current file.\");\n }\n};\n\nexport default function (\n api: ConfigAPI,\n {\n extension,\n platforms = [\n 'native',\n 'android',\n 'ios',\n 'windows',\n 'macos',\n 'visionos',\n 'web',\n 'tv',\n 'android.tv',\n 'ios.tv',\n ],\n }: Options\n): PluginObj {\n api.assertVersion(7);\n\n function addExtension(\n {\n node,\n }: NodePath<\n ImportDeclaration | ExportNamedDeclaration | ExportAllDeclaration\n >,\n state: PluginPass\n ) {\n if (\n extension == null ||\n // Skip type imports as they'll be removed\n isTypeImport(node) ||\n // Skip non-relative imports\n !node.source?.value.startsWith('.')\n ) {\n return;\n }\n\n assertFilename(state.filename);\n\n // Skip folder imports\n const filename = path.resolve(\n path.dirname(state.filename),\n node.source.value\n );\n\n // Replace .ts extension with .js if file with extension is explicitly imported\n if (isFile(filename)) {\n node.source.value = node.source.value.replace(/\\.tsx?$/, `.${extension}`);\n return;\n }\n\n // Add extension if .ts file or file with extension exists\n if (isModule(filename, extension, platforms)) {\n node.source.value += `.${extension}`;\n return;\n }\n\n // Expand folder imports to index and add extension\n if (\n isDirectory(filename) &&\n isModule(path.join(filename, 'index'), extension, platforms)\n ) {\n node.source.value = node.source.value.replace(\n /\\/?$/,\n `/index.${extension}`\n );\n return;\n }\n }\n\n return {\n name: 'react-native-builder-bob',\n visitor: {\n ImportDeclaration(path, state) {\n addExtension(path, state);\n },\n ExportNamedDeclaration(path, state) {\n addExtension(path, state);\n },\n ExportAllDeclaration(path, state) {\n addExtension(path, state);\n },\n },\n };\n}\n"],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -21,8 +21,9 @@ const {
|
|
|
21
21
|
version
|
|
22
22
|
} = require('../package.json');
|
|
23
23
|
const root = process.cwd();
|
|
24
|
-
const explorer = (0, _cosmiconfig.
|
|
25
|
-
|
|
24
|
+
const explorer = (0, _cosmiconfig.cosmiconfig)(name, {
|
|
25
|
+
stopDir: root,
|
|
26
|
+
searchPlaces: ['package.json', 'bob.config.mjs', 'bob.config.cjs', 'bob.config.js']
|
|
26
27
|
});
|
|
27
28
|
const FLOW_PRGAMA_REGEX = /\*?\s*@(flow)\b/m;
|
|
28
29
|
_yargs.default.command('init', 'configure the package to use bob', {}, async () => {
|
|
@@ -44,7 +45,7 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
|
|
|
44
45
|
logger.exit(`Couldn't find a 'package.json' file in '${root}'.\n Are you in a project folder?`);
|
|
45
46
|
}
|
|
46
47
|
const pkg = JSON.parse(await _fsExtra.default.readFile(pak, 'utf-8'));
|
|
47
|
-
const result = explorer.search();
|
|
48
|
+
const result = await explorer.search();
|
|
48
49
|
if (result?.config && pkg.devDependencies && name in pkg.devDependencies) {
|
|
49
50
|
const {
|
|
50
51
|
shouldContinue
|
|
@@ -126,9 +127,9 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
|
|
|
126
127
|
if (targets.includes('module')) {
|
|
127
128
|
esm = true;
|
|
128
129
|
if (targets.includes('commonjs')) {
|
|
129
|
-
entries.main = `./${_path.default.join(output, 'commonjs', 'index.
|
|
130
|
+
entries.main = `./${_path.default.join(output, 'commonjs', 'index.js')}`;
|
|
130
131
|
}
|
|
131
|
-
entries.module = `./${_path.default.join(output, 'module', 'index.
|
|
132
|
+
entries.module = `./${_path.default.join(output, 'module', 'index.js')}`;
|
|
132
133
|
} else if (targets.includes('commonjs')) {
|
|
133
134
|
entries.main = `./${_path.default.join(output, 'commonjs', 'index.js')}`;
|
|
134
135
|
} else {
|
|
@@ -326,7 +327,7 @@ _yargs.default.command('init', 'configure the package to use bob', {}, async ()
|
|
|
326
327
|
${_kleur.default.yellow('Good luck!')}
|
|
327
328
|
`));
|
|
328
329
|
}).command('build', 'build files for publishing', {}, async argv => {
|
|
329
|
-
const result = explorer.search();
|
|
330
|
+
const result = await explorer.search();
|
|
330
331
|
if (!result?.config) {
|
|
331
332
|
logger.exit(`No configuration found. Run '${argv.$0} init' to create one automatically.`);
|
|
332
333
|
}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","_dedent","_yargs","_cosmiconfig","_isGitDirty","_prompts","logger","_interopRequireWildcard","_commonjs","_module","_typescript","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","name","version","root","process","cwd","explorer","cosmiconfigSync","searchPlaces","FLOW_PRGAMA_REGEX","yargs","command","isGitDirty","shouldContinue","prompts","type","message","initial","exit","pak","path","join","fs","pathExists","pkg","JSON","parse","readFile","result","search","config","devDependencies","source","validate","input","Boolean","entryFile","fromEntries","entries","sort","a","b","localeCompare","questions","choices","title","value","selected","test","length","endsWith","push","keys","includes","output","targets","flow","target","undefined","esm","main","module","types","tsconfig","writeJSON","compilerOptions","rootDir","allowUnreachableCode","allowUnusedLabels","esModuleInterop","forceConsistentCasingInFileNames","jsx","lib","moduleResolution","noFallthroughCasesInSwitch","noImplicitReturns","noImplicitUseStrict","noStrictGenericChecks","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","resolveJsonModule","skipLibCheck","strict","verbatimModuleSyntax","spaces","prepare","files","entry","replace","exports","import","stringify","startsWith","remove","scripts","slice","update","filter","file","map","t","copyFlow","jest","modulePathIgnorePatterns","eslintIgnore","ignorefiles","ignorefile","content","split","writeFile","packageManager","console","log","dedent","kleur","yellow","magenta","bold","gray","argv","$0","options","relative","filepath","exclude","report","info","warn","error","success","targetName","Array","isArray","targetOptions","blue","buildCommonJS","resolve","buildModule","buildTypescript","demandCommand","recommendCommands"],"sources":["../src/index.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport dedent from 'dedent';\nimport yargs from 'yargs';\nimport { cosmiconfigSync } from 'cosmiconfig';\nimport isGitDirty from 'is-git-dirty';\nimport prompts, { type PromptObject } from './utils/prompts';\nimport * as logger from './utils/logger';\nimport buildCommonJS from './targets/commonjs';\nimport buildModule from './targets/module';\nimport buildTypescript from './targets/typescript';\nimport type { Options } from './types';\n\n// eslint-disable-next-line import/no-commonjs, @typescript-eslint/no-var-requires\nconst { name, version } = require('../package.json');\n\nconst root = process.cwd();\nconst explorer = cosmiconfigSync(name, {\n searchPlaces: ['package.json', `bob.config.js`, 'bob.config.cjs'],\n});\n\nconst FLOW_PRGAMA_REGEX = /\\*?\\s*@(flow)\\b/m;\n\nyargs\n .command('init', 'configure the package to use bob', {}, async () => {\n if (isGitDirty()) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The working directory is not clean.\\n You should commit or stash your changes before configuring bob.\\n Continue anyway?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n const pak = path.join(root, 'package.json');\n\n if (!(await fs.pathExists(pak))) {\n logger.exit(\n `Couldn't find a 'package.json' file in '${root}'.\\n Are you in a project folder?`\n );\n }\n\n const pkg = JSON.parse(await fs.readFile(pak, 'utf-8'));\n const result = explorer.search();\n\n if (result?.config && pkg.devDependencies && name in pkg.devDependencies) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The project seems to be already configured with bob.\\n Do you want to overwrite the existing configuration?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n const { source } = await prompts({\n type: 'text',\n name: 'source',\n message: 'Where are your source files?',\n initial: 'src',\n validate: (input) => Boolean(input),\n });\n\n let entryFile;\n\n if (await fs.pathExists(path.join(root, source, 'index.js'))) {\n entryFile = 'index.js';\n } else if (await fs.pathExists(path.join(root, source, 'index.ts'))) {\n entryFile = 'index.ts';\n } else if (await fs.pathExists(path.join(root, source, 'index.tsx'))) {\n entryFile = 'index.tsx';\n }\n\n if (!entryFile) {\n logger.exit(\n `Couldn't find a 'index.js'. 'index.ts' or 'index.tsx' file under '${source}'.\\n Please re-run the CLI after creating it.`\n );\n return;\n }\n\n pkg.devDependencies = Object.fromEntries(\n [\n ...Object.entries(pkg.devDependencies || {}),\n [name, `^${version}`],\n ].sort(([a], [b]) => a.localeCompare(b))\n );\n\n const questions: PromptObject[] = [\n {\n type: 'text',\n name: 'output',\n message: 'Where do you want to generate the output files?',\n initial: 'lib',\n validate: (input: string) => Boolean(input),\n },\n {\n type: 'multiselect',\n name: 'targets',\n message: 'Which targets do you want to build?',\n choices: [\n {\n title: 'commonjs - for running in Node (tests, SSR etc.)',\n value: 'commonjs',\n selected: true,\n },\n {\n title: 'module - for bundlers (metro, webpack etc.)',\n value: 'module',\n selected: true,\n },\n {\n title: 'typescript - declaration files for typechecking',\n value: 'typescript',\n selected: /\\.tsx?$/.test(entryFile),\n },\n ],\n validate: (input: string) => Boolean(input.length),\n },\n ];\n\n if (\n entryFile.endsWith('.js') &&\n FLOW_PRGAMA_REGEX.test(\n await fs.readFile(path.join(root, source, entryFile), 'utf-8')\n )\n ) {\n questions.push({\n type: 'confirm',\n name: 'flow',\n message: 'Do you want to publish definitions for flow?',\n initial: Object.keys(pkg.devDependencies || {}).includes('flow-bin'),\n });\n }\n\n const { output, targets, flow } = await prompts(questions);\n\n const target =\n targets[0] === 'commonjs' || targets[0] === 'module'\n ? targets[0]\n : undefined;\n\n const entries: {\n [key in 'source' | 'main' | 'module' | 'types']?: string;\n } = {\n source: `./${path.join(source, entryFile)}`,\n };\n\n let esm = false;\n\n if (targets.includes('module')) {\n esm = true;\n\n if (targets.includes('commonjs')) {\n entries.main = `./${path.join(output, 'commonjs', 'index.cjs')}`;\n }\n\n entries.module = `./${path.join(output, 'module', 'index.mjs')}`;\n } else if (targets.includes('commonjs')) {\n entries.main = `./${path.join(output, 'commonjs', 'index.js')}`;\n } else {\n entries.main = entries.source;\n }\n\n if (targets.includes('typescript')) {\n entries.types = `./${path.join(\n output,\n 'typescript',\n source,\n 'index.d.ts'\n )}`;\n\n if (!(await fs.pathExists(path.join(root, 'tsconfig.json')))) {\n const { tsconfig } = await prompts({\n type: 'confirm',\n name: 'tsconfig',\n message: `You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root.\\n Generate one?`,\n initial: true,\n });\n\n if (tsconfig) {\n await fs.writeJSON(\n path.join(root, 'tsconfig.json'),\n {\n compilerOptions: {\n rootDir: '.',\n allowUnreachableCode: false,\n allowUnusedLabels: false,\n esModuleInterop: true,\n forceConsistentCasingInFileNames: true,\n jsx: 'react-jsx',\n lib: ['ESNext'],\n module: 'ESNext',\n moduleResolution: 'Bundler',\n noFallthroughCasesInSwitch: true,\n noImplicitReturns: true,\n noImplicitUseStrict: false,\n noStrictGenericChecks: false,\n noUncheckedIndexedAccess: true,\n noUnusedLocals: true,\n noUnusedParameters: true,\n resolveJsonModule: true,\n skipLibCheck: true,\n strict: true,\n target: 'ESNext',\n verbatimModuleSyntax: true,\n },\n },\n { spaces: 2 }\n );\n }\n }\n }\n\n const prepare = 'bob build';\n const files = [\n source,\n output,\n '!**/__tests__',\n '!**/__fixtures__',\n '!**/__mocks__',\n ];\n\n for (const key in entries) {\n const entry = entries[key as keyof typeof entries];\n\n if (pkg[key] && pkg[key] !== entry) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the '${key}' field set to '${pkg[key]}'.\\n Do you want to replace it with '${entry}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg[key] = entry;\n }\n } else {\n pkg[key] = entry;\n }\n }\n\n if (esm) {\n let replace = false;\n\n const exports = {\n '.': {\n ...(entries.types ? { types: entries.types } : null),\n ...(entries.module ? { import: entries.module } : null),\n ...(entries.main ? { require: entries.main } : null),\n },\n };\n\n if (\n pkg.exports &&\n JSON.stringify(pkg.exports) !== JSON.stringify(exports)\n ) {\n replace = (\n await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has 'exports' field set.\\n Do you want to replace it?`,\n initial: true,\n })\n ).replace;\n } else {\n replace = true;\n }\n\n if (replace) {\n pkg.exports = exports;\n }\n }\n\n if (\n pkg['react-native'] &&\n (pkg['react-native'].startsWith(source) ||\n pkg['react-native'].startsWith(`./${source}`))\n ) {\n const { remove } = await prompts({\n type: 'confirm',\n name: 'remove',\n message: `Your package.json has the 'react-native' field pointing to source code.\\n This can cause problems when customizing babel configuration.\\n Do you want to remove it?`,\n initial: true,\n });\n\n if (remove) {\n delete pkg['react-native'];\n }\n }\n\n if (pkg.scripts?.prepare && pkg.scripts.prepare !== prepare) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the 'scripts.prepare' field set to '${pkg.scripts.prepare}'.\\n Do you want to replace it with '${prepare}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg.scripts.prepare = prepare;\n }\n } else {\n pkg.scripts = pkg.scripts || {};\n pkg.scripts.prepare = prepare;\n }\n\n if (\n pkg.files &&\n JSON.stringify(pkg.files.slice().sort()) !==\n JSON.stringify(files.slice().sort())\n ) {\n const { update } = await prompts({\n type: 'confirm',\n name: 'update',\n message: `Your package.json already has a 'files' field.\\n Do you want to update it?`,\n initial: true,\n });\n\n if (update) {\n pkg.files = [\n ...files,\n ...pkg.files.filter(\n (file: string) => !files.includes(file.replace(/\\/$/g, ''))\n ),\n ];\n }\n } else {\n pkg.files = files;\n }\n\n pkg[name] = {\n source,\n output,\n targets: targets.map((t: string) => {\n if (t === target && flow) {\n return [t, { copyFlow: true }];\n }\n\n if (t === 'commonjs' || t === 'module') {\n return [t, { esm }];\n }\n\n return t;\n }),\n };\n\n if (pkg.jest) {\n const entry = `<rootDir>/${output}/`;\n\n if (pkg.jest.modulePathIgnorePatterns) {\n const { modulePathIgnorePatterns } = pkg.jest;\n\n if (!modulePathIgnorePatterns.includes(entry)) {\n modulePathIgnorePatterns.push(entry);\n }\n } else {\n pkg.jest.modulePathIgnorePatterns = [entry];\n }\n }\n\n pkg.eslintIgnore = pkg.eslintIgnore || ['node_modules/'];\n\n if (!pkg.eslintIgnore.includes(`${output}/`)) {\n pkg.eslintIgnore.push(`${output}/`);\n }\n\n await fs.writeJSON(pak, pkg, {\n spaces: 2,\n });\n\n const ignorefiles = [\n path.join(root, '.gitignore'),\n path.join(root, '.eslintignore'),\n ];\n\n for (const ignorefile of ignorefiles) {\n if (await fs.pathExists(ignorefile)) {\n const content = await fs.readFile(ignorefile, 'utf-8');\n\n if (!content.split('\\n').includes(`${output}/`)) {\n await fs.writeFile(\n ignorefile,\n `${content}\\n# generated by bob\\n${output}/\\n`\n );\n }\n }\n }\n\n const packageManager = (await fs.pathExists(path.join(root, 'yarn.lock')))\n ? 'yarn'\n : 'npm';\n\n console.log(\n dedent(`\n Project ${kleur.yellow(pkg.name)} configured successfully!\n\n ${kleur.magenta(\n `${kleur.bold('Perform last steps')} by running`\n )}${kleur.gray(':')}\n\n ${kleur.gray('$')} ${packageManager} install\n\n ${kleur.yellow('Good luck!')}\n `)\n );\n })\n .command('build', 'build files for publishing', {}, async (argv) => {\n const result = explorer.search();\n\n if (!result?.config) {\n logger.exit(\n `No configuration found. Run '${argv.$0} init' to create one automatically.`\n );\n }\n\n const options: Options = result!.config;\n\n if (!options.targets?.length) {\n logger.exit(\n `No targets found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const source = options.source;\n\n if (!source) {\n logger.exit(\n `No source option found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const output = options.output;\n\n if (!output) {\n logger.exit(\n `No source option found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const exclude =\n options.exclude ?? '**/{__tests__,__fixtures__,__mocks__}/**';\n\n const report = {\n info: logger.info,\n warn: logger.warn,\n error: logger.error,\n success: logger.success,\n };\n\n for (const target of options.targets!) {\n const targetName = Array.isArray(target) ? target[0] : target;\n const targetOptions = Array.isArray(target) ? target[1] : undefined;\n\n report.info(`Building target ${kleur.blue(targetName)}`);\n\n switch (targetName) {\n case 'commonjs':\n await buildCommonJS({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'commonjs'),\n exclude,\n options: targetOptions,\n report,\n });\n break;\n case 'module':\n await buildModule({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'module'),\n exclude,\n options: targetOptions,\n report,\n });\n break;\n case 'typescript':\n await buildTypescript({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'typescript'),\n options: targetOptions,\n report,\n });\n break;\n default:\n logger.exit(`Invalid target ${kleur.blue(targetName)}.`);\n }\n }\n })\n .demandCommand()\n .recommendCommands()\n .strict().argv;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","_dedent","_yargs","_cosmiconfig","_isGitDirty","_prompts","logger","_interopRequireWildcard","_commonjs","_module","_typescript","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","name","version","root","process","cwd","explorer","cosmiconfig","stopDir","searchPlaces","FLOW_PRGAMA_REGEX","yargs","command","isGitDirty","shouldContinue","prompts","type","message","initial","exit","pak","path","join","fs","pathExists","pkg","JSON","parse","readFile","result","search","config","devDependencies","source","validate","input","Boolean","entryFile","fromEntries","entries","sort","a","b","localeCompare","questions","choices","title","value","selected","test","length","endsWith","push","keys","includes","output","targets","flow","target","undefined","esm","main","module","types","tsconfig","writeJSON","compilerOptions","rootDir","allowUnreachableCode","allowUnusedLabels","esModuleInterop","forceConsistentCasingInFileNames","jsx","lib","moduleResolution","noFallthroughCasesInSwitch","noImplicitReturns","noImplicitUseStrict","noStrictGenericChecks","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","resolveJsonModule","skipLibCheck","strict","verbatimModuleSyntax","spaces","prepare","files","entry","replace","exports","import","stringify","startsWith","remove","scripts","slice","update","filter","file","map","t","copyFlow","jest","modulePathIgnorePatterns","eslintIgnore","ignorefiles","ignorefile","content","split","writeFile","packageManager","console","log","dedent","kleur","yellow","magenta","bold","gray","argv","$0","options","relative","filepath","exclude","report","info","warn","error","success","targetName","Array","isArray","targetOptions","blue","buildCommonJS","resolve","buildModule","buildTypescript","demandCommand","recommendCommands"],"sources":["../src/index.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport kleur from 'kleur';\nimport dedent from 'dedent';\nimport yargs from 'yargs';\nimport { cosmiconfig } from 'cosmiconfig';\nimport isGitDirty from 'is-git-dirty';\nimport prompts, { type PromptObject } from './utils/prompts';\nimport * as logger from './utils/logger';\nimport buildCommonJS from './targets/commonjs';\nimport buildModule from './targets/module';\nimport buildTypescript from './targets/typescript';\nimport type { Options } from './types';\n\n// eslint-disable-next-line import/no-commonjs, @typescript-eslint/no-var-requires\nconst { name, version } = require('../package.json');\n\nconst root = process.cwd();\nconst explorer = cosmiconfig(name, {\n stopDir: root,\n searchPlaces: [\n 'package.json',\n 'bob.config.mjs',\n 'bob.config.cjs',\n 'bob.config.js',\n ],\n});\n\nconst FLOW_PRGAMA_REGEX = /\\*?\\s*@(flow)\\b/m;\n\nyargs\n .command('init', 'configure the package to use bob', {}, async () => {\n if (isGitDirty()) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The working directory is not clean.\\n You should commit or stash your changes before configuring bob.\\n Continue anyway?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n const pak = path.join(root, 'package.json');\n\n if (!(await fs.pathExists(pak))) {\n logger.exit(\n `Couldn't find a 'package.json' file in '${root}'.\\n Are you in a project folder?`\n );\n }\n\n const pkg = JSON.parse(await fs.readFile(pak, 'utf-8'));\n const result = await explorer.search();\n\n if (result?.config && pkg.devDependencies && name in pkg.devDependencies) {\n const { shouldContinue } = await prompts({\n type: 'confirm',\n name: 'shouldContinue',\n message: `The project seems to be already configured with bob.\\n Do you want to overwrite the existing configuration?`,\n initial: false,\n });\n\n if (!shouldContinue) {\n process.exit(0);\n }\n }\n\n const { source } = await prompts({\n type: 'text',\n name: 'source',\n message: 'Where are your source files?',\n initial: 'src',\n validate: (input) => Boolean(input),\n });\n\n let entryFile;\n\n if (await fs.pathExists(path.join(root, source, 'index.js'))) {\n entryFile = 'index.js';\n } else if (await fs.pathExists(path.join(root, source, 'index.ts'))) {\n entryFile = 'index.ts';\n } else if (await fs.pathExists(path.join(root, source, 'index.tsx'))) {\n entryFile = 'index.tsx';\n }\n\n if (!entryFile) {\n logger.exit(\n `Couldn't find a 'index.js'. 'index.ts' or 'index.tsx' file under '${source}'.\\n Please re-run the CLI after creating it.`\n );\n return;\n }\n\n pkg.devDependencies = Object.fromEntries(\n [\n ...Object.entries(pkg.devDependencies || {}),\n [name, `^${version}`],\n ].sort(([a], [b]) => a.localeCompare(b))\n );\n\n const questions: PromptObject[] = [\n {\n type: 'text',\n name: 'output',\n message: 'Where do you want to generate the output files?',\n initial: 'lib',\n validate: (input: string) => Boolean(input),\n },\n {\n type: 'multiselect',\n name: 'targets',\n message: 'Which targets do you want to build?',\n choices: [\n {\n title: 'commonjs - for running in Node (tests, SSR etc.)',\n value: 'commonjs',\n selected: true,\n },\n {\n title: 'module - for bundlers (metro, webpack etc.)',\n value: 'module',\n selected: true,\n },\n {\n title: 'typescript - declaration files for typechecking',\n value: 'typescript',\n selected: /\\.tsx?$/.test(entryFile),\n },\n ],\n validate: (input: string) => Boolean(input.length),\n },\n ];\n\n if (\n entryFile.endsWith('.js') &&\n FLOW_PRGAMA_REGEX.test(\n await fs.readFile(path.join(root, source, entryFile), 'utf-8')\n )\n ) {\n questions.push({\n type: 'confirm',\n name: 'flow',\n message: 'Do you want to publish definitions for flow?',\n initial: Object.keys(pkg.devDependencies || {}).includes('flow-bin'),\n });\n }\n\n const { output, targets, flow } = await prompts(questions);\n\n const target =\n targets[0] === 'commonjs' || targets[0] === 'module'\n ? targets[0]\n : undefined;\n\n const entries: {\n [key in 'source' | 'main' | 'module' | 'types']?: string;\n } = {\n source: `./${path.join(source, entryFile)}`,\n };\n\n let esm = false;\n\n if (targets.includes('module')) {\n esm = true;\n\n if (targets.includes('commonjs')) {\n entries.main = `./${path.join(output, 'commonjs', 'index.js')}`;\n }\n\n entries.module = `./${path.join(output, 'module', 'index.js')}`;\n } else if (targets.includes('commonjs')) {\n entries.main = `./${path.join(output, 'commonjs', 'index.js')}`;\n } else {\n entries.main = entries.source;\n }\n\n if (targets.includes('typescript')) {\n entries.types = `./${path.join(\n output,\n 'typescript',\n source,\n 'index.d.ts'\n )}`;\n\n if (!(await fs.pathExists(path.join(root, 'tsconfig.json')))) {\n const { tsconfig } = await prompts({\n type: 'confirm',\n name: 'tsconfig',\n message: `You have enabled 'typescript' compilation, but we couldn't find a 'tsconfig.json' in project root.\\n Generate one?`,\n initial: true,\n });\n\n if (tsconfig) {\n await fs.writeJSON(\n path.join(root, 'tsconfig.json'),\n {\n compilerOptions: {\n rootDir: '.',\n allowUnreachableCode: false,\n allowUnusedLabels: false,\n esModuleInterop: true,\n forceConsistentCasingInFileNames: true,\n jsx: 'react-jsx',\n lib: ['ESNext'],\n module: 'ESNext',\n moduleResolution: 'Bundler',\n noFallthroughCasesInSwitch: true,\n noImplicitReturns: true,\n noImplicitUseStrict: false,\n noStrictGenericChecks: false,\n noUncheckedIndexedAccess: true,\n noUnusedLocals: true,\n noUnusedParameters: true,\n resolveJsonModule: true,\n skipLibCheck: true,\n strict: true,\n target: 'ESNext',\n verbatimModuleSyntax: true,\n },\n },\n { spaces: 2 }\n );\n }\n }\n }\n\n const prepare = 'bob build';\n const files = [\n source,\n output,\n '!**/__tests__',\n '!**/__fixtures__',\n '!**/__mocks__',\n ];\n\n for (const key in entries) {\n const entry = entries[key as keyof typeof entries];\n\n if (pkg[key] && pkg[key] !== entry) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the '${key}' field set to '${pkg[key]}'.\\n Do you want to replace it with '${entry}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg[key] = entry;\n }\n } else {\n pkg[key] = entry;\n }\n }\n\n if (esm) {\n let replace = false;\n\n const exports = {\n '.': {\n ...(entries.types ? { types: entries.types } : null),\n ...(entries.module ? { import: entries.module } : null),\n ...(entries.main ? { require: entries.main } : null),\n },\n };\n\n if (\n pkg.exports &&\n JSON.stringify(pkg.exports) !== JSON.stringify(exports)\n ) {\n replace = (\n await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has 'exports' field set.\\n Do you want to replace it?`,\n initial: true,\n })\n ).replace;\n } else {\n replace = true;\n }\n\n if (replace) {\n pkg.exports = exports;\n }\n }\n\n if (\n pkg['react-native'] &&\n (pkg['react-native'].startsWith(source) ||\n pkg['react-native'].startsWith(`./${source}`))\n ) {\n const { remove } = await prompts({\n type: 'confirm',\n name: 'remove',\n message: `Your package.json has the 'react-native' field pointing to source code.\\n This can cause problems when customizing babel configuration.\\n Do you want to remove it?`,\n initial: true,\n });\n\n if (remove) {\n delete pkg['react-native'];\n }\n }\n\n if (pkg.scripts?.prepare && pkg.scripts.prepare !== prepare) {\n const { replace } = await prompts({\n type: 'confirm',\n name: 'replace',\n message: `Your package.json has the 'scripts.prepare' field set to '${pkg.scripts.prepare}'.\\n Do you want to replace it with '${prepare}'?`,\n initial: true,\n });\n\n if (replace) {\n pkg.scripts.prepare = prepare;\n }\n } else {\n pkg.scripts = pkg.scripts || {};\n pkg.scripts.prepare = prepare;\n }\n\n if (\n pkg.files &&\n JSON.stringify(pkg.files.slice().sort()) !==\n JSON.stringify(files.slice().sort())\n ) {\n const { update } = await prompts({\n type: 'confirm',\n name: 'update',\n message: `Your package.json already has a 'files' field.\\n Do you want to update it?`,\n initial: true,\n });\n\n if (update) {\n pkg.files = [\n ...files,\n ...pkg.files.filter(\n (file: string) => !files.includes(file.replace(/\\/$/g, ''))\n ),\n ];\n }\n } else {\n pkg.files = files;\n }\n\n pkg[name] = {\n source,\n output,\n targets: targets.map((t: string) => {\n if (t === target && flow) {\n return [t, { copyFlow: true }];\n }\n\n if (t === 'commonjs' || t === 'module') {\n return [t, { esm }];\n }\n\n return t;\n }),\n };\n\n if (pkg.jest) {\n const entry = `<rootDir>/${output}/`;\n\n if (pkg.jest.modulePathIgnorePatterns) {\n const { modulePathIgnorePatterns } = pkg.jest;\n\n if (!modulePathIgnorePatterns.includes(entry)) {\n modulePathIgnorePatterns.push(entry);\n }\n } else {\n pkg.jest.modulePathIgnorePatterns = [entry];\n }\n }\n\n pkg.eslintIgnore = pkg.eslintIgnore || ['node_modules/'];\n\n if (!pkg.eslintIgnore.includes(`${output}/`)) {\n pkg.eslintIgnore.push(`${output}/`);\n }\n\n await fs.writeJSON(pak, pkg, {\n spaces: 2,\n });\n\n const ignorefiles = [\n path.join(root, '.gitignore'),\n path.join(root, '.eslintignore'),\n ];\n\n for (const ignorefile of ignorefiles) {\n if (await fs.pathExists(ignorefile)) {\n const content = await fs.readFile(ignorefile, 'utf-8');\n\n if (!content.split('\\n').includes(`${output}/`)) {\n await fs.writeFile(\n ignorefile,\n `${content}\\n# generated by bob\\n${output}/\\n`\n );\n }\n }\n }\n\n const packageManager = (await fs.pathExists(path.join(root, 'yarn.lock')))\n ? 'yarn'\n : 'npm';\n\n console.log(\n dedent(`\n Project ${kleur.yellow(pkg.name)} configured successfully!\n\n ${kleur.magenta(\n `${kleur.bold('Perform last steps')} by running`\n )}${kleur.gray(':')}\n\n ${kleur.gray('$')} ${packageManager} install\n\n ${kleur.yellow('Good luck!')}\n `)\n );\n })\n .command('build', 'build files for publishing', {}, async (argv) => {\n const result = await explorer.search();\n\n if (!result?.config) {\n logger.exit(\n `No configuration found. Run '${argv.$0} init' to create one automatically.`\n );\n }\n\n const options: Options = result!.config;\n\n if (!options.targets?.length) {\n logger.exit(\n `No targets found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const source = options.source;\n\n if (!source) {\n logger.exit(\n `No source option found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const output = options.output;\n\n if (!output) {\n logger.exit(\n `No source option found in the configuration in '${path.relative(\n root,\n result!.filepath\n )}'.`\n );\n }\n\n const exclude =\n options.exclude ?? '**/{__tests__,__fixtures__,__mocks__}/**';\n\n const report = {\n info: logger.info,\n warn: logger.warn,\n error: logger.error,\n success: logger.success,\n };\n\n for (const target of options.targets!) {\n const targetName = Array.isArray(target) ? target[0] : target;\n const targetOptions = Array.isArray(target) ? target[1] : undefined;\n\n report.info(`Building target ${kleur.blue(targetName)}`);\n\n switch (targetName) {\n case 'commonjs':\n await buildCommonJS({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'commonjs'),\n exclude,\n options: targetOptions,\n report,\n });\n break;\n case 'module':\n await buildModule({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'module'),\n exclude,\n options: targetOptions,\n report,\n });\n break;\n case 'typescript':\n await buildTypescript({\n root,\n source: path.resolve(root, source as string),\n output: path.resolve(root, output as string, 'typescript'),\n options: targetOptions,\n report,\n });\n break;\n default:\n logger.exit(`Invalid target ${kleur.blue(targetName)}.`);\n }\n }\n })\n .demandCommand()\n .recommendCommands()\n .strict().argv;\n"],"mappings":"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"}
|
package/lib/utils/compile.js
CHANGED
|
@@ -12,6 +12,7 @@ var _glob = _interopRequireDefault(require("glob"));
|
|
|
12
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
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
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
const sourceExt = /\.([cm])?[jt]sx?$/;
|
|
15
16
|
async function compile({
|
|
16
17
|
root,
|
|
17
18
|
source,
|
|
@@ -38,11 +39,16 @@ async function compile({
|
|
|
38
39
|
report.warn(`The ${_kleur.default.blue('copyFlow')} option was specified, but couldn't find ${_kleur.default.blue('flow-bin')} in ${_kleur.default.blue('package.json')}.\nIf the project is using ${_kleur.default.blue('flow')}, then make sure you have added ${_kleur.default.blue('flow-bin')} to your ${_kleur.default.blue('devDependencies')}, otherwise remove the ${_kleur.default.blue('copyFlow')} option.`);
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
|
-
|
|
42
|
+
await _fsExtra.default.mkdirp(output);
|
|
43
|
+
if (esm) {
|
|
44
|
+
await _fsExtra.default.writeJSON(_path.default.join(output, 'package.json'), {
|
|
45
|
+
type: modules === 'commonjs' ? 'commonjs' : 'module'
|
|
46
|
+
});
|
|
47
|
+
}
|
|
42
48
|
await Promise.all(files.map(async filepath => {
|
|
43
|
-
const outputFilename = _path.default.join(output, _path.default.relative(source, filepath)).replace(
|
|
49
|
+
const outputFilename = _path.default.join(output, _path.default.relative(source, filepath)).replace(sourceExt, '.$1js');
|
|
44
50
|
await _fsExtra.default.mkdirp(_path.default.dirname(outputFilename));
|
|
45
|
-
if (
|
|
51
|
+
if (!sourceExt.test(filepath)) {
|
|
46
52
|
// Copy files which aren't source code
|
|
47
53
|
_fsExtra.default.copy(filepath, outputFilename);
|
|
48
54
|
return;
|
|
@@ -58,7 +64,9 @@ async function compile({
|
|
|
58
64
|
filename: filepath,
|
|
59
65
|
...(babelrc || configFile ? null : {
|
|
60
66
|
presets: [[require.resolve('../../babel-preset'), {
|
|
61
|
-
modules
|
|
67
|
+
modules:
|
|
68
|
+
// If a file is explicitly marked as ESM, then preserve the syntax
|
|
69
|
+
/\.m[jt]s$/.test(filepath) ? 'preserve' : modules,
|
|
62
70
|
esm
|
|
63
71
|
}]]
|
|
64
72
|
})
|
|
@@ -83,10 +91,14 @@ async function compile({
|
|
|
83
91
|
report.success(`Wrote files to ${_kleur.default.blue(_path.default.relative(root, output))}`);
|
|
84
92
|
const getGeneratedEntryPath = async () => {
|
|
85
93
|
if (pkg.source) {
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
94
|
+
for (const ext of ['.js', '.cjs', '.mjs']) {
|
|
95
|
+
const indexName =
|
|
96
|
+
// The source field may not have an extension, so we add it instead of replacing directly
|
|
97
|
+
_path.default.basename(pkg.source).replace(sourceExt, '') + ext;
|
|
98
|
+
const potentialPath = _path.default.join(output, _path.default.dirname(_path.default.relative(source, _path.default.join(root, pkg.source))), indexName);
|
|
99
|
+
if (await _fsExtra.default.pathExists(potentialPath)) {
|
|
100
|
+
return _path.default.relative(root, potentialPath);
|
|
101
|
+
}
|
|
90
102
|
}
|
|
91
103
|
}
|
|
92
104
|
return null;
|
package/lib/utils/compile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","names":["_path","_interopRequireDefault","require","_fsExtra","_kleur","babel","_interopRequireWildcard","_glob","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","compile","root","source","output","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","outputExtension","Promise","all","map","filepath","outputFilename","replace","mkdirp","dirname","test","copy","content","result","transformAsync","sourceRoot","sourceFileName","filename","presets","resolve","Error","code","mapFilename","basename","sourcesContent","undefined","writeJSON","writeFile","success","getGeneratedEntryPath","indexName","potentialPath","pathExists","fields","name","value","main","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\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 const outputExtension = esm\n ? modules === 'commonjs'\n ? '.cjs'\n : '.mjs'\n : '.js';\n\n await Promise.all(\n files.map(async (filepath) => {\n const outputFilename = path\n .join(output, path.relative(source, filepath))\n .replace(/\\.(jsx?|tsx?)$/, outputExtension);\n\n await fs.mkdirp(path.dirname(outputFilename));\n\n if (!/\\.(jsx?|tsx?)$/.test(filepath)) {\n // Copy files which aren't source code\n fs.copy(filepath, outputFilename);\n return;\n }\n\n const content = await fs.readFile(filepath, 'utf-8');\n const result = await babel.transformAsync(content, {\n cwd: root,\n babelrc: babelrc,\n configFile: configFile,\n sourceMaps,\n sourceRoot: path.relative(path.dirname(outputFilename), source),\n sourceFileName: path.relative(source, filepath),\n filename: filepath,\n ...(babelrc || configFile\n ? null\n : {\n presets: [\n [require.resolve('../../babel-preset'), { modules, esm }],\n ],\n }),\n });\n\n if (result == null) {\n throw new Error('Output code was null');\n }\n\n let code = result.code;\n\n if (sourceMaps && result.map) {\n const mapFilename = outputFilename + '.map';\n\n code += '\\n//# sourceMappingURL=' + path.basename(mapFilename);\n\n // Don't inline the source code, it can be retrieved from the source file\n result.map.sourcesContent = undefined;\n\n await fs.writeJSON(mapFilename, result.map);\n }\n\n await fs.writeFile(outputFilename, code);\n\n if (copyFlow) {\n fs.copy(filepath, outputFilename + '.flow');\n }\n })\n );\n\n report.success(`Wrote files to ${kleur.blue(path.relative(root, output))}`);\n\n const getGeneratedEntryPath = async () => {\n if (pkg.source) {\n const indexName =\n path.basename(pkg.source).replace(/\\.(jsx?|tsx?)$/, '') +\n outputExtension;\n\n const potentialPath = path.join(\n output,\n path.dirname(path.relative(source, path.join(root, pkg.source))),\n indexName\n );\n\n if (await fs.pathExists(potentialPath)) {\n return path.relative(root, potentialPath);\n }\n }\n\n return null;\n };\n\n const fields =\n modules === 'commonjs'\n ? [{ 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","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\n if (esm) {\n await fs.writeJSON(path.join(output, 'package.json'), {\n type: modules === 'commonjs' ? 'commonjs' : 'module',\n });\n }\n\n await Promise.all(\n files.map(async (filepath) => {\n const outputFilename = path\n .join(output, path.relative(source, filepath))\n .replace(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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-builder-bob",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.27.0",
|
|
4
4
|
"description": "CLI to build JavaScript files for React Native libraries",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"@babel/preset-react": "^7.17.12",
|
|
51
51
|
"@babel/preset-typescript": "^7.17.12",
|
|
52
52
|
"browserslist": "^4.20.4",
|
|
53
|
-
"cosmiconfig": "^
|
|
53
|
+
"cosmiconfig": "^9.0.0",
|
|
54
54
|
"cross-spawn": "^7.0.3",
|
|
55
55
|
"dedent": "^0.7.0",
|
|
56
56
|
"del": "^6.1.1",
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"concurrently": "^7.2.2",
|
|
81
81
|
"jest": "^29.7.0"
|
|
82
82
|
},
|
|
83
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "a7c9ae0d0e81cc96da2f747708204da7661963b6"
|
|
84
84
|
}
|