po-development-package
Version:
The development package for central platform.
117 lines (96 loc) • 2.84 kB
JavaScript
require('shelljs/global');
const util = require('../util');
const SPACE = ' ';
module.exports = () => {
console.log('初始化项目...');
createProjectStructure();
console.log('安装依赖...');
installDevDependecies();
installDependecies();
copyDefinationFiles();
console.log('项目初始化完成!');
};
function createProjectStructure() {
mkdir("-p", "src/modules");
cp(util.root('dev-package/local-config.js'), util.cwd('src'));
cp(util.root('dev-package/tsconfig.json'), util.cwd());
cp(util.root('dev-package/.gitignore'), util.cwd());
cp(util.root('dev-package/test/karma.conf.js'), util.cwd());
cp(util.root('dev-package/test/test.bundle.js'), util.cwd());
cp(util.root('dev-package/test/webpack.test.js'), util.cwd());
}
function installDevDependecies() {
const coreModules = [
'@angular/animations',
'@angular/common',
'@angular/compiler',
'@angular/core',
'@angular/forms',
'@angular/http',
'@angular/platform-browser',
'@angular/platform-browser-dynamic',
'@angular/router',
'@newkit/core',
'@types/node',
'rxjs',
"zone.js"
];
const testModules = [
"core-js",
"es6-shim",
"gulp-tar",
"istanbul-instrumenter-loader",
"jasmine",
"jasmine-core",
"jasmine-marbles",
"karma",
"karma-chrome-launcher",
"karma-cli",
"karma-coverage-istanbul-reporter",
"karma-html-reporter",
"karma-jasmine",
"karma-phantomjs-launcher",
"karma-webpack"
]
const ngrx = [
"ngrx-store-freeze",
"@ngrx/store-devtools"
];
const types = [
"@types/jasmine",
"@types/jquery",
"@types/lodash",
"@types/moment",
"@types/node",
"@types/webpack",
]
const allModules = [
...coreModules,
...testModules,
...ngrx,
...types
];
const npmCmd = `npm i -D ${allModules.join(SPACE)} --registry http://10.16.75.27:7001 --color=always`;
exec(npmCmd);
}
function installDependecies() {
const ngrx = [
"@ngrx/effects",
"@ngrx/entity",
"@ngrx/store",
"@ngx-translate/core",
"ngrx-store-localstorage"
];
const other = [
"immutable"
];
const allModules = [
...ngrx,
...other
];
const npmCmd = `npm i -S ${allModules.join(SPACE)} --registry http://10.16.75.27:7001 --color=always`;
exec(npmCmd);
}
function copyDefinationFiles() {
cp('-r', util.root('dev-package/types/newkit'), util.cwd('node_modules', '@types'));
}