cncjs

Форк
0
/
package-sync.js 
45 строк · 1.3 Кб
1
#!/usr/bin/env node
2

3
/* eslint max-len: 0 */
4
const fs = require('fs');
5
const path = require('path');
6
const _pick = require('lodash/pick');
7
const _uniq = require('lodash/uniq');
8
const findImports = require('find-imports');
9

10
// Copy necessary properties from 'package.json' to 'src/package.json'
11
const pkg = require('../package.json');
12
const pkgApp = require('../src/package.json');
13

14
const files = [
15
  'src/*.js',
16
  'src/server/**/*.{js,jsx}'
17
];
18

19
const resolvedImports = findImports(files, {
20
  flatten: true,
21
});
22

23
const deps = _uniq([
24
  '@serialport/parser-readline',
25
  'core-js', // to polyfill ECMAScript features
26
  'regenerator-runtime', // needed to use transpiled generator functions
27
  'debug', // 'debug' is required for electron app
28

29
  // e.g. 'lodash/get' → 'lodash'
30
  ...resolvedImports.map(x => x.split('/')[0]),
31
]).sort();
32

33
//pkgApp.name = pkg.name; // Exclude the name field
34
pkgApp.version = pkg.version;
35
pkgApp.homepage = pkg.homepage;
36
pkgApp.author = pkg.author;
37
pkgApp.license = pkg.license;
38
pkgApp.repository = pkg.repository;
39

40
// Copy only Node.js dependencies to application package.json
41
pkgApp.dependencies = _pick(pkg.dependencies, deps);
42

43
const target = path.resolve(__dirname, '../src/package.json');
44
const content = JSON.stringify(pkgApp, null, 2);
45
fs.writeFileSync(target, content + '\n', 'utf8');
46

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.