mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Make webpack respect dependencies vs peerDependencies when deciding dependency is external (#7545)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
This commit is contained in:
parent
adf67fb6a7
commit
7dc0ce7192
31
package-lock.json
generated
31
package-lock.json
generated
@ -48,7 +48,6 @@
|
|||||||
"version": "1.6.4",
|
"version": "1.6.4",
|
||||||
"resolved": "https://registry.npmjs.org/@async-fn/jest/-/jest-1.6.4.tgz",
|
"resolved": "https://registry.npmjs.org/@async-fn/jest/-/jest-1.6.4.tgz",
|
||||||
"integrity": "sha512-m3T/m6a39f5dbqFj79BGCqudkm42McgMXD7M0ZorKeqqdAbNazay7t+VDOz5qqFHO12frFbbhAB5GnFPoGADPA==",
|
"integrity": "sha512-m3T/m6a39f5dbqFj79BGCqudkm42McgMXD7M0ZorKeqqdAbNazay7t+VDOz5qqFHO12frFbbhAB5GnFPoGADPA==",
|
||||||
"dev": true,
|
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"jest": ">= 24.9.0"
|
"jest": ">= 24.9.0"
|
||||||
}
|
}
|
||||||
@ -37282,6 +37281,7 @@
|
|||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz",
|
||||||
"integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==",
|
"integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==",
|
||||||
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6"
|
"node": ">=6"
|
||||||
}
|
}
|
||||||
@ -38126,7 +38126,9 @@
|
|||||||
"@ogre-tools/fp": "^15.1.2",
|
"@ogre-tools/fp": "^15.1.2",
|
||||||
"@ogre-tools/injectable": "^15.1.2",
|
"@ogre-tools/injectable": "^15.1.2",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^15.1.2",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^15.1.2",
|
||||||
"lodash": "^4.17.21"
|
"@ogre-tools/injectable-react": "^15.1.2",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
|
"react": "^17"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/cluster-settings": {
|
"packages/cluster-settings": {
|
||||||
@ -42278,8 +42280,7 @@
|
|||||||
"tailwindcss": "^3.3.1",
|
"tailwindcss": "^3.3.1",
|
||||||
"ts-loader": "^9.4.1",
|
"ts-loader": "^9.4.1",
|
||||||
"webpack": "^5.77.0",
|
"webpack": "^5.77.0",
|
||||||
"webpack-cli": "^4.10.0",
|
"webpack-cli": "^4.10.0"
|
||||||
"webpack-node-externals": "^3.0.0"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/infrastructure/webpack/node_modules/@types/estree": {
|
"packages/infrastructure/webpack/node_modules/@types/estree": {
|
||||||
@ -45038,6 +45039,7 @@
|
|||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||||
|
"@k8slens/run-many": "^1.0.0-alpha.1",
|
||||||
"@ogre-tools/fp": "^15.1.2",
|
"@ogre-tools/fp": "^15.1.2",
|
||||||
"@ogre-tools/injectable": "^15.1.2",
|
"@ogre-tools/injectable": "^15.1.2",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^15.1.2",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^15.1.2",
|
||||||
@ -45056,9 +45058,11 @@
|
|||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@k8slens/application": "^6.5.0-alpha.0",
|
"@k8slens/application": "^6.5.0-alpha.0",
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||||
|
"@k8slens/run-many": "^1.0.0-alpha.1",
|
||||||
"@ogre-tools/injectable": "^15.1.2",
|
"@ogre-tools/injectable": "^15.1.2",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^15.1.2",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^15.1.2",
|
||||||
"electron": "^22.3.3"
|
"electron": "^22.3.3",
|
||||||
|
"lodash": "^4.17.21"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/technical-features/application/legacy-extensions": {
|
"packages/technical-features/application/legacy-extensions": {
|
||||||
@ -45133,6 +45137,7 @@
|
|||||||
"@k8slens/application": "^6.5.0-alpha.0",
|
"@k8slens/application": "^6.5.0-alpha.0",
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||||
"@k8slens/messaging": "^1.0.0-alpha.1",
|
"@k8slens/messaging": "^1.0.0-alpha.1",
|
||||||
|
"@ogre-tools/fp": "^15.1.2",
|
||||||
"@ogre-tools/injectable": "^15.1.2",
|
"@ogre-tools/injectable": "^15.1.2",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^15.1.2",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^15.1.2",
|
||||||
"electron": "^22.3.3",
|
"electron": "^22.3.3",
|
||||||
@ -45148,6 +45153,7 @@
|
|||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@k8slens/application": "^6.5.0-alpha.0",
|
"@k8slens/application": "^6.5.0-alpha.0",
|
||||||
|
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||||
"@k8slens/messaging": "^1.0.0-alpha.1",
|
"@k8slens/messaging": "^1.0.0-alpha.1",
|
||||||
"@k8slens/run-many": "^1.0.0-alpha.1",
|
"@k8slens/run-many": "^1.0.0-alpha.1",
|
||||||
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
|
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
|
||||||
@ -45162,13 +45168,13 @@
|
|||||||
"version": "1.0.0-alpha.2",
|
"version": "1.0.0-alpha.2",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@async-fn/jest": "^1.6.4",
|
|
||||||
"@k8slens/eslint-config": "^6.5.0-alpha.2",
|
"@k8slens/eslint-config": "^6.5.0-alpha.2",
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.2",
|
"@k8slens/feature-core": "^6.5.0-alpha.2",
|
||||||
"@ogre-tools/injectable-extension-for-mobx": "^15.3.0",
|
"@ogre-tools/injectable-extension-for-mobx": "^15.3.0",
|
||||||
"mobx": "^6.7.0"
|
"mobx": "^6.7.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
"@async-fn/jest": "^1.6.4",
|
||||||
"@k8slens/messaging": "^1.0.0-alpha.1",
|
"@k8slens/messaging": "^1.0.0-alpha.1",
|
||||||
"@ogre-tools/fp": "^15.1.2",
|
"@ogre-tools/fp": "^15.1.2",
|
||||||
"@ogre-tools/injectable": "^15.1.2",
|
"@ogre-tools/injectable": "^15.1.2",
|
||||||
@ -45195,6 +45201,7 @@
|
|||||||
"@ogre-tools/injectable-react": "^15.1.2",
|
"@ogre-tools/injectable-react": "^15.1.2",
|
||||||
"lodash": "^4.17.15",
|
"lodash": "^4.17.15",
|
||||||
"mobx": "^6.8.0",
|
"mobx": "^6.8.0",
|
||||||
|
"mobx-react": "^7.6.0",
|
||||||
"react": "^17.0.2",
|
"react": "^17.0.2",
|
||||||
"react-dom": "^17.0.2"
|
"react-dom": "^17.0.2"
|
||||||
}
|
}
|
||||||
@ -45228,7 +45235,7 @@
|
|||||||
"name": "@k8slens/react-testing-library-discovery",
|
"name": "@k8slens/react-testing-library-discovery",
|
||||||
"version": "1.0.0-alpha.2",
|
"version": "1.0.0-alpha.2",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"peerDependencies": {
|
||||||
"@testing-library/dom": "^8.19.0",
|
"@testing-library/dom": "^8.19.0",
|
||||||
"@testing-library/jest-dom": "^5.16.5",
|
"@testing-library/jest-dom": "^5.16.5",
|
||||||
"@testing-library/react": "^13.4.0"
|
"@testing-library/react": "^13.4.0"
|
||||||
@ -45238,6 +45245,7 @@
|
|||||||
"version": "8.20.0",
|
"version": "8.20.0",
|
||||||
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.0.tgz",
|
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.0.tgz",
|
||||||
"integrity": "sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==",
|
"integrity": "sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/code-frame": "^7.10.4",
|
"@babel/code-frame": "^7.10.4",
|
||||||
"@babel/runtime": "^7.12.5",
|
"@babel/runtime": "^7.12.5",
|
||||||
@ -45256,6 +45264,7 @@
|
|||||||
"version": "13.4.0",
|
"version": "13.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz",
|
||||||
"integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==",
|
"integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.12.5",
|
"@babel/runtime": "^7.12.5",
|
||||||
"@testing-library/dom": "^8.5.0",
|
"@testing-library/dom": "^8.5.0",
|
||||||
@ -45272,12 +45281,14 @@
|
|||||||
"packages/utility-features/react-testing-library-discovery/node_modules/@types/aria-query": {
|
"packages/utility-features/react-testing-library-discovery/node_modules/@types/aria-query": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz",
|
||||||
"integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q=="
|
"integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==",
|
||||||
|
"peer": true
|
||||||
},
|
},
|
||||||
"packages/utility-features/react-testing-library-discovery/node_modules/@types/react-dom": {
|
"packages/utility-features/react-testing-library-discovery/node_modules/@types/react-dom": {
|
||||||
"version": "18.0.11",
|
"version": "18.0.11",
|
||||||
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz",
|
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz",
|
||||||
"integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==",
|
"integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/react": "*"
|
"@types/react": "*"
|
||||||
}
|
}
|
||||||
@ -45286,6 +45297,7 @@
|
|||||||
"version": "5.2.0",
|
"version": "5.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
|
||||||
"integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
|
"integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
|
||||||
|
"peer": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
},
|
},
|
||||||
@ -45297,6 +45309,7 @@
|
|||||||
"version": "5.1.3",
|
"version": "5.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz",
|
||||||
"integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==",
|
"integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"deep-equal": "^2.0.5"
|
"deep-equal": "^2.0.5"
|
||||||
}
|
}
|
||||||
@ -45305,6 +45318,7 @@
|
|||||||
"version": "27.5.1",
|
"version": "27.5.1",
|
||||||
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
|
||||||
"integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
|
"integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-regex": "^5.0.1",
|
"ansi-regex": "^5.0.1",
|
||||||
"ansi-styles": "^5.0.0",
|
"ansi-styles": "^5.0.0",
|
||||||
@ -45391,6 +45405,7 @@
|
|||||||
"@ogre-tools/injectable-react": "^15.1.2",
|
"@ogre-tools/injectable-react": "^15.1.2",
|
||||||
"@testing-library/react": "^12.1.5",
|
"@testing-library/react": "^12.1.5",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
|
"mobx": "^6.8.0",
|
||||||
"react": "^17.0.2"
|
"react": "^17.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@ -36,7 +36,9 @@
|
|||||||
"@ogre-tools/fp": "^15.1.2",
|
"@ogre-tools/fp": "^15.1.2",
|
||||||
"@ogre-tools/injectable": "^15.1.2",
|
"@ogre-tools/injectable": "^15.1.2",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^15.1.2",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^15.1.2",
|
||||||
"lodash": "^4.17.21"
|
"@ogre-tools/injectable-react": "^15.1.2",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
|
"react": "^17"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@async-fn/jest": "^1.6.4",
|
"@async-fn/jest": "^1.6.4",
|
||||||
|
|||||||
@ -33,7 +33,6 @@
|
|||||||
"tailwindcss": "^3.3.1",
|
"tailwindcss": "^3.3.1",
|
||||||
"ts-loader": "^9.4.1",
|
"ts-loader": "^9.4.1",
|
||||||
"webpack": "^5.77.0",
|
"webpack": "^5.77.0",
|
||||||
"webpack-cli": "^4.10.0",
|
"webpack-cli": "^4.10.0"
|
||||||
"webpack-node-externals": "^3.0.0"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,10 +6,6 @@ Array [
|
|||||||
"entry": Object {
|
"entry": Object {
|
||||||
"index": "./index.ts",
|
"index": "./index.ts",
|
||||||
},
|
},
|
||||||
"externals": Array [
|
|
||||||
[Function],
|
|
||||||
[Function],
|
|
||||||
],
|
|
||||||
"externalsPresets": Object {
|
"externalsPresets": Object {
|
||||||
"node": true,
|
"node": true,
|
||||||
},
|
},
|
||||||
@ -37,6 +33,8 @@ Array [
|
|||||||
"maxEntrypointSize": 100000,
|
"maxEntrypointSize": 100000,
|
||||||
},
|
},
|
||||||
"plugins": Array [
|
"plugins": Array [
|
||||||
|
MakePeerDependenciesExternalPlugin {},
|
||||||
|
ProtectFromImportingNonDependencies {},
|
||||||
ForkTsCheckerWebpackPlugin {
|
ForkTsCheckerWebpackPlugin {
|
||||||
"options": Object {
|
"options": Object {
|
||||||
"typescript": Object {
|
"typescript": Object {
|
||||||
@ -58,6 +56,7 @@ Array [
|
|||||||
"extensions": Array [
|
"extensions": Array [
|
||||||
".ts",
|
".ts",
|
||||||
".tsx",
|
".tsx",
|
||||||
|
".js",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
"target": "node",
|
"target": "node",
|
||||||
@ -66,10 +65,6 @@ Array [
|
|||||||
"entry": Object {
|
"entry": Object {
|
||||||
"index": "./some-entrypoint/index.ts",
|
"index": "./some-entrypoint/index.ts",
|
||||||
},
|
},
|
||||||
"externals": Array [
|
|
||||||
[Function],
|
|
||||||
[Function],
|
|
||||||
],
|
|
||||||
"externalsPresets": Object {
|
"externalsPresets": Object {
|
||||||
"node": true,
|
"node": true,
|
||||||
},
|
},
|
||||||
@ -97,6 +92,8 @@ Array [
|
|||||||
"maxEntrypointSize": 100000,
|
"maxEntrypointSize": 100000,
|
||||||
},
|
},
|
||||||
"plugins": Array [
|
"plugins": Array [
|
||||||
|
MakePeerDependenciesExternalPlugin {},
|
||||||
|
ProtectFromImportingNonDependencies {},
|
||||||
ForkTsCheckerWebpackPlugin {
|
ForkTsCheckerWebpackPlugin {
|
||||||
"options": Object {
|
"options": Object {
|
||||||
"typescript": Object {
|
"typescript": Object {
|
||||||
@ -118,6 +115,7 @@ Array [
|
|||||||
"extensions": Array [
|
"extensions": Array [
|
||||||
".ts",
|
".ts",
|
||||||
".tsx",
|
".tsx",
|
||||||
|
".js",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
"target": "node",
|
"target": "node",
|
||||||
@ -126,10 +124,6 @@ Array [
|
|||||||
"entry": Object {
|
"entry": Object {
|
||||||
"index": "./some-other-entrypoint/index.ts",
|
"index": "./some-other-entrypoint/index.ts",
|
||||||
},
|
},
|
||||||
"externals": Array [
|
|
||||||
[Function],
|
|
||||||
[Function],
|
|
||||||
],
|
|
||||||
"externalsPresets": Object {
|
"externalsPresets": Object {
|
||||||
"node": true,
|
"node": true,
|
||||||
},
|
},
|
||||||
@ -205,6 +199,8 @@ Array [
|
|||||||
"maxEntrypointSize": 100000,
|
"maxEntrypointSize": 100000,
|
||||||
},
|
},
|
||||||
"plugins": Array [
|
"plugins": Array [
|
||||||
|
MakePeerDependenciesExternalPlugin {},
|
||||||
|
ProtectFromImportingNonDependencies {},
|
||||||
ForkTsCheckerWebpackPlugin {
|
ForkTsCheckerWebpackPlugin {
|
||||||
"options": Object {
|
"options": Object {
|
||||||
"typescript": Object {
|
"typescript": Object {
|
||||||
@ -241,6 +237,7 @@ Array [
|
|||||||
"extensions": Array [
|
"extensions": Array [
|
||||||
".ts",
|
".ts",
|
||||||
".tsx",
|
".tsx",
|
||||||
|
".js",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
"target": "node",
|
"target": "node",
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
const ForkTsCheckerPlugin = require("fork-ts-checker-webpack-plugin");
|
const ForkTsCheckerPlugin = require("fork-ts-checker-webpack-plugin");
|
||||||
const nodeExternals = require("webpack-node-externals");
|
const { MakePeerDependenciesExternalPlugin } = require("./plugins/make-peer-dependencies-external");
|
||||||
const path = require("path");
|
const { ProtectFromImportingNonDependencies } = require("./plugins/protect-from-importing-non-dependencies");
|
||||||
|
|
||||||
module.exports = ({ entrypointFilePath, outputDirectory }) => ({
|
module.exports = ({ entrypointFilePath, outputDirectory }) => ({
|
||||||
name: entrypointFilePath,
|
name: entrypointFilePath,
|
||||||
@ -14,10 +14,13 @@ module.exports = ({ entrypointFilePath, outputDirectory }) => ({
|
|||||||
},
|
},
|
||||||
|
|
||||||
resolve: {
|
resolve: {
|
||||||
extensions: [".ts", ".tsx"],
|
extensions: [".ts", ".tsx", ".js"],
|
||||||
},
|
},
|
||||||
|
|
||||||
plugins: [
|
plugins: [
|
||||||
|
new MakePeerDependenciesExternalPlugin(),
|
||||||
|
new ProtectFromImportingNonDependencies(),
|
||||||
|
|
||||||
new ForkTsCheckerPlugin({
|
new ForkTsCheckerPlugin({
|
||||||
typescript: {
|
typescript: {
|
||||||
mode: "write-dts",
|
mode: "write-dts",
|
||||||
@ -45,21 +48,6 @@ module.exports = ({ entrypointFilePath, outputDirectory }) => ({
|
|||||||
libraryTarget: "commonjs2",
|
libraryTarget: "commonjs2",
|
||||||
},
|
},
|
||||||
|
|
||||||
externals: [
|
|
||||||
nodeExternals({ modulesFromFile: true }),
|
|
||||||
|
|
||||||
nodeExternals({
|
|
||||||
modulesDir: path.resolve(
|
|
||||||
__dirname,
|
|
||||||
"..",
|
|
||||||
"..",
|
|
||||||
"..",
|
|
||||||
"..",
|
|
||||||
"node_modules"
|
|
||||||
),
|
|
||||||
}),
|
|
||||||
],
|
|
||||||
|
|
||||||
externalsPresets: { node: true },
|
externalsPresets: { node: true },
|
||||||
|
|
||||||
node: {
|
node: {
|
||||||
|
|||||||
@ -0,0 +1,9 @@
|
|||||||
|
const getDependencyName = (requireString) => {
|
||||||
|
const [a, b] = requireString.split("/");
|
||||||
|
|
||||||
|
const scoped = a.startsWith("@");
|
||||||
|
|
||||||
|
return scoped ? `${a}/${b}` : a;
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = { getDependencyName };
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
import { getDependencyName } from "./get-dependency-name";
|
||||||
|
|
||||||
|
describe("get-dependency-name", () => {
|
||||||
|
it("given scoped dependency with entrypoint, returns dependency name", () => {
|
||||||
|
const actual = getDependencyName("@some-scope/some-package/entrypoint");
|
||||||
|
|
||||||
|
expect(actual).toBe("@some-scope/some-package");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("given scoped dependency but no entrypoint, returns dependency name", () => {
|
||||||
|
const actual = getDependencyName("@some-scope/some-package");
|
||||||
|
|
||||||
|
expect(actual).toBe("@some-scope/some-package");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("given non scoped dependency with entrypoint, returns dependency name", () => {
|
||||||
|
const actual = getDependencyName("some-package/some-entrypoint");
|
||||||
|
|
||||||
|
expect(actual).toBe("some-package");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("given non scoped dependency but no entrypoint, returns dependency name", () => {
|
||||||
|
const actual = getDependencyName("some-package");
|
||||||
|
|
||||||
|
expect(actual).toBe("some-package");
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
const ExternalModuleFactoryPlugin = require("webpack/lib/ExternalModuleFactoryPlugin");
|
||||||
|
const path = require("path");
|
||||||
|
|
||||||
|
const {
|
||||||
|
toModuleMatcherRegExp,
|
||||||
|
} = require("./to-module-matcher-reg-exp/to-module-matcher-reg-exp");
|
||||||
|
|
||||||
|
class MakePeerDependenciesExternalPlugin {
|
||||||
|
apply(compiler) {
|
||||||
|
compiler.hooks.compile.tap("compile", (params) => {
|
||||||
|
const peerDependencies = getPeerDependencies();
|
||||||
|
|
||||||
|
new ExternalModuleFactoryPlugin(
|
||||||
|
compiler.options.output.library.type,
|
||||||
|
peerDependencies.map(toModuleMatcherRegExp)
|
||||||
|
).apply(params.normalModuleFactory);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const getPeerDependencies = () => {
|
||||||
|
const pathToPackageJson = path.resolve(process.cwd(), "package.json");
|
||||||
|
|
||||||
|
const packageJson = require(pathToPackageJson);
|
||||||
|
|
||||||
|
return Object.keys(packageJson.peerDependencies || {});
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = { MakePeerDependenciesExternalPlugin };
|
||||||
@ -0,0 +1,54 @@
|
|||||||
|
const path = require("path");
|
||||||
|
const { getDependencyName } = require("./get-dependency-name/get-dependency-name");
|
||||||
|
|
||||||
|
const pathToPackageJson = path.resolve(process.cwd(), "package.json");
|
||||||
|
|
||||||
|
class ProtectFromImportingNonDependencies {
|
||||||
|
apply(compiler) {
|
||||||
|
const dependencies = getDependenciesAndPeerDependencies();
|
||||||
|
|
||||||
|
const nodeModulesToBeResolved = new Set();
|
||||||
|
|
||||||
|
compiler.hooks.normalModuleFactory.tap("irrelevant", (normalModuleFactory) => {
|
||||||
|
normalModuleFactory.hooks.resolve.tap("irrelevant", (toBeResolved) => {
|
||||||
|
|
||||||
|
const isLocalDependency = toBeResolved.request.startsWith(".");
|
||||||
|
const isDependencyOfDependency =
|
||||||
|
toBeResolved.context.includes("node_modules");
|
||||||
|
|
||||||
|
if (!isLocalDependency && !isDependencyOfDependency) {
|
||||||
|
|
||||||
|
const dependencyName = getDependencyName(toBeResolved.request);
|
||||||
|
|
||||||
|
nodeModulesToBeResolved.add(dependencyName);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
compiler.hooks.afterCompile.tap("compile", () => {
|
||||||
|
const notSpecifiedDependencies = [...nodeModulesToBeResolved].filter(
|
||||||
|
(x) => !dependencies.includes(x)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (notSpecifiedDependencies.length) {
|
||||||
|
throw new Error(
|
||||||
|
`Tried to import dependencies that are not specified in the package.json "${pathToPackageJson}". Add "${notSpecifiedDependencies.join(
|
||||||
|
'", "'
|
||||||
|
)}" to dependencies or peerDependencies.`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const getDependenciesAndPeerDependencies = () => {
|
||||||
|
const packageJson = require(pathToPackageJson);
|
||||||
|
|
||||||
|
const dependencies = Object.keys(packageJson.dependencies || {});
|
||||||
|
const peerDependencies = Object.keys(packageJson.peerDependencies || {});
|
||||||
|
|
||||||
|
return [...dependencies, ...peerDependencies];
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
ProtectFromImportingNonDependencies,
|
||||||
|
};
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
const toModuleMatcherRegExp = x => new RegExp(`^${x}(/.*)*$`);
|
||||||
|
|
||||||
|
module.exports = { toModuleMatcherRegExp };
|
||||||
@ -0,0 +1,57 @@
|
|||||||
|
import { toModuleMatcherRegExp } from "./to-module-matcher-reg-exp";
|
||||||
|
|
||||||
|
describe('to-module-matcher-reg-exp', () => {
|
||||||
|
let regExp;
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
regExp = toModuleMatcherRegExp("some-package");
|
||||||
|
});
|
||||||
|
|
||||||
|
it('given exactly matching package, matches', () => {
|
||||||
|
const targetString = 'some-package';
|
||||||
|
|
||||||
|
const [match] = targetString.match(regExp);
|
||||||
|
|
||||||
|
expect(match).toBeTruthy()
|
||||||
|
});
|
||||||
|
|
||||||
|
it('given matching package with entrypoint, matches', () => {
|
||||||
|
const targetString = 'some-package/some-entrypoint';
|
||||||
|
|
||||||
|
const [match] = targetString.match(regExp);
|
||||||
|
|
||||||
|
expect(match).toBeTruthy()
|
||||||
|
});
|
||||||
|
|
||||||
|
it('given matching package with directory, matches', () => {
|
||||||
|
const targetString = 'some-package/some-directory/some-other-directory';
|
||||||
|
|
||||||
|
const [match] = targetString.match(regExp);
|
||||||
|
|
||||||
|
expect(match).toBeTruthy()
|
||||||
|
});
|
||||||
|
|
||||||
|
it('given package that starts with same name but is still different, does not match', () => {
|
||||||
|
const targetString = 'some-package-but-still-different';
|
||||||
|
|
||||||
|
const actual = targetString.match(regExp);
|
||||||
|
|
||||||
|
expect(actual).toBeNull()
|
||||||
|
});
|
||||||
|
|
||||||
|
it('given package that starts with something else, does not match', () => {
|
||||||
|
const targetString = 'different-some-package';
|
||||||
|
|
||||||
|
const actual = targetString.match(regExp);
|
||||||
|
|
||||||
|
expect(actual).toBeNull()
|
||||||
|
});
|
||||||
|
|
||||||
|
it('given irrelevant package, does not match', () => {
|
||||||
|
const targetString = 'some-other-package';
|
||||||
|
|
||||||
|
const actual = targetString.match(regExp);
|
||||||
|
|
||||||
|
expect(actual).toBeNull()
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -32,6 +32,7 @@
|
|||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||||
|
"@k8slens/run-many": "^1.0.0-alpha.1",
|
||||||
"@ogre-tools/fp": "^15.1.2",
|
"@ogre-tools/fp": "^15.1.2",
|
||||||
"@ogre-tools/injectable": "^15.1.2",
|
"@ogre-tools/injectable": "^15.1.2",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^15.1.2",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^15.1.2",
|
||||||
|
|||||||
@ -33,9 +33,11 @@
|
|||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@k8slens/application": "^6.5.0-alpha.0",
|
"@k8slens/application": "^6.5.0-alpha.0",
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||||
|
"@k8slens/run-many": "^1.0.0-alpha.1",
|
||||||
"@ogre-tools/injectable": "^15.1.2",
|
"@ogre-tools/injectable": "^15.1.2",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^15.1.2",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^15.1.2",
|
||||||
"electron": "^22.3.3"
|
"electron": "^22.3.3",
|
||||||
|
"lodash": "^4.17.21"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@async-fn/jest": "^1.6.4",
|
"@async-fn/jest": "^1.6.4",
|
||||||
|
|||||||
@ -36,6 +36,7 @@
|
|||||||
"@k8slens/messaging": "^1.0.0-alpha.1",
|
"@k8slens/messaging": "^1.0.0-alpha.1",
|
||||||
"@ogre-tools/injectable": "^15.1.2",
|
"@ogre-tools/injectable": "^15.1.2",
|
||||||
"@ogre-tools/injectable-extension-for-auto-registration": "^15.1.2",
|
"@ogre-tools/injectable-extension-for-auto-registration": "^15.1.2",
|
||||||
|
"@ogre-tools/fp": "^15.1.2",
|
||||||
"electron": "^22.3.3",
|
"electron": "^22.3.3",
|
||||||
"lodash": "^4.17.21"
|
"lodash": "^4.17.21"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -32,6 +32,7 @@
|
|||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@k8slens/application": "^6.5.0-alpha.0",
|
"@k8slens/application": "^6.5.0-alpha.0",
|
||||||
|
"@k8slens/feature-core": "^6.5.0-alpha.0",
|
||||||
"@k8slens/messaging": "^1.0.0-alpha.1",
|
"@k8slens/messaging": "^1.0.0-alpha.1",
|
||||||
"@k8slens/run-many": "^1.0.0-alpha.1",
|
"@k8slens/run-many": "^1.0.0-alpha.1",
|
||||||
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
|
"@k8slens/startable-stoppable": "^1.0.0-alpha.1",
|
||||||
|
|||||||
@ -31,13 +31,13 @@
|
|||||||
"lint": "lens-lint"
|
"lint": "lens-lint"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
"@async-fn/jest": "^1.6.4",
|
||||||
"@k8slens/messaging": "^1.0.0-alpha.1",
|
"@k8slens/messaging": "^1.0.0-alpha.1",
|
||||||
"@ogre-tools/fp": "^15.1.2",
|
"@ogre-tools/fp": "^15.1.2",
|
||||||
"@ogre-tools/injectable": "^15.1.2",
|
"@ogre-tools/injectable": "^15.1.2",
|
||||||
"lodash": "^4.17.21"
|
"lodash": "^4.17.21"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@async-fn/jest": "^1.6.4",
|
|
||||||
"@k8slens/eslint-config": "^6.5.0-alpha.2",
|
"@k8slens/eslint-config": "^6.5.0-alpha.2",
|
||||||
"@k8slens/feature-core": "^6.5.0-alpha.2",
|
"@k8slens/feature-core": "^6.5.0-alpha.2",
|
||||||
"@ogre-tools/injectable-extension-for-mobx": "^15.3.0",
|
"@ogre-tools/injectable-extension-for-mobx": "^15.3.0",
|
||||||
|
|||||||
@ -40,6 +40,7 @@
|
|||||||
"@ogre-tools/injectable-react": "^15.1.2",
|
"@ogre-tools/injectable-react": "^15.1.2",
|
||||||
"lodash": "^4.17.15",
|
"lodash": "^4.17.15",
|
||||||
"mobx": "^6.8.0",
|
"mobx": "^6.8.0",
|
||||||
|
"mobx-react": "^7.6.0",
|
||||||
"react": "^17.0.2",
|
"react": "^17.0.2",
|
||||||
"react-dom": "^17.0.2"
|
"react-dom": "^17.0.2"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -29,7 +29,7 @@
|
|||||||
"lint": "lens-lint",
|
"lint": "lens-lint",
|
||||||
"lint:fix": "lens-lint --fix"
|
"lint:fix": "lens-lint --fix"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"peerDependencies": {
|
||||||
"@testing-library/dom": "^8.19.0",
|
"@testing-library/dom": "^8.19.0",
|
||||||
"@testing-library/jest-dom": "^5.16.5",
|
"@testing-library/jest-dom": "^5.16.5",
|
||||||
"@testing-library/react": "^13.4.0"
|
"@testing-library/react": "^13.4.0"
|
||||||
|
|||||||
@ -28,6 +28,7 @@
|
|||||||
"@ogre-tools/injectable-react": "^15.1.2",
|
"@ogre-tools/injectable-react": "^15.1.2",
|
||||||
"@testing-library/react": "^12.1.5",
|
"@testing-library/react": "^12.1.5",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
|
"mobx": "^6.8.0",
|
||||||
"react": "^17.0.2"
|
"react": "^17.0.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user