UNPKG

better-npm-init

Version:

A better version of npm init, with templates and more. Usage: better-npm-init <template> [--yarn] [--install] [--git] [--yes] [--help]

73 lines (58 loc) 8.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; require("source-map-support/register"); var _asyncOra = require("@electron-forge/async-ora"); var _templateBase = require("@electron-forge/template-base"); var _fsExtra = _interopRequireDefault(require("fs-extra")); var _path = _interopRequireDefault(require("path")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } class WebpackTemplate extends _templateBase.BaseTemplate { constructor(...args) { super(...args); _defineProperty(this, "templateDir", _path.default.resolve(__dirname, '..', 'tmpl')); } async initializeTemplate(directory, options) { await super.initializeTemplate(directory, options); await (0, _asyncOra.asyncOra)('Setting up Forge configuration', async () => { const pjPath = _path.default.resolve(directory, 'package.json'); const currentPJ = await _fsExtra.default.readJson(pjPath); currentPJ.main = '.webpack/main'; currentPJ.config.forge.plugins = currentPJ.config.forge.plugins || []; currentPJ.config.forge.plugins.push(['@electron-forge/plugin-webpack', { mainConfig: './webpack.main.config.js', renderer: { config: './webpack.renderer.config.js', entryPoints: [{ html: './src/index.html', js: './src/renderer.js', name: 'main_window' }] } }]); await _fsExtra.default.writeJson(pjPath, currentPJ, { spaces: 2 }); }); await (0, _asyncOra.asyncOra)('Setting up webpack configuration', async () => { await this.copyTemplateFile(directory, 'webpack.main.config.js'); await this.copyTemplateFile(directory, 'webpack.renderer.config.js'); await this.copyTemplateFile(directory, 'webpack.rules.js'); await this.copyTemplateFile(_path.default.join(directory, 'src'), 'renderer.js'); await this.updateFileByLine(_path.default.resolve(directory, 'src', 'index.js'), line => { if (line.includes('mainWindow.loadFile')) return ' mainWindow.loadURL(MAIN_WINDOW_WEBPACK_ENTRY);'; return line; }, _path.default.resolve(directory, 'src', 'main.js')); await this.updateFileByLine(_path.default.resolve(directory, 'src', 'index.html'), line => { if (line.includes('link rel="stylesheet"')) return ''; return line; }); }); } } var _default = new WebpackTemplate(); exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9XZWJwYWNrVGVtcGxhdGUudHMiXSwibmFtZXMiOlsiV2VicGFja1RlbXBsYXRlIiwiQmFzZVRlbXBsYXRlIiwicGF0aCIsInJlc29sdmUiLCJfX2Rpcm5hbWUiLCJpbml0aWFsaXplVGVtcGxhdGUiLCJkaXJlY3RvcnkiLCJvcHRpb25zIiwicGpQYXRoIiwiY3VycmVudFBKIiwiZnMiLCJyZWFkSnNvbiIsIm1haW4iLCJjb25maWciLCJmb3JnZSIsInBsdWdpbnMiLCJwdXNoIiwibWFpbkNvbmZpZyIsInJlbmRlcmVyIiwiZW50cnlQb2ludHMiLCJodG1sIiwianMiLCJuYW1lIiwid3JpdGVKc29uIiwic3BhY2VzIiwiY29weVRlbXBsYXRlRmlsZSIsImpvaW4iLCJ1cGRhdGVGaWxlQnlMaW5lIiwibGluZSIsImluY2x1ZGVzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7O0FBRUEsTUFBTUEsZUFBTixTQUE4QkMsMEJBQTlCLENBQTJDO0FBQUE7QUFBQTs7QUFBQSx5Q0FDcEJDLGNBQUtDLE9BQUwsQ0FBYUMsU0FBYixFQUF3QixJQUF4QixFQUE4QixNQUE5QixDQURvQjtBQUFBOztBQUdWLFFBQWxCQyxrQkFBa0IsQ0FBQ0MsU0FBRCxFQUFvQkMsT0FBcEIsRUFBa0Q7QUFDL0UsVUFBTSxNQUFNRixrQkFBTixDQUF5QkMsU0FBekIsRUFBb0NDLE9BQXBDLENBQU47QUFDQSxVQUFNLHdCQUFTLGdDQUFULEVBQTJDLFlBQVk7QUFDM0QsWUFBTUMsTUFBTSxHQUFHTixjQUFLQyxPQUFMLENBQWFHLFNBQWIsRUFBd0IsY0FBeEIsQ0FBZjs7QUFDQSxZQUFNRyxTQUFTLEdBQUcsTUFBTUMsaUJBQUdDLFFBQUgsQ0FBWUgsTUFBWixDQUF4QjtBQUNBQyxNQUFBQSxTQUFTLENBQUNHLElBQVYsR0FBaUIsZUFBakI7QUFDQUgsTUFBQUEsU0FBUyxDQUFDSSxNQUFWLENBQWlCQyxLQUFqQixDQUF1QkMsT0FBdkIsR0FBaUNOLFNBQVMsQ0FBQ0ksTUFBVixDQUFpQkMsS0FBakIsQ0FBdUJDLE9BQXZCLElBQWtDLEVBQW5FO0FBQ0FOLE1BQUFBLFNBQVMsQ0FBQ0ksTUFBVixDQUFpQkMsS0FBakIsQ0FBdUJDLE9BQXZCLENBQStCQyxJQUEvQixDQUFvQyxDQUNsQyxnQ0FEa0MsRUFFbEM7QUFDRUMsUUFBQUEsVUFBVSxFQUFFLDBCQURkO0FBRUVDLFFBQUFBLFFBQVEsRUFBRTtBQUNSTCxVQUFBQSxNQUFNLEVBQUUsOEJBREE7QUFFUk0sVUFBQUEsV0FBVyxFQUFFLENBQ1g7QUFDRUMsWUFBQUEsSUFBSSxFQUFFLGtCQURSO0FBRUVDLFlBQUFBLEVBQUUsRUFBRSxtQkFGTjtBQUdFQyxZQUFBQSxJQUFJLEVBQUU7QUFIUixXQURXO0FBRkw7QUFGWixPQUZrQyxDQUFwQztBQWdCQSxZQUFNWixpQkFBR2EsU0FBSCxDQUFhZixNQUFiLEVBQXFCQyxTQUFyQixFQUFnQztBQUNwQ2UsUUFBQUEsTUFBTSxFQUFFO0FBRDRCLE9BQWhDLENBQU47QUFHRCxLQXhCSyxDQUFOO0FBeUJBLFVBQU0sd0JBQVMsa0NBQVQsRUFBNkMsWUFBWTtBQUM3RCxZQUFNLEtBQUtDLGdCQUFMLENBQXNCbkIsU0FBdEIsRUFBaUMsd0JBQWpDLENBQU47QUFDQSxZQUFNLEtBQUttQixnQkFBTCxDQUFzQm5CLFNBQXRCLEVBQWlDLDRCQUFqQyxDQUFOO0FBQ0EsWUFBTSxLQUFLbUIsZ0JBQUwsQ0FBc0JuQixTQUF0QixFQUFpQyxrQkFBakMsQ0FBTjtBQUNBLFlBQU0sS0FBS21CLGdCQUFMLENBQXNCdkIsY0FBS3dCLElBQUwsQ0FBVXBCLFNBQVYsRUFBcUIsS0FBckIsQ0FBdEIsRUFBbUQsYUFBbkQsQ0FBTjtBQUVBLFlBQU0sS0FBS3FCLGdCQUFMLENBQ0p6QixjQUFLQyxPQUFMLENBQWFHLFNBQWIsRUFBd0IsS0FBeEIsRUFBK0IsVUFBL0IsQ0FESSxFQUVIc0IsSUFBRCxJQUFVO0FBQ1IsWUFBSUEsSUFBSSxDQUFDQyxRQUFMLENBQWMscUJBQWQsQ0FBSixFQUEwQyxPQUFPLGtEQUFQO0FBQzFDLGVBQU9ELElBQVA7QUFDRCxPQUxHLEVBTUoxQixjQUFLQyxPQUFMLENBQWFHLFNBQWIsRUFBd0IsS0FBeEIsRUFBK0IsU0FBL0IsQ0FOSSxDQUFOO0FBU0EsWUFBTSxLQUFLcUIsZ0JBQUwsQ0FBc0J6QixjQUFLQyxPQUFMLENBQWFHLFNBQWIsRUFBd0IsS0FBeEIsRUFBK0IsWUFBL0IsQ0FBdEIsRUFBcUVzQixJQUFELElBQVU7QUFDbEYsWUFBSUEsSUFBSSxDQUFDQyxRQUFMLENBQWMsdUJBQWQsQ0FBSixFQUE0QyxPQUFPLEVBQVA7QUFDNUMsZUFBT0QsSUFBUDtBQUNELE9BSEssQ0FBTjtBQUlELEtBbkJLLENBQU47QUFvQkQ7O0FBbER3Qzs7ZUFxRDVCLElBQUk1QixlQUFKLEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3luY09yYSB9IGZyb20gJ0BlbGVjdHJvbi1mb3JnZS9hc3luYy1vcmEnO1xuaW1wb3J0IHsgQmFzZVRlbXBsYXRlIH0gZnJvbSAnQGVsZWN0cm9uLWZvcmdlL3RlbXBsYXRlLWJhc2UnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCB7IEluaXRUZW1wbGF0ZU9wdGlvbnMgfSBmcm9tICdAZWxlY3Ryb24tZm9yZ2Uvc2hhcmVkLXR5cGVzJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuXG5jbGFzcyBXZWJwYWNrVGVtcGxhdGUgZXh0ZW5kcyBCYXNlVGVtcGxhdGUge1xuICBwdWJsaWMgdGVtcGxhdGVEaXIgPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4nLCAndG1wbCcpO1xuXG4gIHB1YmxpYyBhc3luYyBpbml0aWFsaXplVGVtcGxhdGUoZGlyZWN0b3J5OiBzdHJpbmcsIG9wdGlvbnM6IEluaXRUZW1wbGF0ZU9wdGlvbnMpIHtcbiAgICBhd2FpdCBzdXBlci5pbml0aWFsaXplVGVtcGxhdGUoZGlyZWN0b3J5LCBvcHRpb25zKTtcbiAgICBhd2FpdCBhc3luY09yYSgnU2V0dGluZyB1cCBGb3JnZSBjb25maWd1cmF0aW9uJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcGpQYXRoID0gcGF0aC5yZXNvbHZlKGRpcmVjdG9yeSwgJ3BhY2thZ2UuanNvbicpO1xuICAgICAgY29uc3QgY3VycmVudFBKID0gYXdhaXQgZnMucmVhZEpzb24ocGpQYXRoKTtcbiAgICAgIGN1cnJlbnRQSi5tYWluID0gJy53ZWJwYWNrL21haW4nO1xuICAgICAgY3VycmVudFBKLmNvbmZpZy5mb3JnZS5wbHVnaW5zID0gY3VycmVudFBKLmNvbmZpZy5mb3JnZS5wbHVnaW5zIHx8IFtdO1xuICAgICAgY3VycmVudFBKLmNvbmZpZy5mb3JnZS5wbHVnaW5zLnB1c2goW1xuICAgICAgICAnQGVsZWN0cm9uLWZvcmdlL3BsdWdpbi13ZWJwYWNrJyxcbiAgICAgICAge1xuICAgICAgICAgIG1haW5Db25maWc6ICcuL3dlYnBhY2subWFpbi5jb25maWcuanMnLFxuICAgICAgICAgIHJlbmRlcmVyOiB7XG4gICAgICAgICAgICBjb25maWc6ICcuL3dlYnBhY2sucmVuZGVyZXIuY29uZmlnLmpzJyxcbiAgICAgICAgICAgIGVudHJ5UG9pbnRzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBodG1sOiAnLi9zcmMvaW5kZXguaHRtbCcsXG4gICAgICAgICAgICAgICAganM6ICcuL3NyYy9yZW5kZXJlci5qcycsXG4gICAgICAgICAgICAgICAgbmFtZTogJ21haW5fd2luZG93JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuICAgICAgYXdhaXQgZnMud3JpdGVKc29uKHBqUGF0aCwgY3VycmVudFBKLCB7XG4gICAgICAgIHNwYWNlczogMixcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGF3YWl0IGFzeW5jT3JhKCdTZXR0aW5nIHVwIHdlYnBhY2sgY29uZmlndXJhdGlvbicsIGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHRoaXMuY29weVRlbXBsYXRlRmlsZShkaXJlY3RvcnksICd3ZWJwYWNrLm1haW4uY29uZmlnLmpzJyk7XG4gICAgICBhd2FpdCB0aGlzLmNvcHlUZW1wbGF0ZUZpbGUoZGlyZWN0b3J5LCAnd2VicGFjay5yZW5kZXJlci5jb25maWcuanMnKTtcbiAgICAgIGF3YWl0IHRoaXMuY29weVRlbXBsYXRlRmlsZShkaXJlY3RvcnksICd3ZWJwYWNrLnJ1bGVzLmpzJyk7XG4gICAgICBhd2FpdCB0aGlzLmNvcHlUZW1wbGF0ZUZpbGUocGF0aC5qb2luKGRpcmVjdG9yeSwgJ3NyYycpLCAncmVuZGVyZXIuanMnKTtcblxuICAgICAgYXdhaXQgdGhpcy51cGRhdGVGaWxlQnlMaW5lKFxuICAgICAgICBwYXRoLnJlc29sdmUoZGlyZWN0b3J5LCAnc3JjJywgJ2luZGV4LmpzJyksXG4gICAgICAgIChsaW5lKSA9PiB7XG4gICAgICAgICAgaWYgKGxpbmUuaW5jbHVkZXMoJ21haW5XaW5kb3cubG9hZEZpbGUnKSkgcmV0dXJuICcgIG1haW5XaW5kb3cubG9hZFVSTChNQUlOX1dJTkRPV19XRUJQQUNLX0VOVFJZKTsnO1xuICAgICAgICAgIHJldHVybiBsaW5lO1xuICAgICAgICB9LFxuICAgICAgICBwYXRoLnJlc29sdmUoZGlyZWN0b3J5LCAnc3JjJywgJ21haW4uanMnKVxuICAgICAgKTtcblxuICAgICAgYXdhaXQgdGhpcy51cGRhdGVGaWxlQnlMaW5lKHBhdGgucmVzb2x2ZShkaXJlY3RvcnksICdzcmMnLCAnaW5kZXguaHRtbCcpLCAobGluZSkgPT4ge1xuICAgICAgICBpZiAobGluZS5pbmNsdWRlcygnbGluayByZWw9XCJzdHlsZXNoZWV0XCInKSkgcmV0dXJuICcnO1xuICAgICAgICByZXR1cm4gbGluZTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IG5ldyBXZWJwYWNrVGVtcGxhdGUoKTtcbiJdfQ==