diff --git a/packages/client/.babelrc b/packages/client/.babelrc index 9b7679cd162ce56ac0dc6b7aafa4c7850fde00f3..8e05f6ce40a1827aba4a03391e136548a0589e5d 100644 --- a/packages/client/.babelrc +++ b/packages/client/.babelrc @@ -3,9 +3,5 @@ "env", "react", "stage-2" - ], - "ignore": [ - "node_modules/", - "../../node_modules/" ] } diff --git a/packages/client/package.json b/packages/client/package.json index 9ce174c3583c758b398e0c338ec536c7ba0f652d..080830eff1c9606afe492418560ebef7a3f5cf37 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -45,6 +45,7 @@ "babel-preset-stage-2": "^6.24.1", "enzyme": "^2.9.1", "eslint": "^4.8.0", + "eslint-config-pubsweet": "^0.0.6", "eslint-config-standard": "^10.2.1", "eslint-plugin-import": "^2.7.0", "eslint-plugin-node": "^5.2.0", @@ -57,7 +58,8 @@ "nock": "^9.0.14", "react-dom": "^15.6.1", "react-test-renderer": "^15.6.1", - "redux-mock-store": "^1.3.0" + "redux-mock-store": "^1.3.0", + "stylelint-config-standard": "^18.0.0" }, "peerDependencies": { "pubsweet-server": "^1.0.0" @@ -74,9 +76,6 @@ ], "globals": { "window": {} - }, - "transformIgnorePatterns": [ - "<rootDir>/node_modules/(?!pubsweet)" - ] + } } } diff --git a/packages/client/src/helpers/withAuthsome.js b/packages/client/src/helpers/withAuthsome.js index 01ab39ee4f3affd6f201aec3ad078177199952e0..e78bac5fa9dcdce2b312f6e4079b7fd3efb8e95c 100644 --- a/packages/client/src/helpers/withAuthsome.js +++ b/packages/client/src/helpers/withAuthsome.js @@ -1,11 +1,12 @@ import Authsome from 'authsome' import { connect } from 'react-redux' import config from 'config' + const mode = require(config.authsome.mode) // higher order component to inject authsome into a component export default function withAuthsome() { - const authsome = new Authsome({...config.authsome, mode}, {}) + const authsome = new Authsome({ ...config.authsome, mode }, {}) function mapState(state) { authsome.context = { diff --git a/packages/components/config/test.js b/packages/components/config/test.js new file mode 100644 index 0000000000000000000000000000000000000000..ae2c6d22b7b354573e11a376468f1a8d9518e0e8 --- /dev/null +++ b/packages/components/config/test.js @@ -0,0 +1,5 @@ +module.exports = { + 'authsome': { + 'mode': 'pubsweet-server/test/helpers/authsome_mode' + } +} diff --git a/packages/components/config/test.json b/packages/components/config/test.json deleted file mode 100644 index 9e26dfeeb6e641a33dae4961196235bdb965b21b..0000000000000000000000000000000000000000 --- a/packages/components/config/test.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/packages/components/package.json b/packages/components/package.json index 7340334cb15fbafa0343fe938da51aeebde54aeb..105d27bdf9fe9504fd2e7df8c062af802c313bff 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -9,7 +9,7 @@ "devDependencies": { "@pubsweet/logger": "^0.0.1", "babel-cli": "^6.26.0", - "babel-eslint": "^7.2.3", + "babel-eslint": "^8.0.3", "babel-loader": "^7.1.2", "babel-plugin-array-includes": "^2.0.3", "babel-preset-env": "^1.6.0", @@ -19,7 +19,7 @@ "config": "^1.28.1", "css-loader": "^0.28.7", "enzyme": "^2.9.1", - "eslint": "^3.19.0", + "eslint": "^4.13.0", "express": "^4.15.4", "file-loader": "^0.11.2", "font-awesome": "^4.7.0", @@ -48,11 +48,15 @@ "webpack": "^3.5.6" }, "jest": { - "transformIgnorePatterns": [ - "node_modules/(?!pubsweet-)" - ], "moduleNameMapper": { "\\.s?css$": "identity-obj-proxy" - } + }, + "transformIgnorePatterns": [ + "/node_modules/(?!pubsweet)" + ], + "testPathIgnorePatterns": [ + "/node_modules", + "config/" + ] } } diff --git a/packages/components/packages/FormGroup/FormGroup.jsx b/packages/components/packages/FormGroup/FormGroup.jsx index 1ea98cebc8d805e9dbe32447991153e519c74273..89cf829a67479677d2a5f4453bad4390747645b8 100644 --- a/packages/components/packages/FormGroup/FormGroup.jsx +++ b/packages/components/packages/FormGroup/FormGroup.jsx @@ -4,6 +4,7 @@ import {FormGroup as BootstrapFormGroup, ControlLabel, FormControl, HelpBlock} f import Joi from 'joi-browser' import serverValidations from 'pubsweet-server/src/models/validations' import config from 'config' + const validations = serverValidations(config) class FormGroup extends React.Component { diff --git a/packages/components/packages/FormGroup/FormGroup.test.jsx b/packages/components/packages/FormGroup/FormGroup.test.jsx index d2769160b2a8eed0f4ee86715ec3437eb9b8a810..705c570731b5d49a15f89fb9501ef4a7117a244c 100644 --- a/packages/components/packages/FormGroup/FormGroup.test.jsx +++ b/packages/components/packages/FormGroup/FormGroup.test.jsx @@ -8,10 +8,10 @@ jest.mock('joi-browser', () => require('joi')) describe('<FormGroup/>', () => { const makeWrapper = (props = {}) => shallow(<FormGroup - controlId={''} - label="Testing" - modelProperty="fragment.title" - {...props} + controlId={''} + label="Testing" + modelProperty="team.name" + {...props} />) it('shows error on invalid input', () => { diff --git a/packages/components/packages/Navigation/Navigation.jsx b/packages/components/packages/Navigation/Navigation.jsx index 5ac7076c9c68f73acdcb583f7e1f62fb037886d3..c1bbc0806cab70e406af57504fceb660e5f39892 100644 --- a/packages/components/packages/Navigation/Navigation.jsx +++ b/packages/components/packages/Navigation/Navigation.jsx @@ -6,6 +6,7 @@ import { Navbar, Nav, NavItem, NavbarBrand } from 'react-bootstrap' import Authorize from 'pubsweet-client/src/helpers/Authorize' import NavbarUser from './NavbarUser' + const Navigation = ({ actions, currentUser }) => ( <Navbar fluid> <Navbar.Header> diff --git a/packages/components/packages/Navigation/Navigation.test.jsx b/packages/components/packages/Navigation/Navigation.test.jsx index bac9e5d0c78f3a2bd996a020f58b61df4e82200d..ba01e3a822bfda3d0ace9e7927b7e8c7fe71e3a2 100644 --- a/packages/components/packages/Navigation/Navigation.test.jsx +++ b/packages/components/packages/Navigation/Navigation.test.jsx @@ -5,9 +5,9 @@ import Navigation from './Navigation' describe('<Navigation/>', () => { const makeWrapper = (props = {}) => shallow(<Navigation - actions={{logoutUser: jest.fn()}} - currentUser={{isAuthenticated: true, user: {}}} - {...props} + actions={{logoutUser: jest.fn()}} + currentUser={{isAuthenticated: true, user: {}}} + {...props} />) it('shows user nav when logged in', () => { diff --git a/packages/db-manager/package.json b/packages/db-manager/package.json index 4168079244a3c6ba9bae04f79d7cf0e41bc6e2ef..15b3e831d4eb20d7d833b4145a0a135301f50830 100644 --- a/packages/db-manager/package.json +++ b/packages/db-manager/package.json @@ -40,7 +40,7 @@ "devDependencies": { "eslint": "^4.8.0", "eslint-config-prettier": "^2.6.0", - "eslint-config-standard": "^10.2.1", + "eslint-config-standard": "^11.0.0-beta.0", "eslint-plugin-import": "^2.7.0", "eslint-plugin-node": "^5.2.0", "eslint-plugin-promise": "^3.5.0", diff --git a/packages/server/package.json b/packages/server/package.json index 8337c30570af2939b41d87e14ef23eb6f756bb26..1694bf1fad3d84ee7a45498660db15e2d148457f 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -51,7 +51,7 @@ }, "devDependencies": { "eslint": "^4.0.0", - "eslint-config-standard": "^10.2.1", + "eslint-config-standard": "^11.0.0-beta.0", "eslint-plugin-import": "^2.7.0", "eslint-plugin-node": "^5.2.0", "eslint-plugin-promise": "^3.5.0", diff --git a/yarn.lock b/yarn.lock index 4fa09efc47be95f7697fe49452fc5632dab44766..671afd9d16dcd3a5b9a26eab96995f0bc5d4971b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -653,16 +653,7 @@ babel-core@^6.0.0, babel-core@^6.26.0: slash "^1.0.0" source-map "^0.5.6" -babel-eslint@^7.2.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827" - dependencies: - babel-code-frame "^6.22.0" - babel-traverse "^6.23.1" - babel-types "^6.23.0" - babylon "^6.17.0" - -babel-eslint@^8.0.1: +babel-eslint@^8.0.1, babel-eslint@^8.0.3: version "8.0.3" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.0.3.tgz#f29ecf02336be438195325cd47c468da81ee4e98" dependencies: @@ -1303,7 +1294,7 @@ babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: babylon "^6.18.0" lodash "^4.17.4" -babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-traverse@^6.26.0: +babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" dependencies: @@ -1317,7 +1308,7 @@ babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-tr invariant "^2.2.2" lodash "^4.17.4" -babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.26.0: +babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" dependencies: @@ -1330,7 +1321,7 @@ babylon@7.0.0-beta.31: version "7.0.0-beta.31" resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.31.tgz#7ec10f81e0e456fd0f855ad60fa30c2ac454283f" -babylon@^6.17.0, babylon@^6.18.0: +babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" @@ -3422,6 +3413,15 @@ eslint-config-pubsweet@^0.0.5: eslint-config-standard "^10.2.1" eslint-config-standard-react "^5.0.0" +eslint-config-pubsweet@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/eslint-config-pubsweet/-/eslint-config-pubsweet-0.0.6.tgz#cb29cd241a33efab96f9ba8947d56f4b4b4cd5aa" + dependencies: + eslint-config-airbnb "^16.1.0" + eslint-config-prettier "^2.7.0" + eslint-config-standard "^10.2.1" + eslint-config-standard-react "^5.0.0" + eslint-config-standard-jsx@4.0.2, eslint-config-standard-jsx@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-4.0.2.tgz#009e53c4ddb1e9ee70b4650ffe63a7f39f8836e1" @@ -3436,6 +3436,10 @@ eslint-config-standard@10.2.1, eslint-config-standard@^10.2.1: version "10.2.1" resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz#c061e4d066f379dc17cd562c64e819b4dd454591" +eslint-config-standard@^11.0.0-beta.0: + version "11.0.0-beta.0" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-11.0.0-beta.0.tgz#f8afe69803d95c685a4b8392b8793188eb03cbb3" + eslint-import-resolver-node@^0.2.0: version "0.2.3" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" @@ -3568,47 +3572,7 @@ eslint-scope@^3.7.1: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint@^3.19.0, eslint@~3.19.0: - version "3.19.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" - dependencies: - babel-code-frame "^6.16.0" - chalk "^1.1.3" - concat-stream "^1.5.2" - debug "^2.1.1" - doctrine "^2.0.0" - escope "^3.6.0" - espree "^3.4.0" - esquery "^1.0.0" - estraverse "^4.2.0" - esutils "^2.0.2" - file-entry-cache "^2.0.0" - glob "^7.0.3" - globals "^9.14.0" - ignore "^3.2.0" - imurmurhash "^0.1.4" - inquirer "^0.12.0" - is-my-json-valid "^2.10.0" - is-resolvable "^1.0.0" - js-yaml "^3.5.1" - json-stable-stringify "^1.0.0" - levn "^0.3.0" - lodash "^4.0.0" - mkdirp "^0.5.0" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.1" - pluralize "^1.2.1" - progress "^1.1.8" - require-uncached "^1.0.2" - shelljs "^0.7.5" - strip-bom "^3.0.0" - strip-json-comments "~2.0.1" - table "^3.7.8" - text-table "~0.2.0" - user-home "^2.0.0" - -eslint@^4.0.0, eslint@^4.11.0, eslint@^4.5.0, eslint@^4.8.0: +eslint@^4.0.0, eslint@^4.11.0, eslint@^4.13.0, eslint@^4.5.0, eslint@^4.8.0: version "4.13.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.13.0.tgz#1991aa359586af83877bde59de9d41f53e20826d" dependencies: @@ -3650,6 +3614,46 @@ eslint@^4.0.0, eslint@^4.11.0, eslint@^4.5.0, eslint@^4.8.0: table "^4.0.1" text-table "~0.2.0" +eslint@~3.19.0: + version "3.19.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" + dependencies: + babel-code-frame "^6.16.0" + chalk "^1.1.3" + concat-stream "^1.5.2" + debug "^2.1.1" + doctrine "^2.0.0" + escope "^3.6.0" + espree "^3.4.0" + esquery "^1.0.0" + estraverse "^4.2.0" + esutils "^2.0.2" + file-entry-cache "^2.0.0" + glob "^7.0.3" + globals "^9.14.0" + ignore "^3.2.0" + imurmurhash "^0.1.4" + inquirer "^0.12.0" + is-my-json-valid "^2.10.0" + is-resolvable "^1.0.0" + js-yaml "^3.5.1" + json-stable-stringify "^1.0.0" + levn "^0.3.0" + lodash "^4.0.0" + mkdirp "^0.5.0" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.1" + pluralize "^1.2.1" + progress "^1.1.8" + require-uncached "^1.0.2" + shelljs "^0.7.5" + strip-bom "^3.0.0" + strip-json-comments "~2.0.1" + table "^3.7.8" + text-table "~0.2.0" + user-home "^2.0.0" + esmangle-evaluator@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/esmangle-evaluator/-/esmangle-evaluator-1.0.1.tgz#620d866ef4861b3311f75766d52a8572bb3c6336" @@ -10508,12 +10512,22 @@ stylelint-config-recommended@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-1.0.0.tgz#752c17fc68fa64cd5e7589e24f6e46e77e14a735" +stylelint-config-recommended@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-2.0.0.tgz#560a028e81ea3ca8894b9a8eef4c0e05ac60e090" + stylelint-config-standard@^17.0.0: version "17.0.0" resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-17.0.0.tgz#42103a090054ee2a3dde9ecaed55e5d4d9d059fc" dependencies: stylelint-config-recommended "^1.0.0" +stylelint-config-standard@^18.0.0: + version "18.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-18.0.0.tgz#0d872b40fafdcddcf4188fb5b64ddb3887e8aefc" + dependencies: + stylelint-config-recommended "^2.0.0" + stylelint@^8.2.0: version "8.3.1" resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-8.3.1.tgz#424c822f32c88e85025b55d72c7b98355e3fa6de"