1 | 'use strict';
|
2 |
|
3 | const fs = require('fs-extra');
|
4 | const path = require('path');
|
5 |
|
6 | const example = 'simple-block';
|
7 | const exFiles = [
|
8 | 'src/index.js',
|
9 | 'src/simple-block/index.js',
|
10 | 'src/simple-block/style.scss',
|
11 | ];
|
12 |
|
13 |
|
14 | function replaceStringInFile (root, file, oldStr, newStr) {
|
15 | let data = fs.readFileSync(path.resolve(root, file)).toString();
|
16 | data = data.replace(oldStr, newStr);
|
17 | fs.writeFileSync(path.resolve(root, file), data);
|
18 | }
|
19 |
|
20 |
|
21 | module.exports = {
|
22 | updatePkg (root, project, includeEditor = true) {
|
23 | const pkg = require(path.resolve(root, 'package.json'));
|
24 | pkg.name = project;
|
25 | pkg.files = ['build/', 'screenshot.png'];
|
26 | if(!includeEditor) {
|
27 | delete pkg.devDependencies['@frontkom/g-editor'];
|
28 | delete pkg.scripts.start;
|
29 | }
|
30 | fs.writeFileSync(path.resolve(root, 'package.json'), JSON.stringify(pkg, null, 2));
|
31 | },
|
32 |
|
33 | updateFiles (root, app) {
|
34 | exFiles.forEach(file => replaceStringInFile(root, file, example, app));
|
35 | },
|
36 |
|
37 | renameBlock (root, app) {
|
38 | fs.moveSync(path.resolve(root, `src/${example}`), path.resolve(root, `src/${app}`));
|
39 | },
|
40 | };
|