@codeshift/initializer
Advanced tools
+9
-0
| # @codeshift/initializer | ||
| ## 0.1.7 | ||
| ### Patch Changes | ||
| - caaaf9a: Locks version of colors.js to avoid vulnrability | ||
| - 728624f: Init command can now be called without the transform or preset flag and output an empty directory | ||
| - Updated dependencies [caaaf9a] | ||
| - @codeshift/utils@0.1.4 | ||
| ## 0.1.6 | ||
@@ -4,0 +13,0 @@ |
@@ -6,2 +6,3 @@ 'use strict'; | ||
| var fs = require('fs-extra'); | ||
| var path = require('path'); | ||
| var semver = require('semver'); | ||
@@ -34,2 +35,3 @@ var recast = require('recast'); | ||
| var fs__default = /*#__PURE__*/_interopDefault(fs); | ||
| var path__default = /*#__PURE__*/_interopDefault(path); | ||
| var semver__default = /*#__PURE__*/_interopDefault(semver); | ||
@@ -96,16 +98,33 @@ var recast__namespace = /*#__PURE__*/_interopNamespace(recast); | ||
| function initDirectory(packageName, transform, type) { | ||
| function initDirectory(packageName) { | ||
| var targetPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : './'; | ||
| var isReduced = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; | ||
| var basePath = "".concat(targetPath, "/").concat(packageName.replace('/', '__')); | ||
| var configPath = "".concat(basePath).concat(!isReduced ? '/src' : '', "/codeshift.config.js"); | ||
| fs__default['default'].copySync("".concat(__dirname, "/../template").concat(isReduced ? '/src' : ''), basePath, { | ||
| filter: src => !src.includes('src/codemod') | ||
| }); | ||
| if (!isReduced) { | ||
| fs__default['default'].writeFileSync(path__default['default'].join(basePath, 'package.json'), getPackageJson(packageName)); | ||
| } | ||
| if (!fs__default['default'].existsSync(configPath)) { | ||
| fs__default['default'].writeFileSync(configPath, getConfig(packageName)); | ||
| } | ||
| } | ||
| function initTransform(packageName, id, type) { | ||
| var targetPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : './'; | ||
| var isReduced = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; | ||
| if (type === 'version' && !semver__default['default'].valid(transform)) { | ||
| throw new Error("Provided version ".concat(transform, " is not a valid semver version")); | ||
| if (type === 'version' && !semver__default['default'].valid(id)) { | ||
| throw new Error("Provided version ".concat(id, " is not a valid semver version")); | ||
| } | ||
| var basePath = "".concat(targetPath, "/").concat(packageName.replace('/', '__')); | ||
| var transformPath = "".concat(basePath).concat(!isReduced ? '/src' : '', "/").concat(transform); | ||
| var transformPath = "".concat(basePath).concat(!isReduced ? '/src' : '', "/").concat(id); | ||
| var configPath = "".concat(basePath).concat(!isReduced ? '/src' : '', "/codeshift.config.js"); | ||
| if (fs__default['default'].existsSync(transformPath)) { | ||
| throw new Error("Codemod for ".concat(type, " \"").concat(transform, "\" already exists")); | ||
| throw new Error("Codemod for ".concat(type, " \"").concat(id, "\" already exists")); | ||
| } | ||
@@ -115,14 +134,11 @@ | ||
| fs__default['default'].renameSync("".concat(basePath).concat(!isReduced ? '/src' : '', "/codemod"), transformPath); | ||
| var testFile = fs__default['default'].readFileSync("".concat(transformPath, "/transform.spec.ts"), 'utf8').replace('<% packageName %>', packageName).replace('<% seperator %>', type === 'version' ? '@' : '#').replace('<% transform %>', transform || ''); | ||
| fs__default['default'].writeFileSync("".concat(transformPath, "/transform.spec.ts"), testFile); | ||
| var testFilePath = path__default['default'].join(transformPath, 'transform.spec.ts'); | ||
| var testFile = fs__default['default'].readFileSync(testFilePath, 'utf8').replace('<% packageName %>', packageName).replace('<% seperator %>', type === 'version' ? '@' : '#').replace('<% transform %>', id || ''); | ||
| fs__default['default'].writeFileSync(testFilePath, testFile); | ||
| if (!isReduced) { | ||
| fs__default['default'].writeFileSync("".concat(basePath, "/package.json"), getPackageJson(packageName)); | ||
| fs__default['default'].writeFileSync(path__default['default'].join(basePath, 'package.json'), getPackageJson(packageName)); | ||
| } | ||
| if (!fs__default['default'].existsSync(configPath)) { | ||
| fs__default['default'].writeFileSync(configPath, getConfig(packageName, transform)); | ||
| } else { | ||
| fs__default['default'].writeFileSync(configPath, updateConfig(configPath, packageName, transform || '', type)); | ||
| } | ||
| fs__default['default'].writeFileSync(configPath, updateConfig(configPath, packageName, id || '', type)); | ||
| } | ||
@@ -132,1 +148,2 @@ | ||
| exports.initDirectory = initDirectory; | ||
| exports.initTransform = initTransform; |
@@ -6,2 +6,3 @@ 'use strict'; | ||
| var fs = require('fs-extra'); | ||
| var path = require('path'); | ||
| var semver = require('semver'); | ||
@@ -34,2 +35,3 @@ var recast = require('recast'); | ||
| var fs__default = /*#__PURE__*/_interopDefault(fs); | ||
| var path__default = /*#__PURE__*/_interopDefault(path); | ||
| var semver__default = /*#__PURE__*/_interopDefault(semver); | ||
@@ -96,16 +98,33 @@ var recast__namespace = /*#__PURE__*/_interopNamespace(recast); | ||
| function initDirectory(packageName, transform, type) { | ||
| function initDirectory(packageName) { | ||
| var targetPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : './'; | ||
| var isReduced = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; | ||
| var basePath = "".concat(targetPath, "/").concat(packageName.replace('/', '__')); | ||
| var configPath = "".concat(basePath).concat(!isReduced ? '/src' : '', "/codeshift.config.js"); | ||
| fs__default['default'].copySync("".concat(__dirname, "/../template").concat(isReduced ? '/src' : ''), basePath, { | ||
| filter: src => !src.includes('src/codemod') | ||
| }); | ||
| if (!isReduced) { | ||
| fs__default['default'].writeFileSync(path__default['default'].join(basePath, 'package.json'), getPackageJson(packageName)); | ||
| } | ||
| if (!fs__default['default'].existsSync(configPath)) { | ||
| fs__default['default'].writeFileSync(configPath, getConfig(packageName)); | ||
| } | ||
| } | ||
| function initTransform(packageName, id, type) { | ||
| var targetPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : './'; | ||
| var isReduced = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; | ||
| if (type === 'version' && !semver__default['default'].valid(transform)) { | ||
| throw new Error("Provided version ".concat(transform, " is not a valid semver version")); | ||
| if (type === 'version' && !semver__default['default'].valid(id)) { | ||
| throw new Error("Provided version ".concat(id, " is not a valid semver version")); | ||
| } | ||
| var basePath = "".concat(targetPath, "/").concat(packageName.replace('/', '__')); | ||
| var transformPath = "".concat(basePath).concat(!isReduced ? '/src' : '', "/").concat(transform); | ||
| var transformPath = "".concat(basePath).concat(!isReduced ? '/src' : '', "/").concat(id); | ||
| var configPath = "".concat(basePath).concat(!isReduced ? '/src' : '', "/codeshift.config.js"); | ||
| if (fs__default['default'].existsSync(transformPath)) { | ||
| throw new Error("Codemod for ".concat(type, " \"").concat(transform, "\" already exists")); | ||
| throw new Error("Codemod for ".concat(type, " \"").concat(id, "\" already exists")); | ||
| } | ||
@@ -115,14 +134,11 @@ | ||
| fs__default['default'].renameSync("".concat(basePath).concat(!isReduced ? '/src' : '', "/codemod"), transformPath); | ||
| var testFile = fs__default['default'].readFileSync("".concat(transformPath, "/transform.spec.ts"), 'utf8').replace('<% packageName %>', packageName).replace('<% seperator %>', type === 'version' ? '@' : '#').replace('<% transform %>', transform || ''); | ||
| fs__default['default'].writeFileSync("".concat(transformPath, "/transform.spec.ts"), testFile); | ||
| var testFilePath = path__default['default'].join(transformPath, 'transform.spec.ts'); | ||
| var testFile = fs__default['default'].readFileSync(testFilePath, 'utf8').replace('<% packageName %>', packageName).replace('<% seperator %>', type === 'version' ? '@' : '#').replace('<% transform %>', id || ''); | ||
| fs__default['default'].writeFileSync(testFilePath, testFile); | ||
| if (!isReduced) { | ||
| fs__default['default'].writeFileSync("".concat(basePath, "/package.json"), getPackageJson(packageName)); | ||
| fs__default['default'].writeFileSync(path__default['default'].join(basePath, 'package.json'), getPackageJson(packageName)); | ||
| } | ||
| if (!fs__default['default'].existsSync(configPath)) { | ||
| fs__default['default'].writeFileSync(configPath, getConfig(packageName, transform)); | ||
| } else { | ||
| fs__default['default'].writeFileSync(configPath, updateConfig(configPath, packageName, transform || '', type)); | ||
| } | ||
| fs__default['default'].writeFileSync(configPath, updateConfig(configPath, packageName, id || '', type)); | ||
| } | ||
@@ -132,1 +148,2 @@ | ||
| exports.initDirectory = initDirectory; | ||
| exports.initTransform = initTransform; |
| export declare function getPackageJson(packageName: string, version?: string): string; | ||
| export declare function initDirectory(packageName: string, transform: string, type: 'version' | 'preset', targetPath?: string, isReduced?: boolean): void; | ||
| export declare function initDirectory(packageName: string, targetPath?: string, isReduced?: boolean): void; | ||
| export declare function initTransform(packageName: string, id: string, type: 'version' | 'preset', targetPath?: string, isReduced?: boolean): void; |
+1
-1
| { | ||
| "name": "@codeshift/initializer", | ||
| "version": "0.1.6", | ||
| "version": "0.1.7", | ||
| "main": "dist/codeshift-initializer.cjs.js", | ||
@@ -5,0 +5,0 @@ "types": "dist/codeshift-initializer.cjs.d.ts", |
+43
-18
| import fs from 'fs-extra'; | ||
| import path from 'path'; | ||
| import semver from 'semver'; | ||
@@ -101,15 +102,39 @@ import * as recast from 'recast'; | ||
| packageName: string, | ||
| transform: string, | ||
| type: 'version' | 'preset', | ||
| targetPath: string = './', | ||
| isReduced: boolean = false, | ||
| ) { | ||
| if (type === 'version' && !semver.valid(transform)) { | ||
| throw new Error( | ||
| `Provided version ${transform} is not a valid semver version`, | ||
| const basePath = `${targetPath}/${packageName.replace('/', '__')}`; | ||
| const configPath = `${basePath}${ | ||
| !isReduced ? '/src' : '' | ||
| }/codeshift.config.js`; | ||
| fs.copySync(`${__dirname}/../template${isReduced ? '/src' : ''}`, basePath, { | ||
| filter: src => !src.includes('src/codemod'), | ||
| }); | ||
| if (!isReduced) { | ||
| fs.writeFileSync( | ||
| path.join(basePath, 'package.json'), | ||
| getPackageJson(packageName), | ||
| ); | ||
| } | ||
| if (!fs.existsSync(configPath)) { | ||
| fs.writeFileSync(configPath, getConfig(packageName)); | ||
| } | ||
| } | ||
| export function initTransform( | ||
| packageName: string, | ||
| id: string, | ||
| type: 'version' | 'preset', | ||
| targetPath: string = './', | ||
| isReduced: boolean = false, | ||
| ) { | ||
| if (type === 'version' && !semver.valid(id)) { | ||
| throw new Error(`Provided version ${id} is not a valid semver version`); | ||
| } | ||
| const basePath = `${targetPath}/${packageName.replace('/', '__')}`; | ||
| const transformPath = `${basePath}${!isReduced ? '/src' : ''}/${transform}`; | ||
| const transformPath = `${basePath}${!isReduced ? '/src' : ''}/${id}`; | ||
| const configPath = `${basePath}${ | ||
@@ -120,3 +145,3 @@ !isReduced ? '/src' : '' | ||
| if (fs.existsSync(transformPath)) { | ||
| throw new Error(`Codemod for ${type} "${transform}" already exists`); | ||
| throw new Error(`Codemod for ${type} "${id}" already exists`); | ||
| } | ||
@@ -130,22 +155,22 @@ | ||
| const testFilePath = path.join(transformPath, 'transform.spec.ts'); | ||
| const testFile = fs | ||
| .readFileSync(`${transformPath}/transform.spec.ts`, 'utf8') | ||
| .readFileSync(testFilePath, 'utf8') | ||
| .replace('<% packageName %>', packageName) | ||
| .replace('<% seperator %>', type === 'version' ? '@' : '#') | ||
| .replace('<% transform %>', transform || ''); | ||
| .replace('<% transform %>', id || ''); | ||
| fs.writeFileSync(`${transformPath}/transform.spec.ts`, testFile); | ||
| fs.writeFileSync(testFilePath, testFile); | ||
| if (!isReduced) { | ||
| fs.writeFileSync(`${basePath}/package.json`, getPackageJson(packageName)); | ||
| } | ||
| if (!fs.existsSync(configPath)) { | ||
| fs.writeFileSync(configPath, getConfig(packageName, transform)); | ||
| } else { | ||
| fs.writeFileSync( | ||
| configPath, | ||
| updateConfig(configPath, packageName, transform || '', type), | ||
| path.join(basePath, 'package.json'), | ||
| getPackageJson(packageName), | ||
| ); | ||
| } | ||
| fs.writeFileSync( | ||
| configPath, | ||
| updateConfig(configPath, packageName, id || '', type), | ||
| ); | ||
| } |
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
18482
15.89%421
14.09%