@nzz/q-cli 1.10.3 → 2.0.0-beta.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/README.md +22 -313
  2. package/dist/createCustomCodeItem.js +74 -0
  3. package/dist/enums.js +7 -0
  4. package/dist/index.js +50 -0
  5. package/dist/interfaces.js +1 -0
  6. package/dist/newCustomCode.js +107 -0
  7. package/dist/updateItem.js +194 -0
  8. package/dist/utils.js +88 -0
  9. package/package.json +29 -36
  10. package/.nvmrc +0 -1
  11. package/.travis.yml +0 -17
  12. package/.vscode/launch.json +0 -36
  13. package/.vscode/settings.json +0 -5
  14. package/LICENSE +0 -21
  15. package/bin/commands/bootstrap.js +0 -68
  16. package/bin/commands/qItem/configStore.js +0 -144
  17. package/bin/commands/qItem/copyItem/copyItem.js +0 -103
  18. package/bin/commands/qItem/copyItem/copySchema.json +0 -37
  19. package/bin/commands/qItem/createCustomCodeItem/createCustomCodeItem.js +0 -81
  20. package/bin/commands/qItem/createCustomCodeItem/schema.json +0 -41
  21. package/bin/commands/qItem/helpers.js +0 -102
  22. package/bin/commands/qItem/itemService.js +0 -310
  23. package/bin/commands/qItem/resourcesService.js +0 -148
  24. package/bin/commands/qItem/schemaService.js +0 -65
  25. package/bin/commands/qItem/updateItem/updateItem.js +0 -64
  26. package/bin/commands/server.js +0 -80
  27. package/bin/q.js +0 -213
  28. package/dev-server/config/default.js +0 -51
  29. package/dev-server/public/favicon.ico +0 -0
  30. package/dev-server/public/style.css +0 -64
  31. package/dev-server/routes/dev-view.js +0 -52
  32. package/dev-server/routes/file.js +0 -10
  33. package/dev-server/routes/rendering-info.js +0 -130
  34. package/dev-server/routes/routes.js +0 -6
  35. package/dev-server/routes/tool-default.js +0 -108
  36. package/dev-server/server-plugins.js +0 -1
  37. package/dev-server/server.js +0 -18
  38. package/dev-server/views/index.html +0 -184
  39. package/skeletons/custom-code-skeleton/.nvmrc +0 -1
  40. package/skeletons/custom-code-skeleton/.vscode/settings.json +0 -5
  41. package/skeletons/custom-code-skeleton/README.md +0 -26
  42. package/skeletons/custom-code-skeleton/index.d.ts +0 -3
  43. package/skeletons/custom-code-skeleton/package-lock.json +0 -7355
  44. package/skeletons/custom-code-skeleton/package.json +0 -46
  45. package/skeletons/custom-code-skeleton/q.config.json +0 -60
  46. package/skeletons/custom-code-skeleton/rollup.config.js +0 -185
  47. package/skeletons/custom-code-skeleton/src/App.scss +0 -5
  48. package/skeletons/custom-code-skeleton/src/App.svelte +0 -7
  49. package/skeletons/custom-code-skeleton/src/enums.ts +0 -0
  50. package/skeletons/custom-code-skeleton/src/interfaces.ts +0 -0
  51. package/skeletons/custom-code-skeleton/src/main-prod.ts +0 -4
  52. package/skeletons/custom-code-skeleton/src/main.scss +0 -1
  53. package/skeletons/custom-code-skeleton/src/main.ts +0 -18
  54. package/skeletons/custom-code-skeleton/tsconfig.json +0 -16
  55. package/skeletons/et-utils-package-skeleton/.nvmrc +0 -1
  56. package/skeletons/et-utils-package-skeleton/README.md +0 -12
  57. package/skeletons/et-utils-package-skeleton/jest.config.ts +0 -17
  58. package/skeletons/et-utils-package-skeleton/package-lock.json +0 -3969
  59. package/skeletons/et-utils-package-skeleton/package.json +0 -40
  60. package/skeletons/et-utils-package-skeleton/scripts/package-fixup.sh +0 -13
  61. package/skeletons/et-utils-package-skeleton/src/Service.ts +0 -8
  62. package/skeletons/et-utils-package-skeleton/src/index.ts +0 -4
  63. package/skeletons/et-utils-package-skeleton/test/Service.spec.ts +0 -10
  64. package/skeletons/et-utils-package-skeleton/test/tsconfig.json +0 -8
  65. package/skeletons/et-utils-package-skeleton/tsconfig-base.json +0 -10
  66. package/skeletons/et-utils-package-skeleton/tsconfig-cjs.json +0 -8
  67. package/skeletons/et-utils-package-skeleton/tsconfig.json +0 -8
  68. package/skeletons/server-skeleton/.nvmrc +0 -1
  69. package/skeletons/server-skeleton/Dockerfile +0 -19
  70. package/skeletons/server-skeleton/auth/routes.js +0 -85
  71. package/skeletons/server-skeleton/auth/strategyOptions.js +0 -28
  72. package/skeletons/server-skeleton/config/base.js +0 -45
  73. package/skeletons/server-skeleton/config/db.js +0 -6
  74. package/skeletons/server-skeleton/config/editor.js +0 -105
  75. package/skeletons/server-skeleton/config/rendering-info.js +0 -70
  76. package/skeletons/server-skeleton/config/screenshot.js +0 -80
  77. package/skeletons/server-skeleton/config/targets.js +0 -31
  78. package/skeletons/server-skeleton/config/tools.js +0 -65
  79. package/skeletons/server-skeleton/files/favicon.png +0 -0
  80. package/skeletons/server-skeleton/files/system.js +0 -3612
  81. package/skeletons/server-skeleton/index.js +0 -106
  82. package/skeletons/server-skeleton/package-lock.json +0 -1825
  83. package/skeletons/server-skeleton/package.json +0 -29
  84. package/skeletons/tool-skeleton/.dockerignore +0 -1
  85. package/skeletons/tool-skeleton/.nvmrc +0 -1
  86. package/skeletons/tool-skeleton/.travis.yml +0 -26
  87. package/skeletons/tool-skeleton/.vscode/settings.json +0 -5
  88. package/skeletons/tool-skeleton/Dockerfile +0 -19
  89. package/skeletons/tool-skeleton/LICENSE +0 -20
  90. package/skeletons/tool-skeleton/README.md +0 -104
  91. package/skeletons/tool-skeleton/index.js +0 -32
  92. package/skeletons/tool-skeleton/package-lock.json +0 -10108
  93. package/skeletons/tool-skeleton/package.json +0 -45
  94. package/skeletons/tool-skeleton/resources/display-options-schema.json +0 -11
  95. package/skeletons/tool-skeleton/resources/fixtures/data/basic.json +0 -4
  96. package/skeletons/tool-skeleton/resources/locales/de/translation.json +0 -1
  97. package/skeletons/tool-skeleton/resources/locales/en/translation.json +0 -1
  98. package/skeletons/tool-skeleton/resources/locales/fr/translation.json +0 -1
  99. package/skeletons/tool-skeleton/resources/schema.json +0 -16
  100. package/skeletons/tool-skeleton/rollup.config.js +0 -75
  101. package/skeletons/tool-skeleton/routes/fixtures/data.js +0 -15
  102. package/skeletons/tool-skeleton/routes/health.js +0 -10
  103. package/skeletons/tool-skeleton/routes/locales.js +0 -21
  104. package/skeletons/tool-skeleton/routes/rendering-info/web.js +0 -97
  105. package/skeletons/tool-skeleton/routes/routes.js +0 -8
  106. package/skeletons/tool-skeleton/routes/schema.js +0 -19
  107. package/skeletons/tool-skeleton/routes/script.js +0 -17
  108. package/skeletons/tool-skeleton/routes/stylesheet.js +0 -17
  109. package/skeletons/tool-skeleton/sass.config.js +0 -66
  110. package/skeletons/tool-skeleton/scripts_src/default.js +0 -3
  111. package/skeletons/tool-skeleton/styles_src/_variables.scss +0 -1
  112. package/skeletons/tool-skeleton/styles_src/main.scss +0 -2
  113. package/skeletons/tool-skeleton/test/e2e-tests.js +0 -162
  114. package/skeletons/tool-skeleton/views/dynamic/YourTool.scss +0 -5
  115. package/skeletons/tool-skeleton/views/dynamic/YourTool.svelte +0 -19
  116. package/skeletons/tool-skeleton/views/static/App.scss +0 -5
  117. package/skeletons/tool-skeleton/views/static/App.svelte +0 -21
  118. package/skeletons/tool-skeleton/views/static/components/Footer.svelte +0 -31
  119. package/skeletons/tool-skeleton/views/static/components/Header.svelte +0 -7
  120. package/skeletons/toolv2-skeleton/.husky/pre-commit +0 -6
  121. package/skeletons/toolv2-skeleton/.nvmrc +0 -1
  122. package/skeletons/toolv2-skeleton/.prettierrc.cjs +0 -15
  123. package/skeletons/toolv2-skeleton/.travis.yml +0 -30
  124. package/skeletons/toolv2-skeleton/.vscode/settings.json +0 -6
  125. package/skeletons/toolv2-skeleton/Dockerfile +0 -19
  126. package/skeletons/toolv2-skeleton/LICENSE +0 -21
  127. package/skeletons/toolv2-skeleton/README.md +0 -99
  128. package/skeletons/toolv2-skeleton/dev.js +0 -7
  129. package/skeletons/toolv2-skeleton/index.js +0 -39
  130. package/skeletons/toolv2-skeleton/jest.config.ts +0 -39
  131. package/skeletons/toolv2-skeleton/nodemon.json +0 -4
  132. package/skeletons/toolv2-skeleton/package-lock.json +0 -21382
  133. package/skeletons/toolv2-skeleton/package.json +0 -80
  134. package/skeletons/toolv2-skeleton/resources/display-options-schema.json +0 -11
  135. package/skeletons/toolv2-skeleton/resources/locales/de/translation.json +0 -8
  136. package/skeletons/toolv2-skeleton/resources/locales/en/translation.json +0 -10
  137. package/skeletons/toolv2-skeleton/resources/locales/fr/translation.json +0 -10
  138. package/skeletons/toolv2-skeleton/resources/schema.json +0 -66
  139. package/skeletons/toolv2-skeleton/rollup.config.js +0 -48
  140. package/skeletons/toolv2-skeleton/scripts/postinstall.sh +0 -5
  141. package/skeletons/toolv2-skeleton/src/.eslintrc.cjs +0 -52
  142. package/skeletons/toolv2-skeleton/src/components/Main.spec.ts +0 -15
  143. package/skeletons/toolv2-skeleton/src/components/Main.svelte +0 -32
  144. package/skeletons/toolv2-skeleton/src/enums.ts +0 -11
  145. package/skeletons/toolv2-skeleton/src/helpers/fixture-generators.ts +0 -38
  146. package/skeletons/toolv2-skeleton/src/helpers/toolRuntimeConfig.ts +0 -15
  147. package/skeletons/toolv2-skeleton/src/interfaces.ts +0 -82
  148. package/skeletons/toolv2-skeleton/src/modules.d.ts +0 -8
  149. package/skeletons/toolv2-skeleton/src/routes/dynamic-schemas/exampleDynamicSchema.ts +0 -49
  150. package/skeletons/toolv2-skeleton/src/routes/dynamic-schemas/index.ts +0 -5
  151. package/skeletons/toolv2-skeleton/src/routes/health.ts +0 -14
  152. package/skeletons/toolv2-skeleton/src/routes/locales.ts +0 -31
  153. package/skeletons/toolv2-skeleton/src/routes/notifications/exampleNotification.ts +0 -46
  154. package/skeletons/toolv2-skeleton/src/routes/option-availability.ts +0 -27
  155. package/skeletons/toolv2-skeleton/src/routes/rendering-info/web.ts +0 -150
  156. package/skeletons/toolv2-skeleton/src/routes/routes.ts +0 -21
  157. package/skeletons/toolv2-skeleton/src/routes/schema.ts +0 -21
  158. package/skeletons/toolv2-skeleton/src/routes/stylesheet.ts +0 -31
  159. package/skeletons/toolv2-skeleton/src/styles/main.scss +0 -6
  160. package/skeletons/toolv2-skeleton/svelte.config.cjs +0 -6
  161. package/skeletons/toolv2-skeleton/tasks/compileStyleFiles.cjs +0 -101
  162. package/skeletons/toolv2-skeleton/tests/e2e-tests.spec.ts +0 -158
  163. package/skeletons/toolv2-skeleton/tests/helpers.ts +0 -21
  164. package/skeletons/toolv2-skeleton/tsconfig.json +0 -48
  165. /package/{bin/commands/qItem/updateItem → dist/assets}/updateSchema.json +0 -0
@@ -1,31 +0,0 @@
1
- <script>
2
- export let notes;
3
- export let sources;
4
- export let acronym;
5
- </script>
6
-
7
- <div class="s-q-item__footer">
8
- {#if notes}
9
- <div class="s-q-item__footer__notes">{notes}</div>
10
- {/if}
11
- <div class="s-q-item__footer__details">
12
- {#if sources && sources.length > 0}
13
- <div class="s-q-item__footer__sources">
14
- {#if sources.length > 1}Quellen:{:else}Quelle:{/if}
15
- {#each sources as source, index}
16
- {#if source.text !== ""}
17
- {#if source.link && source.link.url && source.link.isValid}<a
18
- href={source.link.url}
19
- target="blank"
20
- rel="noopener noreferrer">{source.text}</a
21
- >{:else}{source.text}{/if}{#if index !== sources.length - 1 && sources[index + 1] !== ""},&nbsp;{/if}{/if}
22
- {/each}
23
- </div>
24
- {/if}
25
- {#if acronym}
26
- <div class="s-q-item__footer__acronym">NZZ / {acronym}</div>
27
- {:else}
28
- <div class="s-q-item__footer__acronym">NZZ</div>
29
- {/if}
30
- </div>
31
- </div>
@@ -1,7 +0,0 @@
1
- <script>
2
- export let title;
3
- </script>
4
-
5
- <h3 class="s-q-item__title">
6
- {title}
7
- </h3>
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env sh
2
- . "$(dirname -- "$0")/_/husky.sh"
3
-
4
- npm run build
5
-
6
- npm run prettier-format && npm run lint:all && npm run jest
@@ -1 +0,0 @@
1
- 16
@@ -1,15 +0,0 @@
1
- module.exports = {
2
- arrowParens: 'avoid',
3
- bracketSameLine: true,
4
- bracketSpacing: true,
5
- plugins: [require('prettier-plugin-svelte')],
6
- printWidth: 160,
7
- semi: true,
8
- singleQuote: true,
9
- svelteIndentScriptAndStyle: false,
10
- svelteSortOrder: 'options-scripts-markup-styles',
11
- svelteStrictMode: false,
12
- tabWidth: 2,
13
- trailingComma: 'all',
14
- useTabs: false,
15
- };
@@ -1,30 +0,0 @@
1
- dist: trusty
2
- sudo: true
3
- services:
4
- - docker
5
- language: node_js
6
- node_js:
7
- - '16'
8
- cache:
9
- directories:
10
- - node_modules
11
- install:
12
- - npm set-script postinstall ""
13
- - npm install
14
- before_script:
15
- - DOCKER_IMAGE_NAME="[tool-name]"
16
- - DOCKER_TAG=${TRAVIS_BRANCH//[^a-zA-Z0-9\_\-\.]/_}
17
- script:
18
- - npm run lint
19
- - npm run ts-check
20
- - npm run svelte-check
21
- - npm run build
22
- - npm run jest
23
- - 'if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then docker build -t $DOCKER_IMAGE_NAME:$DOCKER_TAG .; fi'
24
- after_success:
25
- - 'if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then echo $DOCKER_PASSWORD | docker login -u="$DOCKER_USERNAME" --password-stdin; docker tag $DOCKER_IMAGE_NAME:$DOCKER_TAG nzzonline/$DOCKER_IMAGE_NAME:$DOCKER_TAG; docker push nzzonline/$DOCKER_IMAGE_NAME:$DOCKER_TAG; fi'
26
-
27
- # TODO: Create token for slack notifications, then insert below & uncomment lines
28
- #notifications:
29
- #slack:
30
- #secure: <Slack-Token>
@@ -1,6 +0,0 @@
1
- {
2
- "editor.tabSize": 2,
3
- "[svelte]": {
4
- "editor.defaultFormatter": "svelte.svelte-vscode"
5
- }
6
- }
@@ -1,19 +0,0 @@
1
- # Use following version of node alpine as the base image
2
- FROM node:16-alpine
3
-
4
- # Set work directory for run/cmd
5
- WORKDIR /app
6
-
7
- # Copy package.json and package-lock.json into work directory and install dependencies
8
- COPY package.json /app/package.json
9
- COPY package-lock.json /app/package-lock.json
10
- RUN npm install --production
11
-
12
- # Copy everthing else in work directory
13
- COPY . /app
14
-
15
- # Expose server port
16
- EXPOSE 3000
17
-
18
- # Run node
19
- CMD node index.js
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) NZZ Management AG
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,99 +0,0 @@
1
- # [tool-name] <travis-badge>
2
-
3
- **maintainer**: <maintainer>
4
-
5
- Short description of tool and link to either [demo](https://editor.q.tools/) or [playground](https://q-playground.st.nzz.ch).
6
-
7
- ## Table of contents
8
-
9
- - [Installation](#installation)
10
- - [Configuration](#configuration)
11
- - [Development](#development)
12
- - [Watching files](#watching-files-dev)
13
- - [Testing](#testing)
14
- - [Deployment](#deployment)
15
- - [Functionality](#functionality)
16
- - [License](#license)
17
-
18
- ## Installation
19
-
20
- ```
21
- nvm use
22
- npm install
23
- npm start
24
- ```
25
-
26
- [to the top](#table-of-contents)
27
-
28
- ## Configuration
29
-
30
- If env variables, explained here
31
-
32
- ## Development
33
-
34
- Start the Q dev server:
35
-
36
- ```
37
- npx @nzz/q-cli server
38
- ```
39
-
40
- Run the Q tool:
41
-
42
- ```
43
- npm start
44
- ```
45
-
46
- ## Watching files (DEV)
47
-
48
- Please see nodemon.json for a specific list of extension that trigger a rebuilt when changed in development. You can extend this list at your liking.
49
-
50
- [to the top](#table-of-contents)
51
-
52
- ## Testing
53
-
54
- Run the tests:
55
-
56
- ```
57
- npm run test
58
- ```
59
-
60
- ### Implementing a new test
61
-
62
- When changing or implementing...
63
-
64
- - A `route`, it needs to be tested in the `tests/e2e-tests.js` file.
65
- - Something on the frontend, it needs to be tested in it's own `***.spec.ts` file.
66
-
67
- [to the top](#table-of-contents)
68
-
69
- ## Deployment
70
-
71
- We provide automatically built docker images at https://hub.docker.com/r/nzzonline/[tool-name]/.
72
- There are three options for deployment:
73
-
74
- - Use the provided images
75
- - Build your own docker images
76
- - Deploy the service using another technology
77
-
78
- ### Use the provided docker images
79
-
80
- 1. Deploy `nzzonline/[tool-name]` to a docker environment
81
- 2. Set the ENV variables as described in the [configuration section](#configuration)
82
-
83
- [to the top](#table-of-contents)
84
-
85
- ## Functionality
86
-
87
- The tool structure follows the general structure of each Q tool. Further information can be found in [Q server documentation - Developing tools](https://nzzdev.github.io/Q-server/developing-tools.html).
88
-
89
- [to the top](#table-of-contents)
90
-
91
- ### Options
92
-
93
- All options should be listed and explained. The varieties should be listed. If there's a visual aspect, a printscreen would be nice. The options should be listed as they are named in the `schema`
94
-
95
- [to the top](#table-of-contents)
96
-
97
- ## License (if open source)
98
-
99
- Adding the license + updating the year.
@@ -1,7 +0,0 @@
1
- process.env.METHOD_BOX_ARTICLE = `{
2
- "title": "Mehr zur Datenberechnung der NZZ",
3
- "url": "https://www.nzz.ch/ld.1580452"
4
- }`;
5
-
6
-
7
- import './index.js';
@@ -1,39 +0,0 @@
1
- import Hapi from '@hapi/hapi';
2
- import routes from './dist/routes.js';
3
-
4
- // Because the package is set as module we cannot directly call require
5
- // in js files. We must import and create it.
6
- import { createRequire } from 'module';
7
- const require = createRequire(import.meta.url);
8
-
9
- const server = Hapi.server({
10
- port: process.env.PORT || 3000,
11
- });
12
-
13
- async function init() {
14
- await server.register(require('@hapi/inert'));
15
- server.validator(require('joi'));
16
-
17
- server.route(routes);
18
-
19
- await server.start();
20
- console.log('server running ', server.info.uri);
21
- }
22
-
23
- init();
24
-
25
- async function gracefullyStop() {
26
- console.log('stopping hapi server');
27
- try {
28
- await server.stop({ timeout: 10000 });
29
- console.log('hapi server stopped');
30
- } catch (err) {
31
- console.log(err);
32
- process.exit(1);
33
- }
34
- process.exit(0);
35
- }
36
-
37
- // listen on SIGINT and SIGTERM signal and gracefully stop the server.
38
- process.on('SIGINT', gracefullyStop);
39
- process.on('SIGTERM', gracefullyStop);
@@ -1,39 +0,0 @@
1
- // Testing with Svelte + TS + ESM + Jest requires quite the setup.
2
- // https://github.com/svelteness/svelte-jester/issues/72#issuecomment-1021356664
3
-
4
- import type { Config } from '@jest/types';
5
-
6
- const config: Config.InitialOptions = {
7
- preset: 'ts-jest/presets/default-esm',
8
- testEnvironment: 'jsdom',
9
- verbose: true,
10
- transform: {
11
- '^.+\\.ts$': 'ts-jest',
12
- '^.+\\.svelte$': [
13
-
14
- // This line is very important for it to work with ESM modules
15
- './node_modules/svelte-jester/dist/transformer.mjs',
16
- {
17
- preprocess: true,
18
- },
19
- ],
20
- },
21
- extensionsToTreatAsEsm: ['.svelte', '.ts'],
22
- moduleFileExtensions: ['js', 'ts', 'svelte'],
23
- globals: {
24
- 'ts-jest': {
25
- useESM: true,
26
- },
27
- },
28
- moduleNameMapper: {
29
- '^(\\.{1,2}/.*)\\.js$': '$1',
30
- '^@rs(.*)$': '<rootDir>/resources$1',
31
- '^@src(.*)$': '<rootDir>/src$1',
32
- },
33
- testPathIgnorePatterns: ['node_modules'],
34
- transformIgnorePatterns: ['node_modules'],
35
- bail: false,
36
- setupFilesAfterEnv: ['@testing-library/jest-dom/extend-expect'],
37
- };
38
-
39
- export default config;
@@ -1,4 +0,0 @@
1
- {
2
- "watch": ["src/**/*", "resources/**/*"],
3
- "ext": "ts, js, css, svelte, json"
4
- }