pubsweet issueshttps://gitlab.coko.foundation/pubsweet/pubsweet/-/issues2022-08-02T15:44:29Zhttps://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/485Inconsistency for developers using M1 Mac2022-08-02T15:44:29ZRyan Dix-PeekInconsistency for developers using M1 MacThe purpose of this task is to solve the submission inconsistency for developers using M1 Mac by rebuilding the `pubsweet/job-xsweet:1.5.4` image to support arm64.
See reference; https://gitlab.coko.foundation/kotahi/kotahi/-/issues/937The purpose of this task is to solve the submission inconsistency for developers using M1 Mac by rebuilding the `pubsweet/job-xsweet:1.5.4` image to support arm64.
See reference; https://gitlab.coko.foundation/kotahi/kotahi/-/issues/937https://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/342Add hooks for custom CSS overrides2021-08-24T08:50:05ZSam GalsonAdd hooks for custom CSS overridesAs agreed at the PubSweetMeet (I think! someone confirm?), requirements for all components are:
* **Every** exported component should render a styled component and every child element of that component should be a styled-component
*...As agreed at the PubSweetMeet (I think! someone confirm?), requirements for all components are:
* **Every** exported component should render a styled component and every child element of that component should be a styled-component
* Every styled component (incl. children) should have a hook for custom CSS
* Overriding subcomponents of a single instance (e.g. an input's label) will be done by passing in CSS with a selector for the subcomponent (rather than wrapping with a new ThemeProvider).
* The hook looks like this, though we should consider ways to refactor similar to the `th` helper:
```
${props => props.theme.css.<package-name>.<component-name>.<subcomponent-name>}
```
* `<package-name>` is the name from package.json stripped of its prefix (@pubsweet or pubsweet-component-*)
* `<component-name>` is the exported component
* `<subcomponent-name>` is the component having the hook applied to it
Outermost components will be referenced like subcomponents, for example: `props.theme.css.ui.Form.Root`, not `props.theme.css.ui.Form`https://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/484unable to lighten a color > 100%2021-06-11T09:33:31ZBen Whitmoreunable to lighten a color > 100%The ui-toolkit's `lighten` function imposes a limit of 100% for lightening colors, but the underlying `Color.lighten` function from the `color` package allows > 100% lightening. `Color.lighten` uses a simple multiplicative approach, wher...The ui-toolkit's `lighten` function imposes a limit of 100% for lightening colors, but the underlying `Color.lighten` function from the `color` package allows > 100% lightening. `Color.lighten` uses a simple multiplicative approach, whereby a factor is applied to the color's value. So for example `#333333` lightened by 100% would be `#666666`, or lightened by 300% would be `#CCCCCC`. The most ui-toolkit lets you lighten it to is `#666666`.
The [`normalizePercent`](https://gitlab.coko.foundation/pubsweet/pubsweet/-/blob/master/packages/ui-toolkit/src/darkenLighten.js#L27) function treats any `num` > 100 as a straightforward factor, rather than a percentage, making it impossible to specify a factor > 1.0 and <= 100. Pass `101` as the number and it is interpreted as 10100%. I recommend removing the upper bound check on `num` so that e.g. `101` is treated as 101%.
For some purposes, `lighten` may not be ideal anyway. E.g., to turn a supplied branding color into a background-color, you may want to lighten it to ensure there is sufficient contrast against the text; but without knowing what color you are lightening you won't know whether the result will be light (perhaps even clipping to white) or dark. Black is not changed at all by `lighten`! I find the following more useful:
```
function lightenTowardWhite(color, ratio) {
const lightness = color.lightness();
return color.lightness(lightness + (100 - lightness) * ratio);
}
```
Not sure of the best naming, but this ensures that e.g. lightening by 50% will give a color at least as light as mid-gray, but not clipped to white.
This is really a separate issue, but I mention it here as related.Yannis BarlasYannis Barlashttps://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/483different font family for the same component2021-02-03T20:57:13ZArsen Shehidifferent font family for the same componentFirst link font family is Times New Roman, the other two are Roboto;
is this on purpose or a bug? Because I have seen it in other components too.
![image](/uploads/33d03f25b07873535277ab04b2095e8d/image.png)First link font family is Times New Roman, the other two are Roboto;
is this on purpose or a bug? Because I have seen it in other components too.
![image](/uploads/33d03f25b07873535277ab04b2095e8d/image.png)https://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/481xpub-edit's HtmlEditor uses componentWillMount2020-06-10T16:14:23ZJurexpub-edit's HtmlEditor uses componentWillMount```Warning: componentWillMount has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details.
* Move code with side effects to componentDidMount, and set initial state in the construct...```Warning: componentWillMount has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details.
* Move code with side effects to componentDidMount, and set initial state in the constructor.
* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.
Please update the following components: HtmlEditor```https://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/476Improvement of current ui component Button2020-05-08T19:03:45ZDanjela Shehidanjelashehi@gmail.comImprovement of current ui component Button can we have some improvements on our current ui component Button
like:
* Size: to change the size of the button. You can set the value to `xs, sm, md,` or `lg`.
* Variant: prop to change the visual style of the Button. You can set t... can we have some improvements on our current ui component Button
like:
* Size: to change the size of the button. You can set the value to `xs, sm, md,` or `lg`.
* Variant: prop to change the visual style of the Button. You can set the value to solid (which is similar to primary but pubsweet ofers only blue background), ghost, outline, or link (which already is secondary )
* Variant Color: prop to change the color of the text of the button
* Loading state: maybe would be good to have loading state with props like `isLoading` and `loadingText` but this is very debatable || optional
Based on our requirements in NCBI project we need Variant Prop and Button size more than two other ones , but the variant color and loading state would be good to have
ps. the naming conventions I mentioned above are based on [chakra-ui](https://chakra-ui.com/button) but we can use our own if we have other terminology for these propertiesSidorela UkuSidorela Ukuhttps://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/480Upgrading to Yarn 22020-04-15T13:19:47ZJureUpgrading to Yarn 2While we will still wait a bit, it looks like yarn 2 might be better for us with its improved support for workspaces.
Meanwhile, running its `yarn doctor` to identify potential issue with the upgrade, revealed a number of interesting po...While we will still wait a bit, it looks like yarn 2 might be better for us with its improved support for workspaces.
Meanwhile, running its `yarn doctor` to identify potential issue with the upgrade, revealed a number of interesting potential dependency issues with our current codebase:
```
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/package.json
➤ YN0000: │ User scripts prefixed with "pre" or "post" (like "precommit") will not be called in sequence anymore; prefer calling prologues and epilogues explicitly
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/babel.config.js:8:41: Strings should avoid referencing the node_modules directory (prefer require.resolve)
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/config/default.js:3:25: Undeclared dependency on config
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/config/upload-validations.js:2:13: Undeclared dependency on @hapi/joi
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/package.json:16:31: Unmet transitive peer dependency on react@*, via @testing-library/react@^9.0.0
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/package.json:16:31: Unmet transitive peer dependency on react-dom@*, via @testing-library/react@^9.0.0
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/package.json:17:25: Unmet transitive peer dependency on graphql@^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0, via apollo-link-http@^1.5.16
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/package.json:22:32: Unmet transitive peer dependency on react@^16.0.0-0, via enzyme-adapter-react-16@^1.12.1
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/package.json:22:32: Unmet transitive peer dependency on react-dom@^16.0.0-0, via enzyme-adapter-react-16@^1.12.1
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/package.json:42:31: Unmet transitive peer dependency on styled-components@>= 5, via jest-styled-components@^7.0.0
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/package.json:47:28: Unmet transitive peer dependency on react@^16.13.1, via react-test-renderer@^16.12.0
➤ YN0000: └ Completed in 5.2s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/docs/package.json
➤ YN0000: │ User scripts prefixed with "pre" or "post" (like "prebuild") will not be called in sequence anymore; prefer calling prologues and epilogues explicitly
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/styleguide.config.js:204:5: Strings should avoid referencing the node_modules directory (prefer require.resolve)
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/webpack-config.js:20:26: Strings should avoid referencing the node_modules directory (prefer require.resolve)
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/webpack-config.js:49:23: Webpack configs from non-private packages should avoid referencing loaders without require.resolve
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/webpack-config.js:56:23: Webpack configs from non-private packages should avoid referencing loaders without require.resolve
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/webpack-config.js:61:23: Webpack configs from non-private packages should avoid referencing loaders without require.resolve
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/ComponentsListRenderer.js:4:1: Undeclared dependency on prop-types
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/ComponentsListRenderer.js:5:1: Undeclared dependency on clsx
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/ComponentsListRenderer.js:6:1: Undeclared dependency on rsg-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/ComponentsListRenderer.js:7:1: Undeclared dependency on rsg-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/LinkRenderer.js:4:1: Undeclared dependency on prop-types
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/LinkRenderer.js:5:1: Undeclared dependency on classnames
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/LinkRenderer.js:6:1: Undeclared dependency on rsg-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/LogoRenderer.js:4:1: Undeclared dependency on prop-types
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/LogoRenderer.js:5:1: Undeclared dependency on rsg-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/SectionRenderer.js:3:1: Undeclared dependency on prop-types
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/SectionRenderer.js:4:1: Undeclared dependency on rsg-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/SectionRenderer.js:5:1: Undeclared dependency on rsg-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/SectionRenderer.js:6:1: Undeclared dependency on rsg-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/StyleGuideRenderer.js:3:1: Undeclared dependency on prop-types
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/StyleGuideRenderer.js:4:1: Undeclared dependency on rsg-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/StyleGuideRenderer.js:5:1: Undeclared dependency on rsg-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/StyleGuideRenderer.js:6:1: Undeclared dependency on rsg-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/StyleGuideRenderer.js:7:1: Undeclared dependency on clsx
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/StyleGuideRenderer.js:8:1: Undeclared dependency on rsg-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/src/components/StyleGuideRenderer.js:9:1: Undeclared dependency on rsg-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/vendor/elife-theme/src/icons/Upload.js:4:1: Undeclared dependency on prop-types
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/vendor/elife-theme/src/icons/UploadFailure.js:4:1: Undeclared dependency on prop-types
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/vendor/elife-theme/src/icons/UploadSuccess.js:3:1: Undeclared dependency on prop-types
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/package.json:11:30: Unmet transitive peer dependency on apollo-cache-inmemory@^1.6.2, via @apollo/react-testing@^3.0.1
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/package.json:11:30: Unmet transitive peer dependency on apollo-client@^2.6.4, via @apollo/react-testing@^3.0.1
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/package.json:11:30: Unmet transitive peer dependency on apollo-link@^1.2.12, via @apollo/react-testing@^3.0.1
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/package.json:11:30: Unmet transitive peer dependency on apollo-utilities@^1.3.2, via @apollo/react-testing@^3.0.1
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/package.json:11:30: Unmet transitive peer dependency on graphql@^14.3.1, via @apollo/react-testing@^3.0.1
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/package.json:12:26: Unmet transitive peer dependency on @babel/core@^7.0.0-0, via @babel/preset-env@^7.0.0
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/package.json:13:28: Unmet transitive peer dependency on @babel/core@^7.0.0-0, via @babel/preset-react@^7.0.0
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/package.json:22:20: Unmet transitive peer dependency on graphql@^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0, via graphql-tag@^2.10.1
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/package.json:25:24: Unmet transitive peer dependency on pubsweet-server@>=13.0.0, via pubsweet-client@^10.1.0
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/package.json:34:26: Unmet transitive peer dependency on react-is@>= 16.8.0, via styled-components@^5.0.0
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/docs/package.json:37:21: Unmet transitive peer dependency on prop-types@^15.5.10, via xpub-journal@^0.0.3
➤ YN0000: └ Completed in 8.33s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/packages/base-model/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/base-model/test/extended_manuscript_graphql_test.js:16:18: Undeclared dependency on @pubsweet/models
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/base-model/test/extended_manuscript_graphql_test.js:17:22: Undeclared dependency on @pubsweet/model-user
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/base-model/test/manuscript_graphql_test.js:12:18: Undeclared dependency on @pubsweet/models
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/base-model/test/manuscript_graphql_test.js:15:22: Undeclared dependency on @pubsweet/model-user
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/base-model/test/manuscript_test.js:14:18: Undeclared dependency on @pubsweet/models
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/base-model/package.json:12:29: Unmet transitive peer dependency on @pubsweet/models@>=0.3.0, via @pubsweet/db-manager@^3.1.8
➤ YN0000: └ Completed in 0.47s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/packages/cli/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/cli/test/integration.test.js:7:15: Undeclared dependency on isomorphic-fetch
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/cli/test/integration.test.js:60:49: Strings should avoid referencing the node_modules directory (prefer require.resolve)
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/cli/package.json:13:29: Unmet transitive peer dependency on @pubsweet/models@>=0.3.0, via @pubsweet/db-manager@^3.1.8
➤ YN0000: │ Resolving prompt@flatiron/prompt#1c95d1d8d333b5fbc13fa5f0619f3dcf0d514f87 errored with Assertion failed: This resolver cannot be used unless a fetcher is configured
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/cli/package.json:25:24: Unmet transitive peer dependency on @pubsweet/model-user@>=5.0.0, via pubsweet-server@^13.10.0
➤ YN0000: └ Completed in 2.46s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/packages/client/package.json
➤ YN0000: │ User scripts prefixed with "pre" or "post" (like "prepare") will not be called in sequence anymore; prefer calling prologues and epilogues explicitly
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/index.js:3:30: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/test/jest-setup.js:1:1: Undeclared dependency on enzyme
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/test/jest-setup.js:2:1: Undeclared dependency on enzyme-adapter-react-16
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/components/AuthenticatedComponent.js:3:30: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/components/Loading.js:3:30: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/components/Loading.js:10:54: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/components/Root.js:3:30: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/components/Root.js:11:47: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/components/Root.js:13:39: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/Authorize.js:3:30: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/Authorize.js:10:40: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/Authorize.js:12:47: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/Authorize.js:14:47: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/Authorize.js:16:44: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/Authorize.js:18:58: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/Authorize.js:20:47: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/Authorize.js:22:41: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/Authorize.js:24:43: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/Authorize.js:26:49: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/AuthorizeGraphQLQueries.js:3:30: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/AuthorizeGraphQLQueries.js:10:54: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/BaseAuthorize.js:3:30: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/BaseAuthorize.js:10:47: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/BaseAuthorize.js:12:44: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/BaseAuthorize.js:14:58: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/BaseAuthorize.js:16:47: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/BaseAuthorize.js:18:41: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/StyleRoot.js:3:30: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/StyleRoot.js:10:54: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/api.js:3:30: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/endpoint.js:3:30: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/withLoader.js:3:30: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/withLoader.js:10:40: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/withLoader.js:12:56: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/withMutationState.js:3:30: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/withMutationState.js:10:47: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/withMutationState.js:12:44: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/withMutationState.js:14:54: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/withMutationState.js:16:58: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/withMutationState.js:18:47: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/withMutationState.js:20:41: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/dist/helpers/withMutationState.js:22:47: Undeclared dependency on @babel/runtime
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/test/components/Root.test.jsx:2:1: Undeclared dependency on enzyme
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/test/helpers/Authorize.test.jsx:2:1: Undeclared dependency on react-dom
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/test/helpers/Authorize.test.jsx:3:1: Undeclared dependency on enzyme
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/test/helpers/Authorize.test.jsx:4:1: Undeclared dependency on @apollo/react-testing
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/test/helpers/Authorize.test.jsx:5:1: Undeclared dependency on waait
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/test/helpers/BaseAuthorize.test.jsx:2:1: Undeclared dependency on enzyme
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/test/helpers/withLoader.test.js:2:1: Undeclared dependency on enzyme
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/test/helpers/withMutationState.test.js:2:1: Undeclared dependency on enzyme
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/package.json:8:29: Unmet transitive peer dependency on @types/react@^16.8.0, via @apollo/react-common@^3.1.3
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/package.json:9:33: Unmet transitive peer dependency on @types/react@^16.8.0, via @apollo/react-components@^3.1.3
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/package.json:9:33: Unmet transitive peer dependency on apollo-cache@^1.3.2, via @apollo/react-components@^3.1.3
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/package.json:9:33: Unmet transitive peer dependency on react-dom@^16.8.0, via @apollo/react-components@^3.1.3
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/package.json:10:26: Unmet transitive peer dependency on @types/react@^16.8.0, via @apollo/react-hoc@^3.1.3
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/package.json:10:26: Unmet transitive peer dependency on react-dom@^16.8.0, via @apollo/react-hoc@^3.1.3
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/package.json:28:26: Unmet transitive peer dependency on react-dom@>= 16.8.0, via styled-components@^5.0.0
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/client/package.json:28:26: Unmet transitive peer dependency on react-is@>= 16.8.0, via styled-components@^5.0.0
➤ YN0000: └ Completed in 4.38s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/packages/coko-theme/package.json
➤ YN0000: │ Resolving cokourier-prime-sans@git+https://gitlab.coko.foundation/julientaq/cokourier-sans-prime.git errored with Assertion failed: This resolver cannot be used unless a fetcher is configured
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/coko-theme/package.json:13:26: Unmet transitive peer dependency on react@>= 16.8.0, via styled-components@^5.0.0
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/coko-theme/package.json:13:26: Unmet transitive peer dependency on react-dom@>= 16.8.0, via styled-components@^5.0.0
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/coko-theme/package.json:13:26: Unmet transitive peer dependency on react-is@>= 16.8.0, via styled-components@^5.0.0
➤ YN0000: └ Completed in 2.32s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/packages/create-pubsweet-app/package.json
➤ YN0000: │ User scripts prefixed with "pre" or "post" (like "prerelease") will not be called in sequence anymore; prefer calling prologues and epilogues explicitly
➤ YN0000: │ User scripts prefixed with "pre" or "post" (like "prepublish") will not be called in sequence anymore; prefer calling prologues and epilogues explicitly
➤ YN0000: └ Completed in 0.19s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/packages/db-manager/package.json
➤ YN0000: └ Completed in 1.14s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/packages/default-theme/package.json
➤ YN0000: └ Completed in 2.48s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/packages/errors/package.json
➤ YN0000: └ Completed in 0.27s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/packages/jest-environment-db/package.json
➤ YN0000: └ Completed in 0.27s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/packages/logger/package.json
➤ YN0000: └ Completed in 0.29s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/packages/models/package.json
➤ YN0000: └ Completed in 0.33s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/packages/server/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/server/test/start_server_test.js:2:19: Undeclared dependency on supertest
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/server/test/graphql/subscriptions_test.js:7:19: Undeclared dependency on ws
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/server/test/graphql/subscriptions_test.js:8:26: Undeclared dependency on apollo-client
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/server/test/graphql/subscriptions_test.js:9:28: Undeclared dependency on apollo-link-http
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/server/test/graphql/subscriptions_test.js:10:27: Undeclared dependency on apollo-link-ws
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/server/test/graphql/subscriptions_test.js:11:19: Undeclared dependency on apollo-link
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/server/test/graphql/subscriptions_test.js:12:31: Undeclared dependency on apollo-utilities
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/server/test/graphql/subscriptions_test.js:13:27: Undeclared dependency on apollo-cache-inmemory
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/server/test/graphql/subscriptions_test.js:14:13: Undeclared dependency on graphql-tag
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/server/test/graphql/subscriptions_test.js:15:18: Undeclared dependency on form-data
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/server/test/graphql/subscriptions_test.js:16:15: Undeclared dependency on node-fetch
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/server/test/helpers/api.js:1:19: Undeclared dependency on supertest
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/server/package.json:11:25: Unmet transitive peer dependency on pubsweet-server@>=13.2.0, via @pubsweet/models@^0.3.8
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/server/package.json:29:18: Unmet transitive peer dependency on knex@0.x, via objection@^1.5.3
➤ YN0000: └ Completed in 4.14s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/packages/sse/package.json
➤ YN0000: └ Completed in 0.25s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/packages/theme/package.json
➤ YN0000: │ Resolving cokourier-prime-sans@git+https://gitlab.coko.foundation/julientaq/cokourier-sans-prime.git errored with Assertion failed: This resolver cannot be used unless a fetcher is configured
➤ YN0000: └ Completed in 2.14s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/packages/ui/package.json
➤ YN0000: │ User scripts prefixed with "pre" or "post" (like "prepare") will not be called in sequence anymore; prefer calling prologues and epilogues explicitly
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/AlignmentBox.test.js:3:1: Undeclared dependency on react-test-renderer
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/AlignmentBox.test.js:4:1: Undeclared dependency on jest-styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/AlignmentBoxWithLabel.test.js:3:1: Undeclared dependency on react-test-renderer
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/AlignmentBoxWithLabel.test.js:4:1: Undeclared dependency on jest-styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/AlignmentTool.test.js:3:1: Undeclared dependency on react-test-renderer
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/AlignmentTool.test.js:4:1: Undeclared dependency on jest-styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/AppBar.test.js:3:1: Undeclared dependency on react-test-renderer
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/AppBar.test.js:4:1: Undeclared dependency on jest-styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/CheckboxGroup.test.js:4:1: Undeclared dependency on react-test-renderer
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/CheckboxGroup.test.js:5:1: Undeclared dependency on jest-styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/Files.test.js:2:1: Undeclared dependency on react-test-renderer
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/Files.test.js:3:1: Undeclared dependency on jest-styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/Icon.test.js:2:1: Undeclared dependency on react-test-renderer
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/Icon.test.js:4:1: Undeclared dependency on jest-styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/IconButton.test.js:2:1: Undeclared dependency on react-test-renderer
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/IconButton.test.js:3:1: Undeclared dependency on jest-styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/Menu.test.js:2:1: Undeclared dependency on react-test-renderer
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/Menu.test.js:3:1: Undeclared dependency on jest-styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/Modal.test.js:2:1: Undeclared dependency on @testing-library/jest-dom
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/Modal.test.js:3:1: Undeclared dependency on @testing-library/react
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/Pagination.test.js:2:1: Undeclared dependency on @testing-library/jest-dom
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/Pagination.test.js:4:1: Undeclared dependency on @testing-library/react
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/Radio.test.js:3:1: Undeclared dependency on react-test-renderer
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/Radio.test.js:4:1: Undeclared dependency on jest-styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/RadioGroup.test.js:4:1: Undeclared dependency on react-test-renderer
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/RadioGroup.test.js:5:1: Undeclared dependency on jest-styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/Select.test.js:3:1: Undeclared dependency on react-test-renderer
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/Select.test.js:4:1: Undeclared dependency on jest-styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/SelectDropdown.test.js:2:1: Undeclared dependency on react-test-renderer
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/SelectDropdown.test.js:3:1: Undeclared dependency on jest-styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/StateItem.test.js:4:1: Undeclared dependency on jest-styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/StateItem.test.js:5:1: Undeclared dependency on react-test-renderer
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/StateList.test.js:4:1: Undeclared dependency on jest-styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/StateList.test.js:5:1: Undeclared dependency on react-test-renderer
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/Tags.test.js:2:1: Undeclared dependency on jest-styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/Tags.test.js:3:1: Undeclared dependency on react-test-renderer
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/YesOrNo.test.js:3:1: Undeclared dependency on react-test-renderer
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/YesOrNo.test.js:4:1: Undeclared dependency on jest-styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/test/setup/enzyme.js:3:1: Undeclared dependency on @testing-library/react
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui/package.json:27:26: Unmet transitive peer dependency on react-is@>= 16.8.0, via styled-components@^5.0.0
➤ YN0000: └ Completed in 1.91s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/packages/ui-toolkit/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui-toolkit/package.json:20:26: Unmet transitive peer dependency on react@>= 16.8.0, via styled-components@^5.0.0
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui-toolkit/package.json:20:26: Unmet transitive peer dependency on react-dom@>= 16.8.0, via styled-components@^5.0.0
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/ui-toolkit/package.json:20:26: Unmet transitive peer dependency on react-is@>= 16.8.0, via styled-components@^5.0.0
➤ YN0000: └ Completed in 0.36s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/components/client/component-login/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/component-login/test/Login.test.jsx:1:1: Undeclared dependency on enzyme
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/component-login/test/LoginContainer.test.jsx:2:1: Undeclared dependency on enzyme
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/component-login/test/LoginContainer.test.jsx:3:1: Undeclared dependency on @apollo/react-testing
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/component-login/test/LoginContainer.test.jsx:7:1: Undeclared dependency on waait
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/component-login/package.json:15:26: Unmet transitive peer dependency on react-dom@>= 16.8.0, via styled-components@^5.0.0
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/component-login/package.json:15:26: Unmet transitive peer dependency on react-is@>= 16.8.0, via styled-components@^5.0.0
➤ YN0000: └ Completed in 0.33s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/components/client/component-password-reset-client/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/component-password-reset-client/package.json:11:20: Unmet transitive peer dependency on graphql@^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0, via graphql-tag@^2.10.1
➤ YN0000: └ Completed in 0.28s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/components/client/component-people-picker/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/component-people-picker/src/PeoplePickerLogic.test.js:2:1: Undeclared dependency on enzyme
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/component-people-picker/src/PersonPod.test.js:2:1: Undeclared dependency on enzyme
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/component-people-picker/src/SearchBox.test.js:2:1: Undeclared dependency on enzyme
➤ YN0000: └ Completed in 0.23s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/components/client/component-signup/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/component-signup/test/Signup.test.jsx:1:1: Undeclared dependency on enzyme
➤ YN0000: └ Completed in 0.25s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/components/client/component-sortable-list/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/component-sortable-list/examples/Example-handle.jsx:3:1: Undeclared dependency on styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/component-sortable-list/examples/Example-handle.jsx:4:1: Undeclared dependency on @pubsweet/ui-toolkit
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/component-sortable-list/examples/Example-handle.jsx:5:1: Undeclared dependency on @pubsweet/ui
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/component-sortable-list/examples/Example.jsx:3:1: Undeclared dependency on styled-components
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/component-sortable-list/examples/Example.jsx:4:1: Undeclared dependency on @pubsweet/ui-toolkit
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/component-sortable-list/test/SortableList.test.js:3:1: Undeclared dependency on enzyme
➤ YN0000: └ Completed in 1.58s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/components/client/component-users-manager/package.json
➤ YN0000: └ Completed in 0.21s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/components/client/xpub-edit/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/client/xpub-edit/src/components/configurable/EditorOptions.test.js:2:1: Undeclared dependency on enzyme
➤ YN0000: └ Completed in 1.89s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/components/server/component-aws-s3/package.json
➤ YN0000: └ Completed in 0.66s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/components/server/component-email-templating/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/component-email-templating/test/HTMLTemplateService.test.js:1:23: Undeclared dependency on lodash
➤ YN0000: └ Completed in 0.28s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/components/server/component-password-reset-server/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/component-password-reset-server/test/password_reset_graphql_test.js:16:18: Undeclared dependency on @pubsweet/models
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/component-password-reset-server/test/password_reset_graphql_test.js:20:22: Undeclared dependency on @pubsweet/model-user
➤ YN0000: └ Completed in 0.22s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/components/server/component-send-email/package.json
➤ YN0000: └ Completed in 0.27s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/components/server/model-blog/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/model-blog/package.json:12:35: Unmet transitive peer dependency on @pubsweet/models@>=0.2.4, via @pubsweet/model-collection@^4.0.30
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/model-blog/package.json:12:35: Unmet transitive peer dependency on lodash@>=4.17.11, via @pubsweet/model-collection@^4.0.30
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/model-blog/package.json:12:35: Unmet transitive peer dependency on pubsweet-server@>=13.0.0, via @pubsweet/model-collection@^4.0.30
➤ YN0000: └ Completed in 0.21s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/components/server/job-xsweet/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/job-xsweet/test/standaloneXsweetTest.js:2:19: Undeclared dependency on ws
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/job-xsweet/test/standaloneXsweetTest.js:16:32: Undeclared dependency on subscriptions-transport-ws
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/job-xsweet/test/standaloneXsweetTest.js:17:20: Undeclared dependency on superagent
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/job-xsweet/package.json:12:29: Unmet transitive peer dependency on @pubsweet/models@>=0.3.0, via @pubsweet/db-manager@^3.1.8
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/job-xsweet/package.json:12:29: Unmet transitive peer dependency on config@>=3.0.1, via @pubsweet/db-manager@^3.1.8
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/job-xsweet/package.json:16:24: Unmet transitive peer dependency on @pubsweet/model-user@>=5.0.0, via pubsweet-server@^13.10.0
➤ YN0000: └ Completed in 1.07s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/components/server/model-blogpost/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/model-blogpost/package.json:12:33: Unmet transitive peer dependency on pubsweet-server@>=11.0.0, via @pubsweet/model-fragment@^3.1.13
➤ YN0000: └ Completed in 0.21s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/components/server/model-collection/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/model-collection/package.json:12:29: Unmet transitive peer dependency on config@>=3.0.0, via @pubsweet/base-model@^3.6.3
➤ YN0000: └ Completed in 0.21s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/components/server/model-fragment/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/model-fragment/test/fragment_graphql_test.js:12:22: Undeclared dependency on @pubsweet/model-user
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/model-fragment/test/fragment_graphql_test.js:17:16: Undeclared dependency on @pubsweet/db-manager
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/model-fragment/package.json:12:29: Unmet transitive peer dependency on config@>=3.0.0, via @pubsweet/base-model@^3.6.3
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/model-fragment/package.json:13:29: Unmet transitive peer dependency on @pubsweet/model-user@>=2.0.0, via @pubsweet/model-team@^4.0.0
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/model-fragment/package.json:13:29: Unmet transitive peer dependency on config@>=3.0.1, via @pubsweet/model-team@^4.0.0
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/model-fragment/package.json:13:29: Unmet transitive peer dependency on lodash@>=4.17.11, via @pubsweet/model-team@^4.0.0
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/model-fragment/package.json:14:25: Unmet transitive peer dependency on config@>=3.0.1, via @pubsweet/models@^0.3.8
➤ YN0000: └ Completed in 0.21s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/components/server/model-team/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/model-team/test/1548205275-move-members_test.js:12:17: Undeclared dependency on @pubsweet/db-manager
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/model-team/test/1548205276-simplify-object_test.js:11:17: Undeclared dependency on @pubsweet/db-manager
➤ YN0000: └ Completed in 0.22s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/components/server/model-user/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/components/server/model-user/test/1581371297-migrate-users-to-identities_test.js:9:17: Undeclared dependency on @pubsweet/db-manager
➤ YN0000: └ Completed in 1.7s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/packages/base-model/test/data-model-component/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/base-model/test/data-model-component/src/manuscript.js:32:21: Undeclared dependency on @pubsweet/model-team
➤ YN0000: └ Completed in 0.2s
➤ YN0000: ┌ /Users/juretriglav/src/pubsweet3/packages/base-model/test/extended-data-model-component/package.json
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/base-model/test/extended-data-model-component/src/graphql/index.js:12:11: Undeclared dependency on pubsweet-server
➤ YN0000: │ /Users/juretriglav/src/pubsweet3/packages/base-model/test/extended-data-model-component/src/graphql/index.js:22:11: Undeclared dependency on pubsweet-server
➤ YN0000: └ Completed in 0.21s
```https://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/478Improve modal docs2020-03-31T21:09:35ZJureImprove modal docsThe docs don't show how you can use modals, i.e. what to import from where, how to use it, the example only shows the code `<Modals />`The docs don't show how you can use modals, i.e. what to import from where, how to use it, the example only shows the code `<Modals />`https://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/474UI components should not add margins to themselves2020-03-26T13:01:01ZJureUI components should not add margins to themselvesIt's not the component's job to add margins to itself, this should be handled elsewhere.
E.g. TextField (https://gitlab.coko.foundation/pubsweet/pubsweet/blob/master/packages/ui/src/atoms/TextField.js#L9)It's not the component's job to add margins to itself, this should be handled elsewhere.
E.g. TextField (https://gitlab.coko.foundation/pubsweet/pubsweet/blob/master/packages/ui/src/atoms/TextField.js#L9)https://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/406Update component's configuration to use method decided #4032020-01-29T10:51:15ZJureUpdate component's configuration to use method decided #403This is a task to rename existing core component's configuration keys to equal their package names.This is a task to rename existing core component's configuration keys to equal their package names.https://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/387Soft delete functionality2020-01-29T10:40:15ZAlexandros GeorgantasSoft delete functionalityA modification of the mechanism that deletes resources from the database should be implemented. To this end, a property `deleted` (or something else) should be introduced on our models which will be set to true instead of an actual delet...A modification of the mechanism that deletes resources from the database should be implemented. To this end, a property `deleted` (or something else) should be introduced on our models which will be set to true instead of an actual delete action. This is important for auditing as well as practical reasons.
An example of a practical reason is the use of SSE with Authsome. If a collection is deleted from a user all the teams associated with that collection are deleted too. This means that there is no way to check if a specific user (different from the actual actor) who was member of team of that collection should be notified for the deletion.JureJurehttps://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/371RFC: lightweight service container2020-01-21T15:31:57ZTamlyn RhodesRFC: lightweight service container## Problem
There are a number of cross-cutting concerns which cannot easily be componentised using the current component system since they need to be used by other components without being referred to by name. So far we have:
- `email`...## Problem
There are a number of cross-cutting concerns which cannot easily be componentised using the current component system since they need to be used by other components without being referred to by name. So far we have:
- `email` - provides a way for components to send email without caring about the underlying delivery mechanism
- `auth` - components need to check authorisation without knowing which authsome mode is being used
- `logger` - components need to log stuff without knowing where it is going
- `file storage` - components need to write and read file data without knowing where it is stored
## Current solutions
Currently we are using a mixture of patterns to achieve this:
- `email` and `auth` - implement the service in a module and put a reference to the module in the app config. This leads to odd-looking code like `const mode = require(config.get('authsome.mode'))`. It's also not clear in the config which values are actually module references.
- `logger` - store the actual service in the config but create a dedicated package for it and expose a method which allows application code to replace this value at runtime and have this change affect all consumers of the service. The first part (non-serialisable objects in config) leads to problems with node-config and the second part (dedicated package per service) is a lot of repeated code.
- `file storage` - doesn't exist yet
## Proposed solution
Create a small wrapper to standardise the way we do this.
Add a section in the config:
```json
"services": {
"server": {
"email": "@pubsweet/aws-ses-mailer",
"auth": "./src/auth/mode.js",
"logger": "winston",
...
},
"client": {
"auth": "./src/auth/mode.js"
}
},
```
Then consume a service like:
```js
const services = require('pubsweet-server/src/services')
const mailer = services('email')
```
or
```js
const services = require('pubsweet-client/src/services')
const authsome = services('auth')
```https://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/431RFC: Add cron-based job scheduling to server2020-01-10T11:25:12ZJureRFC: Add cron-based job scheduling to serverWe could abstract `node-schedule` in our jobs API, and use it as indicated here by the author of `pg-boss` (https://github.com/timgit/pg-boss/issues/94#issuecomment-430852430) to provide a cron-like repeated-job interface.
There are a l...We could abstract `node-schedule` in our jobs API, and use it as indicated here by the author of `pg-boss` (https://github.com/timgit/pg-boss/issues/94#issuecomment-430852430) to provide a cron-like repeated-job interface.
There are a lot of use cases for repeated/scheduled jobs, in addition to the capabilities that `pg-boss` gives us for delayed processing: https://github.com/node-schedule/node-schedule
Are people interested in that? I know that Hindawi has some use cases, but there will surely be others.
Anyone want to take on the implementation of it too? :) @bogdan, @sebastian?https://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/465RFC: Email templates2020-01-10T11:23:07ZJureRFC: Email templatesEmail is a critical component for most of apps built with PubSweet and I see a number of issues that are related to emails and email templates in one way or another: !587, #435, #433, #356, and others.
We do have a templating system dev...Email is a critical component for most of apps built with PubSweet and I see a number of issues that are related to emails and email templates in one way or another: !587, #435, #433, #356, and others.
We do have a templating system developed by Hindawi (!413), but it's not reused in all relevant parts, and the templates themselves are hard-coded, not configurable.
It is a significant task to standardise how emails are templated and sent from all core parts, so I was thinking we could use this opportunity to remove some of our custom code in favour of a popular 3rd party email templating solution, namely: https://github.com/forwardemail/email-templates https://email-templates.js.org/
In this RFC I want comments on the following plan:
- replace a large part of our email templating component with a thin wrapper around `email-templates`
- use the templating system for all components in PubSweet's core (password reset emails, signup verification, etc)
- add ability to configure templates (perhaps also in a dynamic way i.e. store templates in a database model)
I believe that a simplified (and standard) email approach will be very beneficial for everyone in the community. Let me know what you think!
Cc @andrei.cioromila, @diversemix, @yannis, @audrey.https://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/425[tokens] Subcription reads wrong token2019-12-16T16:15:13ZYannis Barlas[tokens] Subcription reads wrong tokenSteps to reproduce:
1. Log in as a user
2. Let the token expire (might make sense to hard-set it to 5 seconds on the server)
3. Log out and log back in
4. The server starts throwing "Bad token" errors, as it is reading the token fro...Steps to reproduce:
1. Log in as a user
2. Let the token expire (might make sense to hard-set it to 5 seconds on the server)
3. Log out and log back in
4. The server starts throwing "Bad token" errors, as it is reading the token from the first login.
This essentially makes the app broken, unless the user reloads (which we cannot count on).
Steps reproducible in the latest develop branch of micropubs, but seems to be unrelated.JureJurehttps://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/356Event subsystem (for notifications)2019-12-10T14:42:53ZTamlyn RhodesEvent subsystem (for notifications)PubSweet applications need a way to notify users when certain things occur. For example:
- Author receives an email when their manuscript is approved
- Editor receives a mobile push message when a manuscript is assigned to them
- Peer re...PubSweet applications need a way to notify users when certain things occur. For example:
- Author receives an email when their manuscript is approved
- Editor receives a mobile push message when a manuscript is assigned to them
- Peer reviewer receives a desktop notification when a new message is posted in chat
- Staff dashboard updates to show a new manuscript via a GraphQL subscription
To this end we can create an event bus which receives events from server endpoints/mutations and allows other server components to listen to these and trigger notifications as they see fit.
It's likely that this will be useful beyond just notifications. For example an audit log will be easier to understand if it is structured around user events rather than database updates.https://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/435Send email verification on signup2019-12-10T14:42:52ZYannis BarlasSend email verification on signupSend an email verification token to the user on signup.
They should then be sent to a new page informing them if the verification has been successful or not, as well as providing a link to continue to a custom link (eg. dashboard).Send an email verification token to the user on signup.
They should then be sent to a new page informing them if the verification has been successful or not, as well as providing a link to continue to a custom link (eg. dashboard).JureJurehttps://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/69Export transpiled components2019-12-02T16:00:16ZAntony DenyerExport transpiled components## The problem
- Currently we publish PubSweet packages to npm as ES6/Next/JSX. These need to be passed through Babel before hitting the browser.
- But we don't want to pass all dependencies through babel because it's slow and some pack...## The problem
- Currently we publish PubSweet packages to npm as ES6/Next/JSX. These need to be passed through Babel before hitting the browser.
- But we don't want to pass all dependencies through babel because it's slow and some packages actually break due to `devDependencies` not being installed.
- So we craft elaborate regular expressions to match some packages and exclude others. This has lots of problems:
https://gitlab.coko.foundation/pubsweet/pubsweet-starter/merge_requests/31,
https://gitlab.coko.foundation/xpub/xpub/merge_requests/134,
https://gitlab.coko.foundation/pubsweet/pubsweet-starter/issues/9
- These regular expressions must be duplicated in most components' Jest configs too otherwise `babel-jest` will not transpile dependencies and unit tests will fail.
- It means that the babel config of each app is dependent on the babel config of every untranspiled dependency it consumes. i.e. if a component wants to add a babel plugin for a particular feature it is a breaking change as the plugin must be added to the app too (and the same applies to tests that require the component).
See below for possible partial solutions.
https://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/463Authorise custom email adresses on login/signup2019-11-30T14:24:40Zjulientaqjulien@coko.foundationAuthorise custom email adresses on login/signup**Describe the bug**
When creating an account using my coko.foundation adress, the app thinks the email address is not valid.
**Steps To Reproduce**
1. Create an account using `julien@coko.foundation` mail adress
**Expected behavio...**Describe the bug**
When creating an account using my coko.foundation adress, the app thinks the email address is not valid.
**Steps To Reproduce**
1. Create an account using `julien@coko.foundation` mail adress
**Expected behavior**
Using the coko.foundation adress let me create an account.
**Screenshots**
![image](/uploads/bff82c5253f131cd07a04b616666d478/image.png)
**Device, Operating System and Browser**
Mac book pro 2019, OSX 10.15, firefoxhttps://gitlab.coko.foundation/pubsweet/pubsweet/-/issues/456Discuss docker best practices2019-08-30T09:30:27ZJavier Ariasjavi@openbookpublishers.comDiscuss docker best practicesIdeally Dockerfiles are able to bring an application up from zero to production. At present a single image is not able to start a pubsweet app since it requires to set the database (`yarn setupdb`) before running the server (`yarn server...Ideally Dockerfiles are able to bring an application up from zero to production. At present a single image is not able to start a pubsweet app since it requires to set the database (`yarn setupdb`) before running the server (`yarn server`) - and both commands need to be triggered at run time (i.e. the `CMD` statement in the Dockerfile), effectively requiring two separate images (one for setup and one for running).
There are two solutions I can think of:
* Make `yarn server` check that the database exists and automatically run `setupdb` otherwise.
* Create and [`entrypoint.sh`](https://docs.docker.com/engine/reference/builder/) file that checks the database and runs `setupdb`, and then keep `CMD ["yarn", "server"]` as the main command in docker.