diff --git a/packages/strapi-admin/.gitignore b/packages/strapi-admin/.gitignore index 8f9cf76d0b..afe256bf30 100644 --- a/packages/strapi-admin/.gitignore +++ b/packages/strapi-admin/.gitignore @@ -1,8 +1,6 @@ # Don't check auto-generated stuff into git coverage node_modules -build -plugins.json stats.json package-lock.json diff --git a/packages/strapi-admin/admin/.gitignore b/packages/strapi-admin/admin/.gitignore new file mode 100644 index 0000000000..8f9cf76d0b --- /dev/null +++ b/packages/strapi-admin/admin/.gitignore @@ -0,0 +1,12 @@ +# Don't check auto-generated stuff into git +coverage +node_modules +build +plugins.json +stats.json +package-lock.json + +# Cruft +.DS_Store +npm-debug.log +.idea diff --git a/packages/strapi-admin/admin/.npmignore b/packages/strapi-admin/admin/.npmignore new file mode 100644 index 0000000000..ef6662a3db --- /dev/null +++ b/packages/strapi-admin/admin/.npmignore @@ -0,0 +1,101 @@ +############################ +# OS X +############################ + +.DS_Store +.AppleDouble +.LSOverride +Icon +.Spotlight-V100 +.Trashes +._* + + +############################ +# Linux +############################ + +*~ + + +############################ +# Windows +############################ + +Thumbs.db +ehthumbs.db +Desktop.ini +$RECYCLE.BIN/ +*.cab +*.msi +*.msm +*.msp + + +############################ +# Packages +############################ + +*.7z +*.csv +*.dat +*.dmg +*.gz +*.iso +*.jar +*.rar +*.tar +*.zip +*.com +*.class +*.dll +*.exe +*.o +*.seed +*.so +*.swo +*.swp +*.swn +*.swm +*.out +*.pid + + +############################ +# Logs and databases +############################ + +*.log +*.sql + + +############################ +# Misc. +############################ + +*# +ssl +.idea +nbproject + + +############################ +# Node.js +############################ + +lib-cov +lcov.info +pids +logs +results +node_modules +.node_history + + +############################ +# Tests +############################ + +test +testApp +coverage diff --git a/packages/strapi-admin/package.json b/packages/strapi-admin/package.json index f7b0af2265..e562771ec7 100755 --- a/packages/strapi-admin/package.json +++ b/packages/strapi-admin/package.json @@ -7,18 +7,18 @@ "url": "git://github.com/strapi/strapi-admin.git" }, "scripts": { - "analyze:clean": "node ../strapi-helper-plugin/node_modules/.bin/rimraf stats.json", + "analyze:clean": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/rimraf stats.json", "preanalyze": "npm run analyze:clean", - "analyze": "node ../strapi-helper-plugin/lib/internals/scripts/analyze.js", - "build:dev": "npm run build:dll && node ../strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development IS_ADMIN=true node ../strapi-helper-plugin/node_modules/.bin/webpack --config ../strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress", - "build": "npm run build:dll && node ../strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production IS_ADMIN=true node ../strapi-helper-plugin/node_modules/.bin/webpack --config ../strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress", - "build:dll": "node ../strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production node ../strapi-helper-plugin/node_modules/.bin/webpack --config ../strapi-helper-plugin/lib/internals/webpack/webpack.dll.babel.js --color -p --progress", - "build:clean": "node ../strapi-helper-plugin/node_modules/.bin/rimraf admin/build", - "start": "node ../strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development PORT=4000 IS_ADMIN=true node ../strapi-helper-plugin/lib/server", - "generate": "node ../strapi-helper-plugin/node_modules/.bin/plop --plopfile ../strapi-helper-plugin/lib/internals/generators/index.js", - "lint": "node ../strapi-helper-plugin/node_modules/.bin/eslint --ignore-path .gitignore --config ../strapi-helper-plugin/lib/internals/eslint/.eslintrc.json admin", + "analyze": "node ./node_modules/strapi-helper-plugin/lib/internals/scripts/analyze.js", + "build:dev": "npm run build:dll && node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development IS_ADMIN=true node ./node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config ./node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress", + "build": "npm run build:dll && node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production IS_ADMIN=true node ./node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config ./node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress", + "build:dll": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production IS_ADMIN=true node ./node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config ./node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.dll.babel.js --color -p --progress", + "build:clean": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/rimraf admin/build", + "start": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development PORT=4000 IS_ADMIN=true node ./node_modules/strapi-helper-plugin/lib/server", + "generate": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/plop --plopfile ./node_modules/strapi-helper-plugin/lib/internals/generators/index.js", + "lint": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/eslint --ignore-path ./admin/.gitignore --config ./node_modules/strapi-helper-plugin/lib/internals/eslint/.eslintrc.json admin", "pretest": "npm run lint", - "prettier": "node ../strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"", + "prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"", "test": "echo Tests are not implemented.", "prepublishOnly": "npm run build" }, diff --git a/packages/strapi-generate-new/lib/after.js b/packages/strapi-generate-new/lib/after.js index c0dd20b5b5..a50e169e51 100755 --- a/packages/strapi-generate-new/lib/after.js +++ b/packages/strapi-generate-new/lib/after.js @@ -101,9 +101,19 @@ module.exports = (scope, cb) => { logger.info(`Linking \`${dependency.key}\` dependency to the project...`); if (dependency.global) { - fs.symlinkSync(dependency.path, path.resolve(scope.rootPath, 'node_modules', dependency.key), 'dir'); + try { + fs.accessSync(dependency.path, fs.constants.W_OK | fs.constants.F_OK); + fs.symlinkSync(dependency.path, path.resolve(scope.rootPath, 'node_modules', dependency.key), 'dir'); + } catch (e) { + // Silent. + } } else { - fs.symlinkSync(path.resolve(scope.strapiRoot, 'node_modules', dependency.key), path.resolve(scope.rootPath, 'node_modules', dependency.key), 'dir'); + try { + fs.accessSync(path.resolve(scope.strapiRoot, 'node_modules', dependency.key), fs.constants.W_OK | fs.constants.F_OK); + fs.symlinkSync(path.resolve(scope.strapiRoot, 'node_modules', dependency.key), path.resolve(scope.rootPath, 'node_modules', dependency.key), 'dir'); + } catch (e) { + // Silent. + } } }); diff --git a/packages/strapi-helper-plugin/lib/internals/webpack/manifest.json b/packages/strapi-helper-plugin/lib/internals/webpack/manifest.json index 9c0864a3f1..b21d43ffb6 100644 --- a/packages/strapi-helper-plugin/lib/internals/webpack/manifest.json +++ b/packages/strapi-helper-plugin/lib/internals/webpack/manifest.json @@ -1 +1,5 @@ -{"name":"vendor_lib","content":{"../strapi-helper-plugin/node_modules/react/index.js":{"id":0,"meta":{}},"../strapi-helper-plugin/node_modules/prop-types/index.js":{"id":1,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/emptyFunction.js":{"id":2,"meta":{}},"../strapi-helper-plugin/node_modules/react-dom/index.js":{"id":3,"meta":{}},"../strapi-helper-plugin/node_modules/object-assign/index.js":{"id":4,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/emptyObject.js":{"id":5,"meta":{}},"../strapi-helper-plugin/node_modules/intl-messageformat/src/main.js":{"id":6,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/intl-messageformat/src/utils.js":{"id":7,"meta":{"harmonyModule":true},"exports":["hop","extend"]},"../strapi-helper-plugin/node_modules/webpack/buildin/global.js":{"id":8,"meta":{}},"../strapi-helper-plugin/node_modules/react-transition-group/Transition.js":{"id":9,"meta":{}},"../strapi-helper-plugin/node_modules/react-transition-group/utils/PropTypes.js":{"id":10,"meta":{}},"../strapi-helper-plugin/node_modules/react/cjs/react.production.min.js":{"id":12,"meta":{}},"../strapi-helper-plugin/node_modules/react-dom/cjs/react-dom.production.min.js":{"id":13,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/ExecutionEnvironment.js":{"id":14,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/EventListener.js":{"id":15,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/getActiveElement.js":{"id":16,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/shallowEqual.js":{"id":17,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/containsNode.js":{"id":18,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/isTextNode.js":{"id":19,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/isNode.js":{"id":20,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/focusNode.js":{"id":21,"meta":{}},"../strapi-helper-plugin/node_modules/react-intl/lib/index.es.js":{"id":22,"meta":{"harmonyModule":true},"exports":["addLocaleData","intlShape","injectIntl","defineMessages","IntlProvider","FormattedDate","FormattedTime","FormattedRelative","FormattedNumber","FormattedPlural","FormattedMessage","FormattedHTMLMessage"]},"../strapi-helper-plugin/node_modules/intl-messageformat/src/core.js":{"id":24,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/intl-messageformat/src/es5.js":{"id":25,"meta":{"harmonyModule":true},"exports":["defineProperty","objCreate"]},"../strapi-helper-plugin/node_modules/intl-messageformat/src/compiler.js":{"id":26,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/intl-messageformat-parser/src/parser.js":{"id":27,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/intl-messageformat/src/en.js":{"id":28,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/intl-relativeformat/src/main.js":{"id":29,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/intl-relativeformat/src/core.js":{"id":30,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/intl-relativeformat/src/diff.js":{"id":31,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/intl-relativeformat/src/es5.js":{"id":32,"meta":{"harmonyModule":true},"exports":["defineProperty","objCreate","arrIndexOf","isArray","dateNow"]},"../strapi-helper-plugin/node_modules/intl-relativeformat/src/en.js":{"id":33,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/prop-types/factoryWithThrowingShims.js":{"id":34,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/invariant.js":{"id":35,"meta":{}},"../strapi-helper-plugin/node_modules/prop-types/lib/ReactPropTypesSecret.js":{"id":36,"meta":{}},"../strapi-helper-plugin/node_modules/invariant/browser.js":{"id":37,"meta":{}},"../strapi-helper-plugin/node_modules/intl-format-cache/src/memoizer.js":{"id":38,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/intl-format-cache/src/es5.js":{"id":39,"meta":{"harmonyModule":true},"exports":["bind","defineProperty","objCreate"]},"../strapi-helper-plugin/node_modules/reactstrap/dist/reactstrap.es.js":{"id":40,"meta":{"harmonyModule":true},"exports":["Alert","Container","Row","Col","Navbar","NavbarBrand","NavbarToggler","Nav","NavItem","NavDropdown","NavLink","Breadcrumb","BreadcrumbItem","Button","ButtonDropdown","ButtonGroup","ButtonToolbar","Dropdown","DropdownItem","DropdownMenu","DropdownToggle","Fade","Badge","Card","CardLink","CardGroup","CardDeck","CardColumns","CardBody","CardBlock","CardFooter","CardHeader","CardImg","CardImgOverlay","Carousel","UncontrolledCarousel","CarouselControl","CarouselItem","CarouselIndicators","CarouselCaption","CardSubtitle","CardText","CardTitle","Popover","PopoverContent","PopoverBody","PopoverTitle","PopoverHeader","Progress","Modal","ModalHeader","ModalBody","ModalFooter","PopperContent","PopperTargetHelper","Tooltip","Table","ListGroup","Form","FormFeedback","FormGroup","FormText","Input","InputGroup","InputGroupAddon","InputGroupButton","Label","Media","Pagination","PaginationItem","PaginationLink","TabContent","TabPane","Jumbotron","Collapse","ListGroupItem","ListGroupItemText","ListGroupItemHeading","UncontrolledAlert","UncontrolledButtonDropdown","UncontrolledDropdown","UncontrolledNavDropdown","UncontrolledTooltip"]},"../strapi-helper-plugin/node_modules/classnames/index.js":{"id":41,"meta":{}},"../strapi-helper-plugin/node_modules/lodash.isfunction/index.js":{"id":42,"meta":{}},"../strapi-helper-plugin/node_modules/lodash.isobject/index.js":{"id":43,"meta":{}},"../strapi-helper-plugin/node_modules/react-popper/lib/react-popper.js":{"id":44,"meta":{}},"../strapi-helper-plugin/node_modules/react-popper/lib/Manager.js":{"id":45,"meta":{}},"../strapi-helper-plugin/node_modules/react-popper/lib/Target.js":{"id":46,"meta":{}},"../strapi-helper-plugin/node_modules/react-popper/lib/Popper.js":{"id":47,"meta":{}},"../strapi-helper-plugin/node_modules/popper.js/dist/umd/popper.js":{"id":48,"meta":{}},"../strapi-helper-plugin/node_modules/react-popper/lib/Arrow.js":{"id":49,"meta":{}},"../strapi-helper-plugin/node_modules/lodash.tonumber/index.js":{"id":50,"meta":{}},"../strapi-helper-plugin/node_modules/react-transition-group/index.js":{"id":51,"meta":{}},"../strapi-helper-plugin/node_modules/react-transition-group/CSSTransition.js":{"id":52,"meta":{}},"../strapi-helper-plugin/node_modules/dom-helpers/class/addClass.js":{"id":53,"meta":{}},"../strapi-helper-plugin/node_modules/dom-helpers/class/hasClass.js":{"id":54,"meta":{}},"../strapi-helper-plugin/node_modules/dom-helpers/class/removeClass.js":{"id":55,"meta":{}},"../strapi-helper-plugin/node_modules/react-transition-group/TransitionGroup.js":{"id":56,"meta":{}},"../strapi-helper-plugin/node_modules/react-transition-group/utils/ChildMapping.js":{"id":57,"meta":{}},"../strapi-helper-plugin/node_modules/immutable/dist/immutable.js":{"id":58,"meta":{}},"../strapi-helper-plugin/node_modules/lodash/lodash.js":{"id":59,"meta":{}},"../strapi-helper-plugin/node_modules/webpack/buildin/module.js":{"id":60,"meta":{}}}} \ No newline at end of file +<<<<<<< HEAD +{"name":"vendor_lib","content":{"./strapi-helper-plugin/node_modules/react/index.js":{"id":0,"meta":{}},"./strapi-helper-plugin/node_modules/prop-types/index.js":{"id":1,"meta":{}},"./strapi-helper-plugin/node_modules/fbjs/lib/emptyFunction.js":{"id":2,"meta":{}},"./strapi-helper-plugin/node_modules/react-dom/index.js":{"id":3,"meta":{}},"./strapi-helper-plugin/node_modules/object-assign/index.js":{"id":4,"meta":{}},"./strapi-helper-plugin/node_modules/fbjs/lib/emptyObject.js":{"id":5,"meta":{}},"./strapi-helper-plugin/node_modules/intl-messageformat/src/main.js":{"id":6,"meta":{"harmonyModule":true},"exports":["default"]},"./strapi-helper-plugin/node_modules/intl-messageformat/src/utils.js":{"id":7,"meta":{"harmonyModule":true},"exports":["hop","extend"]},"./strapi-helper-plugin/node_modules/webpack/buildin/global.js":{"id":8,"meta":{}},"./strapi-helper-plugin/node_modules/react-transition-group/Transition.js":{"id":9,"meta":{}},"./strapi-helper-plugin/node_modules/react-transition-group/utils/PropTypes.js":{"id":10,"meta":{}},"./strapi-helper-plugin/node_modules/react/cjs/react.production.min.js":{"id":12,"meta":{}},"./strapi-helper-plugin/node_modules/react-dom/cjs/react-dom.production.min.js":{"id":13,"meta":{}},"./strapi-helper-plugin/node_modules/fbjs/lib/ExecutionEnvironment.js":{"id":14,"meta":{}},"./strapi-helper-plugin/node_modules/fbjs/lib/EventListener.js":{"id":15,"meta":{}},"./strapi-helper-plugin/node_modules/fbjs/lib/getActiveElement.js":{"id":16,"meta":{}},"./strapi-helper-plugin/node_modules/fbjs/lib/shallowEqual.js":{"id":17,"meta":{}},"./strapi-helper-plugin/node_modules/fbjs/lib/containsNode.js":{"id":18,"meta":{}},"./strapi-helper-plugin/node_modules/fbjs/lib/isTextNode.js":{"id":19,"meta":{}},"./strapi-helper-plugin/node_modules/fbjs/lib/isNode.js":{"id":20,"meta":{}},"./strapi-helper-plugin/node_modules/fbjs/lib/focusNode.js":{"id":21,"meta":{}},"./strapi-helper-plugin/node_modules/react-intl/lib/index.es.js":{"id":22,"meta":{"harmonyModule":true},"exports":["addLocaleData","intlShape","injectIntl","defineMessages","IntlProvider","FormattedDate","FormattedTime","FormattedRelative","FormattedNumber","FormattedPlural","FormattedMessage","FormattedHTMLMessage"]},"./strapi-helper-plugin/node_modules/intl-messageformat/src/core.js":{"id":24,"meta":{"harmonyModule":true},"exports":["default"]},"./strapi-helper-plugin/node_modules/intl-messageformat/src/es5.js":{"id":25,"meta":{"harmonyModule":true},"exports":["defineProperty","objCreate"]},"./strapi-helper-plugin/node_modules/intl-messageformat/src/compiler.js":{"id":26,"meta":{"harmonyModule":true},"exports":["default"]},"./strapi-helper-plugin/node_modules/intl-messageformat-parser/src/parser.js":{"id":27,"meta":{"harmonyModule":true},"exports":["default"]},"./strapi-helper-plugin/node_modules/intl-messageformat/src/en.js":{"id":28,"meta":{"harmonyModule":true},"exports":["default"]},"./strapi-helper-plugin/node_modules/intl-relativeformat/src/main.js":{"id":29,"meta":{"harmonyModule":true},"exports":["default"]},"./strapi-helper-plugin/node_modules/intl-relativeformat/src/core.js":{"id":30,"meta":{"harmonyModule":true},"exports":["default"]},"./strapi-helper-plugin/node_modules/intl-relativeformat/src/diff.js":{"id":31,"meta":{"harmonyModule":true},"exports":["default"]},"./strapi-helper-plugin/node_modules/intl-relativeformat/src/es5.js":{"id":32,"meta":{"harmonyModule":true},"exports":["defineProperty","objCreate","arrIndexOf","isArray","dateNow"]},"./strapi-helper-plugin/node_modules/intl-relativeformat/src/en.js":{"id":33,"meta":{"harmonyModule":true},"exports":["default"]},"./strapi-helper-plugin/node_modules/prop-types/factoryWithThrowingShims.js":{"id":34,"meta":{}},"./strapi-helper-plugin/node_modules/fbjs/lib/invariant.js":{"id":35,"meta":{}},"./strapi-helper-plugin/node_modules/prop-types/lib/ReactPropTypesSecret.js":{"id":36,"meta":{}},"./strapi-helper-plugin/node_modules/invariant/browser.js":{"id":37,"meta":{}},"./strapi-helper-plugin/node_modules/intl-format-cache/src/memoizer.js":{"id":38,"meta":{"harmonyModule":true},"exports":["default"]},"./strapi-helper-plugin/node_modules/intl-format-cache/src/es5.js":{"id":39,"meta":{"harmonyModule":true},"exports":["bind","defineProperty","objCreate"]},"./strapi-helper-plugin/node_modules/reactstrap/dist/reactstrap.es.js":{"id":40,"meta":{"harmonyModule":true},"exports":["Alert","Container","Row","Col","Navbar","NavbarBrand","NavbarToggler","Nav","NavItem","NavDropdown","NavLink","Breadcrumb","BreadcrumbItem","Button","ButtonDropdown","ButtonGroup","ButtonToolbar","Dropdown","DropdownItem","DropdownMenu","DropdownToggle","Fade","Badge","Card","CardLink","CardGroup","CardDeck","CardColumns","CardBody","CardBlock","CardFooter","CardHeader","CardImg","CardImgOverlay","Carousel","UncontrolledCarousel","CarouselControl","CarouselItem","CarouselIndicators","CarouselCaption","CardSubtitle","CardText","CardTitle","Popover","PopoverContent","PopoverBody","PopoverTitle","PopoverHeader","Progress","Modal","ModalHeader","ModalBody","ModalFooter","PopperContent","PopperTargetHelper","Tooltip","Table","ListGroup","Form","FormFeedback","FormGroup","FormText","Input","InputGroup","InputGroupAddon","InputGroupButton","Label","Media","Pagination","PaginationItem","PaginationLink","TabContent","TabPane","Jumbotron","Collapse","ListGroupItem","ListGroupItemText","ListGroupItemHeading","UncontrolledAlert","UncontrolledButtonDropdown","UncontrolledDropdown","UncontrolledNavDropdown","UncontrolledTooltip"]},"./strapi-helper-plugin/node_modules/classnames/index.js":{"id":41,"meta":{}},"./strapi-helper-plugin/node_modules/lodash.isfunction/index.js":{"id":42,"meta":{}},"./strapi-helper-plugin/node_modules/lodash.isobject/index.js":{"id":43,"meta":{}},"./strapi-helper-plugin/node_modules/react-popper/lib/react-popper.js":{"id":44,"meta":{}},"./strapi-helper-plugin/node_modules/react-popper/lib/Manager.js":{"id":45,"meta":{}},"./strapi-helper-plugin/node_modules/react-popper/lib/Target.js":{"id":46,"meta":{}},"./strapi-helper-plugin/node_modules/react-popper/lib/Popper.js":{"id":47,"meta":{}},"./strapi-helper-plugin/node_modules/popper.js/dist/umd/popper.js":{"id":48,"meta":{}},"./strapi-helper-plugin/node_modules/react-popper/lib/Arrow.js":{"id":49,"meta":{}},"./strapi-helper-plugin/node_modules/lodash.tonumber/index.js":{"id":50,"meta":{}},"./strapi-helper-plugin/node_modules/react-transition-group/index.js":{"id":51,"meta":{}},"./strapi-helper-plugin/node_modules/react-transition-group/CSSTransition.js":{"id":52,"meta":{}},"./strapi-helper-plugin/node_modules/dom-helpers/class/addClass.js":{"id":53,"meta":{}},"./strapi-helper-plugin/node_modules/dom-helpers/class/hasClass.js":{"id":54,"meta":{}},"./strapi-helper-plugin/node_modules/dom-helpers/class/removeClass.js":{"id":55,"meta":{}},"./strapi-helper-plugin/node_modules/react-transition-group/TransitionGroup.js":{"id":56,"meta":{}},"./strapi-helper-plugin/node_modules/react-transition-group/utils/ChildMapping.js":{"id":57,"meta":{}},"./strapi-helper-plugin/node_modules/immutable/dist/immutable.js":{"id":58,"meta":{}},"./strapi-helper-plugin/node_modules/lodash/lodash.js":{"id":59,"meta":{}},"./strapi-helper-plugin/node_modules/webpack/buildin/module.js":{"id":60,"meta":{}}}} +======= +{"name":"vendor_lib","content":{"../strapi-helper-plugin/node_modules/react/index.js":{"id":0,"meta":{}},"../strapi-helper-plugin/node_modules/prop-types/index.js":{"id":1,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/emptyFunction.js":{"id":2,"meta":{}},"../strapi-helper-plugin/node_modules/react-dom/index.js":{"id":3,"meta":{}},"../strapi-helper-plugin/node_modules/object-assign/index.js":{"id":4,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/emptyObject.js":{"id":5,"meta":{}},"../strapi-helper-plugin/node_modules/intl-messageformat/src/main.js":{"id":6,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/intl-messageformat/src/utils.js":{"id":7,"meta":{"harmonyModule":true},"exports":["hop","extend"]},"../strapi-helper-plugin/node_modules/webpack/buildin/global.js":{"id":8,"meta":{}},"../strapi-helper-plugin/node_modules/react-transition-group/Transition.js":{"id":9,"meta":{}},"../strapi-helper-plugin/node_modules/react-transition-group/utils/PropTypes.js":{"id":10,"meta":{}},"../strapi-helper-plugin/node_modules/react/cjs/react.production.min.js":{"id":12,"meta":{}},"../strapi-helper-plugin/node_modules/react-dom/cjs/react-dom.production.min.js":{"id":13,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/ExecutionEnvironment.js":{"id":14,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/EventListener.js":{"id":15,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/getActiveElement.js":{"id":16,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/shallowEqual.js":{"id":17,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/containsNode.js":{"id":18,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/isTextNode.js":{"id":19,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/isNode.js":{"id":20,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/focusNode.js":{"id":21,"meta":{}},"../strapi-helper-plugin/node_modules/react-intl/lib/index.es.js":{"id":22,"meta":{"harmonyModule":true},"exports":["addLocaleData","intlShape","injectIntl","defineMessages","IntlProvider","FormattedDate","FormattedTime","FormattedRelative","FormattedNumber","FormattedPlural","FormattedMessage","FormattedHTMLMessage"]},"../strapi-helper-plugin/node_modules/intl-messageformat/src/core.js":{"id":24,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/intl-messageformat/src/es5.js":{"id":25,"meta":{"harmonyModule":true},"exports":["defineProperty","objCreate"]},"../strapi-helper-plugin/node_modules/intl-messageformat/src/compiler.js":{"id":26,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/intl-messageformat-parser/src/parser.js":{"id":27,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/intl-messageformat/src/en.js":{"id":28,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/intl-relativeformat/src/main.js":{"id":29,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/intl-relativeformat/src/core.js":{"id":30,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/intl-relativeformat/src/diff.js":{"id":31,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/intl-relativeformat/src/es5.js":{"id":32,"meta":{"harmonyModule":true},"exports":["defineProperty","objCreate","arrIndexOf","isArray","dateNow"]},"../strapi-helper-plugin/node_modules/intl-relativeformat/src/en.js":{"id":33,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/prop-types/factoryWithThrowingShims.js":{"id":34,"meta":{}},"../strapi-helper-plugin/node_modules/fbjs/lib/invariant.js":{"id":35,"meta":{}},"../strapi-helper-plugin/node_modules/prop-types/lib/ReactPropTypesSecret.js":{"id":36,"meta":{}},"../strapi-helper-plugin/node_modules/invariant/browser.js":{"id":37,"meta":{}},"../strapi-helper-plugin/node_modules/intl-format-cache/src/memoizer.js":{"id":38,"meta":{"harmonyModule":true},"exports":["default"]},"../strapi-helper-plugin/node_modules/intl-format-cache/src/es5.js":{"id":39,"meta":{"harmonyModule":true},"exports":["bind","defineProperty","objCreate"]},"../strapi-helper-plugin/node_modules/reactstrap/dist/reactstrap.es.js":{"id":40,"meta":{"harmonyModule":true},"exports":["Alert","Container","Row","Col","Navbar","NavbarBrand","NavbarToggler","Nav","NavItem","NavDropdown","NavLink","Breadcrumb","BreadcrumbItem","Button","ButtonDropdown","ButtonGroup","ButtonToolbar","Dropdown","DropdownItem","DropdownMenu","DropdownToggle","Fade","Badge","Card","CardLink","CardGroup","CardDeck","CardColumns","CardBody","CardBlock","CardFooter","CardHeader","CardImg","CardImgOverlay","Carousel","UncontrolledCarousel","CarouselControl","CarouselItem","CarouselIndicators","CarouselCaption","CardSubtitle","CardText","CardTitle","Popover","PopoverContent","PopoverBody","PopoverTitle","PopoverHeader","Progress","Modal","ModalHeader","ModalBody","ModalFooter","PopperContent","PopperTargetHelper","Tooltip","Table","ListGroup","Form","FormFeedback","FormGroup","FormText","Input","InputGroup","InputGroupAddon","InputGroupButton","Label","Media","Pagination","PaginationItem","PaginationLink","TabContent","TabPane","Jumbotron","Collapse","ListGroupItem","ListGroupItemText","ListGroupItemHeading","UncontrolledAlert","UncontrolledButtonDropdown","UncontrolledDropdown","UncontrolledNavDropdown","UncontrolledTooltip"]},"../strapi-helper-plugin/node_modules/classnames/index.js":{"id":41,"meta":{}},"../strapi-helper-plugin/node_modules/lodash.isfunction/index.js":{"id":42,"meta":{}},"../strapi-helper-plugin/node_modules/lodash.isobject/index.js":{"id":43,"meta":{}},"../strapi-helper-plugin/node_modules/react-popper/lib/react-popper.js":{"id":44,"meta":{}},"../strapi-helper-plugin/node_modules/react-popper/lib/Manager.js":{"id":45,"meta":{}},"../strapi-helper-plugin/node_modules/react-popper/lib/Target.js":{"id":46,"meta":{}},"../strapi-helper-plugin/node_modules/react-popper/lib/Popper.js":{"id":47,"meta":{}},"../strapi-helper-plugin/node_modules/popper.js/dist/umd/popper.js":{"id":48,"meta":{}},"../strapi-helper-plugin/node_modules/react-popper/lib/Arrow.js":{"id":49,"meta":{}},"../strapi-helper-plugin/node_modules/lodash.tonumber/index.js":{"id":50,"meta":{}},"../strapi-helper-plugin/node_modules/react-transition-group/index.js":{"id":51,"meta":{}},"../strapi-helper-plugin/node_modules/react-transition-group/CSSTransition.js":{"id":52,"meta":{}},"../strapi-helper-plugin/node_modules/dom-helpers/class/addClass.js":{"id":53,"meta":{}},"../strapi-helper-plugin/node_modules/dom-helpers/class/hasClass.js":{"id":54,"meta":{}},"../strapi-helper-plugin/node_modules/dom-helpers/class/removeClass.js":{"id":55,"meta":{}},"../strapi-helper-plugin/node_modules/react-transition-group/TransitionGroup.js":{"id":56,"meta":{}},"../strapi-helper-plugin/node_modules/react-transition-group/utils/ChildMapping.js":{"id":57,"meta":{}},"../strapi-helper-plugin/node_modules/immutable/dist/immutable.js":{"id":58,"meta":{}},"../strapi-helper-plugin/node_modules/lodash/lodash.js":{"id":59,"meta":{}},"../strapi-helper-plugin/node_modules/webpack/buildin/module.js":{"id":60,"meta":{}}}} +>>>>>>> 1f29fde51ae8a03fa3d0303557552c0d6c060229 diff --git a/packages/strapi-helper-plugin/lib/internals/webpack/webpack.base.babel.js b/packages/strapi-helper-plugin/lib/internals/webpack/webpack.base.babel.js index 0c28910fe2..aa6eb29f3e 100755 --- a/packages/strapi-helper-plugin/lib/internals/webpack/webpack.base.babel.js +++ b/packages/strapi-helper-plugin/lib/internals/webpack/webpack.base.babel.js @@ -39,7 +39,7 @@ const URLs = { if (isAdmin && !isSetup) { // Load server configuration. - const serverConfig = path.resolve(process.env.PWD, '..', 'config', 'environments', _.lowerCase(process.env.NODE_ENV), 'server.json'); + const serverConfig = path.resolve(appPath, 'config', 'environments', _.lowerCase(process.env.NODE_ENV), 'server.json'); try { const server = require(serverConfig); @@ -63,18 +63,18 @@ const plugins = { if (process.env.npm_lifecycle_event === 'start') { try { - fs.accessSync(path.resolve(process.env.PWD, '..', 'plugins'), fs.constants.R_OK); + fs.accessSync(path.resolve(appPath, 'plugins'), fs.constants.R_OK); } catch (e) { // Allow app without plugins. plugins.exist = true; } // Read `plugins` directory. - plugins.src = isAdmin && !plugins.exist ? fs.readdirSync(path.resolve(process.env.PWD, '..', 'plugins')).filter(x => x[0] !== '.') : []; + plugins.src = isAdmin && !plugins.exist ? fs.readdirSync(path.resolve(appPath, 'plugins')).filter(x => x[0] !== '.') : []; // Construct object of plugin' paths. plugins.folders = plugins.src.reduce((acc, current) => { - acc[current] = path.resolve(process.env.PWD, '..', 'plugins', current, 'node_modules', 'strapi-helper-plugin', 'lib', 'src'); + acc[current] = path.resolve(appPath, 'plugins', current, 'node_modules', 'strapi-helper-plugin', 'lib', 'src'); return acc; }, {}); @@ -83,7 +83,7 @@ if (process.env.npm_lifecycle_event === 'start') { module.exports = (options) => ({ entry: options.entry, output: Object.assign({ // Compile into js/build.js - path: path.join(process.cwd(), 'admin', 'build') + path: path.join(process.env.PWD, 'admin', 'build') }, options.output), // Merge with env dependent settings module: { loaders: [{ @@ -111,13 +111,13 @@ module.exports = (options) => ({ }, }, }, - include: [path.join(process.cwd(), 'admin', 'src')] + include: [path.join(process.env.PWD, 'admin', 'src')] .concat(plugins.src.reduce((acc, current) => { - acc.push(path.resolve(process.env.PWD, '..', 'plugins', current, 'admin', 'src'), plugins.folders[current]); + acc.push(path.resolve(appPath, 'plugins', current, 'admin', 'src'), plugins.folders[current]); return acc; }, [])) - .concat([path.join(process.cwd(), 'node_modules', 'strapi-helper-plugin', 'lib', 'src')]) + .concat([path.join(process.env.PWD, 'node_modules', 'strapi-helper-plugin', 'lib', 'src')]) }, { // Transform our own .scss files test: /\.scss$/, diff --git a/packages/strapi-helper-plugin/lib/internals/webpack/webpack.dev.babel.js b/packages/strapi-helper-plugin/lib/internals/webpack/webpack.dev.babel.js index a9208844b3..aaeb9ef6a8 100755 --- a/packages/strapi-helper-plugin/lib/internals/webpack/webpack.dev.babel.js +++ b/packages/strapi-helper-plugin/lib/internals/webpack/webpack.dev.babel.js @@ -14,6 +14,10 @@ const postcssReporter = require('postcss-reporter'); const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; const LodashModuleReplacementPlugin = require('lodash-webpack-plugin'); +const isAdmin = process.env.IS_ADMIN === 'true'; +const appPath = isAdmin ? path.resolve(process.env.PWD, '..') : path.resolve(process.env.PWD, '..', '..'); +const isSetup = path.resolve(process.env.PWD, '..', '..') === path.resolve(process.env.INIT_CWD); + // Load plugins into the same build in development mode. const plugins = { exist: false, @@ -23,22 +27,22 @@ const plugins = { if (process.env.npm_lifecycle_event === 'start') { try { - fs.accessSync(path.resolve(process.env.PWD, '..', 'plugins'), fs.constants.R_OK); + fs.accessSync(path.resolve(appPath, 'plugins'), fs.constants.R_OK); } catch (e) { // Allow app without plugins. plugins.exist = true; } - plugins.src = process.env.IS_ADMIN === 'true' && !plugins.exist ? fs.readdirSync(path.resolve(process.env.PWD, '..', 'plugins')).filter(x => x[0] !== '.') : []; + plugins.src = process.env.IS_ADMIN === 'true' && !plugins.exist ? fs.readdirSync(path.resolve(appPath, 'plugins')).filter(x => x[0] !== '.') : []; plugins.folders = plugins.src.reduce((acc, current) => { - acc[current] = path.resolve(process.env.PWD, '..', 'plugins', current, 'node_modules', 'strapi-helper-plugin', 'lib', 'src'); + acc[current] = path.resolve(appPath, 'plugins', current, 'node_modules', 'strapi-helper-plugin', 'lib', 'src'); return acc; }, {}); } -const appPath = path.join(process.cwd(), 'admin', 'src', 'app.js') + const port = argv.port || process.env.PORT || 3000; module.exports = require('./webpack.base.babel')({ @@ -46,7 +50,7 @@ module.exports = require('./webpack.base.babel')({ entry: Object.assign({ main: [ `webpack-hot-middleware/client?path=http://localhost:${port}/__webpack_hmr`, - appPath, + path.join(appPath, 'admin', 'admin', 'src', 'app.js'), ] }, plugins.src.reduce((acc, current) => { acc[current] = path.resolve(plugins.folders[current], 'app.js'); @@ -94,7 +98,7 @@ module.exports = require('./webpack.base.babel')({ // Tell babel that we want presets and to hot-reload babelPresets: [ [ - require.resolve('babel-preset-latest'), + require.resolve('babel-preset-env'), { es2015: { modules: false, @@ -107,12 +111,27 @@ module.exports = require('./webpack.base.babel')({ ], alias: { moment: 'moment/moment.js', - 'lodash': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'lodash'), - 'immutable': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'immutable'), - 'react-intl': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react-intl'), - 'react': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react'), - 'react-dom': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react-dom'), - 'react-transition-group': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react-transition-group') + 'lodash': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'lodash'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'lodash'), + 'immutable': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'immutable'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'immutable'), + 'react-intl': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react-intl'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react-intl'), + 'react': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react'), + 'react-dom': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react-dom'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react-dom'), + 'react-transition-group': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react-transition-group'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react-transition-group'), + 'reactstrap': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'reactstrap'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'reactstrap') }, // Emit a source map for easier debugging @@ -126,7 +145,7 @@ module.exports = require('./webpack.base.babel')({ */ function templateContent() { const html = fs.readFileSync( - path.resolve(process.cwd(), 'admin/src/index.html') + path.resolve(appPath, 'admin', 'admin', 'src', 'index.html') ).toString(); return html; diff --git a/packages/strapi-helper-plugin/lib/internals/webpack/webpack.dll.babel.js b/packages/strapi-helper-plugin/lib/internals/webpack/webpack.dll.babel.js index 3d3a879e13..3022ec83e9 100755 --- a/packages/strapi-helper-plugin/lib/internals/webpack/webpack.dll.babel.js +++ b/packages/strapi-helper-plugin/lib/internals/webpack/webpack.dll.babel.js @@ -10,16 +10,22 @@ const path = require('path'); const webpack = require('webpack'); +const isAdmin = process.env.IS_ADMIN === 'true'; + +const appPath = isAdmin ? path.resolve(process.env.PWD, '..') : path.resolve(process.env.PWD, '..', '..'); +const isSetup = path.resolve(process.env.PWD, '..', '..') === path.resolve(process.env.INIT_CWD); module.exports = { - context: process.cwd(), + context: appPath, entry: { vendor: ['react', 'react-dom', 'react-intl', 'reactstrap', 'react-transition-group', 'immutable', 'lodash'] // Shared dependencies accross the admin and plugins. }, devtool: 'cheap-module-source-map', output: { filename: '[name].dll.js', - path: path.resolve(__dirname, 'dist/'), + path: isSetup ? + path.join(__dirname, 'dist'): + path.join(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'lib', 'internals', 'webpack', 'dist'), // The name of the global variable which the library's // require() function will be assigned to @@ -28,7 +34,9 @@ module.exports = { plugins: [ new webpack.DllPlugin({ name: '[name]_lib', - path: path.join(__dirname, 'manifest.json'), + path: isSetup ? + path.join(__dirname, 'manifest.json'): + path.join(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'lib', 'internals', 'webpack', 'manifest.json'), }) ], resolve: { @@ -40,13 +48,27 @@ module.exports = { ], alias: { moment: 'moment/moment.js', - 'lodash': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'lodash'), - 'immutable': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'immutable'), - 'react-intl': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react-intl'), - 'react': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react'), - 'react-dom': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react-dom'), - 'react-transition-group': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react-transition-group'), - 'reactstrap': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'reactstrap') + 'lodash': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'lodash'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'lodash'), + 'immutable': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'immutable'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'immutable'), + 'react-intl': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react-intl'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react-intl'), + 'react': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react'), + 'react-dom': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react-dom'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react-dom'), + 'react-transition-group': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react-transition-group'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react-transition-group'), + 'reactstrap': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'reactstrap'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'reactstrap') }, symlinks: false, extensions: [ diff --git a/packages/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js b/packages/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js index 6f15fefcd4..ab6086757c 100755 --- a/packages/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js +++ b/packages/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js @@ -17,22 +17,24 @@ const pluginId = pkg.name.replace(/^strapi-plugin-/i, ''); const dllPlugin = pkg.dllPlugin; const isAdmin = process.env.IS_ADMIN === 'true'; - const isSetup = path.resolve(process.env.PWD, '..', '..') === path.resolve(process.env.INIT_CWD); +const appPath = isAdmin ? path.resolve(process.env.PWD, '..') : path.resolve(process.env.PWD, '..', '..'); // Necessary configuration file to ensure that plugins will be loaded. const pluginsToInitialize = (() => { try { - return require(path.resolve(process.cwd(), 'admin', 'src', 'config', 'plugins.json')); + return require(path.resolve(appPath, 'admin', 'src', 'config', 'plugins.json')); } catch (e) { return []; } })(); - const plugins = [ new webpack.DllReferencePlugin({ - manifest: require(path.join(__dirname, 'manifest.json')), + manifest: require(isSetup ? + path.join(__dirname, 'manifest.json'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'lib', 'internals', 'webpack', 'manifest.json') + ), }), // Minify and optimize the JavaScript new webpack.optimize.UglifyJsPlugin({ @@ -57,9 +59,7 @@ const settings = { if (!isSetup) { // Load server configurations. - const serverConfig = isAdmin ? - path.resolve(process.env.PWD, '..', 'config', 'environments', _.lowerCase(process.env.NODE_ENV), 'server.json'): - path.resolve(process.env.PWD, '..', '..', 'config', 'environments', _.lowerCase(process.env.NODE_ENV), 'server.json'); + const serverConfig = path.resolve(appPath, 'config', 'environments', _.lowerCase(process.env.NODE_ENV), 'server.json'); const server = require(serverConfig); const pathAccess = _.get(server, 'admin.path', 'admin'); @@ -103,14 +103,20 @@ if (isAdmin) { })); } -const appPath = isAdmin - ? path.join(process.cwd(), 'admin', 'src', 'app.js') - : path.join(process.cwd(), 'node_modules', 'strapi-helper-plugin', 'lib', 'src', 'app.js'); +const main = (() => { + if (isAdmin && isSetup) { + return path.join(process.cwd(), 'admin', 'src', 'app.js'); + } else if (isAdmin) { + return path.join(appPath, 'admin', 'admin', 'src', 'app.js'); + } + + return path.join(process.env.PWD, 'node_modules', 'strapi-helper-plugin', 'lib', 'src', 'app.js'); +})(); module.exports = require('./webpack.base.babel')({ // In production, we skip all hot-reloading stuff entry: { - main: appPath, + main }, // Utilize long-term caching by adding content hashes (not compilation hashes) to compiled assets @@ -136,7 +142,7 @@ module.exports = require('./webpack.base.babel')({ // Babel presets configuration babelPresets: [ [ - require.resolve('babel-preset-latest'), + require.resolve('babel-preset-env'), { es2015: { modules: false, @@ -149,12 +155,27 @@ module.exports = require('./webpack.base.babel')({ alias: { moment: 'moment/moment.js', - 'lodash': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'lodash'), - 'immutable': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'immutable'), - 'react-intl': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react-intl'), - 'react': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react'), - 'react-dom': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react-dom'), - 'react-transition-group': path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react-transition-group') + 'lodash': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'lodash'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'lodash'), + 'immutable': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'immutable'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'immutable'), + 'react-intl': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react-intl'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react-intl'), + 'react': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react'), + 'react-dom': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react-dom'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react-dom'), + 'react-transition-group': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'react-transition-group'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'react-transition-group'), + 'reactstrap': isSetup ? + path.resolve(__dirname, '..', '..', '..', 'node_modules', 'reactstrap'): + path.resolve(appPath, 'admin', 'node_modules', 'strapi-helper-plugin', 'node_modules', 'reactstrap') }, devtool: 'cheap-module-source-map', diff --git a/packages/strapi-helper-plugin/package.json b/packages/strapi-helper-plugin/package.json index a007fb1870..d7ec9b5820 100755 --- a/packages/strapi-helper-plugin/package.json +++ b/packages/strapi-helper-plugin/package.json @@ -34,11 +34,12 @@ "babel-core": "^6.26.0", "babel-eslint": "^7.2.3", "babel-loader": "^7.1.1", + "babel-plugin-istanbul": "^4.1.5", "babel-plugin-transform-react-constant-elements": "^6.23.0", "babel-plugin-transform-react-inline-elements": "^6.22.0", "babel-plugin-transform-react-remove-prop-types": "^0.4.8", "babel-polyfill": "^6.26.0", - "babel-preset-latest": "^6.24.1", + "babel-preset-env": "^1.6.1", "babel-preset-react": "^6.24.1", "babel-preset-react-hmre": "^1.1.1", "babel-preset-stage-0": "^6.24.1", @@ -76,7 +77,7 @@ "node-sass": "^4.5.3", "null-loader": "^0.1.1", "plop": "^1.8.0", - "postcss-cssnext": "^3.0.2", + "postcss-cssnext": "^2.11.0", "postcss-focus": "^2.0.0", "postcss-loader": "^2.0.6", "postcss-reporter": "^5.0.0", diff --git a/packages/strapi-plugin-content-manager/package.json b/packages/strapi-plugin-content-manager/package.json index 49961b9ce0..1f082c006e 100755 --- a/packages/strapi-plugin-content-manager/package.json +++ b/packages/strapi-plugin-content-manager/package.json @@ -29,18 +29,18 @@ "description": "content-manager.plugin.description" }, "scripts": { - "analyze:clean": "node node_modules/strapi-helper-plugin/node_modules/.bin/rimraf stats.json", + "analyze:clean": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/rimraf stats.json", "preanalyze": "npm run analyze:clean", - "analyze": "node node_modules/strapi-helper-plugin/lib/internals/scripts/analyze.js", + "analyze": "node ./node_modules/strapi-helper-plugin/lib/internals/scripts/analyze.js", "prebuild": "npm run build:clean && npm run test", - "build:dev": "node node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development node node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress", - "build": "node node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production node node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress", - "build:clean": "node node_modules/strapi-helper-plugin/node_modules/.bin/rimraf admin/build", - "start": "node node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development PLUGIN=true node node_modules/strapi-helper-plugin/lib/server", - "generate": "node node_modules/plop/plop.js --plopfile node_modules/strapi-helper-plugin/lib/internals/generators/index.js", - "lint": "node node_modules/strapi-helper-plugin/node_modules/.bin/eslint --ignore-path .gitignore --config node_modules/strapi-helper-plugin/lib/internals/eslint/.eslintrc.json admin", + "build:dev": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development node ./node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress", + "build": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production node ./node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress", + "build:clean": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/rimraf admin/build", + "start": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development PLUGIN=true node ./node_modules/strapi-helper-plugin/lib/server", + "generate": "node ./node_modules/plop/plop.js --plopfile ./node_modules/strapi-helper-plugin/lib/internals/generators/index.js", + "lint": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/eslint --ignore-path .gitignore --config ./node_modules/strapi-helper-plugin/lib/internals/eslint/.eslintrc.json admin", "pretest": "npm run lint", - "prettier": "node node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"", + "prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"", "test": "echo Tests are not implemented.", "prepublishOnly": "npm run build" }, diff --git a/packages/strapi-plugin-content-type-builder/package.json b/packages/strapi-plugin-content-type-builder/package.json index 885a9680ff..9e3bf9d828 100755 --- a/packages/strapi-plugin-content-type-builder/package.json +++ b/packages/strapi-plugin-content-type-builder/package.json @@ -8,18 +8,18 @@ "description": "content-type-builder.plugin.description" }, "scripts": { - "analyze:clean": "node node_modules/strapi-helper-plugin/node_modules/.bin/rimraf stats.json", + "analyze:clean": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/rimraf stats.json", "preanalyze": "npm run analyze:clean", - "analyze": "node node_modules/strapi-helper-plugin/lib/internals/scripts/analyze.js", + "analyze": "node ./node_modules/strapi-helper-plugin/lib/internals/scripts/analyze.js", "prebuild": "npm run build:clean && npm run test", - "build:dev": "node node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development node node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress", - "build": "node node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production node node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress", - "build:clean": "node node_modules/strapi-helper-plugin/node_modules/.bin/rimraf admin/build", - "start": "node node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development node node_modules/strapi-helper-plugin/lib/server", - "generate": "node node_modules/plop/plop.js --plopfile node_modules/strapi-helper-plugin/lib/internals/generators/index.js", - "lint": "node node_modules/strapi-helper-plugin/node_modules/.bin/eslint --ignore-path .gitignore --config node_modules/strapi-helper-plugin/lib/internals/eslint/.eslintrc.json admin", + "build:dev": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development node ./node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress", + "build": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production node node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress", + "build:clean": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/rimraf admin/build", + "start": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development node ./node_modules/strapi-helper-plugin/lib/server", + "generate": "node ./node_modules/plop/plop.js --plopfile node_modules/strapi-helper-plugin/lib/internals/generators/index.js", + "lint": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/eslint --ignore-path .gitignore --config ./node_modules/strapi-helper-plugin/lib/internals/eslint/.eslintrc.json admin", "pretest": "npm run lint", - "prettier": "node node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"", + "prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"", "test": "echo Tests are not implemented.", "prepublishOnly": "npm run build" }, diff --git a/packages/strapi-plugin-settings-manager/package.json b/packages/strapi-plugin-settings-manager/package.json index 53c713332b..fdc60b56aa 100755 --- a/packages/strapi-plugin-settings-manager/package.json +++ b/packages/strapi-plugin-settings-manager/package.json @@ -8,18 +8,18 @@ "description": "settings-manager.plugin.description" }, "scripts": { - "analyze:clean": "node node_modules/strapi-helper-plugin/node_modules/.bin/rimraf stats.json", + "analyze:clean": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/rimraf stats.json", "preanalyze": "npm run analyze:clean", - "analyze": "node node_modules/strapi-helper-plugin/lib/internals/scripts/analyze.js", + "analyze": "node ./node_modules/strapi-helper-plugin/lib/internals/scripts/analyze.js", "prebuild": "npm run build:clean && npm run test", - "build:dev": "node node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development node node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress", - "build": "node node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production node node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress", - "build:clean": "node node_modules/strapi-helper-plugin/node_modules/.bin/rimraf admin/build", - "start": "node node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development node node_modules/strapi-helper-plugin/lib/server", - "generate": "node node_modules/strapi-helper-plugin/node_modules/.bin/plop --plopfile node_modules/strapi-helper-plugin/lib/internals/generators/index.js", - "lint": "node node_modules/strapi-helper-plugin/node_modules/.bin/eslint --ignore-path .gitignore --config node_modules/strapi-helper-plugin/lib/internals/eslint/.eslintrc.json admin", + "build:dev": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development node ./node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress", + "build": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production node node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress", + "build:clean": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/rimraf admin/build", + "start": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development node ./node_modules/strapi-helper-plugin/lib/server", + "generate": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/plop --plopfile ./node_modules/strapi-helper-plugin/lib/internals/generators/index.js", + "lint": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/eslint --ignore-path .gitignore --config ./node_modules/strapi-helper-plugin/lib/internals/eslint/.eslintrc.json admin", "pretest": "npm run lint", - "prettier": "node node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"", + "prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"", "test": "echo Tests are not implemented.", "prepublishOnly": "npm run build" }, diff --git a/scripts/setup.js b/scripts/setup.js index e8bee8c995..50b831f3f3 100755 --- a/scripts/setup.js +++ b/scripts/setup.js @@ -22,8 +22,8 @@ shell.cd('../strapi-helper-plugin'); shell.exec('npm link'); shell.cd('../strapi-admin'); -shell.exec('npm install ../strapi-utils'); shell.exec('npm install ../strapi-helper-plugin'); +shell.exec('npm install ../strapi-utils'); shell.rm('-f', 'package-lock.json'); shell.exec('npm link'); shell.exec('npm run build');