UNPKG

generator-nitro

Version:

Yeoman generator for the nitro frontend framework

174 lines (173 loc) 8.05 kB
{ "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" ] } }