{ "private": true, "name": "@lion/root", "license": "MIT", "scripts": { "build": "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", "format": "npm run format:eslint && npm run format:prettier", "format:eslint": "eslint --ext .js,.html . --fix", "format:prettier": "prettier \"**/*.{js,md}\" \"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:types": "npm run types", "lint:versions": "node ./scripts/lint-versions.js", "prepare": "husky install", "release": "changeset publish", "repo:clean-slate": "git clean -dfX", "repo:diff-package-lock": "npx diff-package-lock", "start": "rocket start", "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/*" ], "devDependencies": { "@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", "@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", "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", "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", "semver": "^7.6.3", "sinon": "^19.0.2", "typescript": "^4.9.5", "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)." ] } }, "overrides": { "sharp": "^0.29.x" }, "prettier": { "printWidth": 100, "singleQuote": true, "arrowParens": "avoid", "trailingComma": "all" } }