Downgrade styled-components to v5 for TypeScript compatibility

- Downgrade styled-components from v6.1.1 to v5.3.11
- Add @types/styled-components for v5 type definitions
- Simplify styled.ts export (v5 uses default export)
- Remove tsconfig skipLibCheck workaround (not needed with v5)
- Add string-replace-loader dependency for webpack
- Update @pezkuwi/dev to 0.85.4 (includes rollup config export fix)

This fixes TS2742 declaration emit errors that prevented npm
package builds while allowing Chrome/Firefox extension bundles.
This commit is contained in:
2026-01-17 21:08:55 +03:00
parent ebe8d5c499
commit f123bbfacc
6 changed files with 217 additions and 40 deletions
+1 -1
View File
@@ -46,7 +46,7 @@
"test:one": "EXTENSION_PREFIX='test' pezkuwi-dev-run-test --env browser"
},
"devDependencies": {
"@pezkuwi/dev": "^0.85.2",
"@pezkuwi/dev": "^0.85.4",
"@types/node": "^20.10.5",
"eslint-scope": "^5.1.1",
"i18next-scanner": "^4.4.0",
+2 -1
View File
@@ -52,7 +52,7 @@
"react-is": "^18.2.0",
"react-router": "^5.3.4",
"react-router-dom": "^5.3.4",
"styled-components": "^6.1.1",
"styled-components": "^5.3.11",
"tslib": "^2.8.1"
},
"devDependencies": {
@@ -66,6 +66,7 @@
"@types/react-router": "^5.1.20",
"@types/react-router-dom": "^5.3.3",
"@types/sinon-chrome": "^2.2.15",
"@types/styled-components": "^5.1.26",
"@wojtekmaj/enzyme-adapter-react-17": "^0.8.0",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.7",
+1 -12
View File
@@ -1,15 +1,4 @@
// Copyright 2019-2026 @pezkuwi/extension-ui authors & contributors
// SPDX-License-Identifier: Apache-2.0
import { styled } from 'styled-components';
import type { IStyledComponent, RuleSet } from 'styled-components';
// Re-export styled with proper types to avoid TS2742 errors in declaration files
export { styled };
// Helper type for styled component exports - ensures TypeScript can emit declarations
// without referencing internal styled-components paths
export type StyledComponentType<Props extends object = object> = IStyledComponent<'web', Props>;
// Type for the css template literal result
export type StyledCSS<Props extends object = object> = RuleSet<Props>;
export { default as styled } from 'styled-components';
+1 -3
View File
@@ -3,9 +3,7 @@
"compilerOptions": {
"baseUrl": "..",
"outDir": "./build",
"rootDir": "./src",
// Required for styled-components v6 declaration emission compatibility
"skipLibCheck": true
"rootDir": "./src"
},
"exclude": [
"**/*.spec.ts"
+1
View File
@@ -38,6 +38,7 @@
"path-browserify": "^1.0.1",
"process": "^0.11.10",
"stream-browserify": "^3.0.0",
"string-replace-loader": "^3.1.0",
"ts-loader": "^9.5.1",
"url-loader": "^4.1.1",
"webpack-extension-manifest-plugin": "^0.8.0"
+211 -23
View File
@@ -25,7 +25,7 @@ __metadata:
languageName: node
linkType: hard
"@babel/code-frame@npm:^7.0.0":
"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.28.6":
version: 7.28.6
resolution: "@babel/code-frame@npm:7.28.6"
dependencies:
@@ -36,6 +36,52 @@ __metadata:
languageName: node
linkType: hard
"@babel/generator@npm:^7.28.6":
version: 7.28.6
resolution: "@babel/generator@npm:7.28.6"
dependencies:
"@babel/parser": "npm:^7.28.6"
"@babel/types": "npm:^7.28.6"
"@jridgewell/gen-mapping": "npm:^0.3.12"
"@jridgewell/trace-mapping": "npm:^0.3.28"
jsesc: "npm:^3.0.2"
checksum: 10/ef2af927e8e0985d02ec4321a242da761a934e927539147c59fdd544034dc7f0e9846f6bf86209aca7a28aee2243ed0fad668adccd48f96d7d6866215173f9af
languageName: node
linkType: hard
"@babel/helper-annotate-as-pure@npm:^7.22.5":
version: 7.27.3
resolution: "@babel/helper-annotate-as-pure@npm:7.27.3"
dependencies:
"@babel/types": "npm:^7.27.3"
checksum: 10/63863a5c936ef82b546ca289c9d1b18fabfc24da5c4ee382830b124e2e79b68d626207febc8d4bffc720f50b2ee65691d7d12cc0308679dee2cd6bdc926b7190
languageName: node
linkType: hard
"@babel/helper-globals@npm:^7.28.0":
version: 7.28.0
resolution: "@babel/helper-globals@npm:7.28.0"
checksum: 10/91445f7edfde9b65dcac47f4f858f68dc1661bf73332060ab67ad7cc7b313421099a2bfc4bda30c3db3842cfa1e86fffbb0d7b2c5205a177d91b22c8d7d9cb47
languageName: node
linkType: hard
"@babel/helper-module-imports@npm:^7.0.0, @babel/helper-module-imports@npm:^7.22.5":
version: 7.28.6
resolution: "@babel/helper-module-imports@npm:7.28.6"
dependencies:
"@babel/traverse": "npm:^7.28.6"
"@babel/types": "npm:^7.28.6"
checksum: 10/64b1380d74425566a3c288074d7ce4dea56d775d2d3325a3d4a6df1dca702916c1d268133b6f385de9ba5b822b3c6e2af5d3b11ac88e5453d5698d77264f0ec0
languageName: node
linkType: hard
"@babel/helper-plugin-utils@npm:^7.28.6":
version: 7.28.6
resolution: "@babel/helper-plugin-utils@npm:7.28.6"
checksum: 10/21c853bbc13dbdddf03309c9a0477270124ad48989e1ad6524b83e83a77524b333f92edd2caae645c5a7ecf264ec6d04a9ebe15aeb54c7f33c037b71ec521e4a
languageName: node
linkType: hard
"@babel/helper-string-parser@npm:^7.27.1":
version: 7.27.1
resolution: "@babel/helper-string-parser@npm:7.27.1"
@@ -50,7 +96,7 @@ __metadata:
languageName: node
linkType: hard
"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.21.4":
"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.21.4, @babel/parser@npm:^7.28.6":
version: 7.28.6
resolution: "@babel/parser@npm:7.28.6"
dependencies:
@@ -61,6 +107,17 @@ __metadata:
languageName: node
linkType: hard
"@babel/plugin-syntax-jsx@npm:^7.22.5":
version: 7.28.6
resolution: "@babel/plugin-syntax-jsx@npm:7.28.6"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
checksum: 10/572e38f5c1bb4b8124300e7e3dd13e82ae84a21f90d3f0786c98cd05e63c78ca1f32d1cfe462dfbaf5e7d5102fa7cd8fd741dfe4f3afc2e01a3b2877dcc8c866
languageName: node
linkType: hard
"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.22.5, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.28.4":
version: 7.28.6
resolution: "@babel/runtime@npm:7.28.6"
@@ -68,7 +125,33 @@ __metadata:
languageName: node
linkType: hard
"@babel/types@npm:^7.28.6":
"@babel/template@npm:^7.28.6":
version: 7.28.6
resolution: "@babel/template@npm:7.28.6"
dependencies:
"@babel/code-frame": "npm:^7.28.6"
"@babel/parser": "npm:^7.28.6"
"@babel/types": "npm:^7.28.6"
checksum: 10/0ad6e32bf1e7e31bf6b52c20d15391f541ddd645cbd488a77fe537a15b280ee91acd3a777062c52e03eedbc2e1f41548791f6a3697c02476ec5daf49faa38533
languageName: node
linkType: hard
"@babel/traverse@npm:^7.28.6, @babel/traverse@npm:^7.4.5":
version: 7.28.6
resolution: "@babel/traverse@npm:7.28.6"
dependencies:
"@babel/code-frame": "npm:^7.28.6"
"@babel/generator": "npm:^7.28.6"
"@babel/helper-globals": "npm:^7.28.0"
"@babel/parser": "npm:^7.28.6"
"@babel/template": "npm:^7.28.6"
"@babel/types": "npm:^7.28.6"
debug: "npm:^4.3.1"
checksum: 10/dd71efe9412433169b805d5c346a6473e539ce30f605752a0d40a0733feba37259bd72bb4ad2ab591e2eaff1ee56633de160c1e98efdc8f373cf33a4a8660275
languageName: node
linkType: hard
"@babel/types@npm:^7.27.3, @babel/types@npm:^7.28.6":
version: 7.28.6
resolution: "@babel/types@npm:7.28.6"
dependencies:
@@ -211,7 +294,7 @@ __metadata:
languageName: node
linkType: hard
"@emotion/is-prop-valid@npm:1.4.0":
"@emotion/is-prop-valid@npm:1.4.0, @emotion/is-prop-valid@npm:^1.1.0":
version: 1.4.0
resolution: "@emotion/is-prop-valid@npm:1.4.0"
dependencies:
@@ -227,6 +310,13 @@ __metadata:
languageName: node
linkType: hard
"@emotion/stylis@npm:^0.8.4":
version: 0.8.5
resolution: "@emotion/stylis@npm:0.8.5"
checksum: 10/ceaa673457f501a393cb52873b2bc34dbe35ef0fb8faa4b943d73ecbbb42bc3cea53b87cbf482038b7b9b1f95859be3d8b58d508422b4d15aec5b62314cc3c1e
languageName: node
linkType: hard
"@emotion/unitless@npm:0.10.0":
version: 0.10.0
resolution: "@emotion/unitless@npm:0.10.0"
@@ -234,6 +324,13 @@ __metadata:
languageName: node
linkType: hard
"@emotion/unitless@npm:^0.7.4":
version: 0.7.5
resolution: "@emotion/unitless@npm:0.7.5"
checksum: 10/f976e5345b53fae9414a7b2e7a949aa6b52f8bdbcc84458b1ddc0729e77ba1d1dfdff9960e0da60183877873d3a631fa24d9695dd714ed94bcd3ba5196586a6b
languageName: node
linkType: hard
"@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0":
version: 4.9.1
resolution: "@eslint-community/eslint-utils@npm:4.9.1"
@@ -423,7 +520,7 @@ __metadata:
languageName: node
linkType: hard
"@jridgewell/gen-mapping@npm:^0.3.5":
"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.5":
version: 0.3.13
resolution: "@jridgewell/gen-mapping@npm:0.3.13"
dependencies:
@@ -457,7 +554,7 @@ __metadata:
languageName: node
linkType: hard
"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25":
"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28":
version: 0.3.31
resolution: "@jridgewell/trace-mapping@npm:0.3.31"
dependencies:
@@ -941,7 +1038,7 @@ __metadata:
languageName: node
linkType: hard
"@pezkuwi/dev-test@npm:^0.84.2, @pezkuwi/dev-test@npm:^0.84.3":
"@pezkuwi/dev-test@npm:^0.84.3":
version: 0.84.3
resolution: "@pezkuwi/dev-test@npm:0.84.3"
dependencies:
@@ -951,14 +1048,24 @@ __metadata:
languageName: node
linkType: hard
"@pezkuwi/dev-ts@npm:^0.84.2":
version: 0.84.3
resolution: "@pezkuwi/dev-ts@npm:0.84.3"
"@pezkuwi/dev-test@npm:^0.85.3":
version: 0.85.4
resolution: "@pezkuwi/dev-test@npm:0.85.4"
dependencies:
jsdom: "npm:^24.0.0"
tslib: "npm:^2.7.0"
checksum: 10/1fef78f6b7a896e7b42ce4f5599dc5d34b9c9e132e946e8de130056eb335afe817353d04dc3525e8dda80809815f79f84283a635d18cae2efaf032713a35d877
languageName: node
linkType: hard
"@pezkuwi/dev-ts@npm:^0.85.3":
version: 0.85.3
resolution: "@pezkuwi/dev-ts@npm:0.85.3"
dependencies:
json5: "npm:^2.2.3"
tslib: "npm:^2.7.0"
typescript: "npm:^5.5.4"
checksum: 10/054b1254a0c5c995ac4150bf05ad984f847917528c3bbb06a3f2966b71900e66d0c4eda3e4f9c9bcc2cfb64c9482072c7ee1e131c76a173103c8012782695259
checksum: 10/47bd86fae4b8831c4cbf0b9d893e083401433ef6cb8135a6218734fc237d2026d21ba568e910ee3b0d38bd3d1014d8978eb64bb0b7eca44d3e138f67d7840b35
languageName: node
linkType: hard
@@ -1037,13 +1144,13 @@ __metadata:
languageName: node
linkType: hard
"@pezkuwi/dev@npm:^0.85.2":
version: 0.85.3
resolution: "@pezkuwi/dev@npm:0.85.3"
"@pezkuwi/dev@npm:^0.85.4":
version: 0.85.4
resolution: "@pezkuwi/dev@npm:0.85.4"
dependencies:
"@eslint/js": "npm:^8.56.0"
"@pezkuwi/dev-test": "npm:^0.84.2"
"@pezkuwi/dev-ts": "npm:^0.84.2"
"@pezkuwi/dev-test": "npm:^0.85.3"
"@pezkuwi/dev-ts": "npm:^0.85.3"
"@rollup/plugin-alias": "npm:^5.1.1"
"@rollup/plugin-commonjs": "npm:^25.0.8"
"@rollup/plugin-dynamic-import-vars": "npm:^2.1.5"
@@ -1108,7 +1215,7 @@ __metadata:
pezkuwi-exec-rollup: scripts/pezkuwi-exec-rollup.mjs
pezkuwi-exec-tsc: scripts/pezkuwi-exec-tsc.mjs
pezkuwi-exec-webpack: scripts/pezkuwi-exec-webpack.mjs
checksum: 10/d5d233b0dc6c324cd508d23f80fa42ddbe5045ba225bb6e1f43f192bc2875cddb72001807da2a8faa81d1498714a2d8cb3e51ed89be6a23ceee79f5af1de9a73
checksum: 10/3020c81733f967255f78fb8d9e8fdef053296647bef6ec9e3c9d1de369b541354561693a8a95f448d07ab1d19cce128fa234a4a5ee3ea472193978d0180f1393
languageName: node
linkType: hard
@@ -1268,6 +1375,7 @@ __metadata:
"@types/react-router": "npm:^5.1.20"
"@types/react-router-dom": "npm:^5.3.3"
"@types/sinon-chrome": "npm:^2.2.15"
"@types/styled-components": "npm:^5.1.26"
"@wojtekmaj/enzyme-adapter-react-17": "npm:^0.8.0"
"@zxcvbn-ts/core": "npm:^3.0.4"
"@zxcvbn-ts/language-common": "npm:^3.0.4"
@@ -1284,7 +1392,7 @@ __metadata:
react-router: "npm:^5.3.4"
react-router-dom: "npm:^5.3.4"
sinon-chrome: "npm:^3.0.1"
styled-components: "npm:^6.1.1"
styled-components: "npm:^5.3.11"
tslib: "npm:^2.8.1"
languageName: unknown
linkType: soft
@@ -1308,6 +1416,7 @@ __metadata:
path-browserify: "npm:^1.0.1"
process: "npm:^0.11.10"
stream-browserify: "npm:^3.0.0"
string-replace-loader: "npm:^3.1.0"
ts-loader: "npm:^9.5.1"
tslib: "npm:^2.8.1"
url-loader: "npm:^4.1.1"
@@ -2511,6 +2620,17 @@ __metadata:
languageName: node
linkType: hard
"@types/hoist-non-react-statics@npm:*":
version: 3.3.7
resolution: "@types/hoist-non-react-statics@npm:3.3.7"
dependencies:
hoist-non-react-statics: "npm:^3.3.0"
peerDependencies:
"@types/react": "*"
checksum: 10/13f610572c073970b3f43cc446396974fed786fee6eac2d6fd4b0ca5c985f13e79d4a0de58af4e5b4c68470d808567c3a14108d98edb7d526d4d46c8ec851ed1
languageName: node
linkType: hard
"@types/http-errors@npm:*":
version: 2.0.5
resolution: "@types/http-errors@npm:2.0.5"
@@ -2768,6 +2888,17 @@ __metadata:
languageName: node
linkType: hard
"@types/styled-components@npm:^5.1.26":
version: 5.1.36
resolution: "@types/styled-components@npm:5.1.36"
dependencies:
"@types/hoist-non-react-statics": "npm:*"
"@types/react": "npm:*"
csstype: "npm:^3.2.2"
checksum: 10/fd9130e344c65992ce67accaf3af239573fa69434fc851ef956fafa1f1c03e8b007af8a2acf899ab4526bb42d326b7e07a64f9cd69a445715b6403617675cdd1
languageName: node
linkType: hard
"@types/stylis@npm:4.2.7":
version: 4.2.7
resolution: "@types/stylis@npm:4.2.7"
@@ -4276,6 +4407,21 @@ __metadata:
languageName: node
linkType: hard
"babel-plugin-styled-components@npm:>= 1.12.0":
version: 2.1.4
resolution: "babel-plugin-styled-components@npm:2.1.4"
dependencies:
"@babel/helper-annotate-as-pure": "npm:^7.22.5"
"@babel/helper-module-imports": "npm:^7.22.5"
"@babel/plugin-syntax-jsx": "npm:^7.22.5"
lodash: "npm:^4.17.21"
picomatch: "npm:^2.3.1"
peerDependencies:
styled-components: ">= 2"
checksum: 10/34f10dd4d44cf1c8605097dd4796e2d1443266ebc686f10a9f56b5d1492b5c3de9c13d7e30b075756610adf592ed807cc8145189d00b4454f6af9879a19a5e0b
languageName: node
linkType: hard
"babel-plugin-syntax-async-functions@npm:^6.8.0":
version: 6.13.0
resolution: "babel-plugin-syntax-async-functions@npm:6.13.0"
@@ -5768,7 +5914,7 @@ __metadata:
languageName: node
linkType: hard
"css-to-react-native@npm:3.2.0":
"css-to-react-native@npm:3.2.0, css-to-react-native@npm:^3.0.0":
version: 3.2.0
resolution: "css-to-react-native@npm:3.2.0"
dependencies:
@@ -8422,7 +8568,7 @@ __metadata:
languageName: node
linkType: hard
"hoist-non-react-statics@npm:^3.1.0":
"hoist-non-react-statics@npm:^3.0.0, hoist-non-react-statics@npm:^3.1.0, hoist-non-react-statics@npm:^3.3.0":
version: 3.3.2
resolution: "hoist-non-react-statics@npm:3.3.2"
dependencies:
@@ -9544,6 +9690,15 @@ __metadata:
languageName: node
linkType: hard
"jsesc@npm:^3.0.2":
version: 3.1.0
resolution: "jsesc@npm:3.1.0"
bin:
jsesc: bin/jsesc
checksum: 10/20bd37a142eca5d1794f354db8f1c9aeb54d85e1f5c247b371de05d23a9751ecd7bd3a9c4fc5298ea6fa09a100dafb4190fa5c98c6610b75952c3487f3ce7967
languageName: node
linkType: hard
"jsesc@npm:~0.5.0":
version: 0.5.0
resolution: "jsesc@npm:0.5.0"
@@ -12354,7 +12509,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "root-workspace-0b6124@workspace:."
dependencies:
"@pezkuwi/dev": "npm:^0.85.2"
"@pezkuwi/dev": "npm:^0.85.4"
"@types/node": "npm:^20.10.5"
eslint-scope: "npm:^5.1.1"
i18next-scanner: "npm:^4.4.0"
@@ -12529,7 +12684,7 @@ __metadata:
languageName: node
linkType: hard
"schema-utils@npm:^4.0.0, schema-utils@npm:^4.3.0, schema-utils@npm:^4.3.3":
"schema-utils@npm:^4, schema-utils@npm:^4.0.0, schema-utils@npm:^4.3.0, schema-utils@npm:^4.3.3":
version: 4.3.3
resolution: "schema-utils@npm:4.3.3"
dependencies:
@@ -12731,7 +12886,7 @@ __metadata:
languageName: node
linkType: hard
"shallowequal@npm:1.1.0":
"shallowequal@npm:1.1.0, shallowequal@npm:^1.1.0":
version: 1.1.0
resolution: "shallowequal@npm:1.1.0"
checksum: 10/f4c1de0837f106d2dbbfd5d0720a5d059d1c66b42b580965c8f06bb1db684be8783538b684092648c981294bf817869f743a066538771dbecb293df78f765e00
@@ -13153,6 +13308,17 @@ __metadata:
languageName: node
linkType: hard
"string-replace-loader@npm:^3.1.0":
version: 3.3.0
resolution: "string-replace-loader@npm:3.3.0"
dependencies:
schema-utils: "npm:^4"
peerDependencies:
webpack: ^5
checksum: 10/dbfd4bbec4041c6e8a0cfba16e046140127d01ac48ca82d0e410746a6703b78f31bdc373c8e379ce93aa1c6de0837b6675a5635edff4fee2ff88e8c459920eed
languageName: node
linkType: hard
"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.2, string-width@npm:^4.2.3":
version: 4.2.3
resolution: "string-width@npm:4.2.3"
@@ -13324,6 +13490,28 @@ __metadata:
languageName: node
linkType: hard
"styled-components@npm:^5.3.11":
version: 5.3.11
resolution: "styled-components@npm:5.3.11"
dependencies:
"@babel/helper-module-imports": "npm:^7.0.0"
"@babel/traverse": "npm:^7.4.5"
"@emotion/is-prop-valid": "npm:^1.1.0"
"@emotion/stylis": "npm:^0.8.4"
"@emotion/unitless": "npm:^0.7.4"
babel-plugin-styled-components: "npm:>= 1.12.0"
css-to-react-native: "npm:^3.0.0"
hoist-non-react-statics: "npm:^3.0.0"
shallowequal: "npm:^1.1.0"
supports-color: "npm:^5.5.0"
peerDependencies:
react: ">= 16.8.0"
react-dom: ">= 16.8.0"
react-is: ">= 16.8.0"
checksum: 10/7e1baee0f7b4479fe1a4064e4ae87e40f1ba583030d04827cef73fa7b36d3a91ed552dc76164d319216039f906af42a5229648c023482280fa4b5f71f00eef2d
languageName: node
linkType: hard
"styled-components@npm:^6.1.1":
version: 6.3.8
resolution: "styled-components@npm:6.3.8"