mirror of
https://github.com/lightninglabs/lightning-terminal.git
synced 2026-08-13 12:33:36 +02:00
Sweeps the build-time dependency tree, which is where most of what `yarn audit` reports actually lives. This takes the frontend from 419 findings across 42 packages down to 16 across 9. Most of it is lockfile-only. `yarn upgrade` does not re-resolve transitive entries in yarn 1, so the affected entries were dropped from yarn.lock and reinstalled, which picks the newest version each parent's existing range already allows. That covers the four open dependabot PRs (shell-quote, websocket-driver, @babel/core and @babel/plugin-transform-modules-systemjs) along with @babel/helpers, ajv, async, brace-expansion, form-data, glob, js-yaml, json5, nanoid, terser and ws. Re-resolving express to 4.22.2 pulls patched body-parser, cookie, path-to-regexp and qs with it, and clears the stale minimatch 3.0.4 and semver 7.0.0 pins at the same time. browserslist and caniuse-lite had to move too. @babel/core 7.29 emits 'opera_mobile' as a compilation target and the pinned @babel/helper-compilation-targets 7.17.7 rejects it, which broke the production build until the whole toolchain was aligned. storybook goes to 7.6.24 and webpack to 5.109.2, both direct devDependencies pinned to vulnerable versions. The `resolutions` additions are for packages whose parent pins a range with no patched version in it. Each was verified against a build: - svgo 2.8.3 removes the svgo 1.x subtree that @svgr/plugin-svgo drags in. react-scripts sets `svgo: false`, so that plugin never runs, and the production bundle is byte for byte identical with and without it. - resolve-url-loader 5.0.0 is the only way to drop postcss 7. The emitted CSS is unchanged, same content hash. - @tootallnate/once, esbuild, nth-check, serialize-javascript, tar and uuid are straightforward version forces. What is left is either unfixable or would break the build: - protoc-gen-js pulls got, http-cache-semantics, adm-zip and decompress through the unmaintained `download` package. decompress has no published fix. None of it runs outside `yarn protos`. - webpack-dev-server 5 drops the onBeforeSetupMiddleware and onAfterSetupMiddleware hooks that react-scripts 5.0.1 calls directly, so forcing it would break `yarn start`. - ip and lodash.pick have no patched version published. - react-router needs v7, which is a separate migration.
147 lines
4.4 KiB
JSON
147 lines
4.4 KiB
JSON
{
|
|
"name": "lightning-terminal",
|
|
"version": "0.0.1",
|
|
"description": "Lightning Terminal",
|
|
"repository": "https://github.com/lightninglabs/lightning-terminal",
|
|
"private": true,
|
|
"scripts": {
|
|
"start": "BROWSER=none react-scripts start",
|
|
"develop": "REACT_APP_USE_SAMPLE_DATA=true yarn start",
|
|
"build": "react-scripts build",
|
|
"postbuild": "git restore build/.gitkeep 2>/dev/null || printf '# Keep directory in git.\\n' > build/.gitkeep",
|
|
"test": "react-scripts test --env=jest-environment-jsdom --transformIgnorePatterns \"node_modules/(?!d3)/\"",
|
|
"test:ci": "cross-env CI=true yarn test --coverage",
|
|
"eject": "react-scripts eject",
|
|
"lint": "eslint --ext .ts,.tsx --ignore-path .eslintignore .",
|
|
"tsc": "tsc --noEmit",
|
|
"protos": "node ./scripts/build-protos.js",
|
|
"storybook": "storybook dev -p 9009 -s public",
|
|
"build-storybook": "storybook build -s public"
|
|
},
|
|
"dependencies": {
|
|
"@emotion/react": "11.4.0",
|
|
"@emotion/styled": "11.3.0",
|
|
"@improbable-eng/grpc-web": "0.14.0",
|
|
"@remix-run/router": "1.23.3",
|
|
"@types/react-collapse": "^5.0.1",
|
|
"big.js": "6.1.1",
|
|
"bootstrap": "4.6.1",
|
|
"buffer": "6.0.3",
|
|
"copy-to-clipboard": "3.3.1",
|
|
"d3": "7.8.5",
|
|
"date-fns": "2.14.0",
|
|
"debug": "4.3.1",
|
|
"file-saver": "2.0.2",
|
|
"http-proxy-middleware": "2.0.10",
|
|
"i18next": "19.5.1",
|
|
"i18next-browser-languagedetector": "5.0.0",
|
|
"lodash": "4.18.1",
|
|
"lottie-web": "5.7.0",
|
|
"mobx": "6.3.2",
|
|
"mobx-react-lite": "3.2.0",
|
|
"mobx-utils": "6.0.4",
|
|
"qrcode.react": "^3.1.0",
|
|
"rc-dialog": "^8.9.0",
|
|
"rc-select": "11.5.0",
|
|
"rc-switch": "^4.0.0",
|
|
"rc-tooltip": "4.2.1",
|
|
"react": "17.0.2",
|
|
"react-collapse": "^5.1.1",
|
|
"react-dom": "17.0.2",
|
|
"react-i18next": "13.5.0",
|
|
"react-router-dom": "6.30.4",
|
|
"react-toastify": "6.0.6",
|
|
"react-virtualized": "9.21.2",
|
|
"reactour": "1.18.0",
|
|
"semver": "^7.5.2",
|
|
"styled-components": "5.1.1"
|
|
},
|
|
"devDependencies": {
|
|
"@storybook/addon-actions": "7.6.24",
|
|
"@storybook/addon-docs": "7.6.24",
|
|
"@storybook/addon-links": "7.6.24",
|
|
"@storybook/addons": "7.6.24",
|
|
"@storybook/preset-create-react-app": "7.6.24",
|
|
"@storybook/react": "7.6.24",
|
|
"@storybook/react-webpack5": "7.6.24",
|
|
"@testing-library/jest-dom": "5.11.5",
|
|
"@testing-library/react": "11.1.1",
|
|
"@testing-library/user-event": "12.2.0",
|
|
"@types/big.js": "6.1.1",
|
|
"@types/d3": "7.4.3",
|
|
"@types/debug": "4.1.5",
|
|
"@types/file-saver": "2.0.1",
|
|
"@types/google-protobuf": "3.15.10",
|
|
"@types/jest": "27.4.1",
|
|
"@types/lodash": "4.14.157",
|
|
"@types/node": "14.0.14",
|
|
"@types/react": "17.0.13",
|
|
"@types/react-dom": "17.0.8",
|
|
"@types/react-virtualized": "9.21.10",
|
|
"@types/reactour": "1.17.1",
|
|
"@types/semver": "^7.3.9",
|
|
"@typescript-eslint/eslint-plugin": "5.17.0",
|
|
"@typescript-eslint/parser": "5.17.0",
|
|
"cross-env": "7.0.2",
|
|
"eslint-config-prettier": "8.5.0",
|
|
"eslint-plugin-prettier": "4.0.0",
|
|
"eslint-plugin-react": "7.29.4",
|
|
"google-protobuf": "3.14.0",
|
|
"jest-canvas-mock": "2.3.0",
|
|
"jest-environment-jsdom": "27.5.1",
|
|
"prettier": "2.1.2",
|
|
"protoc-gen-js": "3.21.2",
|
|
"react-scripts": "^5.0.1",
|
|
"sass": "1.43.4",
|
|
"storybook": "7.6.24",
|
|
"ts-protoc-gen": "0.15.0",
|
|
"typescript": "4.9.5",
|
|
"webpack": "5.109.2"
|
|
},
|
|
"resolutions": {
|
|
"@tootallnate/once": "2.0.1",
|
|
"esbuild": "0.25.12",
|
|
"http-proxy-middleware": "2.0.10",
|
|
"jackspeak": "2.1.1",
|
|
"nth-check": "2.1.1",
|
|
"resolve-url-loader": "5.0.0",
|
|
"serialize-javascript": "7.1.0",
|
|
"strip-ansi": "6.0.1",
|
|
"svgo": "2.8.3",
|
|
"tar": "7.5.22",
|
|
"uuid": "11.1.1",
|
|
"wrap-ansi": "7.0.0"
|
|
},
|
|
"eslintConfig": {
|
|
"extends": "react-app",
|
|
"ignorePatterns": [
|
|
"src/types/generated/**/*.js"
|
|
]
|
|
},
|
|
"jest": {
|
|
"globalSetup": "./src/setupTestsGlobal.ts",
|
|
"resetMocks": false,
|
|
"collectCoverageFrom": [
|
|
"src/**/*.{js,jsx,ts,tsx}",
|
|
"!src/**/*.d.ts",
|
|
"!src/__(stories|mocks)__/**/*.{ts,tsx}",
|
|
"!src/types/**/*.{js,ts}",
|
|
"!src/i18n/**/*.{js,ts}",
|
|
"!src/util/tests/**/*.{ts,tsx}",
|
|
"!src/setupProxy.js",
|
|
"!src/index.tsx"
|
|
]
|
|
},
|
|
"browserslist": {
|
|
"production": [
|
|
">0.2%",
|
|
"not dead",
|
|
"not op_mini all"
|
|
],
|
|
"development": [
|
|
"last 1 chrome version",
|
|
"last 1 firefox version",
|
|
"last 1 safari version"
|
|
]
|
|
}
|
|
}
|