UNPKG

rete-kit

Version:

Rete.js Kit ==== [![Made in Ukraine](https://img.shields.io/badge/made_in-ukraine-ffd700.svg?labelColor=0057b7)](https://stand-with-ukraine.pp.ua) [![Discord](https://img.shields.io/discord/1081223198055604244?color=%237289da&label=Discord)](https://disco

74 lines (73 loc) 3.3 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.SvelteBuilder = void 0; const fs_1 = __importDefault(require("fs")); const fs_extra_1 = __importDefault(require("fs-extra")); const path_1 = require("path"); const exec_1 = require("../../../shared/exec"); const consts_1 = require("../../consts"); const template_builder_helpers_1 = require("../../template-builder-helpers"); const compatibility_1 = require("./compatibility"); class SvelteBuilder { constructor() { this.name = 'Svelte'; this.versions = [3, 4, 5]; this.foundation = 'svelte'; } async create(name, version) { var _a; const tools = (0, compatibility_1.getToolsFor)(version); await (0, exec_1.exec)('npx', [ `create-svelte-with-args@${tools.create.version}`, '--name', name, '--template', 'default', '--types', 'typescript', '--no-prettier', '--no-eslint', '--no-playwright', '--no-vitest', ...(_a = tools.create.flags) !== null && _a !== void 0 ? _a : [] ], { stdio: 'inherit' }); await (0, exec_1.exec)('npm', ['i'], { cwd: (0, path_1.join)(process.cwd(), name), stdio: 'inherit' }); await (0, exec_1.exec)('npm', [ 'i', `svelte@${version}`, `@sveltejs/kit@${tools.kit.version}` ], { stdio: 'inherit', cwd: name }); const { name: configName, source } = (0, compatibility_1.getConfigFor)(version); await fs_extra_1.default.copy((0, path_1.join)(consts_1.assetsStack, 'svelte', source), (0, path_1.join)(name, configName), { overwrite: true }); await (0, exec_1.exec)('npm', ['i', `@sveltejs/adapter-static@${tools.adapter.version}`], { stdio: 'inherit', cwd: name }); } // eslint-disable-next-line @typescript-eslint/naming-convention async putAssets(name, _version, template) { const modules = (0, path_1.join)(consts_1.assetsStack, 'svelte', 'modules'); const src = (0, path_1.join)(name, 'src'); await fs_extra_1.default.copy(consts_1.assetsCommon, src, { recursive: true, overwrite: true }); await fs_extra_1.default.copy(modules, src, { recursive: true, overwrite: true }); const fileTemplate = new template_builder_helpers_1.FileTemplate(template); await fileTemplate.apply([ (0, path_1.join)(src, 'customization', 'CustomConnection.svelte'), (0, path_1.join)(src, 'customization', 'CustomNode.svelte'), (0, path_1.join)(src, 'routes', '+layout.svelte'), (0, path_1.join)(src, 'routes', '+page.svelte') ], false); } async putScript(name, path, code) { const scriptPath = (0, path_1.join)(name, 'src', 'rete', path); await fs_1.default.promises.mkdir((0, path_1.dirname)(scriptPath), { recursive: true }); await fs_1.default.promises.writeFile(scriptPath, code); } getStaticPath() { return 'build'; } getBuildCommand() { return 'build'; } } exports.SvelteBuilder = SvelteBuilder;