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
JavaScript
;
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==