lion/package.json
2025-10-03 09:37:32 +02:00

218 lines
8.9 KiB
JSON

{
"private": true,
"name": "@lion/root",
"license": "MIT",
"scripts": {
"build": "npm run build:astro && npm run build:rocket && npm run build:astro:update-links && mv dist _site/next",
"build:astro": "ASTRO_BASE_URL=/next npx astro build --force",
"build:astro:update-links": "node ./src/utils/rewrite-links.mjs",
"build:rocket": "rocket build",
"bundlesize": "rollup -c bundlesize/rollup.config.js && bundlesize",
"changeset": "changeset",
"custom-elements-manifest": "npm run custom-elements-manifest --workspaces --if-present && node ./scripts/create-api-tables.mjs",
"debug": "web-test-runner --watch --config web-test-runner-chrome.config.mjs",
"debug:firefox": "web-test-runner --watch --config web-test-runner-firefox.config.mjs",
"debug:no-scoped-registries-polyfill": "npm run debug -- --no-scoped-registries-polyfill",
"debug:webkit": "web-test-runner --watch --config web-test-runner-webkit.config.mjs",
"dev": "astro dev --force",
"format": "npm run format:eslint && npm run format:prettier",
"format:eslint": "eslint --ext .js,.html . --fix",
"format:prettier": "prettier \"**/*.{js,md,astro}\" \"packages/*/package.json\" \"package.json\" --write",
"postinstall": "npx patch-package && npm run custom-elements-manifest",
"lint": "run-p lint:*",
"lint:eslint": "eslint --ext .js,.html .",
"lint:markdownlint": "git ls-files '*.md' | xargs markdownlint --ignore '{.github/**/*.md,.changeset/*.md,**/CHANGELOG.md,packages/ui/_legacy-changelogs/*.md}'",
"lint:prettier": "prettier \"**/*.js\" --list-different || (echo '↑↑ these files are not prettier formatted ↑↑' && exit 1)",
"lint:versions": "node ./scripts/lint-versions.js",
"prepare": "husky install",
"preview": "npx serve _site",
"release": "changeset publish",
"repo:clean-slate": "git clean -dfX",
"repo:diff-package-lock": "npx diff-package-lock",
"start": "rocket start",
"start:astro": "astro dev",
"start:prod": "npm run preview",
"temporary-disabled__lint:types": "npm run types",
"test": "run-p test:browser test:node",
"test:browser": "web-test-runner --coverage",
"test:browserstack": "web-test-runner --config ./web-test-runner-browserstack.config.js",
"test:node": "npm run test:node --workspaces --if-present",
"test:screenshots": "npx rimraf screenshots/.diff/ && npx rimraf screenshots/.current/ && mocha --require scripts/screenshots/bootstrap.js --exit --timeout 10000 \"packages/**/test/*.screenshots-test.js\"",
"test:screenshots:update": "cross-env UPDATE_SCREENSHOTS=true npm run test:screenshots",
"types": "npm run types --workspaces --if-present",
"types-check-only": "npm run types-check-only --workspaces --if-present"
},
"workspaces": [
"packages/*",
"packages-node/*"
],
"dependencies": {
"lit": "^3.2.1"
},
"devDependencies": {
"@astrojs/lit": "^4.3.0",
"@astrojs/mdx": "^4.0.8",
"@babel/core": "^7.25.8",
"@bundled-es-modules/fetch-mock": "^6.5.2",
"@changesets/cli": "^2.27.9",
"@custom-elements-manifest/analyzer": "^0.10.3",
"@custom-elements-manifest/to-markdown": "^0.1.0",
"@lit-labs/testing": "^0.2.5",
"@lit/reactive-element": "^2.1.0",
"@mdjs/core": "^0.21.1",
"@mdjs/mdjs-preview": "^0.6.0",
"@mdjs/mdjs-story": "^0.4.0",
"@open-wc/building-rollup": "^2.2.3",
"@open-wc/eslint-config": "^12.0.3",
"@open-wc/scoped-elements": "^3.0.5",
"@open-wc/testing": "^4.0.0",
"@open-wc/testing-helpers": "^3.0.1",
"@rocket/blog": "0.4.0",
"@rocket/cli": "^0.10.2",
"@rocket/launch": "^0.6.0",
"@rocket/search": "^0.5.1",
"@thepassle/module-graph": "^0.11.0",
"@types/autosize": "^4.0.3",
"@types/chai-as-promised": "^8.0.1",
"@types/chai-dom": "^1.11.3",
"@types/fs-extra": "^11.0.4",
"@types/glob": "^8.1.0",
"@types/mocha": "^10.0.9",
"@web/dev-server-legacy": "^2.1.1",
"@web/test-runner": "^0.19.0",
"@web/test-runner-browserstack": "^0.7.2",
"@web/test-runner-commands": "^0.9.0",
"@web/test-runner-playwright": "^0.11.0",
"@webcomponents/scoped-custom-element-registry": "^0.0.10",
"@webcomponents/template-shadowroot": "^0.2.1",
"astro": "^5.3.0",
"astro-pagefind": "^1.8.3",
"astro-seo": "^0.7.5",
"bundlesize": "^1.0.0-beta.2",
"cem-plugin-vs-code-custom-data-generator": "^1.4.2",
"chai": "^4.5.0",
"chai-as-promised": "^8.0.0",
"cross-env": "^7.0.3",
"es-module-lexer": "^1.7.0",
"eslint": "^8.57.1",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-wc": "^2.2.0",
"globby": "^14.0.2",
"gray-matter": "^4.0.3",
"husky": "^9.1.6",
"lint-staged": "^15.2.10",
"looks-same": "^9.0.1",
"markdownlint-cli": "^0.42.0",
"mocha": "^10.7.3",
"npm-run-all": "^4.1.5",
"patch-package": "^8.0.0",
"postinstall-postinstall": "^2.1.0",
"prettier": "^3.3.3",
"prettier-package-json": "^2.8.0",
"remark-html": "^13.0.2",
"rocket-preset-extend-lion-docs": "^0.4.0",
"semver": "^7.6.3",
"sinon": "^19.0.2",
"typescript": "^4.9.5",
"unist-util-visit": "^5.0.0",
"wireit": "^0.14.12"
},
"bundlesize": [
{
"path": "./bundlesize/dist/*/*.js",
"maxSize": "20 kB"
}
],
"comments": {
"overrides": {
"//": [
"For best compatibility, we sometimes need to override a package version depended upon by multiple packages."
],
"sharp": [
"Version of 'sharp' package we get via '@rocket/cli' is too old to be built on a Mac.",
"But updating package '@rocket-cli' causes our portal to break. Reason unknown.",
"So, we override the sharp version in here until '@rocket-cli' can be updated."
]
},
"olderVersions": {
"//": [
"Our aim is to keep all depencies up-to-date(for maintainability, performance and security).",
"We use [npm-outdated](https://marketplace.visualstudio.com/items?itemName=mskelton.npm-outdated) as a helper for this.",
"Sometimes we can't bc/o incompatibility issues."
],
"eslint": [
"Can't be updated yet to 9.x, because of eslint-plugin-import"
],
"typescript": [
"Since changes in types can be reflected in the code, we want to keep this stable for a longer period of time.",
"As semver is not followed, we keep our major versions aligned with a minot of TS (hence '~' instead of '^' is used)"
],
"remark-html": [
"Can't be updated to 14.x, because remark-html is still in commonjs."
],
"@rocket/*": [
"Pinned, as newer versions require a complete overhaul of docs. Later we will move to astro."
],
"looks-same": [
"Part of ./scripts/screenshots, which is not incorporated atm in automated test suite. TODO: re-evaluate solution and whether visual regression testing needs to be part of this repo"
],
"@open-wc/building-rollup": [
"Can't be updated to 3.x, as v2 seems to be better compatible with rocket setup"
],
"chai": [
"Can't be updated to 5.x, because @web/dev-server-core test-helpers (having implicit dep on chai) is not compatible with chai >= 5.x"
]
},
"toBeRemoved": {
"//": [
"For maintainability, performance and security, we want to keep the number of dependencies as low as possible (in case functionality can be achieved via existing dependencies or platform functionality)."
],
"@bundled-es-modules/fetch-mock": [
"Can be achieved via sinon as well"
],
"publish-docs/fs-extra | @types/fs-extra": [
"Copy can be achieved via node's fs module"
],
"@web/dev-server-legacy": [
"Only needed for browserstack config. Can be achieved via @web/dev-server"
],
"@lit/reactive-element": [
"We make sure latest version is hoisted and resolved, until we move to astro (when we can regenerate the package-lock.json file w/o breaking Rocket)."
]
}
},
"dependenciesAstroForTheFuture": {
"@astrojs/lit": "^4.3.0",
"@astrojs/mdx": "^4.0.8",
"@mdjs/core": "^0.21.1",
"@mdjs/mdjs-preview": "^0.6.0",
"@mdjs/mdjs-story": "^0.4.0",
"@open-wc/scoped-elements": "^3.0.5",
"@webcomponents/scoped-custom-element-registry": "^0.0.10",
"@webcomponents/template-shadowroot": "^0.2.1",
"astro": "^5.3.0",
"astro-pagefind": "^1.8.3",
"astro-seo": "^0.7.5",
"es-module-lexer": "^1.7.0",
"lit": "^3.2.1",
"rocket-preset-extend-lion-docs": "^0.4.0",
"unist-util-visit": "^5.0.0"
},
"overrides": {
"sharp": "^0.29.x",
"@mdjs/core": "^0.21.1",
"@mdjs/mdjs-story": "^0.4.0",
"remark-rehype": "^8",
"@mdjs/mdjs-preview": {
".": "^0.6.0",
"@lion/ui": "^0.15.0"
}
},
"prettier": {
"printWidth": 100,
"singleQuote": true,
"arrowParens": "avoid",
"trailingComma": "all"
}
}