generator-nitro 9.4.2 → 10.0.0

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.
@@ -1 +1 @@
1
- 20.18.1
1
+ 20.19.4
@@ -6,8 +6,8 @@
6
6
  "private": true,
7
7
  "author": "The Nitro Team",
8
8
  "engines": {
9
- "node": ">=18.12.0 <21",
10
- "npm": ">=8.19.2 <11"
9
+ "node": ">=20.18.1 <21",
10
+ "npm": ">=10.8.2 <11"
11
11
  },
12
12
  "scripts": {
13
13
  "\n# PROJECT ------- ": "",
@@ -27,7 +27,7 @@
27
27
  "cypress-test:open": "cypress open --project ./tests/cypress/ --e2e --browser chrome",
28
28
  "lighthouse-test": "npm run build && cross-env PORT=8889 NITRO_MODE=test npm-run-all --parallel --race prod:serve lighthouse-test:run",
29
29
  "lighthouse-test:run": "lighthouse http://localhost:8889/<% if (options.exampleCode) { %>example-patterns<% } else { %>index<% } %> --quiet --configPath=./tests/lighthouse/lighthouse.config.js --output-path=./public/reports/lighthouse/report.html --view",
30
- "lint": "npm-run-all lint:*",
30
+ "lint": "npm-run-all --parallel lint:*",
31
31
  "lint:css": "stylelint src/**/*.*ss --allow-empty-input",
32
32
  "lint:data": "nitro-app-validate-pattern-data",
33
33
  "lint:html": "gulp lint-html",
@@ -80,19 +80,18 @@
80
80
  "dependencies": {<% if (options.exampleCode) { %>
81
81
  "@gondel/core": "1.2.8",
82
82
  "@gondel/plugin-hot": "1.2.8",
83
- "bootstrap": "5.3.5",<% } %>
84
- "core-js": "3.42.0"<% if (options.exampleCode) { %>,
83
+ "bootstrap": "5.3.7",<% } %>
84
+ "core-js": "3.45.0"<% if (options.exampleCode) { %>,
85
85
  "flatpickr": "4.6.13",
86
86
  "handlebars": "4.7.8",
87
87
  "jquery": "3.7.1",
88
88
  "lazysizes": "5.3.2",
89
- "lottie-web": "5.12.2",
90
- "prevent-window-opener-attacks": "0.3.1"<% } %><% if (options.jsCompiler === 'js') { %>,
89
+ "lottie-web": "5.13.0"<% } %><% if (options.jsCompiler === 'js') { %>,
91
90
  "regenerator-runtime": "0.14.1"<% } %><% if (options.exampleCode) { %>,
92
91
  "svg4everybody": "2.1.9"<% } %>
93
92
  },
94
93
  "devDependencies": {<% if (options.jsCompiler === 'js') { %>
95
- "@babel/eslint-parser": "7.27.1",<% } %>
94
+ "@babel/eslint-parser": "7.28.0",<% } %>
96
95
  "@merkle-open/eslint-config": "4.0.0",
97
96
  "@merkle-open/html-validate-config": "1.0.2",
98
97
  "@merkle-open/prettier-config": "1.2.1",
@@ -102,7 +101,7 @@
102
101
  "@nitro/exporter": "<%= version %>",
103
102
  "@nitro/gulp": "<%= version %>",
104
103
  "@nitro/webpack": "<%= version %>",
105
- "@playwright/test": "1.52.0",<% if (options.jsCompiler === 'ts') { %>
104
+ "@playwright/test": "1.54.2",<% if (options.jsCompiler === 'ts') { %>
106
105
  "@types/bootstrap": "5.2.10",<% if (options.exampleCode ) { %>
107
106
  "@types/jquery": "3.5.32",<% } %>
108
107
  "@types/svg4everybody": "2.1.5",
@@ -110,29 +109,29 @@
110
109
  "backstopjs": "6.3.25",
111
110
  "check-node-version": "4.2.1",
112
111
  "commitizen": "4.3.1",
113
- "config": "3.3.12",<% if (options.themes) { %>
114
- "cookie-session": "2.1.0",<% } %>
112
+ "config": "4.1.0",<% if (options.themes) { %>
113
+ "cookie-session": "2.1.1",<% } %>
115
114
  "cross-env": "7.0.3",
116
- "cypress": "13.17.0",
115
+ "cypress": "14.5.4",
117
116
  "cz-conventional-changelog": "3.3.0",
118
117
  "env-linter": "2.0.0",
119
118
  "eslint": "8.57.1",
120
- "eslint-plugin-import": "2.31.0",
119
+ "eslint-plugin-import": "2.32.0",
121
120
  "extend": "3.0.2",
122
121
  "generator-nitro": "<%= version %>",
123
- "gulp": "5.0.0",
122
+ "gulp": "5.0.1",
124
123
  "html-validate": "7.18.1",
125
124
  "husky": "9.1.7",
126
125
  "license-checker": "25.0.1",
127
- "lighthouse": "12.6.0",
128
- "lint-staged": "15.5.1",<% if (options.themes) { %>
126
+ "lighthouse": "12.8.1",
127
+ "lint-staged": "15.5.2",<% if (options.themes) { %>
129
128
  "node-sass": "9.0.0",<% } %>
130
- "npm-check-updates": "18.0.1",
129
+ "npm-check-updates": "18.0.2",
131
130
  "npm-run-all": "4.1.5",
132
- "prettier": "3.5.3",
131
+ "prettier": "3.6.2",
133
132
  "rimraf": "5.0.10",
134
- "stylelint": "16.19.1",<% if (options.jsCompiler === 'ts') { %>
135
- "typescript": "5.8.3",<% } %>
133
+ "stylelint": "16.23.1",<% if (options.jsCompiler === 'ts') { %>
134
+ "typescript": "5.9.2",<% } %>
136
135
  "webpack-cli": "4.10.0",
137
136
  "yo": "5.1.0"
138
137
  },
@@ -21,8 +21,7 @@ Nitro is simple, fast and flexible. Use this app for all your frontend work.
21
21
 
22
22
  This application was created by the yeoman generator for nitro.
23
23
  Before using, you need of course [node](https://nodejs.org/) installed.
24
- Nitro is tested with the current ["Active" LTS version](https://github.com/nodejs/Release#release-schedule)
25
- and with the LTS maintenance versions.
24
+ Nitro is currently only tested with node 20.
26
25
 
27
26
  Install the project dependencies in the project root:
28
27
 
@@ -288,8 +287,8 @@ The pattern helper will find also pattern elements.
288
287
 
289
288
  - Pattern with name `example-sub`: `<type>/example-sub/example-sub.<%= options.viewExt %>`
290
289
  - Element with name `example-sub`: `<type>/*/elements/example-sub/example-sub.<%= options.viewExt %>`
291
-
292
- <% if (options.templateEngine === 'hbs') { %>Please note:
290
+ <% if (options.templateEngine === 'hbs') { %>
291
+ Please note:
293
292
  The parameter `type` is also available for rendering pattern elements the same as for normal patterns. Therefore, the same
294
293
  rules and restrictions regarding unique names apply. Additionally, for pattern elements, their name should also be unique
295
294
  within a certain pattern type as otherwise, the pattern helper would just return the first found match.
@@ -299,7 +298,8 @@ within a certain pattern type as otherwise, the pattern helper would just return
299
298
  Render a partial (<%= options.viewExt %> snippet). Partials are placed in `src/views/_partials/` as `*.<%= options.viewExt %>` files (e.g. `head.<%= options.viewExt %>`).
300
299
 
301
300
  ```<% if (options.templateEngine === 'twig') { %>
302
- {% partial 'head' %}<% } else { %>
301
+ {% partial 'head' %}
302
+ ```<% } else { %>
303
303
  {{> head}}
304
304
  ```
305
305
 
@@ -432,7 +432,7 @@ For final use, all assets are copied from the 'src' to the 'public' folder.
432
432
  The main assets will be bundled with an easy to use webpack config.
433
433
 
434
434
  The configuration includes loaders for JavaScript, TypeScript, CSS & SCSS,
435
- clientside handlebars, webfonts and images (with minification). It also includes an iconfont generator.
435
+ clientside handlebars, webfonts and images (with minification).
436
436
 
437
437
  You only have to enable the desired loaders and features. And of course, it is possible to extend the configuration to your needs.
438
438
 
@@ -28,13 +28,13 @@ $checkbox-color: $color-gray-5;
28
28
  border-radius: 4px;
29
29
  }
30
30
 
31
- // Checkbox Replacement - checked state: Check-Icon
31
+ // Checkbox Replacement - checked state: check char
32
32
  &:checked + .a-checkbox__label::after {
33
- font-icon: -0.4 + $checkbox-size url('../img/check.svg');
33
+ content: '';
34
34
  color: $color-gray-4;
35
35
  position: absolute;
36
- top: 32%;
37
- left: 4px;
36
+ top: 20%;
37
+ left: 5px;
38
38
  }
39
39
 
40
40
  &:focus,
@@ -1,6 +1,6 @@
1
1
  # checkbox
2
2
 
3
- Displays a custom checkbox example with label by using css and a fonticon
3
+ Displays a custom checkbox example with label by using css and background image
4
4
 
5
5
  ## Things to note
6
6
 
@@ -8,10 +8,6 @@ Displays a custom checkbox example with label by using css and a fonticon
8
8
 
9
9
  You may use this pattern with a [div, li or span](./schema.json) root node.
10
10
 
11
- ### Iconfont
12
-
13
- The checkbox icon will be extracted to an iconfont with the [iconfont-webpack-plugin](https://www.npmjs.com/package/iconfont-webpack-plugin)
14
-
15
11
  ## Testing
16
12
 
17
13
  [Example page](http://localhost:8081/example-patterns)
@@ -9,8 +9,11 @@ $a-list-size: 2rem;
9
9
  margin: 0.3 * $a-list-size 0;
10
10
  &::before {
11
11
  position: absolute;
12
+ content: '';
13
+ width: 1em;
14
+ height: 1em;
12
15
  margin-top: 0.1 * $a-list-size;
13
- margin-left: -1.8 * $a-list-size;
14
- font-icon: url('../img/check.svg');
16
+ margin-left: -1.6 * $a-list-size;
17
+ background: center / contain no-repeat url('../img/check.svg');
15
18
  }
16
19
  }
@@ -3,12 +3,12 @@
3
3
  /* stylelint-disable max-nesting-depth */
4
4
  &:nth-child(2n) {
5
5
  &::before {
6
- font-icon: url('../../img/arrow.svg');
6
+ background-image: url('../../img/arrow.svg');
7
7
  }
8
8
  }
9
9
  &:nth-child(3n) {
10
10
  &::before {
11
- font-icon: url('../../img/nitro.svg');
11
+ background-image: url('../../img/nitro.svg');
12
12
  }
13
13
  }
14
14
  /* stylelint-enable max-nesting-depth */
@@ -1,12 +1,11 @@
1
1
  # list
2
2
 
3
3
  Unordered list with icon as bullet point (default: checkmark).
4
- Icons will be extracted to an iconfont with the [iconfont-webpack-plugin](https://www.npmjs.com/package/iconfont-webpack-plugin)
5
- Possibility to add an svg icon at the end of the text using icon pattern
4
+ Possibility to add an svg icon at the end of the text using the icon pattern
6
5
 
7
6
  ## API
8
7
 
9
- modifier `a-list-mix` for different icons per line
8
+ modifier `a-list--mix` for different icons per line
10
9
 
11
10
  ## Testing
12
11
 
@@ -4,7 +4,6 @@
4
4
 
5
5
  import 'core-js/features/promise/index';
6
6
 
7
- import './shared/base/security/js/security';
8
7
  import './shared/base/reset/css/reset.scss';
9
8
  import './shared/base/grid/css/grid.scss';
10
9
  import './shared/base/document/css/document.scss';
@@ -27,12 +27,12 @@
27
27
  "dependencies": {
28
28
  "@nitro/app": "<%= nitroAppVersion %>",
29
29
  "check-node-version": "4.2.1",
30
- "config": "3.3.12",
31
- "cookie-session": "2.1.0",
30
+ "config": "4.1.0",
31
+ "cookie-session": "2.1.1",
32
32
  "cross-env": "7.0.3",
33
33
  "extend": "3.0.2",
34
34
  "hbs": "4.2.0",
35
- "i18next": "24.2.3",
35
+ "i18next": "25.3.4",
36
36
  "npm-run-all": "4.1.5"
37
37
  }
38
38
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "generator-nitro",
3
- "version": "9.4.2",
3
+ "version": "10.0.0",
4
4
  "description": "Yeoman generator for the nitro frontend framework",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -9,8 +9,8 @@
9
9
  },
10
10
  "author": "The Nitro Team",
11
11
  "engines": {
12
- "node": ">=18.12.0 <21",
13
- "npm": ">=8.19.2 <11"
12
+ "node": ">=20.18.1 <21",
13
+ "npm": ">=10.8.2 <11"
14
14
  },
15
15
  "main": "generators/app/index.js",
16
16
  "scripts": {
@@ -37,7 +37,7 @@
37
37
  ],
38
38
  "dependencies": {
39
39
  "cli-color": "2.0.4",
40
- "config": "3.3.12",
40
+ "config": "4.1.0",
41
41
  "find-git-root": "1.0.4",
42
42
  "git-config": "0.0.7",
43
43
  "glob": "10.4.5",
@@ -50,9 +50,9 @@
50
50
  "@merkle-open/eslint-config": "4.0.0",
51
51
  "ejs": "3.1.10",
52
52
  "eslint": "8.57.1",
53
- "eslint-plugin-import": "2.31.0",
54
- "fs-extra": "11.3.0",
55
- "jasmine": "5.7.1",
53
+ "eslint-plugin-import": "2.32.0",
54
+ "fs-extra": "11.3.1",
55
+ "jasmine": "5.9.0",
56
56
  "yeoman-assert": "3.1.1",
57
57
  "yeoman-test": "6.3.0"
58
58
  }
package/readme.md CHANGED
@@ -16,8 +16,7 @@ Nitro is simple, fast and flexible. It works on macOS, Windows and Linux. Use th
16
16
  ## Usage
17
17
 
18
18
  Before using, you need of course [node](https://nodejs.org/) installed.
19
- Nitro and the Nitro generator are tested with the current ["Active" LTS version](https://github.com/nodejs/Release#release-schedule)
20
- and with the LTS maintenance versions.
19
+ Nitro and the Nitro generator are currently only tested with node 20.
21
20
 
22
21
  ### Create a new project
23
22
 
@@ -1,20 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <!-- Generator: Sketch 49.3 (51167) - http://www.bohemiancoding.com/sketch -->
4
- <title>check_16x16px</title>
5
- <desc>Created with Sketch.</desc>
6
- <defs>
7
- <path d="M5.5148,11.9997 L0.3738,7.9557 C-0.0562,7.6167 -0.1262,6.9997 0.2208,6.5787 C0.5668,6.1577 1.1958,6.0887 1.6258,6.4277 L5.3448,9.3537 L14.2818,0.2977 C14.6658,-0.0893 15.2978,-0.1013 15.6958,0.2747 C16.0918,0.6507 16.1028,1.2707 15.7188,1.6607 L5.5148,11.9997 Z" id="path-1"></path>
8
- </defs>
9
- <g id="check_16x16px" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
10
- <g id="check-icon" transform="translate(0.000000, 2.000000)">
11
- <mask id="mask-2" fill="white">
12
- <use xlink:href="#path-1"></use>
13
- </mask>
14
- <use id="Mask" fill="#000000" xlink:href="#path-1"></use>
15
- <g id="corporate/Green" mask="url(#mask-2)">
16
- <g transform="translate(-8.000000, -11.000000)"></g>
17
- </g>
18
- </g>
19
- </g>
20
- </svg>
@@ -1 +0,0 @@
1
- import 'prevent-window-opener-attacks';
@@ -1 +0,0 @@
1
- import 'prevent-window-opener-attacks';
@@ -1,3 +0,0 @@
1
- # Security
2
-
3
- [prevent-window-opener-attacks](https://www.npmjs.com/package/prevent-window-opener-attacks)