зеркало из
1
0
Форкнуть 0

New tool to check dependencies for optimal treeshaking (#199)

* New tool to check dependencies for optimal treeshaking

* update pnpm-lock.yaml

* Change files

* address comments, remove beachball for package
This commit is contained in:
Dominik 2021-05-03 11:34:56 -07:00 коммит произвёл GitHub
Родитель 77704d8977
Коммит 28d4737f34
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
10 изменённых файлов: 299 добавлений и 112 удалений

Просмотреть файл

@ -26,20 +26,25 @@ dependencies:
'@rush-temp/acs-chat-declarative': file:projects/acs-chat-declarative.tgz_prettier@2.0.5+ts-node@9.1.1
'@rush-temp/acs-chat-selector': file:projects/acs-chat-selector.tgz_prettier@2.0.5+ts-node@9.1.1
'@rush-temp/build-tools': file:projects/build-tools.tgz_typescript@4.1.5
'@rush-temp/calling': file:projects/calling.tgz_570bf42e92a70fb216c5cd4d5ed668ef
'@rush-temp/chat': file:projects/chat.tgz_40b0c9f7a7a0fac66e4b6fcf06de2a42
'@rush-temp/communication-ui': file:projects/communication-ui.tgz_webpack-cli@4.5.0
'@rush-temp/one-to-one-call': file:projects/one-to-one-call.tgz_570bf42e92a70fb216c5cd4d5ed668ef
'@rush-temp/calling': file:projects/calling.tgz_b145821026ea2fc3b8b481e1817e93b8
'@rush-temp/chat': file:projects/chat.tgz_40696ef7625c6ba30f84e95f800c1560
'@rush-temp/check-treeshaking': file:projects/check-treeshaking.tgz_prettier@2.0.5
'@rush-temp/communication-ui': file:projects/communication-ui.tgz
'@rush-temp/one-to-one-call': file:projects/one-to-one-call.tgz_b145821026ea2fc3b8b481e1817e93b8
'@rush-temp/server': file:projects/server.tgz
'@rush-temp/storybook': file:projects/storybook.tgz_webpack-cli@4.5.0
'@rush-temp/storybook': file:projects/storybook.tgz
'@storybook/addon-actions': 6.1.21_30bc4764d4ba778218056aab0be8023f
'@storybook/addon-docs': 6.1.21_025c95869cb55e8d142f5246a0455b6d
'@storybook/addon-essentials': 6.1.21_489c05363155b6add536e1fef5b4fe59
'@storybook/addon-docs': 6.1.21_7dc7d52ca03f46ba5ab43d948ad83831
'@storybook/addon-essentials': 6.1.21_7b7209170e993df5a67adc088f8a22b2
'@storybook/addon-knobs': 6.1.21_30bc4764d4ba778218056aab0be8023f
'@storybook/addon-links': 6.1.21_react-dom@16.14.0+react@16.14.0
'@storybook/addon-storyshots': 6.1.21_bf4eba619a81a338b8fdba9794ec01fe
'@storybook/addon-storyshots': 6.1.21_15e841d035e6be8d1874690f6ad4a409
'@storybook/addons': 6.2.9_react-dom@16.14.0+react@16.14.0
'@storybook/api': 6.2.9_react-dom@16.14.0+react@16.14.0
'@storybook/components': 6.2.9_30bc4764d4ba778218056aab0be8023f
'@storybook/core-events': 6.2.9
'@storybook/node-logger': 6.1.21
'@storybook/react': 6.1.21_4afa15f3c90940bbd828a24f4067472e
'@storybook/react': 6.1.21_c60c9a4e0ecf5aa5b6bb1a8faf979bb3
'@storybook/storybook-deployer': 2.8.7
'@storybook/theming': 6.1.21_react-dom@16.14.0+react@16.14.0
'@testing-library/jest-dom': 5.11.9
@ -119,7 +124,7 @@ dependencies:
react-is: 17.0.1
react-linkify: 1.0.0-alpha
react-router-dom: 5.2.0_react@16.14.0
react-scripts: 4.0.3_a9e99724ada6035f86b48f9bda330596
react-scripts: 4.0.3_f809d3db279880808bf4dcb3fb99ea5f
react-test-renderer: 16.14.0_react@16.14.0
reactstrap: 8.9.0_react-dom@16.14.0+react@16.14.0
regenerator-runtime: 0.13.7
@ -138,8 +143,7 @@ dependencies:
ts-node-dev: 1.1.6_typescript@4.1.5
typescript: 4.1.5
uuid: 8.3.2
webpack: 4.44.2_webpack-cli@4.5.0
webpack-cli: 4.5.0_webpack@4.44.2
webpack: 4.44.2
webpack-node-externals: 2.5.2
lockfileVersion: 5.2
packages:
@ -3702,7 +3706,7 @@ packages:
react-refresh: 0.8.3
schema-utils: 2.7.1
source-map: 0.7.3
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>= 10.x'
@ -3739,8 +3743,8 @@ packages:
react-refresh: 0.8.3
schema-utils: 2.7.1
source-map: 0.7.3
webpack: 4.44.2_webpack-cli@4.5.0
webpack-dev-server: 3.11.1_webpack-cli@4.5.0+webpack@4.44.2
webpack: 4.44.2
webpack-dev-server: 3.11.1_webpack@4.44.2
dev: false
engines:
node: '>= 10.x'
@ -4050,7 +4054,7 @@ packages:
optional: true
resolution:
integrity: sha512-IJgZWD2E9eLKj8DJLA9lT63N4jPfVneFJ05gnPco01ZJCEiDAo7babP5Ns2UTJDUaQEtX0m04UoIkidcteWKsA==
/@storybook/addon-docs/6.1.21_025c95869cb55e8d142f5246a0455b6d:
/@storybook/addon-docs/6.1.21_7dc7d52ca03f46ba5ab43d948ad83831:
dependencies:
'@babel/core': 7.13.10
'@babel/generator': 7.13.9
@ -4066,7 +4070,7 @@ packages:
'@storybook/client-api': 6.1.21_react-dom@16.14.0+react@16.14.0
'@storybook/client-logger': 6.1.21
'@storybook/components': 6.1.21_30bc4764d4ba778218056aab0be8023f
'@storybook/core': 6.1.21_0ec2d79595cbb39915160c401dccfcca
'@storybook/core': 6.1.21_6674f28c5cb81e41cd8c2cf2ca17a385
'@storybook/core-events': 6.1.21
'@storybook/csf': 0.0.1
'@storybook/node-logger': 6.1.21
@ -4095,7 +4099,7 @@ packages:
remark-slug: 6.0.0
ts-dedent: 2.0.0
util-deprecate: 1.0.2
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
peerDependencies:
'@storybook/vue': 6.1.21
@ -4107,7 +4111,6 @@ packages:
typescript: '*'
vue: ^2.6.10
webpack: '>=4'
webpack-cli: '*'
peerDependenciesMeta:
'@storybook/vue':
optional: true
@ -4123,13 +4126,13 @@ packages:
optional: true
resolution:
integrity: sha512-MvTmxrOSo+zZ5MaMx9LVWM8DlvVHeryCJKPJx8BYCEN38r8mIK7uCFYok8oMPmACrVe0MfXOdJCm1HKkBKjsMg==
/@storybook/addon-essentials/6.1.21_489c05363155b6add536e1fef5b4fe59:
/@storybook/addon-essentials/6.1.21_7b7209170e993df5a67adc088f8a22b2:
dependencies:
'@babel/core': 7.13.10
'@storybook/addon-actions': 6.1.21_30bc4764d4ba778218056aab0be8023f
'@storybook/addon-backgrounds': 6.1.21_30bc4764d4ba778218056aab0be8023f
'@storybook/addon-controls': 6.1.21_30bc4764d4ba778218056aab0be8023f
'@storybook/addon-docs': 6.1.21_025c95869cb55e8d142f5246a0455b6d
'@storybook/addon-docs': 6.1.21_7dc7d52ca03f46ba5ab43d948ad83831
'@storybook/addon-toolbars': 6.1.21_30bc4764d4ba778218056aab0be8023f
'@storybook/addon-viewport': 6.1.21_30bc4764d4ba778218056aab0be8023f
'@storybook/addons': 6.1.21_react-dom@16.14.0+react@16.14.0
@ -4141,7 +4144,7 @@ packages:
react-dom: 16.14.0_react@16.14.0
regenerator-runtime: 0.13.7
ts-dedent: 2.0.0
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
peerDependencies:
'@babel/core': ^7.9.6
@ -4152,7 +4155,6 @@ packages:
react-dom: ^16.8.0 || ^17.0.0
typescript: '*'
webpack: '>=4'
webpack-cli: '*'
peerDependenciesMeta:
'@storybook/vue':
optional: true
@ -4226,13 +4228,13 @@ packages:
optional: true
resolution:
integrity: sha512-DFPK6aYs9VIs1tO0PJ+mBwg64ZLv6NcVwFJ083ghCj/hR+0+3NRox+oRHXCWq7RHtnJeU4VKEiRx2EpE9L9Bkg==
/@storybook/addon-storyshots/6.1.21_bf4eba619a81a338b8fdba9794ec01fe:
/@storybook/addon-storyshots/6.1.21_15e841d035e6be8d1874690f6ad4a409:
dependencies:
'@jest/transform': 26.6.2
'@storybook/addons': 6.1.21_react-dom@16.14.0+react@16.14.0
'@storybook/client-api': 6.1.21_react-dom@16.14.0+react@16.14.0
'@storybook/core': 6.1.21_0ec2d79595cbb39915160c401dccfcca
'@storybook/react': 6.1.21_4afa15f3c90940bbd828a24f4067472e
'@storybook/core': 6.1.21_6674f28c5cb81e41cd8c2cf2ca17a385
'@storybook/react': 6.1.21_c60c9a4e0ecf5aa5b6bb1a8faf979bb3
'@types/glob': 7.1.3
'@types/jest': 25.2.3
'@types/jest-specific-snapshot': 0.5.5
@ -4260,7 +4262,6 @@ packages:
react-dom: ^16.8.0 || ^17.0.0
typescript: '*'
vue: '*'
webpack-cli: '*'
peerDependenciesMeta:
'@storybook/vue':
optional: true
@ -4570,7 +4571,7 @@ packages:
dev: false
resolution:
integrity: sha512-xQmbX/oYQK1QsAGN8hriXX5SUKOoTUe3L4dVaVHxJqy7MReRWJpprJmCpbAPJzWS6WCbDFfCM5kVEexHLOzJlQ==
/@storybook/core/6.1.21_0ec2d79595cbb39915160c401dccfcca:
/@storybook/core/6.1.21_6674f28c5cb81e41cd8c2cf2ca17a385:
dependencies:
'@babel/core': 7.13.10
'@babel/plugin-proposal-class-properties': 7.13.0_@babel+core@7.13.10
@ -4670,7 +4671,7 @@ packages:
unfetch: 4.2.0
url-loader: 4.1.1_file-loader@6.2.0+webpack@4.44.2
util-deprecate: 1.0.2
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
webpack-dev-middleware: 3.7.3_webpack@4.44.2
webpack-filter-warnings-plugin: 1.2.1_webpack@4.44.2
webpack-hot-middleware: 2.25.0
@ -4681,7 +4682,6 @@ packages:
react: ^16.8.0 || ^17.0.0
react-dom: ^16.8.0 || ^17.0.0
typescript: '*'
webpack-cli: '*'
resolution:
integrity: sha512-ITqSid3VVL5/fkx7Wwu7QfD2Y5xjl3V6p7yUpLSzP8GpBnCHKDvJ4pFJUdJlGQ0mnGz6ACa0qVnSc+V0hiy1sA==
/@storybook/csf/0.0.1:
@ -4706,14 +4706,14 @@ packages:
dev: false
resolution:
integrity: sha512-mg3fNqdQYiz6ivQIU1WMKqtqrFt5GySmsPCar3Y+xOdMClmpx6pZYcpiN782h8CIFA1XnldGR3TKVtWP848qOg==
/@storybook/react/6.1.21_4afa15f3c90940bbd828a24f4067472e:
/@storybook/react/6.1.21_c60c9a4e0ecf5aa5b6bb1a8faf979bb3:
dependencies:
'@babel/core': 7.13.10
'@babel/preset-flow': 7.12.13_@babel+core@7.13.10
'@babel/preset-react': 7.12.13_@babel+core@7.13.10
'@pmmmwh/react-refresh-webpack-plugin': 0.4.3_637fe0af5eea2230ffdb56306b9d64e4
'@storybook/addons': 6.1.21_react-dom@16.14.0+react@16.14.0
'@storybook/core': 6.1.21_0ec2d79595cbb39915160c401dccfcca
'@storybook/core': 6.1.21_6674f28c5cb81e41cd8c2cf2ca17a385
'@storybook/node-logger': 6.1.21
'@storybook/semver': 7.3.2
'@types/webpack-env': 1.16.0
@ -4731,7 +4731,7 @@ packages:
react-refresh: 0.8.3
regenerator-runtime: 0.13.7
ts-dedent: 2.0.0
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>=8.0.0'
@ -4742,7 +4742,6 @@ packages:
react: ^16.8.0 || ^17.0.0
react-dom: ^16.8.0 || ^17.0.0
typescript: '*'
webpack-cli: '*'
resolution:
integrity: sha512-j3gq/ssWxRCCH5iCHbP3ihXSGS7lVWh1HpmBmGbbhHGHgdmSPsRjwDXiQGE81EmE7bzbC8NECBhU3zHJ6h1TvA==
/@storybook/router/6.1.21_react-dom@16.14.0+react@16.14.0:
@ -6617,7 +6616,7 @@ packages:
mkdirp: 0.5.5
pify: 4.0.1
schema-utils: 2.7.1
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>= 6.9'
@ -6634,7 +6633,7 @@ packages:
mkdirp: 0.5.5
pify: 4.0.1
schema-utils: 2.7.1
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>= 6.9'
@ -8194,7 +8193,7 @@ packages:
p-limit: 3.1.0
schema-utils: 3.0.0
serialize-javascript: 5.0.1
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
webpack-sources: 1.4.3
dev: false
engines:
@ -8476,7 +8475,7 @@ packages:
postcss-value-parser: 4.1.0
schema-utils: 2.7.1
semver: 6.3.0
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>= 8.9.0'
@ -8498,7 +8497,7 @@ packages:
postcss-value-parser: 4.1.0
schema-utils: 2.7.1
semver: 7.3.4
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>= 10.13.0'
@ -9220,7 +9219,7 @@ packages:
/dotenv-webpack/1.8.0_webpack@4.44.2:
dependencies:
dotenv-defaults: 1.1.1
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
peerDependencies:
webpack: ^1 || ^2 || ^3 || ^4
@ -9918,7 +9917,7 @@ packages:
jest-worker: 26.6.2
micromatch: 4.0.2
schema-utils: 3.0.0
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>= 10.13.0'
@ -10491,7 +10490,7 @@ packages:
dependencies:
loader-utils: 2.0.0
schema-utils: 3.0.0
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>= 10.13.0'
@ -10503,7 +10502,7 @@ packages:
dependencies:
loader-utils: 2.0.0
schema-utils: 3.0.0
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>= 10.13.0'
@ -11576,7 +11575,7 @@ packages:
pretty-error: 2.1.2
tapable: 1.1.3
util.promisify: 1.0.0
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>=6.9'
@ -11595,7 +11594,7 @@ packages:
pretty-error: 2.1.2
tapable: 1.1.3
util.promisify: 1.0.0
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>=6.9'
@ -13992,7 +13991,7 @@ packages:
loader-utils: 1.4.0
normalize-url: 1.9.1
schema-utils: 1.0.0
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
webpack-sources: 1.4.3
dev: false
engines:
@ -14658,7 +14657,7 @@ packages:
dependencies:
cssnano: 4.1.10
last-call-webpack-plugin: 3.0.0
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
peerDependencies:
webpack: ^4.0.0
@ -16371,7 +16370,7 @@ packages:
dependencies:
loader-utils: 2.0.0
schema-utils: 3.0.0
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>= 10.13.0'
@ -16616,7 +16615,7 @@ packages:
integrity: sha512-7gcIUvJkAXXttt1fmBK9cwn+1jTa4hbKLGCZ9J1U6EOkyb2/+LKL1Z28d9rtDLMnpvImlNlLPdTPooorl5cpmg==
/react-popper-tooltip/3.1.1_react-dom@16.14.0+react@16.14.0:
dependencies:
'@babel/runtime': 7.13.10
'@babel/runtime': 7.13.17
'@popperjs/core': 2.9.1
react: 16.14.0
react-dom: 16.14.0_react@16.14.0
@ -16693,7 +16692,7 @@ packages:
react: '>=15'
resolution:
integrity: sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==
/react-scripts/4.0.3_a9e99724ada6035f86b48f9bda330596:
/react-scripts/4.0.3_f809d3db279880808bf4dcb3fb99ea5f:
dependencies:
'@babel/core': 7.12.3
'@pmmmwh/react-refresh-webpack-plugin': 0.4.3_9f0995138d24e525eb86c097d82409c0
@ -16751,8 +16750,8 @@ packages:
ts-pnp: 1.2.0_typescript@4.1.5
typescript: 4.1.5
url-loader: 4.1.1_file-loader@6.1.1+webpack@4.44.2
webpack: 4.44.2_webpack-cli@4.5.0
webpack-dev-server: 3.11.1_webpack-cli@4.5.0+webpack@4.44.2
webpack: 4.44.2
webpack-dev-server: 3.11.1_webpack@4.44.2
webpack-manifest-plugin: 2.2.0_webpack@4.44.2
workbox-webpack-plugin: 5.1.4_webpack@4.44.2
dev: false
@ -16765,7 +16764,6 @@ packages:
react: '>= 16'
ts-node: '*'
typescript: ^3.2.1 || ^4
webpack-cli: '*'
peerDependenciesMeta:
typescript:
optional: true
@ -16805,7 +16803,7 @@ packages:
integrity: sha512-tL4sCgfmvapYRZ1FO2VmBmjPVzzqgHA7kI8lSJ6JS6L78jXFNRdOZFpXyK6P1NBZvKPPCZxReNgzZNUajAerZw==
/react-syntax-highlighter/13.5.3_react@16.14.0:
dependencies:
'@babel/runtime': 7.13.10
'@babel/runtime': 7.13.17
highlight.js: 10.6.0
lowlight: 1.19.0
prismjs: 1.23.0
@ -16830,7 +16828,7 @@ packages:
integrity: sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==
/react-textarea-autosize/8.3.2_f650913bea380c685c20f94e5dc2f677:
dependencies:
'@babel/runtime': 7.13.10
'@babel/runtime': 7.13.17
react: 16.14.0
use-composed-ref: 1.1.0_react@16.14.0
use-latest: 1.2.0_f650913bea380c685c20f94e5dc2f677
@ -17674,7 +17672,7 @@ packages:
neo-async: 2.6.2
schema-utils: 3.0.0
semver: 7.3.4
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>= 10.13.0'
@ -18339,7 +18337,7 @@ packages:
integrity: sha512-7t+/wpKLanLzSnQPX8WAcuLCCeuSHoWdQuh9SB3xD0kNOM38DNf+0Oa+wmvxmYueRzkmh6IcdKFtvTa+ecgPDw==
/storybook-docs-toc/1.3.1_e4b854fbd94350c9a7e4d41c498855cc:
dependencies:
'@storybook/addon-docs': 6.1.21_025c95869cb55e8d142f5246a0455b6d
'@storybook/addon-docs': 6.1.21_7dc7d52ca03f46ba5ab43d948ad83831
react: 16.14.0
react-dom: 16.14.0_react@16.14.0
styled-components: 5.2.3_9debf3d425c3eafb0518d6c329d076f5
@ -18621,7 +18619,7 @@ packages:
dependencies:
loader-utils: 2.0.0
schema-utils: 2.7.1
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>= 8.9.0'
@ -18894,7 +18892,7 @@ packages:
serialize-javascript: 4.0.0
source-map: 0.6.1
terser: 4.8.0
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
webpack-sources: 1.4.3
dev: false
engines:
@ -18913,7 +18911,7 @@ packages:
serialize-javascript: 5.0.1
source-map: 0.6.1
terser: 5.6.0
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
webpack-sources: 1.4.3
dev: false
engines:
@ -19202,7 +19200,7 @@ packages:
micromatch: 4.0.2
semver: 7.3.4
typescript: 4.1.5
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>=10.0.0'
@ -19628,7 +19626,7 @@ packages:
loader-utils: 2.0.0
mime-types: 2.1.29
schema-utils: 3.0.0
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>= 10.13.0'
@ -19646,7 +19644,7 @@ packages:
loader-utils: 2.0.0
mime-types: 2.1.29
schema-utils: 3.0.0
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>= 10.13.0'
@ -19953,7 +19951,7 @@ packages:
mime: 2.5.2
mkdirp: 0.5.5
range-parser: 1.2.1
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
webpack-log: 2.0.0
dev: false
engines:
@ -19962,7 +19960,7 @@ packages:
webpack: ^4.0.0 || ^5.0.0
resolution:
integrity: sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==
/webpack-dev-server/3.11.1_webpack-cli@4.5.0+webpack@4.44.2:
/webpack-dev-server/3.11.1_webpack@4.44.2:
dependencies:
ansi-html: 0.0.7
bonjour: 3.5.0
@ -19993,8 +19991,7 @@ packages:
strip-ansi: 3.0.1
supports-color: 6.1.0
url: 0.11.0
webpack: 4.44.2_webpack-cli@4.5.0
webpack-cli: 4.5.0_webpack@4.44.2
webpack: 4.44.2
webpack-dev-middleware: 3.7.3_webpack@4.44.2
webpack-log: 2.0.0
ws: 6.2.1
@ -20013,7 +20010,7 @@ packages:
integrity: sha512-u4R3mRzZkbxQVa+MBWi2uVpB5W59H3ekZAJsQlKUTdl7Elcah2EhygTPLmeFXybQkf9i2+L0kn7ik9SnXa6ihQ==
/webpack-filter-warnings-plugin/1.2.1_webpack@4.44.2:
dependencies:
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>= 4.3 < 5.0.0 || >= 5.10'
@ -20045,7 +20042,7 @@ packages:
lodash: 4.17.21
object.entries: 1.1.3
tapable: 1.1.3
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
engines:
node: '>=6.11.5'
@ -20079,6 +20076,45 @@ packages:
dev: false
resolution:
integrity: sha512-kDUmfm3BZrei0y+1NTHJInejzxfhtU8eDj2M7OKb2IWrPFAeO1SOH2KuQ68MSZu9IGEHcxbkKKR1v18FrUSOmA==
/webpack/4.44.2:
dependencies:
'@webassemblyjs/ast': 1.9.0
'@webassemblyjs/helper-module-context': 1.9.0
'@webassemblyjs/wasm-edit': 1.9.0
'@webassemblyjs/wasm-parser': 1.9.0
acorn: 6.4.2
ajv: 6.12.6
ajv-keywords: 3.5.2_ajv@6.12.6
chrome-trace-event: 1.0.2
enhanced-resolve: 4.5.0
eslint-scope: 4.0.3
json-parse-better-errors: 1.0.2
loader-runner: 2.4.0
loader-utils: 1.4.0
memory-fs: 0.4.1
micromatch: 3.1.10
mkdirp: 0.5.5
neo-async: 2.6.2
node-libs-browser: 2.2.1
schema-utils: 1.0.0
tapable: 1.1.3
terser-webpack-plugin: 1.4.5_webpack@4.44.2
watchpack: 1.7.5
webpack-sources: 1.4.3
dev: false
engines:
node: '>=6.11.5'
hasBin: true
peerDependencies:
webpack-cli: '*'
webpack-command: '*'
peerDependenciesMeta:
webpack-cli:
optional: true
webpack-command:
optional: true
resolution:
integrity: sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==
/webpack/4.44.2_webpack-cli@4.5.0:
dependencies:
'@webassemblyjs/ast': 1.9.0
@ -20345,7 +20381,7 @@ packages:
fast-json-stable-stringify: 2.1.0
source-map-url: 0.4.1
upath: 1.2.0
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
webpack-sources: 1.4.3
workbox-build: 5.1.4
dev: false
@ -20748,7 +20784,7 @@ packages:
integrity: sha512-b5hFauElrTQk+ieDLylltlsXYuREKzGdSgkbZY/NC9PgniOwHvxJPuuAQCWf0rHbgYzH8HOddbB5yIoFADO/ug==
tarball: file:projects/build-tools.tgz
version: 0.0.0
file:projects/calling.tgz_570bf42e92a70fb216c5cd4d5ed668ef:
file:projects/calling.tgz_b145821026ea2fc3b8b481e1817e93b8:
dependencies:
'@azure/communication-administration': 1.0.0-beta.3
'@azure/communication-calling': 1.0.1-beta.1
@ -20796,7 +20832,7 @@ packages:
react: 16.14.0
react-dom: 16.14.0_react@16.14.0
react-router-dom: 5.2.0_react@16.14.0
react-scripts: 4.0.3_a9e99724ada6035f86b48f9bda330596
react-scripts: 4.0.3_f809d3db279880808bf4dcb3fb99ea5f
react-test-renderer: 16.14.0_react@16.14.0
reactstrap: 8.9.0_react-dom@16.14.0+react@16.14.0
rimraf: 2.7.1
@ -20811,12 +20847,11 @@ packages:
eslint-plugin-jsx-a11y: '*'
ts-node: '*'
webpack: '*'
webpack-cli: '*'
resolution:
integrity: sha512-BiHb93u00xt9MlwyDYoYGJHSCz99spPAIMlDKxKluOA1OJHJad9iyqv+MocOF+Qr7h6X0iWtxZG0yNZgqAn+mQ==
tarball: file:projects/calling.tgz
version: 0.0.0
file:projects/chat.tgz_40b0c9f7a7a0fac66e4b6fcf06de2a42:
file:projects/chat.tgz_40696ef7625c6ba30f84e95f800c1560:
dependencies:
'@azure/communication-administration': 1.0.0-beta.3
'@azure/communication-chat': 1.0.0-beta.4
@ -20862,7 +20897,7 @@ packages:
react-aria-live: 2.0.5_react@16.14.0
react-dom: 16.14.0_react@16.14.0
react-linkify: 1.0.0-alpha
react-scripts: 4.0.3_a9e99724ada6035f86b48f9bda330596
react-scripts: 4.0.3_f809d3db279880808bf4dcb3fb99ea5f
react-test-renderer: 16.14.0_react@16.14.0
reselect: 4.0.0
rimraf: 2.7.1
@ -20874,12 +20909,29 @@ packages:
eslint-plugin-import: '*'
eslint-plugin-jsx-a11y: '*'
ts-node: '*'
webpack-cli: '*'
resolution:
integrity: sha512-epzsbDyJdbBCDktJyN/lSv7X9MXrgCB3C5eHnVOtwawx4grtWsZMKMbP3CjaKjg7nyl/pczfPTb+TVGBEYnLAw==
tarball: file:projects/chat.tgz
version: 0.0.0
file:projects/communication-ui.tgz_webpack-cli@4.5.0:
file:projects/check-treeshaking.tgz_prettier@2.0.5:
dependencies:
eslint: 7.22.0
eslint-config-prettier: 6.15.0_eslint@7.22.0
eslint-plugin-header: 3.1.1_eslint@7.22.0
eslint-plugin-import: 2.22.1_eslint@7.22.0
eslint-plugin-prettier: 3.3.1_cdac37046eab2e8d6fb794f34ed825c2
webpack: 4.44.2_webpack-cli@4.5.0
webpack-cli: 4.5.0_webpack@4.44.2
dev: false
id: file:projects/check-treeshaking.tgz
name: '@rush-temp/check-treeshaking'
peerDependencies:
prettier: '*'
resolution:
integrity: sha512-VYFcLwaTQ5wVVp/mIKwp7ujYFempLtJon/COxvMwgVOeYN3BEcGYGgWiHaDaCrlMcz4MV49l8M9EDA3jy+KzzA==
tarball: file:projects/check-treeshaking.tgz
version: 0.0.0
file:projects/communication-ui.tgz:
dependencies:
'@azure/communication-administration': 1.0.0-beta.3
'@azure/communication-calling': 1.0.1-beta.1
@ -20899,20 +20951,8 @@ packages:
'@mdx-js/react': 1.6.22_react@16.14.0
'@microsoft/api-documenter': 7.12.12
'@microsoft/api-extractor': 7.13.2
'@rollup/plugin-commonjs': 17.1.0_rollup@2.42.4
'@storybook/addon-actions': 6.1.21_30bc4764d4ba778218056aab0be8023f
'@storybook/addon-docs': 6.1.21_025c95869cb55e8d142f5246a0455b6d
'@storybook/addon-essentials': 6.1.21_489c05363155b6add536e1fef5b4fe59
'@storybook/addon-knobs': 6.1.21_30bc4764d4ba778218056aab0be8023f
'@storybook/addon-links': 6.1.21_react-dom@16.14.0+react@16.14.0
'@storybook/addon-storyshots': 6.1.21_bf4eba619a81a338b8fdba9794ec01fe
'@storybook/node-logger': 6.1.21
'@storybook/react': 6.1.21_4afa15f3c90940bbd828a24f4067472e
'@storybook/storybook-deployer': 2.8.7
'@storybook/theming': 6.1.21_react-dom@16.14.0+react@16.14.0
'@testing-library/jest-dom': 5.11.9
'@testing-library/react-hooks': 3.7.0_98e0eb37a9f7280a1c5a6c886619f5b4
'@types/classnames': 2.2.11
'@types/jest': 26.0.22
'@types/json-stringify-safe': 5.0.0
'@types/node': 14.14.35
@ -20927,7 +20967,6 @@ packages:
ajv: 6.12.6
babel-jest: 26.6.3_@babel+core@7.13.10
babel-loader: 8.1.0_6d2d9db439f797dbe04a64efdbcf144a
classnames: 2.2.6
concurrently: 5.3.0
copy-to-clipboard: 3.3.1
copyfiles: 2.4.1
@ -20957,25 +20996,20 @@ packages:
react-test-renderer: 16.14.0_react@16.14.0
regenerator-runtime: 0.13.7
rollup: 2.42.4
rollup-plugin-sourcemaps: 0.6.3_9135ee81d9218d0e99b56082525729b5
rollup-plugin-svg: 2.0.0
source-map-explorer: 2.5.2
styled-components: 5.2.3_9debf3d425c3eafb0518d6c329d076f5
ts-jest: 26.5.3_jest@26.6.0+typescript@4.1.5
ts-node: 9.1.1_typescript@4.1.5
typescript: 4.1.5
uuid: 8.3.2
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
id: file:projects/communication-ui.tgz
name: '@rush-temp/communication-ui'
peerDependencies:
webpack-cli: '*'
resolution:
integrity: sha512-nQJvypLutxWMSYZChumjynxphCXkwaA8m5aaL/gtin6w2UaZNGUhdCLlylY+bWbb8vwA/kkoInrrwwC3DcsCRw==
integrity: sha512-gVY/1YWU0rw0uuR6NTyGqqHooCv+GG7BKX9I3lRMuVv1Pn3P3LPmhkGbXyNCjm3GMnlQoWDF43irjd4cEqKgZw==
tarball: file:projects/communication-ui.tgz
version: 0.0.0
file:projects/one-to-one-call.tgz_570bf42e92a70fb216c5cd4d5ed668ef:
file:projects/one-to-one-call.tgz_b145821026ea2fc3b8b481e1817e93b8:
dependencies:
'@azure/communication-administration': 1.0.0-beta.3
'@azure/communication-calling': 1.0.1-beta.1
@ -21025,7 +21059,7 @@ packages:
react: 16.14.0
react-dom: 16.14.0_react@16.14.0
react-router-dom: 5.2.0_react@16.14.0
react-scripts: 4.0.3_a9e99724ada6035f86b48f9bda330596
react-scripts: 4.0.3_f809d3db279880808bf4dcb3fb99ea5f
react-test-renderer: 16.14.0_react@16.14.0
reactstrap: 8.9.0_react-dom@16.14.0+react@16.14.0
rimraf: 2.7.1
@ -21040,7 +21074,6 @@ packages:
eslint-plugin-jsx-a11y: '*'
ts-node: '*'
webpack: '*'
webpack-cli: '*'
resolution:
integrity: sha512-mdOZ2vFNF5mBoIE/2Qj3lXgSOeH3BIzBd3dehMA64/0RD1pEWcnSm5VsqU2W6zbQAzSFA1x6Eion3jlIozBWTg==
tarball: file:projects/one-to-one-call.tgz
@ -21095,7 +21128,7 @@ packages:
integrity: sha512-ackzCLGN0wbDuoKMywSTx9Ge31TF5jHC+O4F6zRMnOm8p2hCNvwcwojGnnkRiYyJc2w6eHuUBp9yLwJ3wAh9hw==
tarball: file:projects/server.tgz
version: 0.0.0
file:projects/storybook.tgz_webpack-cli@4.5.0:
file:projects/storybook.tgz:
dependencies:
'@azure/communication-administration': 1.0.0-beta.3
'@azure/communication-calling': 1.0.1-beta.1
@ -21116,17 +21149,17 @@ packages:
'@microsoft/applicationinsights-react-js': 3.0.5_react@16.14.0
'@microsoft/applicationinsights-web': 2.6.2
'@storybook/addon-actions': 6.1.21_30bc4764d4ba778218056aab0be8023f
'@storybook/addon-docs': 6.1.21_025c95869cb55e8d142f5246a0455b6d
'@storybook/addon-essentials': 6.1.21_489c05363155b6add536e1fef5b4fe59
'@storybook/addon-docs': 6.1.21_7dc7d52ca03f46ba5ab43d948ad83831
'@storybook/addon-essentials': 6.1.21_7b7209170e993df5a67adc088f8a22b2
'@storybook/addon-knobs': 6.1.21_30bc4764d4ba778218056aab0be8023f
'@storybook/addon-links': 6.1.21_react-dom@16.14.0+react@16.14.0
'@storybook/addon-storyshots': 6.1.21_bf4eba619a81a338b8fdba9794ec01fe
'@storybook/addon-storyshots': 6.1.21_15e841d035e6be8d1874690f6ad4a409
'@storybook/addons': 6.2.9_react-dom@16.14.0+react@16.14.0
'@storybook/api': 6.2.9_react-dom@16.14.0+react@16.14.0
'@storybook/components': 6.2.9_30bc4764d4ba778218056aab0be8023f
'@storybook/core-events': 6.2.9
'@storybook/node-logger': 6.1.21
'@storybook/react': 6.1.21_4afa15f3c90940bbd828a24f4067472e
'@storybook/react': 6.1.21_c60c9a4e0ecf5aa5b6bb1a8faf979bb3
'@storybook/storybook-deployer': 2.8.7
'@storybook/theming': 6.1.21_react-dom@16.14.0+react@16.14.0
'@testing-library/jest-dom': 5.11.9
@ -21184,14 +21217,11 @@ packages:
ts-node: 9.1.1_typescript@4.1.5
typescript: 4.1.5
uuid: 8.3.2
webpack: 4.44.2_webpack-cli@4.5.0
webpack: 4.44.2
dev: false
id: file:projects/storybook.tgz
name: '@rush-temp/storybook'
peerDependencies:
webpack-cli: '*'
resolution:
integrity: sha512-UlApYfT1mmhLpMrV2E0qILycrKVR65FYQr1A91vpFvVXqFB0fzDTszXnrnWcJQSWNnnSGRCGdZS+ymtdmjo5qw==
integrity: sha512-WQdccpypge1hzrxraF5Z5ksMH16aptSM7OdipBEYCK4lwSap3xB54fBOOfnoStnhb9O/Ga2CgkapPERNyaHu7A==
tarball: file:projects/storybook.tgz
version: 0.0.0
registry: ''
@ -21225,6 +21255,7 @@ specifiers:
'@rush-temp/build-tools': file:./projects/build-tools.tgz
'@rush-temp/calling': file:./projects/calling.tgz
'@rush-temp/chat': file:./projects/chat.tgz
'@rush-temp/check-treeshaking': file:./projects/check-treeshaking.tgz
'@rush-temp/communication-ui': file:./projects/communication-ui.tgz
'@rush-temp/one-to-one-call': file:./projects/one-to-one-call.tgz
'@rush-temp/server': file:./projects/server.tgz
@ -21235,6 +21266,10 @@ specifiers:
'@storybook/addon-knobs': ~6.1.9
'@storybook/addon-links': ~6.1.1
'@storybook/addon-storyshots': ~6.1.6
'@storybook/addons': ^6.2.5
'@storybook/api': ^6.2.5
'@storybook/components': ^6.2.5
'@storybook/core-events': ^6.2.5
'@storybook/node-logger': ~6.1.1
'@storybook/react': ~6.1.1
'@storybook/storybook-deployer': ~2.8.7
@ -21336,5 +21371,4 @@ specifiers:
typescript: 4.1.5
uuid: ^8.1.0
webpack: 4.44.2
webpack-cli: ^4.2.0
webpack-node-externals: ^2.5.2
webpack-node-externals: ^2.5.2

Просмотреть файл

@ -0,0 +1,5 @@
docs/
public/
dist/
node_modules/
scripts/

Просмотреть файл

@ -0,0 +1,15 @@
// © Microsoft Corporation. All rights reserved.
module.exports = {
env: {
browser: true,
node: true,
es6: true
},
extends: ['eslint:recommended', 'plugin:prettier/recommended'],
plugins: ['header'],
rules: {
eqeqeq: 'warn',
'header/header': ['error', 'line', ' © Microsoft Corporation. All rights reserved.']
}
};

14
packages/check-treeshaking/.vscode/launch.json поставляемый Normal file
Просмотреть файл

@ -0,0 +1,14 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Webpack",
"program": "${workspaceFolder}/node_modules/webpack/bin/webpack.js"
}
]
}

Просмотреть файл

@ -0,0 +1,7 @@
# Treeshaking Checker
This tool uses webpack to validate proper dependency boundaries so that a user of our library doesn't bundle unexpected modules.
For example, importing a pure UI element should not lead to any dependency on the headless Azure SDK. Or importing the declarative layer should not import from the UI or React.
Add new forbidden import rules to `forbiddenDependencies.js`, and add a package dependency to package.json if necessary, because this tool operates on the .js build output.

Просмотреть файл

@ -0,0 +1,12 @@
// © Microsoft Corporation. All rights reserved.
module.exports = {
'../communication-ui/dist/dist-esm/components/SendBox.js': [
'@azure/communication-chat',
'@azure/communication-calling',
'@azure/communication-common'
],
'../acs-chat-declarative/dist/dist-esm/index.js': ['@azure/communication-ui', '@fluentui', 'react'],
'../acs-calling-declarative/dist/dist-esm/index.js': ['@azure/communication-ui', '@fluentui', 'react'],
'../acs-chat-selector/dist/dist-esm/index.js': ['@azure/communication-ui'],
'../acs-calling-selector/dist/dist-esm/index.js': ['@azure/communication-ui']
};

Просмотреть файл

@ -0,0 +1,34 @@
// © Microsoft Corporation. All rights reserved.
const path = require('path');
const forbiddenDependencies = require('./forbiddenDependencies');
// thanks to https://github.com/webpack/webpack/issues/2090#issuecomment-302643018
function findEntry(mod) {
if (mod.reasons.length > 0 && mod.reasons[0].module.resource) {
return findEntry(mod.reasons[0].module);
}
return mod.resource;
}
function getCurrentEntry(context) {
const absolutePath = findEntry(context._module);
return path.relative(__dirname, absolutePath).replace(/\\/g, '/');
}
function importChecker(content) {
const currentEntry = getCurrentEntry(this);
const forbiddenImports = forbiddenDependencies[currentEntry];
if (!forbiddenImports) return content;
for (const line of content.split(/\n/)) {
if (!line.startsWith('import ')) continue;
for (const forbiddenImport of forbiddenImports) {
if (line.indexOf(forbiddenImport) === -1) continue;
throw new Error(`${this._module.rawRequest} has forbidden dependency on ${forbiddenImport}`);
}
}
return content;
}
module.exports = importChecker;

Просмотреть файл

@ -0,0 +1,31 @@
{
"name": "check-treeshaking",
"version": "0.1.0",
"private": "true",
"description": "Utility to ensure proper dependencies across modules",
"scripts": {
"build": "npx webpack",
"build:watch": "echo skip",
"test": "echo skip",
"test:coverage": "echo skip",
"lint": "eslint \"**/*.{js,ts,tsx}\"",
"lint:fix": "npm run lint -- --fix",
"lint:quiet": "npm run lint -- --quiet"
},
"dependencies": {
"@azure/communication-ui": "1.0.0-beta",
"@azure/acs-chat-declarative": "1.0.0-beta",
"@azure/acs-calling-declarative": "1.0.0-beta",
"@azure/acs-chat-selector": "1.0.0-beta",
"@azure/acs-calling-selector": "1.0.0-beta"
},
"devDependencies": {
"webpack": "4.44.2",
"webpack-cli": "4.5.0",
"eslint": "^7.7.0",
"eslint-config-prettier": "^6.12.0",
"eslint-plugin-prettier": "^3.1.4",
"eslint-plugin-header": "^3.1.0",
"eslint-plugin-import": "^2.20.1"
}
}

Просмотреть файл

@ -0,0 +1,30 @@
// © Microsoft Corporation. All rights reserved.
const path = require('path');
const forbiddenDependencies = require('./forbiddenDependencies');
const entries = Object.keys(forbiddenDependencies);
module.exports = {
entry: entries,
module: {
rules: [
{
test: /\.js$/,
use: [
{
loader: path.resolve('importChecker.js')
}
],
exclude: /node_modules/
}
]
},
resolve: {
extensions: ['.ts', '.js']
},
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
}
};

Просмотреть файл

@ -71,6 +71,11 @@
"packageName": "build-tools",
"projectFolder": "common/config",
"reviewCategory": "tools"
},
{
"packageName": "check-treeshaking",
"projectFolder": "packages/check-treeshaking",
"reviewCategory": "tools"
}
]
}