generator-nitro 7.5.4 → 8.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.
- package/generators/app/index.js +0 -2
- package/generators/app/templates/.node-version +1 -1
- package/generators/app/templates/CUTAWAYpackage.json +22 -29
- package/generators/app/templates/project/docs/nitro.md +1 -5
- package/generators/app/templates/project/routes/_themes.js +1 -1
- package/generators/app/templates/project/routes/countries.js +6 -3
- package/generators/app/templates/project/routes/lottie.js +6 -3
- package/generators/app/templates/readme.md +0 -4
- package/generators/app/templates/src/patterns/atoms/button/css/button.scss +3 -1
- package/generators/app/templates/src/patterns/atoms/cta/css/cta.scss +3 -1
- package/generators/app/templates/src/patterns/atoms/stage/css/stage.scss +15 -3
- package/generators/app/templates/src/patterns/molecules/example/js/example.js +2 -2
- package/generators/app/templates/src/patterns/molecules/example/js/example.ts +2 -2
- package/generators/app/templates/src/proto/utils/develop-helpers/index.js +0 -2
- package/generators/app/templates/src/proto/utils/develop-helpers/index.ts +0 -2
- package/generators/app/templates/src/proto/utils/develop-helpers/js/key1Breakpoint.js +1 -1
- package/generators/app/templates/src/proto/utils/develop-helpers/js/key1Breakpoint.ts +1 -1
- package/generators/app/templates/src/proto/utils/develop-helpers/js/key2BootstrapGrid.js +1 -1
- package/generators/app/templates/src/proto/utils/develop-helpers/js/key2BootstrapGrid.ts +1 -1
- package/generators/app/templates/src/proto/utils/develop-helpers/readme.md +0 -1
- package/generators/app/templates/src/shared/base/webfonts/css/webfont-gaegu.scss +12 -3
- package/generators/app/templates/src/shared/base/webfonts/css/webfont-playfair-display.scss +12 -4
- package/generators/app/templates/tests/backstop/engine_scripts/puppet/loadCookies.js +33 -33
- package/package.json +6 -6
- package/readme.md +1 -1
- package/generators/app/templates/.dockerignore +0 -10
- package/generators/app/templates/docker-compose-dev.yml +0 -13
- package/generators/app/templates/docker-compose.yml +0 -9
- package/generators/app/templates/project/docs/nitro-docker.md +0 -35
- package/generators/app/templates/src/proto/utils/develop-helpers/css/key4Tota11y.scss +0 -5
- package/generators/app/templates/src/proto/utils/develop-helpers/js/key4Tota11y.js +0 -24
- package/generators/app/templates/src/proto/utils/develop-helpers/js/key4Tota11y.ts +0 -24
package/generators/app/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
18.17.
|
|
1
|
+
18.17.1
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
"private": true,
|
|
7
7
|
"author": "The Nitro Team",
|
|
8
8
|
"engines": {
|
|
9
|
-
"node": ">=
|
|
10
|
-
"npm": ">=
|
|
9
|
+
"node": ">=16.13.0 <19",
|
|
10
|
+
"npm": ">=8.1.0 <10"
|
|
11
11
|
},
|
|
12
12
|
"scripts": {
|
|
13
13
|
"\n# PROJECT ------- ": "",
|
|
@@ -66,14 +66,8 @@
|
|
|
66
66
|
"prod:serve": "cross-env NODE_ENV=production nitro-app-serve",<% if (options.themes) { %>
|
|
67
67
|
"start": "npm run start:light",
|
|
68
68
|
"start:light": "cross-env THEME=light PORT=8081 PROXY=8082 npm run dev",
|
|
69
|
-
"start:dark": "cross-env THEME=dark PORT=8083 PROXY=8084 npm run dev"
|
|
70
|
-
"start": "npm run dev"
|
|
71
|
-
"\n# DOCKER ------- ": "",
|
|
72
|
-
"docker:update": "docker-compose build",
|
|
73
|
-
"docker:start": "npm run docker:dev:start",
|
|
74
|
-
"docker:dev:start": "docker-compose -f docker-compose-dev.yml up",
|
|
75
|
-
"docker:dev:console": "docker exec -it <%= name %>_server-dev bash",
|
|
76
|
-
"docker:prod": "docker-compose up"
|
|
69
|
+
"start:dark": "cross-env THEME=dark PORT=8083 PROXY=8084 npm run dev"<% } else { %>
|
|
70
|
+
"start": "npm run dev"<% } %>
|
|
77
71
|
},
|
|
78
72
|
"keywords": [
|
|
79
73
|
"frontend",
|
|
@@ -86,32 +80,31 @@
|
|
|
86
80
|
"dependencies": {<% if (options.exampleCode) { %>
|
|
87
81
|
"@gondel/core": "1.2.8",
|
|
88
82
|
"@gondel/plugin-hot": "1.2.8",
|
|
89
|
-
"bootstrap": "5.3.
|
|
90
|
-
"core-js": "3.
|
|
83
|
+
"bootstrap": "5.3.1",<% } %>
|
|
84
|
+
"core-js": "3.32.1"<% if (options.exampleCode) { %>,
|
|
91
85
|
"flatpickr": "4.6.13",
|
|
92
|
-
"handlebars": "4.7.
|
|
86
|
+
"handlebars": "4.7.8",
|
|
93
87
|
"jquery": "3.7.0",
|
|
94
88
|
"lazysizes": "5.3.2",
|
|
95
89
|
"lottie-web": "5.12.2",
|
|
96
90
|
"prevent-window-opener-attacks": "0.3.1"<% } %><% if (options.jsCompiler === 'js') { %>,
|
|
97
|
-
"regenerator-runtime": "0.
|
|
91
|
+
"regenerator-runtime": "0.14.0"<% } %><% if (options.exampleCode) { %>,
|
|
98
92
|
"svg4everybody": "2.1.9"<% } %>
|
|
99
93
|
},
|
|
100
94
|
"devDependencies": {<% if (options.jsCompiler === 'js') { %>
|
|
101
|
-
"@babel/eslint-parser": "7.22.
|
|
102
|
-
"@
|
|
103
|
-
"@merkle-open/eslint-config": "1.0.0",
|
|
95
|
+
"@babel/eslint-parser": "7.22.10",<% } %>
|
|
96
|
+
"@merkle-open/eslint-config": "3.0.0",
|
|
104
97
|
"@merkle-open/html-validate-config": "1.0.1",
|
|
105
|
-
"@merkle-open/prettier-config": "1.
|
|
106
|
-
"@merkle-open/stylelint-config": "3.
|
|
98
|
+
"@merkle-open/prettier-config": "1.2.0",
|
|
99
|
+
"@merkle-open/stylelint-config": "3.1.0",
|
|
107
100
|
"@merkle-open/ts-config": "1.1.0",
|
|
108
101
|
"@nitro/app": "<%= version %>",
|
|
109
102
|
"@nitro/exporter": "<%= version %>",
|
|
110
103
|
"@nitro/gulp": "<%= version %>",
|
|
111
104
|
"@nitro/webpack": "<%= version %>",
|
|
112
|
-
"@playwright/test": "1.
|
|
105
|
+
"@playwright/test": "1.37.1",<% if (options.jsCompiler === 'ts') { %>
|
|
113
106
|
"@types/bootstrap": "5.2.6",<% if (options.exampleCode ) { %>
|
|
114
|
-
"@types/jquery": "3.5.
|
|
107
|
+
"@types/jquery": "3.5.17",<% } %>
|
|
115
108
|
"@types/svg4everybody": "2.1.2",
|
|
116
109
|
"@types/webpack-env": "1.18.1",<% } %>
|
|
117
110
|
"backstopjs": "6.2.2",
|
|
@@ -119,25 +112,25 @@
|
|
|
119
112
|
"commitizen": "4.3.0",
|
|
120
113
|
"config": "3.3.9",
|
|
121
114
|
"cross-env": "7.0.3",
|
|
122
|
-
"cypress": "12.17.
|
|
115
|
+
"cypress": "12.17.4",
|
|
123
116
|
"cz-conventional-changelog": "3.3.0",
|
|
124
117
|
"env-linter": "1.0.0",
|
|
125
|
-
"eslint": "
|
|
126
|
-
"eslint-plugin-import": "2.
|
|
118
|
+
"eslint": "8.46.0",
|
|
119
|
+
"eslint-plugin-import": "2.28.1",
|
|
127
120
|
"extend": "3.0.2",
|
|
128
121
|
"generator-nitro": "<%= version %>",
|
|
129
122
|
"gulp": "4.0.2",
|
|
130
123
|
"html-validate": "7.18.1",
|
|
131
124
|
"husky": "8.0.3",
|
|
132
125
|
"license-checker": "25.0.1",
|
|
133
|
-
"lighthouse": "
|
|
134
|
-
"lint-staged": "
|
|
126
|
+
"lighthouse": "11.0.0",
|
|
127
|
+
"lint-staged": "14.0.1",<% if (options.themes) { %>
|
|
135
128
|
"node-sass": "8.0.0",<% } %>
|
|
136
|
-
"npm-check-updates": "16.
|
|
129
|
+
"npm-check-updates": "16.13.0",
|
|
137
130
|
"npm-run-all": "4.1.5",
|
|
138
|
-
"prettier": "
|
|
131
|
+
"prettier": "3.0.2",
|
|
139
132
|
"rimraf": "5.0.1",
|
|
140
|
-
"stylelint": "15.10.
|
|
133
|
+
"stylelint": "15.10.3",<% if (options.jsCompiler === 'ts') { %>
|
|
141
134
|
"typescript": "5.1.6",<% } %>
|
|
142
135
|
"webpack-cli": "4.10.0",
|
|
143
136
|
"yo": "4.3.1"
|
|
@@ -22,7 +22,7 @@ Nitro is simple, fast and flexible. Use this app for all your frontend work.
|
|
|
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
24
|
Nitro is tested with the current ["Active" LTS version](https://github.com/nodejs/Release#release-schedule)
|
|
25
|
-
and with the LTS maintenance versions
|
|
25
|
+
and with the LTS maintenance versions.
|
|
26
26
|
|
|
27
27
|
Install the project dependencies in the project root:
|
|
28
28
|
|
|
@@ -72,10 +72,6 @@ set PORT=8000 && set PROXY=8001 && npm start
|
|
|
72
72
|
set PORT=3001 && npm run prod
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
-
### Usage with docker
|
|
76
|
-
|
|
77
|
-
For information on how to use Nitro with docker, please refer to [nitro-docker.md](./nitro-docker.md).
|
|
78
|
-
|
|
79
75
|
## Configuring
|
|
80
76
|
|
|
81
77
|
### Config Package
|
|
@@ -28,9 +28,12 @@ function search(req, res, next) {
|
|
|
28
28
|
items = items.filter((item) => regex.test(item.name) || regex.test(item.code));
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
setTimeout(
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
setTimeout(
|
|
32
|
+
() => {
|
|
33
|
+
return res.json(items);
|
|
34
|
+
},
|
|
35
|
+
utils.getRandomInt(250, 1000),
|
|
36
|
+
);
|
|
34
37
|
}
|
|
35
38
|
|
|
36
39
|
module.exports = (app) => {
|
|
@@ -19,9 +19,12 @@ function animation(req, res, next) {
|
|
|
19
19
|
data = JSON.parse(fs.readFileSync(file));
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
setTimeout(
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
setTimeout(
|
|
23
|
+
() => {
|
|
24
|
+
return res.json(data);
|
|
25
|
+
},
|
|
26
|
+
utils.getRandomInt(250, 1000),
|
|
27
|
+
);
|
|
25
28
|
}
|
|
26
29
|
|
|
27
30
|
module.exports = (app) => {
|
|
@@ -25,10 +25,6 @@ and start in development mode
|
|
|
25
25
|
npm start
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
### Usage with docker (experimental)
|
|
29
|
-
|
|
30
|
-
For information on how to use Nitro with docker, please refer to [nitro-docker.md](./project/docs/nitro-docker.md).
|
|
31
|
-
|
|
32
28
|
## Nitro
|
|
33
29
|
|
|
34
30
|
For information on how to use Nitro, please refer to [nitro.md](./project/docs/nitro.md).
|
|
@@ -7,7 +7,11 @@
|
|
|
7
7
|
height: 190px;
|
|
8
8
|
background-image: url('../img/space-ship.svg'), url('../img/satellite.svg'), url('../img/ufo.svg'),
|
|
9
9
|
url('../img/clouds.png');
|
|
10
|
-
background-position:
|
|
10
|
+
background-position:
|
|
11
|
+
10vw 200px,
|
|
12
|
+
50% 200px,
|
|
13
|
+
70% -100px,
|
|
14
|
+
0 0;
|
|
11
15
|
background-size: 8vw, 5vw, 7vw, auto;
|
|
12
16
|
background-repeat: no-repeat, no-repeat, no-repeat, repeat-x;
|
|
13
17
|
|
|
@@ -16,9 +20,17 @@
|
|
|
16
20
|
|
|
17
21
|
@keyframes a-stage-sky {
|
|
18
22
|
from {
|
|
19
|
-
background-position:
|
|
23
|
+
background-position:
|
|
24
|
+
10vw 600px,
|
|
25
|
+
50% 200px,
|
|
26
|
+
70% -170px,
|
|
27
|
+
0 0;
|
|
20
28
|
}
|
|
21
29
|
to {
|
|
22
|
-
background-position:
|
|
30
|
+
background-position:
|
|
31
|
+
20vw -200px,
|
|
32
|
+
120% -100px,
|
|
33
|
+
30% 300px,
|
|
34
|
+
100% 0;
|
|
23
35
|
}
|
|
24
36
|
}
|
|
@@ -24,12 +24,12 @@ class Example extends GondelBaseComponent {
|
|
|
24
24
|
console.log(
|
|
25
25
|
'everything ok?'.startsWith('every')
|
|
26
26
|
? 'ES2015/ES6 startWith string method works'
|
|
27
|
-
: 'broken ES2015/ES6 startWith string method'
|
|
27
|
+
: 'broken ES2015/ES6 startWith string method',
|
|
28
28
|
);
|
|
29
29
|
console.log(
|
|
30
30
|
[2, 4, 16, 256].includes(16)
|
|
31
31
|
? 'ES2016/ES7 includes array method works'
|
|
32
|
-
: 'broken ES2016/ES7 includes array method'
|
|
32
|
+
: 'broken ES2016/ES7 includes array method',
|
|
33
33
|
);
|
|
34
34
|
/* eslint-enable no-console */
|
|
35
35
|
}
|
|
@@ -30,12 +30,12 @@ export class Example extends GondelBaseComponent {
|
|
|
30
30
|
console.log(
|
|
31
31
|
'everything ok?'.startsWith('every')
|
|
32
32
|
? 'ES2015/ES6 startWith string method works'
|
|
33
|
-
: 'broken ES2015/ES6 startWith string method'
|
|
33
|
+
: 'broken ES2015/ES6 startWith string method',
|
|
34
34
|
);
|
|
35
35
|
console.log(
|
|
36
36
|
[2, 4, 16, 256].includes(16)
|
|
37
37
|
? 'ES2016/ES7 includes array method works'
|
|
38
|
-
: 'broken ES2016/ES7 includes array method'
|
|
38
|
+
: 'broken ES2016/ES7 includes array method',
|
|
39
39
|
);
|
|
40
40
|
/* eslint-enable no-console */
|
|
41
41
|
}
|
|
@@ -5,4 +5,3 @@ They are included in "proto" entry point
|
|
|
5
5
|
- press `ctrl`|`alt` and `1` to show & hide a banner with current viewport size
|
|
6
6
|
- press `ctrl`|`alt` and `2` to show & hide grid columns in your page
|
|
7
7
|
- press `ctrl`|`alt` and `3` to show & hide component, row and col wrappers in your page
|
|
8
|
-
- press `ctrl`|`alt` and `4` to show & hide accessibility helper tota11y
|
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
font-style: normal;
|
|
5
5
|
font-weight: 300;
|
|
6
6
|
font-display: fallback;
|
|
7
|
-
src:
|
|
7
|
+
src:
|
|
8
|
+
local('Gaegu Light'),
|
|
9
|
+
local('Gaegu-Light'),
|
|
10
|
+
url('../fonts/gaegu-v2-latin-300.woff2') format('woff2'),
|
|
8
11
|
url('../fonts/gaegu-v2-latin-300.woff') format('woff');
|
|
9
12
|
}
|
|
10
13
|
|
|
@@ -14,7 +17,10 @@
|
|
|
14
17
|
font-style: normal;
|
|
15
18
|
font-weight: 400;
|
|
16
19
|
font-display: fallback;
|
|
17
|
-
src:
|
|
20
|
+
src:
|
|
21
|
+
local('Gaegu Regular'),
|
|
22
|
+
local('Gaegu-Regular'),
|
|
23
|
+
url('../fonts/gaegu-v2-latin-regular.woff2') format('woff2'),
|
|
18
24
|
url('../fonts/gaegu-v2-latin-regular.woff') format('woff');
|
|
19
25
|
}
|
|
20
26
|
|
|
@@ -24,6 +30,9 @@
|
|
|
24
30
|
font-style: normal;
|
|
25
31
|
font-weight: 700;
|
|
26
32
|
font-display: fallback;
|
|
27
|
-
src:
|
|
33
|
+
src:
|
|
34
|
+
local('Gaegu Bold'),
|
|
35
|
+
local('Gaegu-Bold'),
|
|
36
|
+
url('../fonts/gaegu-v2-latin-700.woff2') format('woff2'),
|
|
28
37
|
url('../fonts/gaegu-v2-latin-700.woff') format('woff');
|
|
29
38
|
}
|
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
font-style: normal;
|
|
5
5
|
font-weight: 400;
|
|
6
6
|
font-display: fallback;
|
|
7
|
-
src:
|
|
7
|
+
src:
|
|
8
|
+
local('Playfair Display Regular'),
|
|
9
|
+
local('PlayfairDisplay-Regular'),
|
|
8
10
|
url('../fonts/playfair-display-v13-latin-regular.woff2') format('woff2'),
|
|
9
11
|
url('../fonts/playfair-display-v13-latin-regular.woff') format('woff');
|
|
10
12
|
}
|
|
@@ -15,7 +17,9 @@
|
|
|
15
17
|
font-style: italic;
|
|
16
18
|
font-weight: 400;
|
|
17
19
|
font-display: fallback;
|
|
18
|
-
src:
|
|
20
|
+
src:
|
|
21
|
+
local('Playfair Display Italic'),
|
|
22
|
+
local('PlayfairDisplay-Italic'),
|
|
19
23
|
url('../fonts/playfair-display-v13-latin-italic.woff2') format('woff2'),
|
|
20
24
|
url('../fonts/playfair-display-v13-latin-italic.woff') format('woff');
|
|
21
25
|
}
|
|
@@ -26,7 +30,9 @@
|
|
|
26
30
|
font-style: normal;
|
|
27
31
|
font-weight: 700;
|
|
28
32
|
font-display: fallback;
|
|
29
|
-
src:
|
|
33
|
+
src:
|
|
34
|
+
local('Playfair Display Bold'),
|
|
35
|
+
local('PlayfairDisplay-Bold'),
|
|
30
36
|
url('../fonts/playfair-display-v13-latin-700.woff2') format('woff2'),
|
|
31
37
|
url('../fonts/playfair-display-v13-latin-700.woff') format('woff');
|
|
32
38
|
}
|
|
@@ -37,7 +43,9 @@
|
|
|
37
43
|
font-style: normal;
|
|
38
44
|
font-weight: 900;
|
|
39
45
|
font-display: fallback;
|
|
40
|
-
src:
|
|
46
|
+
src:
|
|
47
|
+
local('Playfair Display Black'),
|
|
48
|
+
local('PlayfairDisplay-Black'),
|
|
41
49
|
url('../fonts/playfair-display-v13-latin-900.woff2') format('woff2'),
|
|
42
50
|
url('../fonts/playfair-display-v13-latin-900.woff') format('woff');
|
|
43
51
|
}
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
const fs = require('fs');
|
|
2
|
-
|
|
3
|
-
module.exports = async (page, scenario) => {
|
|
4
|
-
let cookies = [];
|
|
5
|
-
const cookiePath = scenario.cookiePath;
|
|
6
|
-
|
|
7
|
-
// READ COOKIES FROM FILE IF EXISTS
|
|
8
|
-
if (fs.existsSync(cookiePath)) {
|
|
9
|
-
cookies = JSON.parse(fs.readFileSync(cookiePath));
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
// MUNGE COOKIE DOMAIN
|
|
13
|
-
cookies = cookies.map((cookie) => {
|
|
14
|
-
if (cookie.domain.startsWith('http://') || cookie.domain.startsWith('https://')) {
|
|
15
|
-
cookie.url = cookie.domain;
|
|
16
|
-
} else {
|
|
17
|
-
cookie.url = 'https://' + cookie.domain;
|
|
18
|
-
}
|
|
19
|
-
delete cookie.domain;
|
|
20
|
-
return cookie;
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
// SET COOKIES
|
|
24
|
-
const setCookies = async () => {
|
|
25
|
-
return Promise.all(
|
|
26
|
-
cookies.map(async (cookie) => {
|
|
27
|
-
await page.setCookie(cookie);
|
|
28
|
-
})
|
|
29
|
-
);
|
|
30
|
-
};
|
|
31
|
-
await setCookies();
|
|
32
|
-
console.log('Cookie state restored with:', JSON.stringify(cookies, null, 2));
|
|
33
|
-
};
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
|
|
3
|
+
module.exports = async (page, scenario) => {
|
|
4
|
+
let cookies = [];
|
|
5
|
+
const cookiePath = scenario.cookiePath;
|
|
6
|
+
|
|
7
|
+
// READ COOKIES FROM FILE IF EXISTS
|
|
8
|
+
if (fs.existsSync(cookiePath)) {
|
|
9
|
+
cookies = JSON.parse(fs.readFileSync(cookiePath));
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// MUNGE COOKIE DOMAIN
|
|
13
|
+
cookies = cookies.map((cookie) => {
|
|
14
|
+
if (cookie.domain.startsWith('http://') || cookie.domain.startsWith('https://')) {
|
|
15
|
+
cookie.url = cookie.domain;
|
|
16
|
+
} else {
|
|
17
|
+
cookie.url = 'https://' + cookie.domain;
|
|
18
|
+
}
|
|
19
|
+
delete cookie.domain;
|
|
20
|
+
return cookie;
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
// SET COOKIES
|
|
24
|
+
const setCookies = async () => {
|
|
25
|
+
return Promise.all(
|
|
26
|
+
cookies.map(async (cookie) => {
|
|
27
|
+
await page.setCookie(cookie);
|
|
28
|
+
}),
|
|
29
|
+
);
|
|
30
|
+
};
|
|
31
|
+
await setCookies();
|
|
32
|
+
console.log('Cookie state restored with:', JSON.stringify(cookies, null, 2));
|
|
33
|
+
};
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "generator-nitro",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0",
|
|
4
4
|
"description": "Yeoman generator for the nitro frontend framework",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": "merkle-open/generator-nitro",
|
|
7
7
|
"author": "The Nitro Team",
|
|
8
8
|
"engines": {
|
|
9
|
-
"node": ">=
|
|
10
|
-
"npm": ">=
|
|
9
|
+
"node": ">=16.13.0 <19",
|
|
10
|
+
"npm": ">=8.1.0 <10"
|
|
11
11
|
},
|
|
12
12
|
"main": "generators/app/index.js",
|
|
13
13
|
"scripts": {
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
"yosay": "2.0.2"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@merkle-open/eslint-config": "
|
|
47
|
+
"@merkle-open/eslint-config": "3.0.0",
|
|
48
48
|
"ejs": "3.1.9",
|
|
49
|
-
"eslint": "
|
|
50
|
-
"eslint-plugin-import": "2.
|
|
49
|
+
"eslint": "8.46.0",
|
|
50
|
+
"eslint-plugin-import": "2.28.1",
|
|
51
51
|
"fs-extra": "11.1.1",
|
|
52
52
|
"jasmine": "4.6.0",
|
|
53
53
|
"yeoman-assert": "3.1.1",
|
package/readme.md
CHANGED
|
@@ -17,7 +17,7 @@ Nitro is simple, fast and flexible. It works on macOS, Windows and Linux. Use th
|
|
|
17
17
|
|
|
18
18
|
Before using, you need of course [node](https://nodejs.org/) installed.
|
|
19
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
|
|
20
|
+
and with the LTS maintenance versions.
|
|
21
21
|
|
|
22
22
|
### Create a new project
|
|
23
23
|
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# Nitro usage with docker
|
|
2
|
-
|
|
3
|
-
This feature is currently in experimental status.
|
|
4
|
-
|
|
5
|
-
Of course docker must be installed.
|
|
6
|
-
|
|
7
|
-
## Production mode
|
|
8
|
-
|
|
9
|
-
To start in production mode (prototype server):
|
|
10
|
-
|
|
11
|
-
```
|
|
12
|
-
npm run docker:prod
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## Development mode
|
|
16
|
-
|
|
17
|
-
To start in development mode:
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
npm run docker:start
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
If you need a console to the docker image, run:
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
npm run docker:dev:console
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Update Docker Image
|
|
30
|
-
|
|
31
|
-
If you make changes to package.json or the Dockerfile you should recreate the docker image.
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
npm run docker:update
|
|
35
|
-
```
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import '@khanacademy/tota11y/dist/tota11y';
|
|
2
|
-
import { addKeyboardAction, getFromLocalStorage, setToLocalStorage } from './developHelpers';
|
|
3
|
-
|
|
4
|
-
// toggle tota11y helper on CTRL+4 / ALT+4
|
|
5
|
-
(function tota11yHelper() {
|
|
6
|
-
const style = document.createElement('style');
|
|
7
|
-
style.innerHTML = '.tota11y { display: none; }';
|
|
8
|
-
document.head.appendChild(style);
|
|
9
|
-
function toggleTota11y() {
|
|
10
|
-
if (style.parentElement) {
|
|
11
|
-
style.parentElement.removeChild(style);
|
|
12
|
-
} else {
|
|
13
|
-
document.head.appendChild(style);
|
|
14
|
-
}
|
|
15
|
-
setToLocalStorage('dev-helper-tota11y', !Boolean(style.parentElement));
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
// 52 = keycode for 4
|
|
19
|
-
addKeyboardAction(52, toggleTota11y);
|
|
20
|
-
// Local Storage
|
|
21
|
-
if (getFromLocalStorage('dev-helper-tota11y')) {
|
|
22
|
-
toggleTota11y();
|
|
23
|
-
}
|
|
24
|
-
})();
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import '@khanacademy/tota11y/dist/tota11y';
|
|
2
|
-
import { addKeyboardAction, getFromLocalStorage, setToLocalStorage } from './developHelpers';
|
|
3
|
-
|
|
4
|
-
// toggle tota11y helper on CTRL+4 / ALT+4
|
|
5
|
-
(function tota11yHelper() {
|
|
6
|
-
const style = document.createElement('style');
|
|
7
|
-
style.innerHTML = '.tota11y { display: none; }';
|
|
8
|
-
document.head.appendChild(style);
|
|
9
|
-
function toggleTota11y() {
|
|
10
|
-
if (style.parentElement) {
|
|
11
|
-
style.parentElement.removeChild(style);
|
|
12
|
-
} else {
|
|
13
|
-
document.head.appendChild(style);
|
|
14
|
-
}
|
|
15
|
-
setToLocalStorage('dev-helper-tota11y', !Boolean(style.parentElement));
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
// 52 = keycode for 4
|
|
19
|
-
addKeyboardAction(52, toggleTota11y);
|
|
20
|
-
// Local Storage
|
|
21
|
-
if (getFromLocalStorage('dev-helper-tota11y')) {
|
|
22
|
-
toggleTota11y();
|
|
23
|
-
}
|
|
24
|
-
})();
|