expo-codemod 1.1.3 â 1.1.6
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/build/cli.js +8 -8
- package/build/cli.js.map +1 -1
- package/package.json +2 -4
package/build/cli.js
CHANGED
|
@@ -16,7 +16,7 @@ const jscodeshift = require.resolve('jscodeshift/bin/jscodeshift.js');
|
|
|
16
16
|
const transformDir = path_1.default.join(__dirname, 'transforms');
|
|
17
17
|
const totalStats = {};
|
|
18
18
|
async function runAsync(argv) {
|
|
19
|
-
const options = yargs_parser_1.default(argv);
|
|
19
|
+
const options = (0, yargs_parser_1.default)(argv);
|
|
20
20
|
const [transform, ...paths] = options._.slice(2);
|
|
21
21
|
const parser = options.parser;
|
|
22
22
|
const transforms = await listTransformsAsync();
|
|
@@ -41,23 +41,23 @@ Transforms available:
|
|
|
41
41
|
if (!transforms.includes(transform)) {
|
|
42
42
|
throw new Error(`--transform: Transform ${transform} does not exist. Valid options: ` + transforms.join(', '));
|
|
43
43
|
}
|
|
44
|
-
const allFiles = await globby_1.default(paths, { gitignore: true, ignore: ['**/node_modules/**'] });
|
|
44
|
+
const allFiles = await (0, globby_1.default)(paths, { gitignore: true, ignore: ['**/node_modules/**'] });
|
|
45
45
|
if (parser) {
|
|
46
46
|
console.log(`Transforming ${allFiles.length} files using parser '${parser}'...`);
|
|
47
47
|
await transformAsync({ files: allFiles, parser, transform });
|
|
48
48
|
}
|
|
49
49
|
else {
|
|
50
|
-
const jsFiles = multimatch_1.default(allFiles, ['**/*.js', '**/*.jsx']);
|
|
50
|
+
const jsFiles = (0, multimatch_1.default)(allFiles, ['**/*.js', '**/*.jsx']);
|
|
51
51
|
if (jsFiles.length) {
|
|
52
52
|
console.log(`Transforming ${jsFiles.length} JS files...`);
|
|
53
53
|
await transformAsync({ files: jsFiles, parser: 'babel', transform });
|
|
54
54
|
}
|
|
55
|
-
const tsFiles = multimatch_1.default(allFiles, ['**/*.ts']);
|
|
55
|
+
const tsFiles = (0, multimatch_1.default)(allFiles, ['**/*.ts']);
|
|
56
56
|
if (tsFiles.length) {
|
|
57
57
|
console.log(`Transforming ${tsFiles.length} TS files...`);
|
|
58
58
|
await transformAsync({ files: tsFiles, parser: 'ts', transform });
|
|
59
59
|
}
|
|
60
|
-
const tsxFiles = multimatch_1.default(allFiles, ['**/*.tsx']);
|
|
60
|
+
const tsxFiles = (0, multimatch_1.default)(allFiles, ['**/*.tsx']);
|
|
61
61
|
if (tsxFiles.length) {
|
|
62
62
|
console.log(`Transforming ${tsxFiles.length} TSX files...`);
|
|
63
63
|
await transformAsync({ files: tsxFiles, parser: 'tsx', transform });
|
|
@@ -69,7 +69,7 @@ Transforms available:
|
|
|
69
69
|
console.log(chalk_1.default.bold(`\nđ Added imports from ${packages.length} packages. Installing packages with \`expo install\`...`));
|
|
70
70
|
console.log(`> expo install ${packages.join(' ')}`);
|
|
71
71
|
try {
|
|
72
|
-
await spawn_async_1.default('expo', ['install', ...packages], { stdio: 'inherit' });
|
|
72
|
+
await (0, spawn_async_1.default)('expo', ['install', ...packages], { stdio: 'inherit' });
|
|
73
73
|
}
|
|
74
74
|
catch (error) {
|
|
75
75
|
console.error(chalk_1.default.red('\nâ ď¸ expo install failed.'));
|
|
@@ -97,10 +97,10 @@ async function transformAsync({ files, parser, transform, }) {
|
|
|
97
97
|
});
|
|
98
98
|
}
|
|
99
99
|
const args = ['--parser', parser, '--transform', transformFile, '--no-babel', ...files];
|
|
100
|
-
return await spawn_async_1.default(jscodeshift, args, { stdio: 'inherit' });
|
|
100
|
+
return await (0, spawn_async_1.default)(jscodeshift, args, { stdio: 'inherit' });
|
|
101
101
|
}
|
|
102
102
|
async function listTransformsAsync() {
|
|
103
|
-
const modules = await globby_1.default(['*.js'], { cwd: transformDir });
|
|
103
|
+
const modules = await (0, globby_1.default)(['*.js'], { cwd: transformDir });
|
|
104
104
|
return modules.map(filename => path_1.default.basename(filename, '.js'));
|
|
105
105
|
}
|
|
106
106
|
//# sourceMappingURL=cli.js.map
|
package/build/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA2C;AAC3C,kDAA0B;AAC1B,oDAA4B;AAC5B,aAAa;AACb,oEAA4C;AAC5C,4DAAoC;AACpC,gDAAwB;AACxB,gEAAiC;AAEjC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;AACtE,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAExD,MAAM,UAAU,GAA8B,EAAE,CAAC;AAE1C,KAAK,UAAU,QAAQ,CAAC,IAAc;IAC3C,MAAM,OAAO,GAAG,sBAAK,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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","sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport chalk from 'chalk';\nimport globby from 'globby';\n// @ts-ignore\nimport Runner from 'jscodeshift/src/Runner';\nimport multimatch from 'multimatch';\nimport path from 'path';\nimport parse from 'yargs-parser';\n\nconst jscodeshift = require.resolve('jscodeshift/bin/jscodeshift.js');\nconst transformDir = path.join(__dirname, 'transforms');\n\nconst totalStats: { [key: string]: number } = {};\n\nexport async function runAsync(argv: string[]) {\n const options = parse(argv);\n const [transform, ...paths] = options._.slice(2);\n const parser = options.parser;\n\n const transforms = await listTransformsAsync();\n if (options.help || !transform || paths.length === 0) {\n console.log(`\nUsage: expo-codemod <transform> <paths...>\n\nOptions:\n <transform> (required) name of transform to apply to files\n (see a list of transforms available below)\n <paths...> one or more paths or globs (e.g. ./src/**/*.js) of sources to transform\n files in .gitignore are ignored by default\n -h, --help print this help message\n -p, --parser <babel|flow|ts|tsx> parser to use to parse the source files\n (default: babel, ts or tsx based on the file extension)\n\nTransforms available:\n ${transforms.join('\\n ')}`);\n process.exit(1);\n return;\n }\n\n if (!transforms.includes(transform)) {\n throw new Error(\n `--transform: Transform ${transform} does not exist. Valid options: ` + transforms.join(', ')\n );\n }\n\n const allFiles = await globby(paths, { gitignore: true, ignore: ['**/node_modules/**'] });\n\n if (parser) {\n console.log(`Transforming ${allFiles.length} files using parser '${parser}'...`);\n await transformAsync({ files: allFiles, parser, transform });\n } else {\n const jsFiles = multimatch(allFiles, ['**/*.js', '**/*.jsx']);\n if (jsFiles.length) {\n console.log(`Transforming ${jsFiles.length} JS files...`);\n await transformAsync({ files: jsFiles, parser: 'babel', transform });\n }\n\n const tsFiles = multimatch(allFiles, ['**/*.ts']);\n if (tsFiles.length) {\n console.log(`Transforming ${tsFiles.length} TS files...`);\n await transformAsync({ files: tsFiles, parser: 'ts', transform });\n }\n\n const tsxFiles = multimatch(allFiles, ['**/*.tsx']);\n if (tsxFiles.length) {\n console.log(`Transforming ${tsxFiles.length} TSX files...`);\n await transformAsync({ files: tsxFiles, parser: 'tsx', transform });\n }\n }\n\n if (transform === 'sdk33-imports' || transform === 'sdk37-imports') {\n const packages = Object.keys(totalStats).sort();\n if (packages.length) {\n console.log(\n chalk.bold(\n `\\nđ Added imports from ${packages.length} packages. Installing packages with \\`expo install\\`...`\n )\n );\n console.log(`> expo install ${packages.join(' ')}`);\n try {\n await spawnAsync('expo', ['install', ...packages], { stdio: 'inherit' });\n } catch (error: any) {\n console.error(chalk.red('\\nâ ď¸ expo install failed.'));\n console.log(chalk.dim(error.stack));\n console.error(\n chalk.red('To finish the codemod, please install the added packages manually using:')\n );\n console.log(chalk.bold.red(`> expo install ${packages.join(' ')}`));\n process.exit(1);\n }\n }\n }\n}\n\nasync function transformAsync({\n files,\n parser,\n transform,\n}: {\n files: string[];\n parser: 'babel' | 'flow' | 'ts' | 'tsx';\n transform: string;\n}) {\n const transformFile = path.join(transformDir, `${transform}.js`);\n if (transform === 'sdk33-imports' || transform === 'sdk37-imports') {\n // Dry run to gather stats about which packages need to be installed.\n const { stats } = await Runner.run(transformFile, files, {\n dry: true,\n silent: true,\n babel: false,\n parser,\n });\n Object.keys(stats).forEach(key => {\n totalStats[key] = (totalStats[key] || 0) + stats[key];\n });\n }\n\n const args = ['--parser', parser, '--transform', transformFile, '--no-babel', ...files];\n return await spawnAsync(jscodeshift, args, { stdio: 'inherit' });\n}\n\nasync function listTransformsAsync() {\n const modules = await globby(['*.js'], { cwd: transformDir });\n return modules.map(filename => path.basename(filename, '.js'));\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-codemod",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.6",
|
|
4
4
|
"description": "Codemod scripts for Expo apps",
|
|
5
5
|
"author": "Expo",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,11 +34,9 @@
|
|
|
34
34
|
"yargs-parser": "^13.1.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@expo/babel-preset-cli": "0.2.21",
|
|
38
37
|
"@types/jscodeshift": "^0.11.0",
|
|
39
38
|
"@types/multimatch": "^2.1.3",
|
|
40
39
|
"@types/yargs-parser": "^13.0.0",
|
|
41
|
-
"ast-types": "^0.14.2"
|
|
42
|
-
"rimraf": "^3.0.2"
|
|
40
|
+
"ast-types": "^0.14.2"
|
|
43
41
|
}
|
|
44
42
|
}
|