Socket
Socket
Sign inDemoInstall

create-react-boilerplate-app

Package Overview
Dependencies
30
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.1.9 to 0.1.10-beta.0

tool/test.js

114

bin/create-react-boilerplate-app.js

@@ -15,3 +15,3 @@ 'use strict';

this.program = this.commandSetting();
var boilerplateJson = this.getBoilerpalteJson();
// var boilerplateJson = this.getBoilerpalteJson();
this.packageJson = {

@@ -22,11 +22,9 @@ version: '0.0.1',

};
this.packageJson.name = boilerplateJson.name || 'app';
this.packageJson.name = 'app';
this.dependencies = ['react', 'react-dom', 'prop-types'];
this.dependencies = this.dependencies.concat(
boilerplateJson.dependencies || []
);
this.devDependencies = ['react-boilerplate-app-scripts'];
this.devDependencies = this.devDependencies.concat(
boilerplateJson.devDependencies || []
);
this.devDependencies = [
'react-boilerplate-app-utils',
'react-boilerplate-app-scripts',
'react-boilerplates',
];
this.allDependencies = []

@@ -82,22 +80,22 @@ .concat(this.dependencies)

}
//获取当前模板的json文件信息,用于生产app的package.json信息
//boilerplate.json的结构跟package.json很相似。
getBoilerpalteJson() {
var boilerplate = this.program.boilerplate;
var boilerplateJsonPath = path.resolve(
__dirname,
'../boilerplate-config',
boilerplate + '.json'
);
//获取当前模板的config.json
getConfigJson() {
try {
var boilerplateJson = fs.readJsonSync(boilerplateJsonPath);
return boilerplateJson;
const boilerplate = this.program.boilerplate;
const node_modules = path.resolve(process.cwd(), 'node_modules');
let configPath = path.resolve(
node_modules,
'react-boilerplates',
boilerplate,
'config.json'
);
return fs.readJsonSync(configPath);
} catch (e) {
//如果不存在,返回空对象
return {};
}
}
//检测appName是否合法
checkAppName() {
var validationResult = validateNpmPackageName(this.appName);
const validationResult = validateNpmPackageName(this.appName);
if (!validationResult.validForNewPackages) {

@@ -141,3 +139,3 @@ console.error(

* 检查当前目录是否合法
* @return { Boolean } true or false
* @return { boolean } true or false
*/

@@ -173,3 +171,62 @@ checkPathDirIsValid() {

}
symlinkBoilerplates() {
const node_modules = path.resolve(process.cwd(), 'node_modules');
const symlinkPath = path.resolve(
node_modules,
'react-boilerplate-app-scripts/template'
);
fs.removeSync(symlinkPath);
fs.symlinkSync(
path.resolve(node_modules, 'react-boilerplates'),
symlinkPath,
'dir'
);
}
/**
* 安装boilerpalte中config.json的dependencies
*/
installConfigJsonPackages() {
const configJson = this.getConfigJson();
this.dependencies = this.dependencies.concat(configJson.dependencies || []);
this.devDependencies = this.devDependencies.concat(
configJson.devDependencies || []
);
const allConfigDependencies = []
.concat(configJson.dependencies)
.concat(configJson.devDependencies);
util.installPackages(allConfigDependencies).then(() => {
try {
this.symlinkBoilerplates();
this.writeResultPackageJson();
this.initApp();
} catch (e) {
console.log(e);
}
});
}
installPackages(allDependencies) {
allDependencies = allDependencies.map(dependency => {
switch (dependency) {
case 'react-boilerplate-app-utils':
case 'react-boilerplate-app-scripts':
case 'react-boilerplates':
if (fs.exists(path.resolve(__dirname, '../../packages'))) {
const targetPath = path.resolve(__dirname, '../../', dependency);
//非安装环境使用当前的packages/xxx,不使用远程的。
return targetPath;
}
break;
default:
return dependency;
}
});
console.log('Installing packages. This might take a couple minutes.');
util.installPackages(allDependencies).then(() => {
try {
this.installConfigJsonPackages();
} catch (e) {
console.log(e);
}
});
}
run() {

@@ -188,10 +245,3 @@ this.appPath = util.resolveCwd(this.appName);

this.writeInitialPackageJson();
util.installPackages(this.allDependencies).then(() => {
try {
this.writeResultPackageJson();
this.initApp();
} catch (e) {
console.log(e);
}
});
this.installPackages(this.allDependencies);
}

@@ -198,0 +248,0 @@ }

{
"name": "create-react-boilerplate-app",
"version": "0.1.9",
"version": "0.1.10-beta.0",
"description": "an tool for creating react boilerplate app",

@@ -13,3 +13,3 @@ "engines": {

"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"test": "node tool/test.js"
},

@@ -23,3 +23,3 @@ "author": "",

"fs-extra": "^3.0.1",
"react-boilerplate-app-utils": "^0.0.24",
"react-boilerplate-app-utils": "^0.0.25-beta.0",
"semver": "^5.3.0",

@@ -26,0 +26,0 @@ "validate-npm-package-name": "^3.0.0"

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc