Skip to content

Commit 4486a8d

Browse files
committed
Merge pull request #161 from gargrave/master
Updated setup script
2 parents 4c7d6fb + 8f3d035 commit 4486a8d

File tree

4 files changed

+27
-13
lines changed

4 files changed

+27
-13
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"version": "4.0.0",
44
"description": "Starter kit for creating apps with React and Redux",
55
"scripts": {
6-
"setup": "babel-node tools/setup/setupMessage.js && npm install && babel-node tools/setup/setup.js",
6+
"setup": "node tools/setup/setupMessage.js && npm install && node tools/setup/setup.js",
77
"remove-demo": "babel-node tools/removeDemo.js",
88
"start-message": "babel-node tools/startMessage.js",
99
"prestart": "npm-run-all --parallel start-message remove-dist",
@@ -75,7 +75,7 @@
7575
"webpack-dev-middleware": "1.6.1",
7676
"webpack-hot-middleware": "2.10.0"
7777
},
78-
"keywords:": [
78+
"keywords": [
7979
"react",
8080
"reactjs",
8181
"react-router",

tools/setup/setup.js

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1-
import rimraf from 'rimraf';
2-
import {chalkSuccess, chalkProcessing} from '../chalkConfig';
3-
import replace from 'replace';
4-
import prompt from 'prompt';
5-
import prompts from './setupPrompts';
1+
var rimraf = require('rimraf');
2+
var chalk = require('chalk');
3+
var replace = require("replace");
4+
var prompt = require("prompt");
5+
var prompts = require('./setupPrompts');
6+
7+
var chalkSuccess = chalk.green;
8+
var chalkProcessing = chalk.blue;
69

710
/* eslint-disable no-console */
811

@@ -59,6 +62,15 @@ prompt.get(prompts, function(err, result) {
5962
});
6063
});
6164

65+
// reset package.json 'keywords' field to empty state
66+
replace({
67+
regex: /"keywords": \[[\s\S]+\]/,
68+
replacement: `"keywords": []`,
69+
paths: ['package.json'],
70+
recursive: false,
71+
silent: true
72+
});
73+
6274
// remove all setup scripts from the 'tools' folder
6375
console.log(chalkSuccess('\nSetup complete! Cleaning up...\n'));
6476
rimraf('./tools/setup', error => {

tools/setup/setupMessage.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// This script displays an intro message for the setup script
22
/* eslint-disable no-console */
3-
import {chalkProcessing} from '../chalkConfig';
4-
console.log(chalkProcessing('==========================='));
3+
console.log('===========================');
54
console.log('= React Slingshot Setup =');
6-
console.log(chalkProcessing('===========================\n'));
7-
console.log(chalkProcessing('Installing dependencies. Please wait...'));
5+
console.log('===========================\n');
6+
console.log('Installing dependencies. Please wait...');

tools/setup/setupPrompts.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
// Define prompts for use with npm 'prompt' module in setup script
2-
export default [
2+
module.exports = [
33
{
44
name: 'projectName',
5-
description: 'Project name (default: new-project)'
5+
description: 'Project name (deafult: new-project)',
6+
pattern: /^[^._][a-z0-9\.\-_~]+$/,
7+
message: 'Limited to: lowercase letters, numbers, period, hyphen, ' +
8+
'underscore, and tilde; cannot begin with period or underscore.'
69
},
710
{
811
name: 'version',

0 commit comments

Comments
 (0)