From 65c4271b53904d8475ba9fb7f20f654f5dca9fd0 Mon Sep 17 00:00:00 2001 From: Bogdan Cochior <bogdan.cochior@thinslices.com> Date: Tue, 9 Jan 2018 14:39:14 +0200 Subject: [PATCH] Bootstrap xPub-faraday --- packages/xpub-faraday/README.md | 3 + packages/xpub-faraday/app.js | 7 ++ packages/xpub-faraday/app/DummyPage.js | 11 ++ packages/xpub-faraday/app/app.js | 39 ++++++++ .../app/config/journal/article-sections.js | 30 ++++++ .../app/config/journal/article-types.js | 18 ++++ .../app/config/journal/decisions.js | 24 +++++ .../app/config/journal/declarations.js | 28 ++++++ .../app/config/journal/editors.js | 32 ++++++ .../xpub-faraday/app/config/journal/index.js | 9 ++ .../app/config/journal/metadata.js | 4 + .../app/config/journal/recommendations.js | 17 ++++ .../xpub-faraday/app/config/journal/roles.js | 6 ++ .../app/config/journal/sections.js | 6 ++ .../xpub-faraday/app/index-production.html | 10 ++ packages/xpub-faraday/app/index.html | 10 ++ packages/xpub-faraday/app/routes.js | 25 +++++ packages/xpub-faraday/config/authsome.js | 3 + packages/xpub-faraday/config/components.json | 5 + packages/xpub-faraday/config/default.js | 50 ++++++++++ packages/xpub-faraday/config/validations.js | 70 +++++++++++++ packages/xpub-faraday/package.json | 73 ++++++++++++++ .../static/pubsweet-rgb-small.jpg | Bin 0 -> 48615 bytes packages/xpub-faraday/static/pubsweet.jpg | Bin 0 -> 48615 bytes .../xpub-faraday/webpack/babel-includes.js | 13 +++ .../xpub-faraday/webpack/common-resolve.js | 26 +++++ .../xpub-faraday/webpack/rules.development.js | 83 ++++++++++++++++ .../xpub-faraday/webpack/rules.production.js | 94 ++++++++++++++++++ .../xpub-faraday/webpack/string-replace.js | 23 +++++ .../webpack/webpack.development.config.js | 52 ++++++++++ .../webpack/webpack.production.config.js | 63 ++++++++++++ .../webpack/webpack.test.config.js | 52 ++++++++++ yarn.lock | 2 +- 33 files changed, 887 insertions(+), 1 deletion(-) create mode 100644 packages/xpub-faraday/README.md create mode 100644 packages/xpub-faraday/app.js create mode 100644 packages/xpub-faraday/app/DummyPage.js create mode 100644 packages/xpub-faraday/app/app.js create mode 100644 packages/xpub-faraday/app/config/journal/article-sections.js create mode 100644 packages/xpub-faraday/app/config/journal/article-types.js create mode 100644 packages/xpub-faraday/app/config/journal/decisions.js create mode 100644 packages/xpub-faraday/app/config/journal/declarations.js create mode 100644 packages/xpub-faraday/app/config/journal/editors.js create mode 100644 packages/xpub-faraday/app/config/journal/index.js create mode 100644 packages/xpub-faraday/app/config/journal/metadata.js create mode 100644 packages/xpub-faraday/app/config/journal/recommendations.js create mode 100644 packages/xpub-faraday/app/config/journal/roles.js create mode 100644 packages/xpub-faraday/app/config/journal/sections.js create mode 100644 packages/xpub-faraday/app/index-production.html create mode 100644 packages/xpub-faraday/app/index.html create mode 100644 packages/xpub-faraday/app/routes.js create mode 100644 packages/xpub-faraday/config/authsome.js create mode 100644 packages/xpub-faraday/config/components.json create mode 100644 packages/xpub-faraday/config/default.js create mode 100644 packages/xpub-faraday/config/validations.js create mode 100644 packages/xpub-faraday/package.json create mode 100644 packages/xpub-faraday/static/pubsweet-rgb-small.jpg create mode 100644 packages/xpub-faraday/static/pubsweet.jpg create mode 100644 packages/xpub-faraday/webpack/babel-includes.js create mode 100644 packages/xpub-faraday/webpack/common-resolve.js create mode 100644 packages/xpub-faraday/webpack/rules.development.js create mode 100644 packages/xpub-faraday/webpack/rules.production.js create mode 100644 packages/xpub-faraday/webpack/string-replace.js create mode 100644 packages/xpub-faraday/webpack/webpack.development.config.js create mode 100644 packages/xpub-faraday/webpack/webpack.production.config.js create mode 100644 packages/xpub-faraday/webpack/webpack.test.config.js diff --git a/packages/xpub-faraday/README.md b/packages/xpub-faraday/README.md new file mode 100644 index 000000000..64c7aaf4b --- /dev/null +++ b/packages/xpub-faraday/README.md @@ -0,0 +1,3 @@ +## xPub-faraday + +An MVP implementation of the first design sessions which allows a user to go through the process of creating a submission, assigning editors and reviewers, submitting reviews and submitting a decision. \ No newline at end of file diff --git a/packages/xpub-faraday/app.js b/packages/xpub-faraday/app.js new file mode 100644 index 000000000..084fe15f5 --- /dev/null +++ b/packages/xpub-faraday/app.js @@ -0,0 +1,7 @@ +const logger = require('@pubsweet/logger') +const startServer = require('pubsweet-server') + +startServer().catch(err => { + logger.error('FATAL ERROR, SHUTTING DOWN:', err) + process.exit(1) +}) diff --git a/packages/xpub-faraday/app/DummyPage.js b/packages/xpub-faraday/app/DummyPage.js new file mode 100644 index 000000000..17dd3ef96 --- /dev/null +++ b/packages/xpub-faraday/app/DummyPage.js @@ -0,0 +1,11 @@ +import React, { Component } from 'react' +import { withJournal } from 'xpub-journal' + +class DummyComp extends Component { + render() { + console.log(this) + return <div>Dummy page </div> + } +} + +export default withJournal(DummyComp) diff --git a/packages/xpub-faraday/app/app.js b/packages/xpub-faraday/app/app.js new file mode 100644 index 000000000..3283086e0 --- /dev/null +++ b/packages/xpub-faraday/app/app.js @@ -0,0 +1,39 @@ +import React from 'react' +import ReactDOM from 'react-dom' +import { AppContainer } from 'react-hot-loader' +import createHistory from 'history/createBrowserHistory' + +import { configureStore, Root } from 'pubsweet-client' +import { JournalProvider } from 'xpub-journal' +import 'xpub-theme' + +import * as journal from './config/journal' +import Routes from './routes' + +const history = createHistory() +const store = configureStore(history, {}) +const theme = {} + +const render = () => { + ReactDOM.render( + <AppContainer> + <JournalProvider journal={journal}> + <Root + history={history} + routes={<Routes />} + store={store} + theme={theme} + /> + </JournalProvider> + </AppContainer>, + document.getElementById('root'), + ) +} + +render() + +if (module.hot) { + module.hot.accept('./routes', () => { + render() + }) +} diff --git a/packages/xpub-faraday/app/config/journal/article-sections.js b/packages/xpub-faraday/app/config/journal/article-sections.js new file mode 100644 index 000000000..72c45c40f --- /dev/null +++ b/packages/xpub-faraday/app/config/journal/article-sections.js @@ -0,0 +1,30 @@ +export default [ + { + label: 'Cognitive Psychology', + value: 'cognitive-psychology', + }, + { + label: 'Social Psychology', + value: 'social-psychology', + }, + { + label: 'Personality Psychology', + value: 'personality-psychology', + }, + { + label: 'Developmental Psychology', + value: 'developmental-psychology', + }, + { + label: 'Clinical Psychology', + value: 'clinical-psychology', + }, + { + label: 'Organizational Behavior', + value: 'organizational-behavior', + }, + { + label: 'Methodology and Research Practice', + value: 'methodology', + }, +] diff --git a/packages/xpub-faraday/app/config/journal/article-types.js b/packages/xpub-faraday/app/config/journal/article-types.js new file mode 100644 index 000000000..409bf85ce --- /dev/null +++ b/packages/xpub-faraday/app/config/journal/article-types.js @@ -0,0 +1,18 @@ +export default [ + { + label: 'Original Research Report', + value: 'original-research', + }, + { + label: 'Review', + value: 'review', + }, + { + label: 'Opinion/Commentary', + value: 'opinion', + }, + { + label: 'Registered Report', + value: 'registered-report', + }, +] diff --git a/packages/xpub-faraday/app/config/journal/decisions.js b/packages/xpub-faraday/app/config/journal/decisions.js new file mode 100644 index 000000000..cf4c46bb9 --- /dev/null +++ b/packages/xpub-faraday/app/config/journal/decisions.js @@ -0,0 +1,24 @@ +export default { + accept: { + color: 'green', + label: 'Accept', + message: 'The submission has been accepted for publication', + }, + major: { + color: 'yellow', + label: 'Major revisions', + message: + 'The requested changes must be made before submission for review', + }, + minor: { + color: 'orange', + label: 'Minor revisions', + message: + 'The submission will be accepted for publication after minor changes', + }, + reject: { + color: 'red', + label: 'Reject', + message: 'The submission is not acceptable for publication', + }, +} diff --git a/packages/xpub-faraday/app/config/journal/declarations.js b/packages/xpub-faraday/app/config/journal/declarations.js new file mode 100644 index 000000000..da1aa76c3 --- /dev/null +++ b/packages/xpub-faraday/app/config/journal/declarations.js @@ -0,0 +1,28 @@ +export default { + questions: [ + { + id: 'openData', + legend: 'Data is open', + }, + { + id: 'previouslySubmitted', + legend: 'Previously submitted', + }, + { + id: 'openPeerReview', + legend: 'Open peer review', + }, + { + id: 'streamlinedReview', + legend: 'Streamlined review', + }, + { + id: 'researchNexus', + legend: 'Submitted as part of the research nexus?', + }, + { + id: 'preregistered', + legend: 'Pre-registered?', + }, + ], +} diff --git a/packages/xpub-faraday/app/config/journal/editors.js b/packages/xpub-faraday/app/config/journal/editors.js new file mode 100644 index 000000000..3132c2a78 --- /dev/null +++ b/packages/xpub-faraday/app/config/journal/editors.js @@ -0,0 +1,32 @@ +export default { + handlingEditor: [ + { + name: 'Handling Editor One', + user: 5, + }, + { + name: 'Handling Editor Two', + user: 6, + }, + ], + managingEditor: [ + { + name: 'Managing Editor One', + user: 1, + }, + { + name: 'Managing Editor Two', + user: 2, + }, + ], + seniorEditor: [ + { + name: 'Senior Editor One', + user: 3, + }, + { + name: 'Senior Editor Two', + user: 4, + }, + ], +} diff --git a/packages/xpub-faraday/app/config/journal/index.js b/packages/xpub-faraday/app/config/journal/index.js new file mode 100644 index 000000000..30bc3a405 --- /dev/null +++ b/packages/xpub-faraday/app/config/journal/index.js @@ -0,0 +1,9 @@ +export { default as metadata } from './metadata' +export { default as declarations } from './declarations' +export { default as decisions } from './decisions' +export { default as recommendations } from './recommendations' +export { default as sections } from './sections' +export { default as articleSections } from './article-sections' +export { default as articleTypes } from './article-types' +export { default as editors } from './editors' +export { default as roles } from './roles' diff --git a/packages/xpub-faraday/app/config/journal/metadata.js b/packages/xpub-faraday/app/config/journal/metadata.js new file mode 100644 index 000000000..5a9fb6318 --- /dev/null +++ b/packages/xpub-faraday/app/config/journal/metadata.js @@ -0,0 +1,4 @@ +export default { + issn: '2474-7394', + name: 'Collabra: Psychology', +} diff --git a/packages/xpub-faraday/app/config/journal/recommendations.js b/packages/xpub-faraday/app/config/journal/recommendations.js new file mode 100644 index 000000000..0138243fd --- /dev/null +++ b/packages/xpub-faraday/app/config/journal/recommendations.js @@ -0,0 +1,17 @@ +export default [ + { + color: 'green', + label: 'Accept', + value: 'accept', + }, + { + color: 'orange', + label: 'Revise', + value: 'revise', + }, + { + color: 'red', + label: 'Reject', + value: 'reject', + }, +] diff --git a/packages/xpub-faraday/app/config/journal/roles.js b/packages/xpub-faraday/app/config/journal/roles.js new file mode 100644 index 000000000..4021e6ecc --- /dev/null +++ b/packages/xpub-faraday/app/config/journal/roles.js @@ -0,0 +1,6 @@ +export default { + author: 'Author', + handlingEditor: 'Handling Editor', + managingEditor: 'Managing Editor', + seniorEditor: 'Senior Editor', +} diff --git a/packages/xpub-faraday/app/config/journal/sections.js b/packages/xpub-faraday/app/config/journal/sections.js new file mode 100644 index 000000000..a3b483e90 --- /dev/null +++ b/packages/xpub-faraday/app/config/journal/sections.js @@ -0,0 +1,6 @@ +export default [ + { + id: 'submissions', + label: 'My Submissions', + }, +] diff --git a/packages/xpub-faraday/app/index-production.html b/packages/xpub-faraday/app/index-production.html new file mode 100644 index 000000000..c4113cccd --- /dev/null +++ b/packages/xpub-faraday/app/index-production.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset=utf-8> + <title><%= htmlWebpackPlugin.options.title %></title> +</head> +<body> +<div id="root"></div> +</body> +</html> diff --git a/packages/xpub-faraday/app/index.html b/packages/xpub-faraday/app/index.html new file mode 100644 index 000000000..4210e6fed --- /dev/null +++ b/packages/xpub-faraday/app/index.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> +</head> +<body> + <div id="root"></div> + <script src="/assets/app.js"></script> +</body> +</html> diff --git a/packages/xpub-faraday/app/routes.js b/packages/xpub-faraday/app/routes.js new file mode 100644 index 000000000..3dafc287b --- /dev/null +++ b/packages/xpub-faraday/app/routes.js @@ -0,0 +1,25 @@ +import React from 'react' +import { Route } from 'react-router-dom' + +import App from 'pubsweet-component-xpub-app/src/components' + +import { + PrivateRoute, + LoginPage, + LogoutPage, +} from 'pubsweet-component-xpub-authentication/src/components' + +import DashboardPage from 'pubsweet-component-xpub-dashboard/src/components/DashboardPage' + +import DummyPage from './DummyPage' + +const Routes = () => ( + <App> + <Route component={LoginPage} exact path="/login" /> + <PrivateRoute component={DashboardPage} exact path="/" /> + <PrivateRoute component={DummyPage} exact path="/dummy" /> + <PrivateRoute component={LogoutPage} exact path="/logout" /> + </App> +) + +export default Routes diff --git a/packages/xpub-faraday/config/authsome.js b/packages/xpub-faraday/config/authsome.js new file mode 100644 index 000000000..d9ffa667b --- /dev/null +++ b/packages/xpub-faraday/config/authsome.js @@ -0,0 +1,3 @@ +module.exports = (user, operation, project, version) => + // console.log({ user, operation, project, version }) + true // TODO diff --git a/packages/xpub-faraday/config/components.json b/packages/xpub-faraday/config/components.json new file mode 100644 index 000000000..45b4d9e63 --- /dev/null +++ b/packages/xpub-faraday/config/components.json @@ -0,0 +1,5 @@ +[ + "pubsweet-component-xpub-app", + "pubsweet-component-xpub-authentication", + "pubsweet-component-xpub-dashboard" +] diff --git a/packages/xpub-faraday/config/default.js b/packages/xpub-faraday/config/default.js new file mode 100644 index 000000000..336a9c38c --- /dev/null +++ b/packages/xpub-faraday/config/default.js @@ -0,0 +1,50 @@ +const path = require('path') +const components = require('./components.json') +const logger = require('winston') + +const environment = process.env.NODE_ENV || 'development' + +module.exports = { + authsome: { + mode: path.resolve(__dirname, 'authsome.js'), + teams: { + // TODO + }, + }, + validations: path.resolve(__dirname, 'validations.js'), + pubsweet: { + components, + }, + 'pubsweet-server': { + dbPath: + process.env.PUBSWEET_DB || + path.join(__dirname, '..', 'api', 'db', environment), + logger, + }, + 'pubsweet-client': { + API_ENDPOINT: '/api', + 'login-redirect': '/', + 'redux-log': false, + theme: process.env.PUBSWEET_THEME, + }, + 'mail-transport': { + sendmail: true, + }, + 'password-reset': { + url: + process.env.PUBSWEET_PASSWORD_RESET_URL || + 'http://localhost:3000/password-reset', + sender: process.env.PUBSWEET_PASSWORD_RESET_SENDER || 'dev@example.com', + }, + 'pubsweet-component-ink-backend': { + inkEndpoint: + process.env.INK_ENDPOINT || 'http://inkdemo-api.coko.foundation', + email: process.env.INK_USERNAME, + password: process.env.INK_PASSWORD, + maxRetries: 500, + recipes: { + 'editoria-typescript': '2', + }, + }, + publicKeys: ['pubsweet-client', 'authsome', 'validations'], +} diff --git a/packages/xpub-faraday/config/validations.js b/packages/xpub-faraday/config/validations.js new file mode 100644 index 000000000..60fee5c25 --- /dev/null +++ b/packages/xpub-faraday/config/validations.js @@ -0,0 +1,70 @@ +const Joi = require('joi') + +module.exports = { + collection: { + // project + collectionType: Joi.string(), + created: Joi.date(), + title: Joi.string(), + status: Joi.string(), + reviewers: Joi.array(), + }, + fragment: [ + { + fragmentType: Joi.valid('version').required(), + created: Joi.date(), + version: Joi.number(), + submitted: Joi.date(), + source: Joi.string(), // TODO: move to a file + metadata: Joi.object({ + title: Joi.string(), + abstract: Joi.string(), + articleType: Joi.string(), + articleSection: Joi.array().items(Joi.string()), + authors: Joi.array(), + keywords: Joi.array(), + }), + declarations: Joi.object().unknown(), + suggestions: Joi.object({ + reviewers: Joi.object({ + suggested: Joi.array().items(Joi.string()), + opposed: Joi.array().items(Joi.string()), + }), + editors: Joi.object({ + suggested: Joi.array().items(Joi.string()), + opposed: Joi.array().items(Joi.string()), + }), + }), + files: Joi.object({ + manuscript: Joi.object({ + name: Joi.string().required(), + type: Joi.string(), + size: Joi.number(), + url: Joi.string(), + }), + supplementary: Joi.array().items( + Joi.object({ + name: Joi.string().required(), + type: Joi.string(), + size: Joi.number(), + url: Joi.string(), + }), + ), + }), + notes: Joi.object({ + fundingAcknowledgement: Joi.string(), + specialInstructions: Joi.string(), + }), + reviewers: Joi.array(), + lock: Joi.object(), + decision: Joi.object(), + }, + ], + user: { + name: Joi.string(), // TODO: add "name" to the login form + roles: Joi.object(), + }, + team: { + group: Joi.string(), + }, +} diff --git a/packages/xpub-faraday/package.json b/packages/xpub-faraday/package.json new file mode 100644 index 000000000..85b2bca01 --- /dev/null +++ b/packages/xpub-faraday/package.json @@ -0,0 +1,73 @@ +{ + "name": "xpub-faraday", + "version": "0.0.1", + "description": "xpub configured for faraday", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://gitlab.coko.foundation/xpub/xpub" + }, + "dependencies": { + "@pubsweet/ui": "^0.1.1", + "babel-core": "^6.26.0", + "config": "^1.26.2", + "font-awesome": "^4.7.0", + "fs-extra": "^4.0.2", + "history": "^4.7.2", + "joi": "^10.0.6", + "loadable-components": "^0.3.0", + "moment": "^2.18.1", + "prop-types": "^15.5.10", + "pubsweet": "^1.1.1", + "pubsweet-client": "^1.1.1", + "pubsweet-component-ink-backend": "^0.1.1", + "pubsweet-component-ink-frontend": "^0.2.3", + "pubsweet-component-xpub-app": "^0.0.2", + "pubsweet-component-xpub-authentication": "^0.0.2", + "pubsweet-component-xpub-dashboard": "^0.0.2", + "pubsweet-component-xpub-manuscript": "^0.0.2", + "pubsweet-component-xpub-review": "^0.0.2", + "pubsweet-component-xpub-submit": "^0.0.2", + "pubsweet-server": "^1.0.1", + "react": "^15.6.1", + "react-dom": "^15.6.1", + "react-router-dom": "^4.2.2", + "recompose": "^0.26.0", + "redux": "^3.6.0", + "redux-form": "^7.0.3", + "redux-logger": "^3.0.1", + "winston": "^2.4.0", + "xpub-journal": "^0.0.2", + "xpub-selectors": "^0.0.2", + "xpub-theme": "^0.0.2" + }, + "devDependencies": { + "babel-core": "^6.26.0", + "babel-loader": "^7.1.2", + "babel-preset-env": "^1.6.0", + "babel-preset-react": "^6.24.1", + "babel-preset-stage-2": "^6.24.1", + "clean-webpack-plugin": "^0.1.17", + "copy-webpack-plugin": "^4.0.1", + "css-loader": "^0.28.4", + "extract-text-webpack-plugin": "^3.0.0", + "file-loader": "^1.1.5", + "html-webpack-plugin": "^2.24.0", + "joi-browser": "^10.0.6", + "node-sass": "^4.5.3", + "react-hot-loader": "^3.1.1", + "sass-loader": "^6.0.6", + "string-replace-loader": "^1.3.0", + "style-loader": "^0.19.0", + "uglifyjs-webpack-plugin": "^1.1.2", + "webpack": "^3.8.1", + "webpack-dev-middleware": "^1.12.0", + "webpack-hot-middleware": "^2.20.0" + }, + "scripts": { + "setupdb": "pubsweet setupdb ./", + "reset": "pubsweet setupdb --clobber ./", + "start": "pubsweet start", + "build": "NODE_ENV=production pubsweet build" + } +} diff --git a/packages/xpub-faraday/static/pubsweet-rgb-small.jpg b/packages/xpub-faraday/static/pubsweet-rgb-small.jpg new file mode 100644 index 0000000000000000000000000000000000000000..57efdcb962ffac6c6ce60777af38e62d4f872c87 GIT binary patch literal 48615 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 CVZ9Lm literal 0 HcmV?d00001 diff --git a/packages/xpub-faraday/static/pubsweet.jpg b/packages/xpub-faraday/static/pubsweet.jpg new file mode 100644 index 0000000000000000000000000000000000000000..57efdcb962ffac6c6ce60777af38e62d4f872c87 GIT binary patch literal 48615 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 CVZ9Lm literal 0 HcmV?d00001 diff --git a/packages/xpub-faraday/webpack/babel-includes.js b/packages/xpub-faraday/webpack/babel-includes.js new file mode 100644 index 000000000..d4e02f637 --- /dev/null +++ b/packages/xpub-faraday/webpack/babel-includes.js @@ -0,0 +1,13 @@ +const path = require('path') + +// paths that use ES6 scripts and CSS modules +// TODO: compile components to ES5 for distribution + +module.exports = [ + path.join(__dirname, '..', 'app'), + /pubsweet-[^/]+\/src/, + /xpub-[^/]+\/src/, + /component-[^/]+\/src/, + /wax-[^/]+\/src/, + /@pubsweet\/[^/]+\/src/, +] diff --git a/packages/xpub-faraday/webpack/common-resolve.js b/packages/xpub-faraday/webpack/common-resolve.js new file mode 100644 index 000000000..ecc8f6919 --- /dev/null +++ b/packages/xpub-faraday/webpack/common-resolve.js @@ -0,0 +1,26 @@ +const path = require('path') +const config = require('config') +const fs = require('fs-extra') +const { pick } = require('lodash') + +// can't use node-config in webpack so save whitelisted client config into the build and alias it below +const outputPath = path.resolve(__dirname, '..', '_build', 'config') +const clientConfig = pick(config, config.publicKeys) +fs.ensureDirSync(outputPath) +const clientConfigPath = path.join(outputPath, 'client-config.json') +fs.writeJsonSync(clientConfigPath, clientConfig, { spaces: 2 }) + +module.exports = { + // symlinks: false, // needed so that babel doesn't look for plugins in components + modules: [ + path.resolve(__dirname, '..'), // needed for resolving app/routes + path.resolve(__dirname, '../node_modules'), + path.resolve(__dirname, '../../../node_modules'), + 'node_modules', + ], + alias: { + joi: 'joi-browser', + config: clientConfigPath, + }, + extensions: ['.js', '.jsx'], +} diff --git a/packages/xpub-faraday/webpack/rules.development.js b/packages/xpub-faraday/webpack/rules.development.js new file mode 100644 index 000000000..2aebd5433 --- /dev/null +++ b/packages/xpub-faraday/webpack/rules.development.js @@ -0,0 +1,83 @@ +const include = require('./babel-includes') +const stringReplaceRule = require('./string-replace') + +module.exports = [ + stringReplaceRule, + { + oneOf: [ + // ES6 JS + { + test: /\.jsx?$/, + include, + loader: 'babel-loader', + options: { + presets: [ + [require('babel-preset-env'), { modules: false }], + require('babel-preset-react'), + require('babel-preset-stage-2'), + ], + plugins: [require('react-hot-loader/babel')], + }, + }, + + // CSS Modules + { + test: /\.local\.css$/, + include, + use: [ + 'style-loader', + { + loader: 'css-loader', + options: { + modules: true, + localIdentName: '[name]_[local]-[hash:base64:8]', + }, + }, + ], + }, + + // SCSS Modules + { + test: /\.local\.scss$/, + include, + use: [ + 'style-loader', + { + loader: 'css-loader', + options: { + modules: true, + importLoaders: 1, + localIdentName: '[name]_[local]-[hash:base64:8]', + }, + }, + 'sass-loader', + ], + }, + + // global CSS + { + test: /\.css$/, + use: ['style-loader', 'css-loader'], + }, + + // global SCSS + { + test: /\.scss$/, + use: [ + 'style-loader', + 'css-loader', // TODO: importLoaders: 1? + 'sass-loader', + ], + }, + + // files + { + exclude: [/\.jsx?$/, /\.html$/, /\.json$/], + loader: 'file-loader', + options: { + name: 'static/media/[name].[hash:8].[ext]', + }, + }, + ], + }, +] diff --git a/packages/xpub-faraday/webpack/rules.production.js b/packages/xpub-faraday/webpack/rules.production.js new file mode 100644 index 000000000..17abad8ea --- /dev/null +++ b/packages/xpub-faraday/webpack/rules.production.js @@ -0,0 +1,94 @@ +const ExtractTextPlugin = require('extract-text-webpack-plugin') +const include = require('./babel-includes') +const stringReplaceRule = require('./string-replace') + +module.exports = [ + stringReplaceRule, + { + oneOf: [ + // ES6 JS + { + test: /\.jsx?$/, + include, + loader: 'babel-loader', + options: { + presets: [ + [require('babel-preset-env'), { modules: false }], + require('babel-preset-react'), + require('babel-preset-stage-2'), + ], + }, + }, + + // CSS Modules + { + test: /\.local\.css$/, + include, + use: ExtractTextPlugin.extract({ + fallback: 'style-loader', + use: [ + { + loader: 'css-loader', + options: { + modules: true, + localIdentName: + '[name]_[local]-[hash:base64:8]', + }, + }, + ], + }), + }, + + // SCSS Modules + { + test: /\.local\.scss$/, + include, + use: ExtractTextPlugin.extract({ + fallback: 'style-loader', + use: [ + { + loader: 'css-loader', + options: { + modules: true, + importLoaders: 1, + localIdentName: + '[name]_[local]-[hash:base64:8]', + }, + }, + 'sass-loader', + ], + }), + }, + + // global CSS + { + test: /\.css$/, + use: ExtractTextPlugin.extract({ + fallback: 'style-loader', + use: ['css-loader'], + }), + }, + + // global SCSS + { + test: /\.scss$/, + use: ExtractTextPlugin.extract({ + fallback: 'style-loader', + use: [ + 'css-loader', // TODO: importLoaders: 1? + 'sass-loader', + ], + }), + }, + + // files + { + exclude: [/\.jsx?$/, /\.html$/, /\.json$/], + loader: 'file-loader', + options: { + name: 'static/media/[name].[hash:8].[ext]', + }, + }, + ], + }, +] diff --git a/packages/xpub-faraday/webpack/string-replace.js b/packages/xpub-faraday/webpack/string-replace.js new file mode 100644 index 000000000..16adfeaff --- /dev/null +++ b/packages/xpub-faraday/webpack/string-replace.js @@ -0,0 +1,23 @@ +// replace "PUBSWEET_COMPONENTS" string in pubsweet-client + +const components = require('../config/components.json') + +const requireComponentsString = components + .filter(name => { + const component = require(name) + // "client" or "frontend" for backwards compatibility + return component.client || component.frontend + }) + .map(name => `require('${name}')`) + .join(', ') + +module.exports = { + test: /\.js$/, + enforce: 'pre', + // include: /pubsweet-client\/src\/components/, + loader: 'string-replace-loader', + options: { + search: 'PUBSWEET_COMPONENTS', + replace: `[${requireComponentsString}]`, + }, +} diff --git a/packages/xpub-faraday/webpack/webpack.development.config.js b/packages/xpub-faraday/webpack/webpack.development.config.js new file mode 100644 index 000000000..3dd0dd7d9 --- /dev/null +++ b/packages/xpub-faraday/webpack/webpack.development.config.js @@ -0,0 +1,52 @@ +process.env.NODE_ENV = 'development' +process.env.BABEL_ENV = 'development' + +const config = require('config') +const path = require('path') +const webpack = require('webpack') +const CopyWebpackPlugin = require('copy-webpack-plugin') +const rules = require('./rules.development') +const resolve = require('./common-resolve') + +module.exports = [ + { + name: 'app', + watch: true, + target: 'web', + context: path.join(__dirname, '..', 'app'), + entry: { + app: [ + 'react-hot-loader/patch', + 'webpack-hot-middleware/client?reload=true', + './app', + ], + }, + output: { + path: path.join(__dirname, '..', '_build', 'assets'), + filename: '[name].js', + publicPath: '/assets/', + }, + devtool: 'eval', // 'cheap-module-source-map', + module: { + rules, + }, + resolve, + plugins: [ + new webpack.NamedModulesPlugin(), + new webpack.HotModuleReplacementPlugin(), + new webpack.NoEmitOnErrorsPlugin(), + new webpack.DefinePlugin({ + 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV), + }), + new webpack.ContextReplacementPlugin(/./, __dirname, { + [config.authsome.mode]: config.authsome.mode, + [config.validations]: config.validations, + }), + new CopyWebpackPlugin([{ from: '../static' }]), + ], + node: { + fs: 'empty', + __dirname: true, + }, + }, +] diff --git a/packages/xpub-faraday/webpack/webpack.production.config.js b/packages/xpub-faraday/webpack/webpack.production.config.js new file mode 100644 index 000000000..22338fe02 --- /dev/null +++ b/packages/xpub-faraday/webpack/webpack.production.config.js @@ -0,0 +1,63 @@ +process.env.NODE_ENV = 'production' +process.env.BABEL_ENV = 'production' + +const config = require('config') +const path = require('path') +const webpack = require('webpack') +const CleanWebpackPlugin = require('clean-webpack-plugin') +const ExtractTextPlugin = require('extract-text-webpack-plugin') +const HtmlWebpackPlugin = require('html-webpack-plugin') +const CopyWebpackPlugin = require('copy-webpack-plugin') +const UglifyJSPlugin = require('uglifyjs-webpack-plugin') +const rules = require('./rules.production') +const resolve = require('./common-resolve') + +module.exports = [ + { + // The configuration for the client + name: 'app', + target: 'web', + context: path.join(__dirname, '..', 'app'), + entry: { + app: ['./app'], + }, + output: { + path: path.join(__dirname, '..', '_build', 'assets'), + filename: '[name].[hash].js', + publicPath: '/assets/', + }, + module: { + rules, + }, + resolve, + // devtool: 'source-map', + plugins: [ + new CleanWebpackPlugin(['assets'], { + root: path.join(__dirname, '..', '_build'), + }), + new HtmlWebpackPlugin({ + title: 'xpub', + template: '../app/index-production.html', + inject: 'body', + }), + new webpack.DefinePlugin({ + 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV), + }), + new webpack.ContextReplacementPlugin(/./, __dirname, { + [config.authsome.mode]: config.authsome.mode, + [config.validations]: config.validations, + }), + new ExtractTextPlugin('styles/main.css'), + new CopyWebpackPlugin([{ from: '../static' }]), + new webpack.optimize.AggressiveMergingPlugin(), + new webpack.optimize.OccurrenceOrderPlugin(), + new UglifyJSPlugin({ + // sourceMap: true + }), + ], + node: { + fs: 'empty', + __dirname: true, + }, + }, +] diff --git a/packages/xpub-faraday/webpack/webpack.test.config.js b/packages/xpub-faraday/webpack/webpack.test.config.js new file mode 100644 index 000000000..24b5e1804 --- /dev/null +++ b/packages/xpub-faraday/webpack/webpack.test.config.js @@ -0,0 +1,52 @@ +process.env.NODE_ENV = 'test' +process.env.BABEL_ENV = 'test' + +const config = require('config') +const path = require('path') +const webpack = require('webpack') +const CopyWebpackPlugin = require('copy-webpack-plugin') +const rules = require('./rules.production') +const resolve = require('./common-resolve') + +module.exports = [ + { + // The configuration for the client + name: 'app', + target: 'web', + context: path.join(__dirname, '..', 'app'), + entry: { + app: [ + 'react-hot-loader/patch', + 'webpack-hot-middleware/client', + './app', + ], + }, + output: { + path: path.join(__dirname, '..', '_build', 'assets'), + filename: '[name].js', + publicPath: '/assets/', + }, + module: { + rules, + }, + resolve, + plugins: [ + new webpack.HotModuleReplacementPlugin(), + new webpack.NoEmitOnErrorsPlugin(), + new webpack.DefinePlugin({ + 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV), + }), + new webpack.ContextReplacementPlugin(/./, __dirname, { + [config.authsome.mode]: config.authsome.mode, + [config.validations]: config.validations, + }), + new CopyWebpackPlugin([{ from: '../static' }]), + new webpack.optimize.AggressiveMergingPlugin(), + new webpack.optimize.OccurrenceOrderPlugin(), + ], + node: { + fs: 'empty', + __dirname: true, + }, + }, +] diff --git a/yarn.lock b/yarn.lock index 08ac180ba..45153ba3d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7557,7 +7557,7 @@ prompt@^1.0.0: utile "0.3.x" winston "2.1.x" -"prompt@github:flatiron/prompt#1c95d1d8d333b5fbc13fa5f0619f3dcf0d514f87": +prompt@flatiron/prompt#1c95d1d8d333b5fbc13fa5f0619f3dcf0d514f87: version "1.0.0" resolved "https://codeload.github.com/flatiron/prompt/tar.gz/1c95d1d8d333b5fbc13fa5f0619f3dcf0d514f87" dependencies: -- GitLab