diff --git a/index.js b/index.js index e4aeb0d..9311705 100644 --- a/index.js +++ b/index.js @@ -1,14 +1,19 @@ -import prompts from 'prompts'; -import kebabCase from 'lodash.kebabcase'; -import sanitize from 'sanitize-filename'; -import util from 'util'; -import fs from 'fs-extra'; -import path from 'path'; -import { sortPackageJson } from 'sort-package-json'; -const exec = util.promisify(require('child_process').exec); +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const prompts_1 = __importDefault(require("prompts")); +const lodash_kebabcase_1 = __importDefault(require("lodash.kebabcase")); +const sanitize_filename_1 = __importDefault(require("sanitize-filename")); +const util_1 = __importDefault(require("util")); +const fs_extra_1 = __importDefault(require("fs-extra")); +const path_1 = __importDefault(require("path")); +const sort_package_json_1 = require("sort-package-json"); +const exec = util_1.default.promisify(require('child_process').exec); const repoUrls = { - js: '/Users/ck/dev/js-tinkr-plugin-boilerplate', //'https://git.tinkr.site/jeffi/js-tinkrplugin-boilerplate.git', - ts: '/Users/ck/dev/ts-tinkr-plugin-boilerplate', //'https://git.tinkr.site/jeffi/ts-tinkr-plugin-boilerplate.git', + js: 'https://git.tinkr.site/jeffi/js-tinkrplugin-boilerplate.git', + ts: 'https://git.tinkr.site/jeffi/ts-tinkr-plugin-boilerplate.git', }; const invalidName = ` It is recommended to keep your plugin name short. @@ -17,7 +22,7 @@ const invalidVersion = ` A valid version has one to four dot-separated integers. Examples: "1", "1.0", "2.0.3", "3.4.7.219" `.trim(); -prompts([ +(0, prompts_1.default)([ { type: 'text', name: 'name', @@ -52,21 +57,21 @@ prompts([ initial: 0, }, ]).then(async ({ name, version, author, description, lang }) => { - const packageName = kebabCase(sanitize(name, { replacement: '-' })); + const packageName = (0, lodash_kebabcase_1.default)((0, sanitize_filename_1.default)(name, { replacement: '-' })); console.log(`Creating a Tinkr plugin in ./${packageName}`); await exec(`git clone ${repoUrls[lang]} ${packageName}`); - const packageDir = path.join(process.cwd(), packageName); - const packageJsonPath = path.join(packageDir, 'package.json'); - const { bugs, homepage, keywords, license, repository, ...packageJson } = await fs.readJSON(packageJsonPath); - await fs.writeJSON(packageJsonPath, sortPackageJson({ + const packageDir = path_1.default.join(process.cwd(), packageName); + const packageJsonPath = path_1.default.join(packageDir, 'package.json'); + const { bugs, homepage, keywords, license, repository, ...packageJson } = await fs_extra_1.default.readJSON(packageJsonPath); + await fs_extra_1.default.writeJSON(packageJsonPath, (0, sort_package_json_1.sortPackageJson)({ ...packageJson, author, description, name: packageName, version, }), { spaces: 2 }); - const gitFolderPath = path.join(packageDir, '.git'); - await fs.remove(gitFolderPath); + const gitFolderPath = path_1.default.join(packageDir, '.git'); + await fs_extra_1.default.remove(gitFolderPath); console.log('Success: Now just `npm install` using your favorite package manager and create your Tinkr plugin!'); }).catch((error) => { console.error(error); diff --git a/tsconfig.json b/tsconfig.json index 4d72338..0d7fc32 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -25,9 +25,9 @@ // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ /* Modules */ - "module": "ESNext", /* Specify what module code is generated. */ + "module": "CommonJS", /* Specify what module code is generated. */ "rootDir": "./src", /* Specify the root folder within your source files. */ - "moduleResolution": "Bundler", /* Specify how TypeScript looks up a file from a given module specifier. */ + "moduleResolution": "Node", /* Specify how TypeScript looks up a file from a given module specifier. */ // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */