generator-nitro
Version:
Yeoman generator for the nitro frontend framework
174 lines (173 loc) • 8.05 kB
JSON
{
"name": "<%= name %>",
"version": "0.0.0",
"description": "Nitro is a Node.js application for simple and complex frontend development with a tiny footprint. This app is based on generator-nitro <%= version %>",
"license": "UNLICENSED",
"private": true,
"author": "The Nitro Team",
"engines": {
"node": ">=18.12.0 <21",
"npm": ">=8.19.2 <11"
},
"scripts": {
"\n# PROJECT ------- ": "",
"clean": "npx -y npm-run-all --npm-path npm clean:*",
"clean:lock": "rimraf package-lock.json",
"clean:modules": "npx -y rimraf node_modules",
"commit": "git-cz",
"nitro:pattern": "yo nitro:pattern",
"nitro:server": "npm run build && rimraf dist/ && yo nitro:server --folder=dist",
"nitro:update": "npm uninstall generator-nitro && npm install generator-nitro@latest --save-dev --save-exact && yo nitro",
"update-dependencies": "npm-check-updates -u --deprecated",
"\n# MISC ------- ": "",
"postinstall": "<% if (git.root) { %>cd <%= git.root %> && husky <% if (git.project) { %><%= git.project %>/.husky && cd <%= git.project %> <% } %>&& <% } %>npx playwright install && <% if (options.themes) { %>npm rebuild node-sass && <% } %>env-linter<% if (git.root) { %> --hooksInstalled<% } %> --saveExact --dependenciesExactVersion --lts",
"\n# LINT/TEST ------- ": "",
"check-node-version": "check-node-version --print --package",
"cypress-test": "npm run build && cross-env PORT=8888 NITRO_MODE=test npm-run-all --parallel --race prod:serve cypress-test:open",
"cypress-test:open": "cypress open --project ./tests/cypress/ --e2e --browser chrome",
"lighthouse-test": "npm run build && cross-env PORT=8889 NITRO_MODE=test npm-run-all --parallel --race prod:serve lighthouse-test:run",
"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",
"lint": "npm-run-all lint:*",
"lint:css": "stylelint src/**/*.*ss --allow-empty-input",
"lint:data": "nitro-app-validate-pattern-data",
"lint:html": "gulp lint-html",
"lint:js": "eslint ./src --ext <% if (options.jsCompiler === 'js') { %>.js,.jsx<% } else { %>.ts,.tsx<% } %>",
"lint:license": "license-checker --production --summary --exclude \"Apache-2.0, BSD, ISC, LGPL, MIT, MPL\" --failOn \"AGPL; EPL; GPL\"",
"playwright-test": "cross-env PORT=8890 NITRO_MODE=test playwright test --config=tests/playwright/playwright.config.ts --ui",
"prettier": "prettier --write \"**/*.*(js|jsx|ts|tsx|json|css|scss|md|mdx|graphql|gql|yml|yaml)\"",
"test": "npm-run-all test:*",
"test:lint": "npm run lint",
"test:build": "npm run build",
"test:e2e": "cross-env PORT=8899 NITRO_MODE=test npm-run-all --parallel --race test:e2e:*",
"test:e2e:serve": "npm run prod:serve",
"test:e2e:run": "npm-run-all --serial test:e2e:run:*",
"test:e2e:run:cypress": "cypress run --project ./tests/cypress/",
"test:e2e:run:playwright": "playwright test --config=tests/playwright/playwright.config.ts",
"visual-approve": "backstop approve --config=tests/backstop/backstop.config.js --docker",
"visual-test": "npm run build && cross-env PORT=8892 npm-run-all --parallel --race visual-test:*",
"visual-test:serve": "npm run prod:serve",
"visual-test:test": "backstop test --config=tests/backstop/backstop.config.js --docker",
"\n# BUILD/RELEASE ------- ": "",
"build": "npm-run-all build:*",
"build:clean": "rimraf public/assets",
"build:assets": "gulp assets",<% if (options.themes) { %>
"build:webpack": "npm-run-all build:webpack:*",
"build:webpack:light": "cross-env THEME=light webpack --mode production --config config/webpack/webpack.config.prod.js",
"build:webpack:dark": "cross-env THEME=dark webpack --mode production --config config/webpack/webpack.config.prod.js",<% } else { %>
"build:webpack": "webpack --mode production --config config/webpack/webpack.config.prod.js",<% } %><% if (options.exporter) { %>
"export": "npm run build && gulp export",<% } %>
"\n# RUN ------- ": "",
"dev": "npm-run-all check-node-version --parallel --race dev:*",
"dev:serve": "cross-env NODE_ENV=development nitro-app-serve",
"dev:watch": "gulp develop",
"prod": "npm-run-all prod:*",
"prod:check": "npm run check-node-version",
"prod:build": "npm run build",
"prod:serve": "cross-env NODE_ENV=production nitro-app-serve",<% if (options.themes) { %>
"start": "npm run start:light",
"start:light": "cross-env THEME=light PORT=8081 PROXY=8082 npm run dev",
"start:dark": "cross-env THEME=dark PORT=8083 PROXY=8084 npm run dev"<% } else { %>
"start": "npm run dev"<% } %>
},
"keywords": [
"frontend",
"app",
"nitro",
"component",
"pattern",
"modular"
],
"dependencies": {<% if (options.exampleCode) { %>
"@gondel/core": "1.2.8",
"@gondel/plugin-hot": "1.2.8",
"bootstrap": "5.3.3",<% } %>
"core-js": "3.39.0"<% if (options.exampleCode) { %>,
"flatpickr": "4.6.13",
"handlebars": "4.7.8",
"jquery": "3.7.1",
"lazysizes": "5.3.2",
"lottie-web": "5.12.2",
"prevent-window-opener-attacks": "0.3.1"<% } %><% if (options.jsCompiler === 'js') { %>,
"regenerator-runtime": "0.14.1"<% } %><% if (options.exampleCode) { %>,
"svg4everybody": "2.1.9"<% } %>
},
"devDependencies": {<% if (options.jsCompiler === 'js') { %>
"@babel/eslint-parser": "7.25.9",<% } %>
"@merkle-open/eslint-config": "4.0.0",
"@merkle-open/html-validate-config": "1.0.2",
"@merkle-open/prettier-config": "1.2.1",
"@merkle-open/stylelint-config": "4.0.2",
"@merkle-open/ts-config": "1.1.1",
"@nitro/app": "<%= version %>",
"@nitro/exporter": "<%= version %>",
"@nitro/gulp": "<%= version %>",
"@nitro/webpack": "<%= version %>",
"@playwright/test": "1.49.1",<% if (options.jsCompiler === 'ts') { %>
"@types/bootstrap": "5.2.10",<% if (options.exampleCode ) { %>
"@types/jquery": "3.5.32",<% } %>
"@types/svg4everybody": "2.1.5",
"@types/webpack-env": "1.18.5",<% } %>
"backstopjs": "6.3.25",
"check-node-version": "4.2.1",
"commitizen": "4.3.1",
"config": "3.3.12",<% if (options.themes) { %>
"cookie-session": "2.1.0",<% } %>
"cross-env": "7.0.3",
"cypress": "13.17.0",
"cz-conventional-changelog": "3.3.0",
"env-linter": "2.0.0",
"eslint": "8.57.1",
"eslint-plugin-import": "2.31.0",
"extend": "3.0.2",
"generator-nitro": "<%= version %>",
"gulp": "5.0.0",
"html-validate": "7.18.1",
"husky": "9.1.7",
"license-checker": "25.0.1",
"lighthouse": "12.3.0",
"lint-staged": "15.2.11",<% if (options.themes) { %>
"node-sass": "9.0.0",<% } %>
"npm-check-updates": "17.1.11",
"npm-run-all": "4.1.5",
"prettier": "3.4.2",
"rimraf": "5.0.10",
"stylelint": "16.12.0",<% if (options.jsCompiler === 'ts') { %>
"typescript": "5.6.3",<% } %>
"webpack-cli": "4.10.0",
"yo": "5.1.0"
},
"browserslist": [
"> 0.2%",
"last 1 version",
"not dead"
],
"postcss": {},
"config": {
"commitizen": {
"path": "cz-conventional-changelog"
}
},
"lint-staged": {
"src/**/*.{css,scss}": [
"prettier --write",
"stylelint --allow-empty-input"
],
"**/*.json": [
"prettier --write",
"npm run lint:data"
],
"src/**/*.{<% if (options.jsCompiler === 'js') { %>js,jsx<% } %><% if (options.jsCompiler === 'ts') { %>ts,tsx<% } %>}": [
"prettier --write",
"eslint"
],
"**/*.md": [
"prettier --write"
],
"**/*.yml": [
"prettier --write"
],
"package.json": [
"env-linter --saveExact --dependenciesExactVersion"
]
}
}