From ef4820bbc2390c1cfdf9df3bc283f40bbb0ad16f Mon Sep 17 00:00:00 2001 From: awinogradov Date: Sun, 12 Mar 2017 18:17:04 +0300 Subject: [PATCH 1/2] dev env only --- lerna.json | 2 +- package.json | 9 +- .../README.md | 0 .../index.js | 23 +- .../package.json | 19 +- .../babelrc => bem-react-scripts/.babelrc} | 0 .../eslintrc => bem-react-scripts/.eslintrc} | 0 .../.npmignore | 0 .../README.md | 0 .../bin/react-scripts.js | 12 + .../config/env.js | 0 .../config/jest/babelTransform.js | 5 + .../config/jest/cssTransform.js | 0 .../config/jest/fileTransform.js | 0 .../config/paths.js | 7 +- .../config/polyfills.js | 0 .../config/webpack.config.dev.js | 36 +- .../config/webpack.config.prod.js | 2 +- .../fixtures/kitchensink/.babelrc | 0 .../fixtures/kitchensink/.env | 0 .../fixtures/kitchensink/.flowconfig | 0 .../kitchensink/.template.dependencies.json | 0 .../fixtures/kitchensink/gitignore | 0 .../kitchensink/integration/env.test.js | 0 .../kitchensink/integration/initDOM.js | 0 .../kitchensink/integration/syntax.test.js | 0 .../kitchensink/integration/webpack.test.js | 0 .../fixtures/kitchensink/public/favicon.ico | Bin .../fixtures/kitchensink/public/index.html | 0 .../fixtures/kitchensink/src/App.js | 0 .../fixtures/kitchensink/src/absoluteLoad.js | 0 .../src/features/env/FileEnvVariables.js | 0 .../src/features/env/FileEnvVariables.test.js | 0 .../kitchensink/src/features/env/NodePath.js | 0 .../src/features/env/NodePath.test.js | 0 .../kitchensink/src/features/env/PublicUrl.js | 0 .../src/features/env/PublicUrl.test.js | 0 .../src/features/env/ShellEnvVariables.js | 0 .../features/env/ShellEnvVariables.test.js | 0 .../src/features/syntax/ArrayDestructuring.js | 0 .../syntax/ArrayDestructuring.test.js | 0 .../src/features/syntax/ArraySpread.js | 0 .../src/features/syntax/ArraySpread.test.js | 0 .../src/features/syntax/AsyncAwait.js | 0 .../src/features/syntax/AsyncAwait.test.js | 0 .../src/features/syntax/ClassProperties.js | 0 .../features/syntax/ClassProperties.test.js | 0 .../src/features/syntax/ComputedProperties.js | 0 .../syntax/ComputedProperties.test.js | 0 .../features/syntax/CustomInterpolation.js | 0 .../syntax/CustomInterpolation.test.js | 0 .../src/features/syntax/DefaultParameters.js | 0 .../features/syntax/DefaultParameters.test.js | 0 .../features/syntax/DestructuringAndAwait.js | 0 .../syntax/DestructuringAndAwait.test.js | 0 .../src/features/syntax/Generators.js | 0 .../src/features/syntax/Generators.test.js | 0 .../features/syntax/ObjectDestructuring.js | 0 .../syntax/ObjectDestructuring.test.js | 0 .../src/features/syntax/ObjectSpread.js | 0 .../src/features/syntax/ObjectSpread.test.js | 0 .../src/features/syntax/Promises.js | 0 .../src/features/syntax/Promises.test.js | 0 .../src/features/syntax/RestAndDefault.js | 0 .../features/syntax/RestAndDefault.test.js | 0 .../src/features/syntax/RestParameters.js | 0 .../features/syntax/RestParameters.test.js | 0 .../features/syntax/TemplateInterpolation.js | 0 .../syntax/TemplateInterpolation.test.js | 0 .../src/features/webpack/CssInclusion.js | 0 .../src/features/webpack/CssInclusion.test.js | 0 .../src/features/webpack/ImageInclusion.js | 0 .../features/webpack/ImageInclusion.test.js | 0 .../src/features/webpack/JsonInclusion.js | 0 .../features/webpack/JsonInclusion.test.js | 0 .../src/features/webpack/NoExtInclusion.js | 0 .../features/webpack/NoExtInclusion.test.js | 0 .../src/features/webpack/SvgInclusion.js | 0 .../src/features/webpack/SvgInclusion.test.js | 0 .../features/webpack/UnknownExtInclusion.js | 0 .../webpack/UnknownExtInclusion.test.js | 0 .../webpack/assets/aFileWithExt.unknown | 0 .../features/webpack/assets/aFileWithoutExt | 0 .../src/features/webpack/assets/abstract.json | 0 .../src/features/webpack/assets/logo.svg | 0 .../src/features/webpack/assets/style.css | 0 .../features/webpack/assets/tiniest-cat.jpg | Bin .../fixtures/kitchensink/src/index.js | 0 .../fixtures/kitchensink/src/subfolder/lol.js | 0 .../package.json | 31 +- .../scripts/build.js | 0 .../scripts/eject.js | 0 .../scripts/init.js | 0 .../scripts/start.js | 0 .../scripts/test.js | 0 .../template/README.md | 0 .../template/gitignore | 0 .../template/public/favicon.ico | Bin .../template/public/index.html | 4 +- .../template/src/common/App/App.css | 3 + .../template/src/common/App/App.js | 19 + .../template/src/common/App}/App.test.js | 2 +- .../src/common/App/Header/App-Header.css | 6 + .../src/common/App/Header/App-Header.js | 7 + .../src/common/App/Intro/App-Intro.css | 3 + .../src/common/App/Intro/App-Intro.js | 7 + .../template/src/common/Page/Page.css | 3 + .../template/src/index.js | 5 +- .../utils/createJestConfig.js | 24 +- .../README.md | 0 packages/create-bem-react-app/index.js | 285 ++++++ .../package.json | 13 +- packages/create-react-app/createReactApp.js | 520 ---------- packages/create-react-app/index.js | 57 -- packages/eslint-config-react-app/README.md | 31 - packages/eslint-config-react-app/index.js | 243 ----- packages/eslint-config-react-app/package.json | 21 - packages/react-dev-utils/FileSizeReporter.js | 112 --- .../react-dev-utils/InterpolateHtmlPlugin.js | 46 - packages/react-dev-utils/README.md | 244 ----- .../WatchMissingNodeModulesPlugin.js | 37 - packages/react-dev-utils/ansiHTML.js | 101 -- .../react-dev-utils/checkRequiredFiles.js | 34 - packages/react-dev-utils/clearConsole.js | 18 - packages/react-dev-utils/crashOverlay.js | 935 ------------------ .../react-dev-utils/formatWebpackMessages.js | 135 --- packages/react-dev-utils/getProcessForPort.js | 78 -- packages/react-dev-utils/openBrowser.js | 70 -- .../react-dev-utils/openChrome.applescript | 85 -- packages/react-dev-utils/package.json | 42 - packages/react-dev-utils/prompt.js | 46 - .../react-dev-utils/webpackHotDevClient.js | 316 ------ .../config/webpackDevServer.config.js | 63 -- .../scripts/utils/addWebpackMiddleware.js | 132 --- .../scripts/utils/createWebpackCompiler.js | 119 --- packages/react-scripts/template/src/App.css | 24 - packages/react-scripts/template/src/App.js | 21 - packages/react-scripts/template/src/index.css | 5 - packages/react-scripts/template/src/logo.svg | 7 - tasks/cra.sh | 11 +- tasks/e2e-installs.sh | 17 +- tasks/e2e-kitchensink.sh | 30 + tasks/e2e-simple.sh | 22 +- tasks/replace-own-deps.js | 3 +- 144 files changed, 571 insertions(+), 3581 deletions(-) rename packages/{babel-preset-react-app => babel-preset-bem-react-app}/README.md (100%) rename packages/{babel-preset-react-app => babel-preset-bem-react-app}/index.js (88%) rename packages/{babel-preset-react-app => babel-preset-bem-react-app}/package.json (52%) rename packages/{react-scripts/babelrc => bem-react-scripts/.babelrc} (100%) rename packages/{react-scripts/eslintrc => bem-react-scripts/.eslintrc} (100%) rename packages/{react-scripts => bem-react-scripts}/.npmignore (100%) rename packages/{react-scripts => bem-react-scripts}/README.md (100%) rename packages/{react-scripts => bem-react-scripts}/bin/react-scripts.js (76%) rename packages/{react-scripts => bem-react-scripts}/config/env.js (100%) rename packages/{react-scripts => bem-react-scripts}/config/jest/babelTransform.js (68%) rename packages/{react-scripts => bem-react-scripts}/config/jest/cssTransform.js (100%) rename packages/{react-scripts => bem-react-scripts}/config/jest/fileTransform.js (100%) rename packages/{react-scripts => bem-react-scripts}/config/paths.js (93%) rename packages/{react-scripts => bem-react-scripts}/config/polyfills.js (100%) rename packages/{react-scripts => bem-react-scripts}/config/webpack.config.dev.js (89%) rename packages/{react-scripts => bem-react-scripts}/config/webpack.config.prod.js (99%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/.babelrc (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/.env (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/.flowconfig (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/.template.dependencies.json (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/gitignore (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/integration/env.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/integration/initDOM.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/integration/syntax.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/integration/webpack.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/public/favicon.ico (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/public/index.html (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/App.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/absoluteLoad.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/env/FileEnvVariables.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/env/FileEnvVariables.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/env/NodePath.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/env/NodePath.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/env/PublicUrl.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/env/PublicUrl.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/env/ShellEnvVariables.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/env/ShellEnvVariables.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/ArrayDestructuring.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/ArrayDestructuring.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/ArraySpread.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/ArraySpread.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/AsyncAwait.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/AsyncAwait.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/ClassProperties.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/ClassProperties.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/ComputedProperties.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/ComputedProperties.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/CustomInterpolation.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/CustomInterpolation.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/DefaultParameters.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/DefaultParameters.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/DestructuringAndAwait.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/DestructuringAndAwait.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/Generators.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/Generators.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/ObjectDestructuring.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/ObjectDestructuring.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/ObjectSpread.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/ObjectSpread.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/Promises.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/Promises.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/RestAndDefault.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/RestAndDefault.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/RestParameters.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/RestParameters.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/TemplateInterpolation.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/syntax/TemplateInterpolation.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/webpack/CssInclusion.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/webpack/CssInclusion.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/webpack/ImageInclusion.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/webpack/ImageInclusion.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/webpack/JsonInclusion.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/webpack/JsonInclusion.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/webpack/NoExtInclusion.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/webpack/NoExtInclusion.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/webpack/SvgInclusion.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/webpack/SvgInclusion.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/webpack/UnknownExtInclusion.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/webpack/UnknownExtInclusion.test.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/webpack/assets/aFileWithExt.unknown (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/webpack/assets/aFileWithoutExt (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/webpack/assets/abstract.json (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/webpack/assets/logo.svg (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/webpack/assets/style.css (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/features/webpack/assets/tiniest-cat.jpg (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/index.js (100%) rename packages/{react-scripts => bem-react-scripts}/fixtures/kitchensink/src/subfolder/lol.js (100%) rename packages/{react-scripts => bem-react-scripts}/package.json (58%) rename packages/{react-scripts => bem-react-scripts}/scripts/build.js (100%) rename packages/{react-scripts => bem-react-scripts}/scripts/eject.js (100%) rename packages/{react-scripts => bem-react-scripts}/scripts/init.js (100%) rename packages/{react-scripts => bem-react-scripts}/scripts/start.js (100%) rename packages/{react-scripts => bem-react-scripts}/scripts/test.js (100%) rename packages/{react-scripts => bem-react-scripts}/template/README.md (100%) rename packages/{react-scripts => bem-react-scripts}/template/gitignore (100%) rename packages/{react-scripts => bem-react-scripts}/template/public/favicon.ico (100%) rename packages/{react-scripts => bem-react-scripts}/template/public/index.html (95%) create mode 100644 packages/bem-react-scripts/template/src/common/App/App.css create mode 100644 packages/bem-react-scripts/template/src/common/App/App.js rename packages/{react-scripts/template/src => bem-react-scripts/template/src/common/App}/App.test.js (87%) create mode 100644 packages/bem-react-scripts/template/src/common/App/Header/App-Header.css create mode 100644 packages/bem-react-scripts/template/src/common/App/Header/App-Header.js create mode 100644 packages/bem-react-scripts/template/src/common/App/Intro/App-Intro.css create mode 100644 packages/bem-react-scripts/template/src/common/App/Intro/App-Intro.js create mode 100644 packages/bem-react-scripts/template/src/common/Page/Page.css rename packages/{react-scripts => bem-react-scripts}/template/src/index.js (72%) rename packages/{react-scripts/scripts => bem-react-scripts}/utils/createJestConfig.js (76%) rename packages/{create-react-app => create-bem-react-app}/README.md (100%) create mode 100755 packages/create-bem-react-app/index.js rename packages/{create-react-app => create-bem-react-app}/package.json (55%) delete mode 100755 packages/create-react-app/createReactApp.js delete mode 100755 packages/create-react-app/index.js delete mode 100644 packages/eslint-config-react-app/README.md delete mode 100644 packages/eslint-config-react-app/index.js delete mode 100644 packages/eslint-config-react-app/package.json delete mode 100644 packages/react-dev-utils/FileSizeReporter.js delete mode 100644 packages/react-dev-utils/InterpolateHtmlPlugin.js delete mode 100644 packages/react-dev-utils/README.md delete mode 100644 packages/react-dev-utils/WatchMissingNodeModulesPlugin.js delete mode 100644 packages/react-dev-utils/ansiHTML.js delete mode 100644 packages/react-dev-utils/checkRequiredFiles.js delete mode 100644 packages/react-dev-utils/clearConsole.js delete mode 100644 packages/react-dev-utils/crashOverlay.js delete mode 100644 packages/react-dev-utils/formatWebpackMessages.js delete mode 100644 packages/react-dev-utils/getProcessForPort.js delete mode 100644 packages/react-dev-utils/openBrowser.js delete mode 100644 packages/react-dev-utils/openChrome.applescript delete mode 100644 packages/react-dev-utils/package.json delete mode 100644 packages/react-dev-utils/prompt.js delete mode 100644 packages/react-dev-utils/webpackHotDevClient.js delete mode 100644 packages/react-scripts/config/webpackDevServer.config.js delete mode 100644 packages/react-scripts/scripts/utils/addWebpackMiddleware.js delete mode 100644 packages/react-scripts/scripts/utils/createWebpackCompiler.js delete mode 100644 packages/react-scripts/template/src/App.css delete mode 100644 packages/react-scripts/template/src/App.js delete mode 100644 packages/react-scripts/template/src/index.css delete mode 100644 packages/react-scripts/template/src/logo.svg diff --git a/lerna.json b/lerna.json index e2429777df..bcbd69d0f7 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,7 @@ "lerna": "2.0.0-beta.38", "version": "independent", "changelog": { - "repo": "facebookincubator/create-react-app", + "repo": "awinogradov/create-bem-react-app", "labels": { "tag: new feature": ":rocket: New Feature", "tag: breaking change": ":boom: Breaking Change", diff --git a/package.json b/package.json index 9ca7cfc03d..f8684dfe4b 100644 --- a/package.json +++ b/package.json @@ -1,16 +1,21 @@ { "private": true, "scripts": { - "build": "node packages/react-scripts/scripts/build.js", + "build": "node packages/bem-react-scripts/scripts/build.js", "changelog": "lerna-changelog", - "create-react-app": "tasks/cra.sh", + "create-bem-react-app": "tasks/cra.sh", "e2e": "tasks/e2e-simple.sh", "postinstall": "lerna bootstrap", "publish": "tasks/release.sh", +<<<<<<< HEAD "start": "node packages/react-scripts/scripts/start.js", "test": "node packages/react-scripts/scripts/test.js --env=jsdom", "format": "prettier --trailing-comma es5 --single-quote --write 'packages/*/*.js' 'packages/*/!(node_modules)/**/*.js'", "precommit": "lint-staged" +======= + "start": "node packages/bem-react-scripts/scripts/start.js", + "test": "node packages/bem-react-scripts/scripts/test.js --env=jsdom" +>>>>>>> ca7fbfb... dev env only }, "devDependencies": { "eslint": "3.16.1", diff --git a/packages/babel-preset-react-app/README.md b/packages/babel-preset-bem-react-app/README.md similarity index 100% rename from packages/babel-preset-react-app/README.md rename to packages/babel-preset-bem-react-app/README.md diff --git a/packages/babel-preset-react-app/index.js b/packages/babel-preset-bem-react-app/index.js similarity index 88% rename from packages/babel-preset-react-app/index.js rename to packages/babel-preset-bem-react-app/index.js index fbd421beb1..a2ef057698 100644 --- a/packages/babel-preset-react-app/index.js +++ b/packages/babel-preset-bem-react-app/index.js @@ -6,8 +6,6 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ -'use strict'; - var path = require('path'); const plugins = [ @@ -90,14 +88,27 @@ if (env === 'test') { require.resolve('babel-preset-react'), ], plugins: plugins.concat([ +<<<<<<< HEAD:packages/babel-preset-react-app/index.js // Compiles import() to a deferred require() require.resolve('babel-plugin-dynamic-import-node'), ]), +======= + [require.resolve('babel-plugin-bem-import'), { + levels: [ + `./src/common/`, + `./src/desktop/`, + `./src/touch/` + ], + techs: ['js'] + }] + ]) +>>>>>>> ca7fbfb... dev env only:packages/babel-preset-bem-react-app/index.js }; } else { module.exports = { presets: [ // Latest stable ECMAScript features +<<<<<<< HEAD:packages/babel-preset-react-app/index.js [ require.resolve('babel-preset-env'), { @@ -112,6 +123,14 @@ if (env === 'test') { useBuiltIns: false, }, ], +======= + [require.resolve('babel-preset-latest'), { + 'es2015': { + modules: false + } + }], + require.resolve('babel-preset-es2015'), +>>>>>>> ca7fbfb... dev env only:packages/babel-preset-bem-react-app/index.js // JSX, Flow require.resolve('babel-preset-react'), ], diff --git a/packages/babel-preset-react-app/package.json b/packages/babel-preset-bem-react-app/package.json similarity index 52% rename from packages/babel-preset-react-app/package.json rename to packages/babel-preset-bem-react-app/package.json index aa955e4376..91c7ae3586 100644 --- a/packages/babel-preset-react-app/package.json +++ b/packages/babel-preset-bem-react-app/package.json @@ -1,17 +1,28 @@ { +<<<<<<< HEAD:packages/babel-preset-react-app/package.json "name": "babel-preset-react-app", "version": "2.1.1", "description": "Babel preset used by Create React App", "repository": "facebookincubator/create-react-app", +======= + "name": "babel-preset-bem-react-app", + "version": "0.0.1", + "description": "Babel preset used by Create BEM React App", + "repository": "awinogradov/create-bem-react-app", +>>>>>>> ca7fbfb... dev env only:packages/babel-preset-bem-react-app/package.json "license": "BSD-3-Clause", "bugs": { - "url": "https://github.com/facebookincubator/create-react-app/issues" + "url": "https://github.com/awinogradov/create-bem-react-app/issues" }, "files": [ "index.js" ], "dependencies": { +<<<<<<< HEAD:packages/babel-preset-react-app/package.json "babel-plugin-dynamic-import-node": "1.0.0", +======= + "babel-plugin-bem-import": "^1.1.1", +>>>>>>> ca7fbfb... dev env only:packages/babel-preset-bem-react-app/package.json "babel-plugin-syntax-dynamic-import": "6.18.0", "babel-plugin-transform-class-properties": "6.23.0", "babel-plugin-transform-object-rest-spread": "6.23.0", @@ -21,7 +32,13 @@ "babel-plugin-transform-react-jsx-source": "6.22.0", "babel-plugin-transform-regenerator": "6.22.0", "babel-plugin-transform-runtime": "6.23.0", +<<<<<<< HEAD:packages/babel-preset-react-app/package.json "babel-preset-env": "1.2.1", +======= + "babel-preset-es2015": "^6.9.0", + "babel-preset-env": "1.1.8", + "babel-preset-latest": "6.22.0", +>>>>>>> ca7fbfb... dev env only:packages/babel-preset-bem-react-app/package.json "babel-preset-react": "6.23.0", "babel-runtime": "6.23.0" } diff --git a/packages/react-scripts/babelrc b/packages/bem-react-scripts/.babelrc similarity index 100% rename from packages/react-scripts/babelrc rename to packages/bem-react-scripts/.babelrc diff --git a/packages/react-scripts/eslintrc b/packages/bem-react-scripts/.eslintrc similarity index 100% rename from packages/react-scripts/eslintrc rename to packages/bem-react-scripts/.eslintrc diff --git a/packages/react-scripts/.npmignore b/packages/bem-react-scripts/.npmignore similarity index 100% rename from packages/react-scripts/.npmignore rename to packages/bem-react-scripts/.npmignore diff --git a/packages/react-scripts/README.md b/packages/bem-react-scripts/README.md similarity index 100% rename from packages/react-scripts/README.md rename to packages/bem-react-scripts/README.md diff --git a/packages/react-scripts/bin/react-scripts.js b/packages/bem-react-scripts/bin/react-scripts.js similarity index 76% rename from packages/react-scripts/bin/react-scripts.js rename to packages/bem-react-scripts/bin/react-scripts.js index 8a1175c99e..d8184ebaa4 100755 --- a/packages/react-scripts/bin/react-scripts.js +++ b/packages/bem-react-scripts/bin/react-scripts.js @@ -40,6 +40,7 @@ switch (script) { } process.exit(1); } +<<<<<<< HEAD:packages/react-scripts/bin/react-scripts.js process.exit(result.status); break; default: @@ -49,4 +50,15 @@ switch (script) { 'See: https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#updating-to-new-releases' ); break; +======= + process.exit(1); + } + process.exit(result.status); + break; +default: + console.log('Unknown script "' + script + '".'); + console.log('Perhaps you need to update bem-react-scripts?'); + console.log('See: https://github.com/awinogradov/create-bem-react-app/blob/master/packages/bem-react-scripts/template/README.md#updating-to-new-releases'); + break; +>>>>>>> ca7fbfb... dev env only:packages/bem-react-scripts/bin/react-scripts.js } diff --git a/packages/react-scripts/config/env.js b/packages/bem-react-scripts/config/env.js similarity index 100% rename from packages/react-scripts/config/env.js rename to packages/bem-react-scripts/config/env.js diff --git a/packages/react-scripts/config/jest/babelTransform.js b/packages/bem-react-scripts/config/jest/babelTransform.js similarity index 68% rename from packages/react-scripts/config/jest/babelTransform.js rename to packages/bem-react-scripts/config/jest/babelTransform.js index bee55b1b15..3e668aae1a 100644 --- a/packages/react-scripts/config/jest/babelTransform.js +++ b/packages/bem-react-scripts/config/jest/babelTransform.js @@ -11,6 +11,11 @@ const babelJest = require('babel-jest'); module.exports = babelJest.createTransformer({ +<<<<<<< HEAD:packages/react-scripts/config/jest/babelTransform.js presets: [require.resolve('babel-preset-react-app')], babelrc: false, +======= + presets: [require.resolve('babel-preset-bem-react-app')], + babelrc: false +>>>>>>> ca7fbfb... dev env only:packages/bem-react-scripts/config/jest/babelTransform.js }); diff --git a/packages/react-scripts/config/jest/cssTransform.js b/packages/bem-react-scripts/config/jest/cssTransform.js similarity index 100% rename from packages/react-scripts/config/jest/cssTransform.js rename to packages/bem-react-scripts/config/jest/cssTransform.js diff --git a/packages/react-scripts/config/jest/fileTransform.js b/packages/bem-react-scripts/config/jest/fileTransform.js similarity index 100% rename from packages/react-scripts/config/jest/fileTransform.js rename to packages/bem-react-scripts/config/jest/fileTransform.js diff --git a/packages/react-scripts/config/paths.js b/packages/bem-react-scripts/config/paths.js similarity index 93% rename from packages/react-scripts/config/paths.js rename to packages/bem-react-scripts/config/paths.js index 7639775604..f9c54466fd 100644 --- a/packages/react-scripts/config/paths.js +++ b/packages/bem-react-scripts/config/paths.js @@ -93,7 +93,7 @@ function resolveOwn(relativePath) { return path.resolve(__dirname, '..', relativePath); } -// config before eject: we're in ./node_modules/react-scripts/config/ +// config before eject: we're in ./node_modules/bem-react-scripts/config/ module.exports = { appPath: resolveApp('.'), appBuild: resolveApp('build'), @@ -113,6 +113,7 @@ module.exports = { ownNodeModules: resolveOwn('node_modules'), // This is empty on npm 3 }; +<<<<<<< HEAD:packages/react-scripts/config/paths.js const ownPackageJson = require('../package.json'); const reactScriptsPath = resolveApp(`node_modules/${ownPackageJson.name}`); const reactScriptsLinked = fs.existsSync(reactScriptsPath) && @@ -123,6 +124,10 @@ if ( !reactScriptsLinked && __dirname.indexOf(path.join('packages', 'react-scripts', 'config')) !== -1 ) { +======= +// config before publish: we're in ./packages/bem-react-scripts/config/ +if (__dirname.indexOf(path.join('packages', 'bem-react-scripts', 'config')) !== -1) { +>>>>>>> ca7fbfb... dev env only:packages/bem-react-scripts/config/paths.js module.exports = { appPath: resolveApp('.'), appBuild: resolveOwn('../../build'), diff --git a/packages/react-scripts/config/polyfills.js b/packages/bem-react-scripts/config/polyfills.js similarity index 100% rename from packages/react-scripts/config/polyfills.js rename to packages/bem-react-scripts/config/polyfills.js diff --git a/packages/react-scripts/config/webpack.config.dev.js b/packages/bem-react-scripts/config/webpack.config.dev.js similarity index 89% rename from packages/react-scripts/config/webpack.config.dev.js rename to packages/bem-react-scripts/config/webpack.config.dev.js index c7948b66f6..365158aa49 100644 --- a/packages/react-scripts/config/webpack.config.dev.js +++ b/packages/bem-react-scripts/config/webpack.config.dev.js @@ -98,7 +98,7 @@ module.exports = { }, // @remove-on-eject-begin // Resolve loaders (webpack plugins for CSS, images, transpilation) from the - // directory of `react-scripts` itself rather than the project directory. + // directory of `bem-react-scripts` itself rather than the project directory. resolveLoader: { modules: [ paths.ownNodeModules, @@ -127,8 +127,39 @@ module.exports = { // @remove-on-eject-end loader: 'eslint-loader', }, +<<<<<<< HEAD:packages/react-scripts/config/webpack.config.dev.js ], include: paths.appSrc, +======= + // @remove-on-eject-end + loader: 'eslint-loader' + }, { + loader: 'webpack-bem-loader', + options: { + levels: [ + `./src/common`, + `./src/desktop`, + `./src/touch` + ], + techs: ['js', 'css'] + } + }, { + loader: 'babel-loader', + options: { + // @remove-on-eject-begin + babelrc: false, + presets: [ + require.resolve('babel-preset-es2015'), + require.resolve('babel-preset-bem-react-app')], + // @remove-on-eject-end + // This is a feature of `babel-loader` for webpack (not Babel itself). + // It enables caching results in ./node_modules/.cache/babel-loader/ + // directory for faster rebuilds. + cacheDirectory: true + } + }], + include: paths.appSrc +>>>>>>> ca7fbfb... dev env only:packages/bem-react-scripts/config/webpack.config.dev.js }, // ** ADDING/UPDATING LOADERS ** // The "url" loader handles all assets unless explicitly excluded. @@ -166,6 +197,7 @@ module.exports = { name: 'static/media/[name].[hash:8].[ext]', }, }, +<<<<<<< HEAD:packages/react-scripts/config/webpack.config.dev.js // Process JS with Babel. { test: /\.(js|jsx)$/, @@ -182,6 +214,8 @@ module.exports = { cacheDirectory: true, }, }, +======= +>>>>>>> ca7fbfb... dev env only:packages/bem-react-scripts/config/webpack.config.dev.js // "postcss" loader applies autoprefixer to our CSS. // "css" loader resolves paths in CSS and adds assets as dependencies. // "style" loader turns CSS into JS modules that inject