You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
6.0 KiB
64 lines
6.0 KiB
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const path_1 = __importDefault(require("path"));
|
|
const template_base_1 = require("@electron-forge/template-base");
|
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
class ViteTemplate extends template_base_1.BaseTemplate {
|
|
constructor() {
|
|
super(...arguments);
|
|
this.templateDir = path_1.default.resolve(__dirname, '..', 'tmpl');
|
|
}
|
|
async initializeTemplate(directory, options) {
|
|
const superTasks = await super.initializeTemplate(directory, options);
|
|
return [
|
|
...superTasks,
|
|
{
|
|
title: 'Setting up Forge configuration',
|
|
task: async () => {
|
|
await this.copyTemplateFile(directory, 'forge.config.js');
|
|
},
|
|
},
|
|
{
|
|
title: 'Setting up Vite configuration',
|
|
task: async () => {
|
|
await this.copyTemplateFile(directory, 'vite.renderer.config.mjs');
|
|
await this.copyTemplateFile(directory, 'vite.main.config.mjs');
|
|
await this.copyTemplateFile(directory, 'vite.preload.config.mjs');
|
|
await this.copyTemplateFile(path_1.default.join(directory, 'src'), 'renderer.js');
|
|
await this.copyTemplateFile(path_1.default.join(directory, 'src'), 'preload.js');
|
|
await this.updateFileByLine(path_1.default.resolve(directory, 'src', 'index.js'), (line) => {
|
|
if (line.includes('mainWindow.loadFile'))
|
|
return ` if (MAIN_WINDOW_VITE_DEV_SERVER_URL) {
|
|
mainWindow.loadURL(MAIN_WINDOW_VITE_DEV_SERVER_URL);
|
|
} else {
|
|
mainWindow.loadFile(path.join(__dirname, \`../renderer/\${MAIN_WINDOW_VITE_NAME}/index.html\`));
|
|
}`;
|
|
return line;
|
|
}, path_1.default.resolve(directory, 'src', 'main.js'));
|
|
// TODO: Compatible with any path entry.
|
|
// Vite uses index.html under the root path as the entry point.
|
|
fs_extra_1.default.moveSync(path_1.default.join(directory, 'src', 'index.html'), path_1.default.join(directory, 'index.html'));
|
|
await this.updateFileByLine(path_1.default.join(directory, 'index.html'), (line) => {
|
|
if (line.includes('link rel="stylesheet"'))
|
|
return '';
|
|
if (line.includes('</body>'))
|
|
return ' <script type="module" src="/src/renderer.js"></script>\n </body>';
|
|
return line;
|
|
});
|
|
// update package.json entry point
|
|
const pjPath = path_1.default.resolve(directory, 'package.json');
|
|
const currentPJ = await fs_extra_1.default.readJson(pjPath);
|
|
currentPJ.main = '.vite/build/main.js';
|
|
await fs_extra_1.default.writeJson(pjPath, currentPJ, {
|
|
spaces: 2,
|
|
});
|
|
},
|
|
},
|
|
];
|
|
}
|
|
}
|
|
exports.default = new ViteTemplate();
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVml0ZVRlbXBsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1ZpdGVUZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdEQUF3QjtBQUd4QixpRUFBNkQ7QUFDN0Qsd0RBQTBCO0FBRTFCLE1BQU0sWUFBYSxTQUFRLDRCQUFZO0lBQXZDOztRQUNTLGdCQUFXLEdBQUcsY0FBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBdUQ3RCxDQUFDO0lBckRRLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxTQUFpQixFQUFFLE9BQTRCO1FBQzdFLE1BQU0sVUFBVSxHQUFHLE1BQU0sS0FBSyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN0RSxPQUFPO1lBQ0wsR0FBRyxVQUFVO1lBQ2I7Z0JBQ0UsS0FBSyxFQUFFLGdDQUFnQztnQkFDdkMsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFO29CQUNmLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO2dCQUM1RCxDQUFDO2FBQ0Y7WUFDRDtnQkFDRSxLQUFLLEVBQUUsK0JBQStCO2dCQUN0QyxJQUFJLEVBQUUsS0FBSyxJQUFJLEVBQUU7b0JBQ2YsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLDBCQUEwQixDQUFDLENBQUM7b0JBQ25FLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO29CQUMvRCxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUseUJBQXlCLENBQUMsQ0FBQztvQkFDbEUsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUM7b0JBQ3hFLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO29CQUV2RSxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FDekIsY0FBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxFQUMxQyxDQUFDLElBQUksRUFBRSxFQUFFO3dCQUNQLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQzs0QkFDdEMsT0FBTzs7OztJQUluQixDQUFDO3dCQUNTLE9BQU8sSUFBSSxDQUFDO29CQUNkLENBQUMsRUFDRCxjQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQzFDLENBQUM7b0JBRUYsd0NBQXdDO29CQUN4QywrREFBK0Q7b0JBQy9ELGtCQUFFLENBQUMsUUFBUSxDQUFDLGNBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsRUFBRSxjQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO29CQUMzRixNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO3dCQUN2RSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUM7NEJBQUUsT0FBTyxFQUFFLENBQUM7d0JBQ3RELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7NEJBQUUsT0FBTyx1RUFBdUUsQ0FBQzt3QkFDN0csT0FBTyxJQUFJLENBQUM7b0JBQ2QsQ0FBQyxDQUFDLENBQUM7b0JBRUgsa0NBQWtDO29CQUNsQyxNQUFNLE1BQU0sR0FBRyxjQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztvQkFDdkQsTUFBTSxTQUFTLEdBQUcsTUFBTSxrQkFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDNUMsU0FBUyxDQUFDLElBQUksR0FBRyxxQkFBcUIsQ0FBQztvQkFDdkMsTUFBTSxrQkFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFO3dCQUNwQyxNQUFNLEVBQUUsQ0FBQztxQkFDVixDQUFDLENBQUM7Z0JBQ0wsQ0FBQzthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVELGtCQUFlLElBQUksWUFBWSxFQUFFLENBQUMifQ==
|