From 69fc63dd829a16c387db19057178c72fa39c4990 Mon Sep 17 00:00:00 2001 From: Karl Horky Date: Tue, 6 Dec 2016 21:24:49 +0100 Subject: [PATCH 01/13] Add Stylelint with standard config --- packages/react-scripts/config/webpack.config.dev.js | 9 +++++++++ packages/react-scripts/config/webpack.config.prod.js | 10 ++++++++++ packages/react-scripts/package.json | 3 +++ 3 files changed, 22 insertions(+) diff --git a/packages/react-scripts/config/webpack.config.dev.js b/packages/react-scripts/config/webpack.config.dev.js index e86847546e4..8e4e56769d3 100644 --- a/packages/react-scripts/config/webpack.config.dev.js +++ b/packages/react-scripts/config/webpack.config.dev.js @@ -16,6 +16,7 @@ const webpack = require('webpack'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin'); const InterpolateHtmlPlugin = require('react-dev-utils/InterpolateHtmlPlugin'); +const StyleLintPlugin = require('stylelint-webpack-plugin'); const WatchMissingNodeModulesPlugin = require('react-dev-utils/WatchMissingNodeModulesPlugin'); const getClientEnvironment = require('./env'); const paths = require('./paths'); @@ -224,6 +225,14 @@ module.exports = { ], }, plugins: [ + // Lint CSS with stylelint + new StyleLintPlugin({ + // @remove-on-eject-begin + config: { + extends: 'stylelint-config-standard', + }, + // @remove-on-eject-end + }), // Makes some environment variables available in index.html. // The public URL is available as %PUBLIC_URL% in index.html, e.g.: // diff --git a/packages/react-scripts/config/webpack.config.prod.js b/packages/react-scripts/config/webpack.config.prod.js index f51617005b9..ef1b3b47c28 100644 --- a/packages/react-scripts/config/webpack.config.prod.js +++ b/packages/react-scripts/config/webpack.config.prod.js @@ -16,6 +16,7 @@ const webpack = require('webpack'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); const ManifestPlugin = require('webpack-manifest-plugin'); +const StyleLintPlugin = require('stylelint-webpack-plugin'); const InterpolateHtmlPlugin = require('react-dev-utils/InterpolateHtmlPlugin'); const paths = require('./paths'); const getClientEnvironment = require('./env'); @@ -233,6 +234,15 @@ module.exports = { ], }, plugins: [ + // Lint CSS with stylelint and fail on error + new StyleLintPlugin({ + // @remove-on-eject-begin + config: { + extends: 'stylelint-config-standard', + }, + // @remove-on-eject-end + failOnError: true, + }), // Makes some environment variables available in index.html. // The public URL is available as %PUBLIC_URL% in index.html, e.g.: // diff --git a/packages/react-scripts/package.json b/packages/react-scripts/package.json index 6a5b1f8d739..73a19cfed32 100644 --- a/packages/react-scripts/package.json +++ b/packages/react-scripts/package.json @@ -53,6 +53,9 @@ "promise": "7.1.1", "react-dev-utils": "^0.5.2", "style-loader": "0.16.1", + "stylelint": "7.7.0", + "stylelint-config-standard": "15.0.0", + "stylelint-webpack-plugin": "0.4.2", "url-loader": "0.5.8", "webpack": "2.4.1", "webpack-dev-server": "2.4.4", From 0841ae6643c1bd27968fb7715ca64d36579af31a Mon Sep 17 00:00:00 2001 From: Karl Horky Date: Mon, 12 Dec 2016 14:40:45 +0100 Subject: [PATCH 02/13] Prevent linting built CSS files --- packages/react-scripts/config/webpack.config.dev.js | 1 + packages/react-scripts/config/webpack.config.prod.js | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/react-scripts/config/webpack.config.dev.js b/packages/react-scripts/config/webpack.config.dev.js index 8e4e56769d3..4407570eb85 100644 --- a/packages/react-scripts/config/webpack.config.dev.js +++ b/packages/react-scripts/config/webpack.config.dev.js @@ -232,6 +232,7 @@ module.exports = { extends: 'stylelint-config-standard', }, // @remove-on-eject-end + context: paths.appSrc, }), // Makes some environment variables available in index.html. // The public URL is available as %PUBLIC_URL% in index.html, e.g.: diff --git a/packages/react-scripts/config/webpack.config.prod.js b/packages/react-scripts/config/webpack.config.prod.js index ef1b3b47c28..f19e6430f1a 100644 --- a/packages/react-scripts/config/webpack.config.prod.js +++ b/packages/react-scripts/config/webpack.config.prod.js @@ -241,6 +241,7 @@ module.exports = { extends: 'stylelint-config-standard', }, // @remove-on-eject-end + context: paths.appSrc, failOnError: true, }), // Makes some environment variables available in index.html. From 6ad3701e05aa780df48c64819fc829c4f3542fb1 Mon Sep 17 00:00:00 2001 From: Karl Horky Date: Sun, 12 Feb 2017 18:16:23 +0100 Subject: [PATCH 03/13] Eject Stylelint configuration --- packages/react-scripts/scripts/eject.js | 54 +++++++++++++------------ 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index e07a57ba5e7..8d7c1dc13bb 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -56,19 +56,16 @@ prompt( const folders = ['config', 'config/jest', 'scripts', 'scripts/utils']; // Make shallow array of files paths - const files = folders.reduce( - (files, folder) => { - return files.concat( - fs - .readdirSync(path.join(ownPath, folder)) - // set full path - .map(file => path.join(ownPath, folder, file)) - // omit dirs from file list - .filter(file => fs.lstatSync(file).isFile()) - ); - }, - [] - ); + const files = folders.reduce((files, folder) => { + return files.concat( + fs + .readdirSync(path.join(ownPath, folder)) + // set full path + .map(file => path.join(ownPath, folder, file)) + // omit dirs from file list + .filter(file => fs.lstatSync(file).isFile()) + ); + }, []); // Ensure that the app folder is clean and we won't override any files folders.forEach(verifyAbsent); @@ -88,18 +85,19 @@ prompt( if (content.match(/\/\/ @remove-file-on-eject/)) { return; } - content = content - // Remove dead code from .js files on eject - .replace( - /\/\/ @remove-on-eject-begin([\s\S]*?)\/\/ @remove-on-eject-end/mg, - '' - ) - // Remove dead code from .applescript files on eject - .replace( - /-- @remove-on-eject-begin([\s\S]*?)-- @remove-on-eject-end/mg, - '' - ) - .trim() + '\n'; + content = + content + // Remove dead code from .js files on eject + .replace( + /\/\/ @remove-on-eject-begin([\s\S]*?)\/\/ @remove-on-eject-end/gm, + '' + ) + // Remove dead code from .applescript files on eject + .replace( + /-- @remove-on-eject-begin([\s\S]*?)-- @remove-on-eject-end/gm, + '' + ) + .trim() + '\n'; console.log(` Adding ${cyan(file.replace(ownPath, ''))} to the project`); fs.writeFileSync(file.replace(ownPath, appPath), content); }); @@ -165,6 +163,12 @@ prompt( extends: 'react-app', }; + // Add stylelint config + console.log(` Adding ${cyan('stylelint')} configuration`); + appPackage.stylelint = { + extends: 'stylelint-config-standard', + }; + fs.writeFileSync( path.join(appPath, 'package.json'), JSON.stringify(appPackage, null, 2) + '\n' From da448c8c8a0b607702beb0c20d8f0324ba16eb4c Mon Sep 17 00:00:00 2001 From: Karl Horky Date: Sun, 12 Feb 2017 18:45:30 +0100 Subject: [PATCH 04/13] Bump version --- packages/react-scripts/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-scripts/package.json b/packages/react-scripts/package.json index 73a19cfed32..d140ebe1f3e 100644 --- a/packages/react-scripts/package.json +++ b/packages/react-scripts/package.json @@ -55,7 +55,7 @@ "style-loader": "0.16.1", "stylelint": "7.7.0", "stylelint-config-standard": "15.0.0", - "stylelint-webpack-plugin": "0.4.2", + "stylelint-webpack-plugin": "0.6.0", "url-loader": "0.5.8", "webpack": "2.4.1", "webpack-dev-server": "2.4.4", From 0d491525db3fcf2bb4df1a4f02572646c0acb677 Mon Sep 17 00:00:00 2001 From: Karl Horky Date: Tue, 2 May 2017 10:59:35 +0200 Subject: [PATCH 05/13] Configure files to lint with stylelint --- packages/react-scripts/config/webpack.config.dev.js | 1 + packages/react-scripts/config/webpack.config.prod.js | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/react-scripts/config/webpack.config.dev.js b/packages/react-scripts/config/webpack.config.dev.js index 4407570eb85..22fcc0ecb2f 100644 --- a/packages/react-scripts/config/webpack.config.dev.js +++ b/packages/react-scripts/config/webpack.config.dev.js @@ -233,6 +233,7 @@ module.exports = { }, // @remove-on-eject-end context: paths.appSrc, + files: ['**/*.css'], }), // Makes some environment variables available in index.html. // The public URL is available as %PUBLIC_URL% in index.html, e.g.: diff --git a/packages/react-scripts/config/webpack.config.prod.js b/packages/react-scripts/config/webpack.config.prod.js index f19e6430f1a..8f751e28fb9 100644 --- a/packages/react-scripts/config/webpack.config.prod.js +++ b/packages/react-scripts/config/webpack.config.prod.js @@ -242,6 +242,7 @@ module.exports = { }, // @remove-on-eject-end context: paths.appSrc, + files: ['**/*.css'], failOnError: true, }), // Makes some environment variables available in index.html. From 809f38bbdee975352f63cc9fc3c427e91cbbcfa5 Mon Sep 17 00:00:00 2001 From: Karl Horky Date: Tue, 2 May 2017 11:05:22 +0200 Subject: [PATCH 06/13] Add configBaseDir to fix tests --- packages/react-scripts/config/webpack.config.dev.js | 1 + packages/react-scripts/config/webpack.config.prod.js | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/react-scripts/config/webpack.config.dev.js b/packages/react-scripts/config/webpack.config.dev.js index 22fcc0ecb2f..681adad4d79 100644 --- a/packages/react-scripts/config/webpack.config.dev.js +++ b/packages/react-scripts/config/webpack.config.dev.js @@ -231,6 +231,7 @@ module.exports = { config: { extends: 'stylelint-config-standard', }, + configBaseDir: paths.ownPath, // @remove-on-eject-end context: paths.appSrc, files: ['**/*.css'], diff --git a/packages/react-scripts/config/webpack.config.prod.js b/packages/react-scripts/config/webpack.config.prod.js index 8f751e28fb9..ab9e7b883d9 100644 --- a/packages/react-scripts/config/webpack.config.prod.js +++ b/packages/react-scripts/config/webpack.config.prod.js @@ -240,6 +240,7 @@ module.exports = { config: { extends: 'stylelint-config-standard', }, + configBaseDir: paths.ownPath, // @remove-on-eject-end context: paths.appSrc, files: ['**/*.css'], From 2575f771220170313053a54c91016c69d6a3c49b Mon Sep 17 00:00:00 2001 From: Karl Horky Date: Tue, 2 May 2017 11:11:59 +0200 Subject: [PATCH 07/13] Fix configuration option --- packages/react-scripts/config/webpack.config.dev.js | 2 +- packages/react-scripts/config/webpack.config.prod.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/react-scripts/config/webpack.config.dev.js b/packages/react-scripts/config/webpack.config.dev.js index 681adad4d79..d4d09e43579 100644 --- a/packages/react-scripts/config/webpack.config.dev.js +++ b/packages/react-scripts/config/webpack.config.dev.js @@ -231,7 +231,7 @@ module.exports = { config: { extends: 'stylelint-config-standard', }, - configBaseDir: paths.ownPath, + configBasedir: paths.ownPath, // @remove-on-eject-end context: paths.appSrc, files: ['**/*.css'], diff --git a/packages/react-scripts/config/webpack.config.prod.js b/packages/react-scripts/config/webpack.config.prod.js index ab9e7b883d9..c962f1e2770 100644 --- a/packages/react-scripts/config/webpack.config.prod.js +++ b/packages/react-scripts/config/webpack.config.prod.js @@ -240,7 +240,7 @@ module.exports = { config: { extends: 'stylelint-config-standard', }, - configBaseDir: paths.ownPath, + configBasedir: paths.ownPath, // @remove-on-eject-end context: paths.appSrc, files: ['**/*.css'], From 4522aa73be1294de0dec9946e92fe72aaf9068f6 Mon Sep 17 00:00:00 2001 From: Karl Horky Date: Fri, 12 May 2017 01:37:58 +0200 Subject: [PATCH 08/13] Add custom stylelint config without style rules --- .../config/webpack.config.dev.js | 3 +- .../config/webpack.config.prod.js | 3 +- packages/react-scripts/package.json | 5 +-- packages/stylelint-config-react-app/README.md | 31 +++++++++++++++++++ packages/stylelint-config-react-app/index.js | 24 ++++++++++++++ .../stylelint-config-react-app/package.json | 17 ++++++++++ 6 files changed, 79 insertions(+), 4 deletions(-) create mode 100644 packages/stylelint-config-react-app/README.md create mode 100644 packages/stylelint-config-react-app/index.js create mode 100644 packages/stylelint-config-react-app/package.json diff --git a/packages/react-scripts/config/webpack.config.dev.js b/packages/react-scripts/config/webpack.config.dev.js index d4d09e43579..c282fb71436 100644 --- a/packages/react-scripts/config/webpack.config.dev.js +++ b/packages/react-scripts/config/webpack.config.dev.js @@ -229,10 +229,11 @@ module.exports = { new StyleLintPlugin({ // @remove-on-eject-begin config: { - extends: 'stylelint-config-standard', + extends: 'stylelint-config-react-app', }, configBasedir: paths.ownPath, // @remove-on-eject-end + allowEmptyInput: true, context: paths.appSrc, files: ['**/*.css'], }), diff --git a/packages/react-scripts/config/webpack.config.prod.js b/packages/react-scripts/config/webpack.config.prod.js index c962f1e2770..ba06817c1ad 100644 --- a/packages/react-scripts/config/webpack.config.prod.js +++ b/packages/react-scripts/config/webpack.config.prod.js @@ -238,10 +238,11 @@ module.exports = { new StyleLintPlugin({ // @remove-on-eject-begin config: { - extends: 'stylelint-config-standard', + extends: 'stylelint-config-react-app', }, configBasedir: paths.ownPath, // @remove-on-eject-end + allowEmptyInput: true, context: paths.appSrc, files: ['**/*.css'], failOnError: true, diff --git a/packages/react-scripts/package.json b/packages/react-scripts/package.json index d140ebe1f3e..9ac75333f8b 100644 --- a/packages/react-scripts/package.json +++ b/packages/react-scripts/package.json @@ -53,8 +53,9 @@ "promise": "7.1.1", "react-dev-utils": "^0.5.2", "style-loader": "0.16.1", - "stylelint": "7.7.0", - "stylelint-config-standard": "15.0.0", + "stylelint": "7.10.1", + "stylelint-config-react-app": "0.0.1", + "stylelint-csstree-validator": "1.1.1", "stylelint-webpack-plugin": "0.6.0", "url-loader": "0.5.8", "webpack": "2.4.1", diff --git a/packages/stylelint-config-react-app/README.md b/packages/stylelint-config-react-app/README.md new file mode 100644 index 00000000000..b971dce9b05 --- /dev/null +++ b/packages/stylelint-config-react-app/README.md @@ -0,0 +1,31 @@ +# stylelint-config-react-app + +This package includes the shareable stylelint configuration used by [Create React App](https://github.com/facebookincubator/create-react-app).
+Please refer to its documentation: + +* [Getting Started](https://github.com/facebookincubator/create-react-app/blob/master/README.md#getting-started) – How to create a new app. +* [User Guide](https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md) – How to develop apps bootstrapped with Create React App. + +## Usage in Create React App Projects + +The easiest way to use this configuration is with [Create React App](https://github.com/facebookincubator/create-react-app), which includes it by default. **You don’t need to install it separately in Create React App projects.** + +## Usage Outside of Create React App + +If you want to use this stylelint configuration in a project not built with Create React App, you can install it with following steps. + +First, install this package, stylelint and the necessary plugins. + + ```sh + npm install --save-dev stylelint-config-react-app stylelint@7.10.1 stylelint-csstree-validator@1.1.1 + ``` + +Then create a file named `.stylelintrc` with following contents in the root folder of your project: + + ```js + { + "extends": "stylelint-config-react-app" + } + ``` + + That's it! You can override the settings from `stylelint-config-react-app` by editing the `.stylelintrc` file. Learn more about [configuring stylelint](https://stylelint.io/user-guide/configuration/) on the stylelint website. diff --git a/packages/stylelint-config-react-app/index.js b/packages/stylelint-config-react-app/index.js new file mode 100644 index 00000000000..b07c7db7199 --- /dev/null +++ b/packages/stylelint-config-react-app/index.js @@ -0,0 +1,24 @@ +'use strict'; + +module.exports = { + plugins: ['stylelint-csstree-validator'], + rules: { + 'at-rule-no-unknown': true, + 'color-no-invalid-hex': true, + 'declaration-block-no-duplicate-properties': true, + 'declaration-block-no-shorthand-property-overrides': true, + 'function-linear-gradient-no-nonstandard-direction': true, + 'media-feature-name-no-unknown': true, + 'no-invalid-double-slash-comments': true, + 'no-unknown-animations': true, + 'property-no-unknown': true, + 'selector-pseudo-class-no-unknown': true, + 'selector-pseudo-element-no-unknown': true, + 'selector-type-no-unknown': true, + 'string-no-newline': true, + 'unit-no-unknown': true, + + // csstree syntax validator https://github.com/csstree/stylelint-validator + 'csstree/validator': true, + }, +}; diff --git a/packages/stylelint-config-react-app/package.json b/packages/stylelint-config-react-app/package.json new file mode 100644 index 00000000000..658359a9579 --- /dev/null +++ b/packages/stylelint-config-react-app/package.json @@ -0,0 +1,17 @@ +{ + "name": "stylelint-config-react-app", + "version": "0.0.1", + "description": "stylelint configuration used by Create React App", + "repository": "facebookincubator/create-react-app", + "license": "BSD-3-Clause", + "bugs": { + "url": "https://github.com/facebookincubator/create-react-app/issues" + }, + "files": [ + "index.js" + ], + "peerDependencies": { + "stylelint": "^7.10.1", + "stylelint-csstree-validator": "^1.1.1" + } +} From 8d8b4947e8f222647590134ad160b7b56c9bba69 Mon Sep 17 00:00:00 2001 From: Karl Horky Date: Fri, 12 May 2017 02:02:13 +0200 Subject: [PATCH 09/13] Fix stylelint config --- packages/react-scripts/scripts/eject.js | 50 +++++++++++++------------ 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/packages/react-scripts/scripts/eject.js b/packages/react-scripts/scripts/eject.js index 8d7c1dc13bb..78864df0425 100644 --- a/packages/react-scripts/scripts/eject.js +++ b/packages/react-scripts/scripts/eject.js @@ -56,16 +56,19 @@ prompt( const folders = ['config', 'config/jest', 'scripts', 'scripts/utils']; // Make shallow array of files paths - const files = folders.reduce((files, folder) => { - return files.concat( - fs - .readdirSync(path.join(ownPath, folder)) - // set full path - .map(file => path.join(ownPath, folder, file)) - // omit dirs from file list - .filter(file => fs.lstatSync(file).isFile()) - ); - }, []); + const files = folders.reduce( + (files, folder) => { + return files.concat( + fs + .readdirSync(path.join(ownPath, folder)) + // set full path + .map(file => path.join(ownPath, folder, file)) + // omit dirs from file list + .filter(file => fs.lstatSync(file).isFile()) + ); + }, + [] + ); // Ensure that the app folder is clean and we won't override any files folders.forEach(verifyAbsent); @@ -85,19 +88,18 @@ prompt( if (content.match(/\/\/ @remove-file-on-eject/)) { return; } - content = - content - // Remove dead code from .js files on eject - .replace( - /\/\/ @remove-on-eject-begin([\s\S]*?)\/\/ @remove-on-eject-end/gm, - '' - ) - // Remove dead code from .applescript files on eject - .replace( - /-- @remove-on-eject-begin([\s\S]*?)-- @remove-on-eject-end/gm, - '' - ) - .trim() + '\n'; + content = content + // Remove dead code from .js files on eject + .replace( + /\/\/ @remove-on-eject-begin([\s\S]*?)\/\/ @remove-on-eject-end/gm, + '' + ) + // Remove dead code from .applescript files on eject + .replace( + /-- @remove-on-eject-begin([\s\S]*?)-- @remove-on-eject-end/gm, + '' + ) + .trim() + '\n'; console.log(` Adding ${cyan(file.replace(ownPath, ''))} to the project`); fs.writeFileSync(file.replace(ownPath, appPath), content); }); @@ -166,7 +168,7 @@ prompt( // Add stylelint config console.log(` Adding ${cyan('stylelint')} configuration`); appPackage.stylelint = { - extends: 'stylelint-config-standard', + extends: 'stylelint-config-react-app', }; fs.writeFileSync( From 56d9ac43ab5701208853951fc0387337f8fe6a36 Mon Sep 17 00:00:00 2001 From: Karl Horky Date: Fri, 12 May 2017 03:27:18 +0200 Subject: [PATCH 10/13] Add stylelint dependencies --- packages/stylelint-config-react-app/package.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/stylelint-config-react-app/package.json b/packages/stylelint-config-react-app/package.json index 658359a9579..08b3230e0ce 100644 --- a/packages/stylelint-config-react-app/package.json +++ b/packages/stylelint-config-react-app/package.json @@ -13,5 +13,9 @@ "peerDependencies": { "stylelint": "^7.10.1", "stylelint-csstree-validator": "^1.1.1" + }, + "dependencies": { + "stylelint": "^7.10.1", + "stylelint-csstree-validator": "^1.1.1" } } From df58946f86dfaf2ba9e128054dc501fd80b1984e Mon Sep 17 00:00:00 2001 From: Karl Horky Date: Fri, 12 May 2017 15:37:43 +0200 Subject: [PATCH 11/13] Remove extra dependencies, cd for tests --- package.json | 2 +- packages/stylelint-config-react-app/package.json | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/package.json b/package.json index 15f94623f2e..312c276e235 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "scripts": { - "build": "node packages/react-scripts/scripts/build.js", + "build": "cd packages/react-scripts && node scripts/build.js", "changelog": "lerna-changelog", "create-react-app": "tasks/cra.sh", "e2e": "tasks/e2e-simple.sh", diff --git a/packages/stylelint-config-react-app/package.json b/packages/stylelint-config-react-app/package.json index 08b3230e0ce..658359a9579 100644 --- a/packages/stylelint-config-react-app/package.json +++ b/packages/stylelint-config-react-app/package.json @@ -13,9 +13,5 @@ "peerDependencies": { "stylelint": "^7.10.1", "stylelint-csstree-validator": "^1.1.1" - }, - "dependencies": { - "stylelint": "^7.10.1", - "stylelint-csstree-validator": "^1.1.1" } } From a031b66cea16970f17f95fcb1b6e77f52f5719f4 Mon Sep 17 00:00:00 2001 From: Karl Horky Date: Wed, 17 May 2017 15:29:56 +0200 Subject: [PATCH 12/13] Add back stylelint dev dependency, don't cd --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 312c276e235..abd04933003 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "scripts": { - "build": "cd packages/react-scripts && node scripts/build.js", + "build": "node packages/react-scripts/scripts/build.js", "changelog": "lerna-changelog", "create-react-app": "tasks/cra.sh", "e2e": "tasks/e2e-simple.sh", @@ -18,7 +18,8 @@ "lerna": "2.0.0-beta.38", "lerna-changelog": "^0.2.3", "lint-staged": "^3.3.1", - "prettier": "^0.21.0" + "prettier": "^0.21.0", + "stylelint-csstree-validator": "^1.1.1" }, "lint-staged": { "*.js": [ From c8c51fb2d8526266024a5e2daedda0346a255c4b Mon Sep 17 00:00:00 2001 From: Karl Horky Date: Wed, 17 May 2017 16:01:50 +0200 Subject: [PATCH 13/13] Move stylelint css validator to config dev deps --- package.json | 3 +-- packages/stylelint-config-react-app/package.json | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 50ae85c119d..e6bd7b0c3cf 100644 --- a/package.json +++ b/package.json @@ -18,8 +18,7 @@ "lerna": "2.0.0-beta.38", "lerna-changelog": "^0.2.3", "lint-staged": "^3.3.1", - "prettier": "^0.21.0", - "stylelint-csstree-validator": "^1.1.1" + "prettier": "^0.21.0" }, "lint-staged": { "*.js": [ diff --git a/packages/stylelint-config-react-app/package.json b/packages/stylelint-config-react-app/package.json index 658359a9579..4f8f3aec168 100644 --- a/packages/stylelint-config-react-app/package.json +++ b/packages/stylelint-config-react-app/package.json @@ -13,5 +13,8 @@ "peerDependencies": { "stylelint": "^7.10.1", "stylelint-csstree-validator": "^1.1.1" + }, + "devDependencies": { + "stylelint-csstree-validator": "^1.1.1" } }