@tramvai/cli 2.49.0 → 2.49.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/library/webpack/application/server/prod.js +7 -1
- package/lib/library/webpack/application/server/prod.js.map +1 -1
- package/lib/library/webpack/blocks/optimize.js +3 -1
- package/lib/library/webpack/blocks/optimize.js.map +1 -1
- package/package.json +2 -2
- package/src/library/swc/__integration__/__snapshots__/swc.build.test.ts.snap +564 -0
- package/src/library/swc/__integration__/__snapshots__/swc.start.test.ts.snap +769 -0
- package/src/library/swc/__integration__/components/lazy-inner.tsx +3 -0
- package/src/library/swc/__integration__/create-token-pure.ts +3 -0
- package/src/library/swc/__integration__/images/logo.svg +1 -0
- package/src/library/swc/__integration__/index.ts +18 -0
- package/src/library/swc/__integration__/lazy-component.tsx +12 -0
- package/src/library/swc/__integration__/mocks/tramvai-core.ts +3 -0
- package/src/library/swc/__integration__/mocks/tramvai-react.ts +1 -0
- package/src/library/swc/__integration__/node-env.ts +13 -0
- package/src/library/swc/__integration__/provider-stack.ts +10 -0
- package/src/library/swc/__integration__/react-svg.tsx +9 -0
- package/src/library/swc/__integration__/server.inline.ts +7 -0
- package/src/library/swc/__integration__/swc.build.test.ts +99 -0
- package/src/library/swc/__integration__/swc.start.test.ts +102 -0
- package/src/library/swc/__integration__/tsconfig.json +13 -0
- package/src/library/swc/__integration__/typeof-window.ts +13 -0
- package/src/library/webpack/application/server/prod.ts +6 -1
- package/src/library/webpack/blocks/optimize.ts +3 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80.9 72.2" enable-background="new 0 0 80.9 72.2"><path fill="#fff" d="M79.8 33.8l1-3.4-3.5.1c-.3 0-2.4-.1-4.5-1.6h.5c2.1 0 4.2-1.3 5-3.1l1.5-3.3c-1.9 0-3.6-.2-3.6-.2s-1.4-.2-2.9-1.8c-1.1-1.1-2.5-1.7-4-1.7-.7 0-1.2.1-1.7.3.1-.3.2-.5.2-.8.5-3.1-1.5-5.5-1.5-5.5l-2.6-3.2-1.6 3.8s-.4.9-1.1 1.3c-.2-1.1-.8-2.4-1.9-3.6-2.2-2.3-4.8-2.6-6.2-2.6-.6 0-1.1.1-1.2.1l-3.2.6c.2-.7.6-1.9 1.3-3l1.7-2.7L47 4l-1.4-3-2.7 1.4L40.4 0 38 2.5l-2.7-1.4-1.4 3-4.4-.5 1.7 2.7c.7 1.1 1.1 2.3 1.3 3l-3-.6h-.1c-.2 0-.6-.1-1.3-.1-1.4 0-4 .3-6.2 2.6-1.2 1.2-1.7 2.5-1.9 3.6-.7-.4-1.1-1.3-1.1-1.3l-1.6-3.8-2.7 3.3c-.3.4-1.9 2.6-1.5 5.4 0 .3.1.5.2.8-.5-.2-1.1-.3-1.7-.3-1.5 0-2.9.6-4 1.7-1.6 1.6-2.9 1.8-2.9 1.8s-1.4.3-3.6.2l1.5 3.3c.8 1.8 2.9 3.1 5 3.1h.5c-2.1 1.5-4.2 1.6-4.5 1.6L0 30.4l1.1 3.4c.5 1.7 2.3 4.6 5.8 4.9-.4 1.6-1.2 3.3-3 4.1l-2.6 1.1 1.4 2.5c.8 1.3 2.7 2.9 5.4 2.9.6 0 1.2-.1 1.7-.2.1.6.3 1.2.5 1.8.8 2.4.1 4.1.1 4.1l-1.3 2.7 2.9.8s.9.3 2 .3c.5 0 1-.1 1.4-.2.3-.1.7-.2 1-.3.4.7.8 1.3 1.4 1.8 1.9 1.9 4.5 2.9 7.8 2.9H28l-4.9 2 3.7 1.8c1.4.7 3 1.4 4.6 2l-.5 1.3 1.3.6c.1.1 2.6 1.2 6.7 1.4h3c4.1-.2 6.6-1.3 6.7-1.4l1.3-.6-.5-1.3c1.7-.6 3.4-1.4 4.7-2.1l3.7-1.8-4.9-2h2.4c3.3 0 6-1 7.8-2.9.5-.5 1-1.2 1.4-1.8.3.1.6.2 1 .3.4.1.9.2 1.4.2 1.1 0 2-.2 2-.2l2.9-.8-1.3-2.7c0-.1-.7-1.7.1-4.1.2-.6.4-1.2.5-1.8.5.1 1.1.2 1.7.2 3.5 0 5.1-2.4 5.4-3l1.4-2.5-2.6-1.1c-1.8-.8-2.7-2.5-3-4.1 3.4-.2 5.3-3.1 5.8-4.8M32.7 10.4zM40.4 10.3c-2.8 0-4.9.9-5.3 2l5.3 2.1 5.3-2.1c-.4-1.1-2.5-2-5.3-2M40.5 66h-.1c-1.7 0-4-.3-5.1-.7L33.9 69c.9.3 3.9.9 6.5.9s5.7-.6 6.5-.9l-1.3-3.7c-1.1.4-3.4.7-5.1.7"/><path fill="#fff" d="M50.7 62.4c-1 .6-3.2 1.4-4.5 1.8l1.1 3c2-.6 3.7-1.2 5.1-1.9l-2.4-.7.7-2.2zM30.2 62.4l.7 2.2-2.3.8c1.4.7 3 1.3 5.1 1.9l1.1-3c-1.4-.5-3.6-1.3-4.6-1.9M40.4 6.8c2.1 0 4.2.5 5.8 1.4.1-.5.3-1.1.6-1.7l-.6.1-.6.1-.3-.6-.8-1.7-1.5.8-.6.3L42 5l-1.6-1.6L38.9 5l-.5.4-.6-.3-1.5-.8-.8 1.7-.3.6-.6-.1-.6-.1c.3.6.5 1.2.6 1.7 1.7-.8 3.7-1.3 5.8-1.3M72.5 26.4c.3.1.5.1.8.1 1.2 0 2.3-.8 2.7-1.6 0 0-2.2-.1-4.5-2.5-.7-.8-1.5-1-2.2-1-1.1 0-1.8.6-1.8.6 2.9 1.4 3.4 3.8 5 4.4M7.5 26.5c.3 0 .6 0 .8-.1 1.6-.5 2.2-3 5-4.5 0 0-.8-.6-1.8-.6-.7 0-1.5.2-2.2 1-2.3 2.4-4.5 2.5-4.5 2.5.4.9 1.5 1.7 2.7 1.7M73.3 36.2h.1c3 0 4-3.2 4-3.2h-.1c-.5 0-5-.1-8.1-4.1-2.1-2.6-3.7-4.9-7.1-5.8l-.3-.1-.1-.3c-.1-.5.3-1 1-1.5 4.6-3 1.5-6.8 1.5-6.8s-1.3 3.1-4.2 3.1h-.2c-.3 0-.7 0-1-.1l-.5-.1s.8-2.3-1.2-4.4c-1.5-1.6-3.4-1.8-4.4-1.8-.5 0-.9.1-.9.1 1 1.3 1.7 3.5.6 4.9-1 1.2-3.5 1.2-3.5 3 0 .7.7 1.6 1.9 2.4 3.7 2.3 7.4 5.4 8.9 9.6 1.9 5.2-.2 8.6-3.3 10.6 0 0 1 .9 2.4 1h.8c3 0 4.5-1.4 4.5-1.4s-.3 1.9-1.8 3.7c-1.4 1.6-3.3 2.6-6.1 2.6 0 0-.1 1.3 1.2 2.5.8.7 2.7 1 2.7 1s-3.5.7-3.9 5.8c-.2 2.8-.9 3.8-.9 3.8h.1c8.1 0 7.9-6.9 7.9-6.9s.6 2.1 2.8 2.6c.3.1.6.1.8.1.7 0 1.4-.2 1.4-.2s-1.2-2.5 0-6c1-2.9.8-5 .8-5s1.1 1.6 3.8 1.7c2.2 0 3.2-1.7 3.2-1.7-5.4-2.2-4.9-9.5-4.9-9.5s.7.4 2.1.4m-1.6 7.5c-2.2-1.1-3.6-3.9-3.9-5-.4 5.7-3.1 9.6-6.4 13.4-1.7 2-2.3 3.9-2.3 3.9s.3-2.2 1.8-3.9c3-3.6 5.9-8.2 6.1-13.4.1-3.7-.8-6.6-2.3-9.1.8 2.5.7 5.7-2.1 8.6 0 0 5.5-6.6-2.2-13.5-3.1-2.6-6.5-4.2-8.2-5.3 6.3 2.1 9.4-.2 9.4-.2-2 1.7-4.6 1.7-6.2 1.5.4.2.9.4 1.4.7 5.3 2.9 10.1 7.7 10.9 14.2v-.1c1.2 6.6 4 8.2 4 8.2M20.8 50.9s1.9-.2 2.7-1c1.3-1.1 1.2-2.5 1.2-2.5-2.8 0-4.7-1-6.1-2.6-1.5-1.8-1.8-3.7-1.8-3.7s1.5 1.4 4.5 1.4h.8c1.4-.1 2.4-1 2.4-1-3.1-2-5.2-5.4-3.3-10.6 1.5-4.2 5.2-7.3 8.9-9.6 1.2-.8 1.9-1.6 1.9-2.4 0-1.7-2.5-1.8-3.5-3-1.2-1.4-.4-3.6.6-4.9 0 0-.3-.1-.9-.1-1.1 0-2.9.3-4.4 1.8-2 2.1-1.2 4.4-1.2 4.4l-.6.3c-.3.1-.6.1-1 .1h-.2c-2.9 0-4.2-3.1-4.2-3.1s-3.1 3.8 1.5 6.8c.8.5 1.1 1 1 1.5l-.1.4-.3.1c-3.3.9-5 3.2-7.1 5.8-3.1 4-7.5 4.1-8.1 4.1 0 0 1 3.2 4 3.2h.1c1.4 0 2.1-.6 2.1-.6s.5 7.2-4.9 9.5c0 0 1 1.7 3.2 1.7 2.7 0 3.8-1.7 3.8-1.7s-.2 2.1.8 5c1.2 3.5 0 6 0 6s.6.2 1.4.2c.3 0 .6 0 .8-.1 2.3-.5 2.8-2.6 2.8-2.6s-.2 6.9 7.9 6.9h.1s-.7-1-.9-3.8c-.4-5.1-3.9-5.9-3.9-5.9m-1.3 1.3c-3.2-3.8-6-7.7-6.4-13.4-.3 1-1.7 3.9-3.9 5 0 0 2.8-1.7 4-8.1v.1c.8-6.6 5.6-11.3 10.9-14.2.5-.3.9-.5 1.4-.7-1.6.3-4.2.3-6.2-1.5 0 0 3.1 2.3 9.4.2-1.7 1.1-5.1 2.7-8.2 5.3-7.8 6.8-2.2 13.5-2.2 13.5-2.8-2.9-2.9-6-2.1-8.6-1.5 2.4-2.4 5.4-2.3 9.1.2 5.1 3.1 9.6 6.1 13.3 1.5 1.8 1.8 3.9 1.8 3.9s-.6-1.9-2.3-3.9"/><path fill="#fff" d="M34.5 25.6c.1.1.3.3.4.5l.1.1c.1.2.2.3.3.5 0 0 0 .1.1.1.1.2.3.4.4.6 1.2 2 3 3.2 4.7 3.2 1.7 0 3.5-1.2 4.7-3.2.1-.2.3-.4.4-.6 0 0 0-.1.1-.1.1-.2.2-.3.4-.5l.1-.1c.1-.2.3-.3.4-.5l.1-.1c.6-.6 1.3-1.1 2.2-1.3l-.6-.2-1.6-1-1.7-1-4.5 2.5L36 22l-1.7 1-1.6 1-.4.2c.8.3 1.5.7 2.2 1.4-.1 0-.1 0 0 0m4.1-.2h3.8v1.3c-.4-.5-1.3-.4-1.3-.4v1.9s0 .9.4 1.3h-1.8c.3-.4.4-1.3.4-1.3v-1.9s-.9-.1-1.3.4v-1.3zM40.1 22.9v-7.7l-4.9-1.7 1.3 7.4 3.6 2zM39 17.1v1.2l-.2-.1s-.4-.1-1-.6c-1-.8-1-1.5-1-1.5l2.2 1zM44.4 21l1.3-7.4-4.9 1.7V23l3.6-2zm-2.5-3.9l2.2-.9s0 .7-1 1.5c-.6.5-.9.6-1 .6l-.2.1v-1.3zM33.2 40.6c.5.2 1 .2 1.3.2v-.1c0-.1.1-.2.1-.3.1-.4.1-.9.1-1.2-.2-.1-.5-.3-.6-.7-.2-.4-.4-.6-.8-.6-.5 0-1 .3-1.2.4-.2 1.2.5 2.1 1.1 2.3M43.9 36.6c-.9 1-2.7 2.7-2.8 2.8l-.1.1-5.6-.1c0 .6-.1 1-.2 1.4v.2l6.7 1.2c.7-.5 2.6-1.9 3.3-2.4-.5-.8-.6-1.7-.5-2.4-.3-.3-.5-.6-.8-.8"/><path fill="#fff" d="M44.7 29.8c-1.3 1.3-2.5 1.8-3.6 1.9h-1.2c-.2 0-.4 0-.6-.1-.1.3-.2.9.1 1.5.2.5.7.9 1.4 1.2l.2.1v.3c0 .1.1 1.7 1.8 2.2.3-.3.6-.6.7-.8-.4-.9-.2-1.7.4-2.2 0 .1-.3 2.2 1.5 3l.3.1-.1.3c0 .1-.6 2.2 1.5 2.9l.4.1-.2.4c0 .1-.8 2 1.1 3h4.2v-3.3c-1.5-.2-2.1-1.4-2.3-2.2-.7-.1-1.2-.4-1.6-.9-.9-1.1-.1-2.2-.1-2.3 0 0 0 1.1.7 1.8.3.3.7.6 1.4.6h.3v.3c0 .1.2 1.6 1.6 1.8v-6.7c0-1 .3-2.1.7-3.1h-8.6zM33.5 32.9l-.1 4.3.5.1 1.2-4.1-.6-1.3zM46.7 52.6h.1c.7.2.9 2.9 2.2 3.1h.3c.4 0 .6-.2.8-.4 0 0-.7-1-1.1-1.7-.7-.9-1.2-2-2.4-2h-.1c-.4 0-.6.2-.6.2-.5-.3-.9-.4-1.4-.4-.8 0-1.3.3-1.6.3l-2.7-.3c-.4 0-.8-.5-.9-.6V50.5c-.1-2.2-1.8-3.2-2.4-3.2 0 0 .1-.4-.1-.6l-.6.7-2-1 1.4 1.6-1.2 1.3c-.1.2-.1.4-.1.4l.5.5.6-.4H36.3c.3 0 .5-.1.5-.3-.1.8-.8 2.2-.3 3.4l.4.8-2.4-.3-1.1 1.9c-.3.6-.4 1.3-.1 1.7l.4.5s.6-.6.7-1l-.2-.2c-.2-.2-.2-.3-.1-.5l.7-1.2 2.8.7.1-.3c.2-.3.5-.4.8-.4h.4c.5.1 1.4.2 2.2.2.9 0 1.9-.2 2.4-.7 1 1.5 3.1 1.8 2.9 2.5l-.5 2.6c.4 0 .7 0 1-.1l.5-2.7c.1-.3.1-.7.1-.7-.2-.2-.7-.6-1-1.2-.4-.7-.2-1.1-.5-2 .3.3.4.1.7.1m-10.6-3.8c-.1 0-.2-.1-.2-.3 0-.1.1-.2.3-.2.1 0 .2.1.2.3-.1.1-.2.2-.3.2"/><path fill="#fff" d="M32.2 55s.9-.4 1-.7l-.1-.3c-.1-.2-.1-.4.1-.5l1-.7 1.7.3s-.3-.4-.3-.9l-1.6-.3-1.5.9c-.7.5-.7 1.3-.5 1.8l.2.4zM44.2 59.4h1s.9-2.5.9-2.6c-.5-.2-1.5-.8-1.9-1 .3.4.9.8.8 1.2l-.8 2.4z"/><path fill="#FCE527" d="M52.4 44.4h-24v9c0 3.7 2.7 6 6.6 6 3.3 0 4.2.1 5.4 1.3.8-.8 1.5-1.2 3-1.3v-.1l.8-2.3c0-.1-1.3-1.5-1.3-1.5-.5.2-.9.2-1.6.2-.7 0-1.5-.1-2.4-.2h-.3c-.1 0-.1 0-.1.1l-.1.2-.3.5-.5-.1-2.3-.5-.3.4v.1l.3.3-.1.4c-.2.5-.7 1.1-.9 1.3l-.6.6-.5-.7-.4-.5c-.4-.5-.5-1.2-.3-1.9l-.6.3-.3-.6-.2-.4c-.4-.8-.2-1.9.7-2.6l1.9-1 1.8.3c0-.2.1-.8.2-.9h-.1l-1 .4-1-.7s-.4-.4 0-.7l.9-1.4-2.4-3 3.7 1.5.2-.3.5-.6.6.5c.2.2.3.3.3.5 1 .4 2.8 1.6 3 3.5H40c.1.2.2.2.3.2l2.6.3c.1 0 .1 0 .2-.1.3-.1.8-.3 1.4-.3.5 0 .9.1 1.4.3.2-.1.4-.1.6-.1h.1c1.4 0 2.1 1.1 2.7 1.9.1.1.2.3.3.4.5.7 1.1 1.7 1.2 1.8l.3.5-.4.4c-.3.3-.7.7-1.4.7h-.5c-.1 0-.3-.1-.4-.1 0 .1 0 .3-.1.4l-.5 2.4c2.8-.7 4.5-2.8 4.5-5.8l.1-9zM28.4 43.7h18.7c-.9-1-.9-2.2-.7-3-.3-.1-.5-.3-.7-.5-.7.5-3 2.2-3.5 2.6l-.1.1-7.3-1.3H34c-.1.3-.4.6-.7.6h-.1c-.2 0-.4-.1-.5-.3-.1-.2-.2-.3-.1-.5v-.2c-.8-.5-1.5-1.7-1.1-3v-.1l.1-.1s.1-.1.3-.2l-.5-.1c-.2 0-.3-.2-.3-.4s.2-.3.4-.3l1.3.2.1-4.5 1.9-2 1.2 2.5-1.2 4.3 1.1.2c.2 0 .3.2.3.4s-.2.3-.4.3h-.1l-.9-.1v.1c.1.2.3.3.4.4l5.6.1 1.4-1.4c-1.4-.5-1.9-1.7-2-2.5-.8-.3-1.3-.8-1.6-1.5-.4-.8-.2-1.6-.1-2-.7-.3-1.5-.8-2.3-1.6h-8.4c.4 1 .7 2 .7 3.1v10.7z"/><path d="M36.1 48.3c-.1 0-.3.1-.3.2s.1.3.2.3.3-.1.3-.2c.1-.2 0-.3-.2-.3M52.4 64.7l-1.4-.6.4-1.4.4-1.6s-2.4 1.3-5.9 2.3c-1 .3-1.7.4-1.7.4V65s-1.8.3-3.7.3c-1.9 0-3.7-.3-3.7-.3v-1.1s-.7-.1-1.7-.4c-3.5-1-5.9-2.3-5.9-2.3l.4 1.6.4 1.4-1.4.5-1.5.6c1.8.9 4.2 2.1 6.4 2.7l-.5 1.4s2.8 1.3 7.6 1.3c4.7 0 7.6-1.3 7.6-1.3l-.5-1.4c2.2-.6 4.7-1.9 6.4-2.7l-1.7-.6zm-23.8.6l2.3-.8-.7-2.2c1 .6 3.2 1.4 4.5 1.8l-1.1 3c-2-.4-3.6-1.1-5-1.8m11.8 4.6c-2.6 0-5.7-.6-6.5-.9l1.3-3.7c1.1.3 3.4.7 5.1.7h.1c1.7 0 4-.3 5.1-.7L47 69c-.9.3-3.9.9-6.6.9m6.9-2.7l-1.1-3c1.3-.4 3.5-1.3 4.6-1.8l-.8 2.2 2.3.8c-1.4.6-3 1.3-5 1.8"/><path d="M40.4 7.7c2.8 0 5.1.9 6.3 1.9 0 0 .4-2.2 1.6-4.2l-2.3.3-1.2-2.5-2.3 1.2-2.2-2.2-2.2 2.2L36 3.2l-1.2 2.5-2.3-.3c1.3 2 1.6 4.2 1.6 4.2 1.3-1 3.5-1.9 6.3-1.9m-5.7-1.1l.6.1.3-.6.8-1.7 1.5.8.6.3.4-.5 1.6-1.6L42 5l.5.4.6-.3 1.5-.8.8 1.7.3.6.6-.1.6-.1c-.3.6-.5 1.2-.6 1.7-1.6-.9-3.6-1.4-5.8-1.4-2.1 0-4.2.5-5.7 1.4-.1-.5-.3-1.1-.6-1.7l.5.2zM73.4 37.2c3.6 0 4.9-3.7 4.9-3.9l.4-1.3h-1.4c-.5 0-4.5-.1-7.3-3.7l-.2-.3c-1.9-2.4-3.6-4.6-6.8-5.6.1-.1.2-.2.4-.3 1.7-1.1 2.6-2.4 2.9-4 .4-2.3-1.1-4.2-1.2-4.3l-1-1.3-.6 1.5c0 .1-1.1 2.5-3.3 2.5H59.6c.1-1.1-.1-2.7-1.6-4.2-1.8-1.9-4-2.1-5.1-2.1-.6 0-1 .1-1.1.1l-1.5.3.9 1.2c.7 1 1.4 2.7.6 3.7-.3.3-.8.5-1.3.8-1 .5-2.4 1.1-2.4 2.8 0 1.1.8 2.2 2.4 3.2 4.5 2.8 7.3 5.8 8.5 9.1 1.9 5-.6 7.9-2.9 9.4l-1.1.7.9.9c.1.1 1.3 1.1 2.9 1.3h.9c1.1 0 2-.2 2.7-.4-.2.4-.5.7-.8 1.1-1.4 1.6-3 2.3-5.4 2.3h-.9l-.1.9c0 .2-.1 1.8 1.5 3.2.2.2.5.4.8.5-1.1 1-2.1 2.6-2.3 5.5-.2 2.4-.7 3.3-.8 3.3l-1 1.5h1.8c2.9 0 5.2-.8 6.7-2.4.9-.9 1.4-2 1.8-3 .5.4 1.2.8 2 1 .3.1.7.1 1.1.1.8 0 1.5-.2 1.6-.2l1.1-.3-.5-1.1c0-.1-1-2.2 0-5.2.4-1.3.7-2.5.8-3.4.7.4 1.7.7 2.9.7 2.8 0 4-2.1 4.1-2.2l.6-1-1-.4c-3.3-1.4-4.1-5.1-4.2-7.1.3.1.6.1 1 .1h.2zm2.7 7.9s-1 1.7-3.2 1.7c-2.7 0-3.8-1.7-3.8-1.7s.2 2.1-.8 5c-1.2 3.5 0 6 0 6s-.6.2-1.4.2c-.3 0-.6 0-.8-.1-2.3-.5-2.8-2.6-2.8-2.6s.2 6.9-7.9 6.9h-.1s.7-1 .9-3.8c.4-5.1 3.9-5.8 3.9-5.8s-1.9-.2-2.7-1c-1.3-1.1-1.2-2.5-1.2-2.5 2.8 0 4.7-1 6.1-2.6 1.5-1.8 1.8-3.7 1.8-3.7s-1.5 1.4-4.5 1.4h-.8c-1.4-.1-2.4-1-2.4-1 3.1-2 5.2-5.4 3.3-10.6-1.5-4.2-5.2-7.3-8.9-9.6-1.1-.7-1.8-1.6-1.8-2.3 0-1.7 2.5-1.8 3.5-3 1.2-1.4.4-3.6-.6-4.9 0 0 .3-.1.9-.1 1.1 0 2.9.3 4.4 1.8 2 2.1 1.2 4.4 1.2 4.4l.5.1c.3.1.6.1 1 .1h.2c2.9 0 4.2-3.1 4.2-3.1s3.1 3.8-1.5 6.8c-.8.5-1.1 1-1 1.5l.1.3.3.1c3.3.9 5 3.2 7.1 5.8 3.1 4 7.5 4.1 8.1 4.1h.1s-1 3.2-4 3.2h-.1c-1.4 0-2.1-.6-2.1-.6s-.6 7.4 4.8 9.6M67.1 22.8c1.4.7 2.1 1.7 2.8 2.6.7.8 1.3 1.6 2.3 2 .4.1.7.2 1.1.2 1.5 0 3-.9 3.6-2.2l.6-1.3-1.4-.1c-.1 0-1.9-.2-3.9-2.2-.8-.8-1.8-1.3-2.9-1.3-1.3 0-2.3.7-2.4.7l-1.2.8 1.4.8zm2.3-1.5c.7 0 1.5.2 2.2 1 2.3 2.4 4.5 2.5 4.5 2.5-.4.9-1.5 1.6-2.7 1.6-.3 0-.6 0-.8-.1-1.6-.5-2.2-3-5-4.5-.1.1.7-.5 1.8-.5M67.7 35.6c-.8-6.5-5.6-11.3-10.9-14.2-.5-.3-.9-.5-1.4-.7 1.6.3 4.2.3 6.2-1.5 0 0-3.1 2.3-9.4.2 1.7 1.1 5.1 2.7 8.2 5.3 7.8 6.8 2.2 13.5 2.2 13.5 2.8-2.9 2.9-6 2.1-8.6 1.5 2.4 2.4 5.4 2.3 9.1-.2 5.2-3.1 9.8-6.1 13.4-1.5 1.8-1.8 3.9-1.8 3.9s.6-1.9 2.3-3.9c3.2-3.8 6-7.7 6.4-13.4.3 1 1.7 3.9 3.9 5 0 0-2.8-1.6-4-8.1"/><path d="M26.4 60s-.6-.9-.7-3.3c-.2-2.9-1.3-4.5-2.4-5.5.3-.1.6-.3.8-.5 1.6-1.4 1.5-3.1 1.5-3.2l-.1-.9h-.9c-2.4 0-4.1-.8-5.4-2.3-.3-.4-.6-.7-.8-1.1.7.2 1.7.4 2.7.4h.9c1.7-.1 2.8-1.1 2.9-1.3l.9-.9-1.1-.7c-2.4-1.5-4.8-4.4-2.9-9.4 1.2-3.3 4-6.3 8.5-9.1 1.5-1 2.4-2.1 2.4-3.2 0-1.7-1.4-2.3-2.4-2.8-.5-.2-1-.5-1.3-.8-.8-.9-.1-2.7.6-3.7l.9-1.2-1.5-.3s-.4-.1-1.1-.1c-1.1 0-3.3.3-5.1 2.1-1.5 1.5-1.7 3.2-1.6 4.2H20.6c-2.2 0-3.3-2.4-3.3-2.5l-.6-1.5-1 1.3c-.1.1-1.6 1.9-1.2 4.3.2 1.6 1.2 2.9 2.9 4 .2.1.3.2.4.3-3.2 1-4.9 3.3-6.8 5.6l-.3.3C8 32 4 32.1 3.5 32.1H2.1l.4 1.3c0 .2 1.3 3.9 4.9 3.9h.2c.4 0 .7-.1 1-.1-.2 2-.9 5.7-4.2 7.1l-1 .4.6 1s1.2 2.1 4 2.1c1.2 0 2.2-.3 2.9-.7.1.9.3 2.1.8 3.4 1 3 .1 5.2 0 5.2l-.5 1.1 1.1.3c.1 0 .8.2 1.6.2.4 0 .7 0 1.1-.1.9-.2 1.5-.6 2-1 .3.9.8 2 1.8 3 1.6 1.6 3.8 2.4 6.7 2.4h1.8l-.9-1.6zm-.9.5c-8.1 0-7.9-6.9-7.9-6.9s-.6 2.1-2.8 2.6c-.3.1-.6.1-.8.1-.7 0-1.4-.2-1.4-.2s1.2-2.5 0-6c-1-2.9-.8-5-.8-5s-1.1 1.6-3.8 1.7c-2.2 0-3.2-1.7-3.2-1.7 5.4-2.2 4.9-9.5 4.9-9.5s-.7.5-2.1.6h-.1c-3 0-4-3.2-4-3.2h.1c.5 0 5-.1 8.1-4.1 2.1-2.6 3.7-4.9 7.1-5.8l.3-.1.1-.3c.1-.5-.3-1-1-1.5-4.6-3-1.5-6.8-1.5-6.8s1.3 3.1 4.2 3.1h.2c.3 0 .7 0 1-.1l.5-.1s-.8-2.3 1.2-4.4c1.5-1.6 3.4-1.8 4.4-1.8.5 0 .9.1.9.1-1 1.3-1.7 3.5-.6 4.9 1 1.2 3.5 1.2 3.5 3 0 .7-.7 1.6-1.9 2.4-3.7 2.3-7.4 5.4-8.9 9.6-1.9 5.2.2 8.6 3.3 10.6 0 0-1 .9-2.4 1h-.8c-3 0-4.5-1.4-4.5-1.4s.3 1.9 1.8 3.7c1.4 1.6 3.3 2.6 6.1 2.6 0 0 .1 1.3-1.2 2.5-.8.7-2.7 1-2.7 1s3.5.7 3.9 5.8c.2 2.7.9 3.6.8 3.6zM7.5 27.5c.4 0 .8-.1 1.1-.2 1-.3 1.7-1.1 2.3-2 .7-.9 1.5-1.8 2.8-2.6l1.4-.7-1.3-.9c-.1-.1-1.1-.7-2.4-.7-1.1 0-2.1.4-2.9 1.3-2 2.1-3.8 2.2-3.9 2.2l-1.3.1.6 1.3c.6 1.2 2.1 2.2 3.6 2.2m1.8-5.1c.7-.8 1.5-1 2.2-1 1 0 1.8.6 1.8.6-2.8 1.5-3.4 3.9-5 4.5-.3.1-.5.1-.8.1-1.2 0-2.3-.8-2.7-1.6 0-.1 2.2-.3 4.5-2.6M13.9 38.7c-.2-3.7.8-6.6 2.3-9.1-.8 2.5-.7 5.7 2.1 8.6 0 0-5.5-6.6 2.2-13.5 3.1-2.6 6.5-4.2 8.2-5.3-6.3 2.1-9.4-.2-9.4-.2 2 1.7 4.6 1.7 6.2 1.5-.4.2-.9.4-1.4.7-5.3 2.9-10.1 7.7-10.9 14.2v-.1c-1.2 6.5-4 8.1-4 8.1 2.2-1.1 3.6-3.9 3.9-5 .4 5.7 3.1 9.6 6.4 13.4 1.7 2 2.3 3.9 2.3 3.9s-.3-2.2-1.8-3.9c-3-3.5-5.9-8-6.1-13.3"/><path d="M38.6 25.4v1.3c.5-.5 1.3-.4 1.3-.4v1.9s0 .9-.4 1.3h1.8c-.3-.4-.4-1.3-.4-1.3v-1.9s.9-.1 1.3.4v-1.3H38.6zM37.8 17.7c.6.5 1 .6 1 .6l.2.1v-1.2l-2.2-.9c0-.1 0 .6 1 1.4M43.1 17.7c1-.8 1-1.5 1-1.5l-2.2.9v1.2l.2-.1s.4-.1 1-.5"/><path d="M47.1 12.7c0-1.9-3.1-3.5-6.6-3.5-3.5 0-6.6 1.7-6.6 3.5l.1.5 1.4 8-1.4.8-3.7 2s-.8.4-1.2.7c-1.4 1-1.7 2.3-.9 2.9.2-1.1 1.1-2.3 2.8-2.3 1.2 0 2.1.6 2.9 1.6.2.2.4.5.5.8l.6.9h-9.3C26.4 30 27 31.4 27 33v20.5c0 5 3.8 7.3 8 7.3 3.2 0 3.6-.1 5.4 1.6 1.8-1.8 2.2-1.6 5.4-1.6 4.1 0 8-2.4 8-7.3V32.9c0-1.6.6-3 1.3-4.4h-9.3l.6-.9c.2-.3.4-.5.5-.8.7-.9 1.7-1.6 2.9-1.6 1.7 0 2.6 1.2 2.8 2.3.8-.6.5-2-.9-2.9-.4-.3-1.2-.7-1.2-.7l-3.5-2-1.4-.8 1.4-8 .1-.4zm-11.9.9l4.9 1.7V23l-3.6-2-1.3-7.4zm1 16.2c.8.8 1.6 1.3 2.3 1.6-.1.4-.2 1.2.1 2 .3.6.8 1.1 1.6 1.5.1.8.6 2 2 2.5l-1.4 1.4-5.6-.1c-.1-.1-.3-.2-.4-.4v-.1l.9.1h.1c.2 0 .3-.1.4-.3 0-.2-.1-.4-.3-.4l-1.1-.2 1.2-4.3-1.2-2.5-1.9 2-.1 4.5-1.3-.2c-.2 0-.4.1-.4.3 0 .2.1.4.3.4l.5.1c-.2.1-.3.2-.3.2l-.2.1v.1c-.3 1.3.4 2.4 1.1 3v.2c0 .2 0 .4.1.5.1.2.3.3.5.3h.1c.3 0 .6-.2.7-.6H34.7l7.3 1.3.1-.1c.6-.4 2.8-2 3.5-2.6.2.2.4.3.7.5-.2.8-.3 2 .7 3H28.4V32.9c0-1-.3-2.1-.7-3.1h8.5zm9 9.9c-.7.5-2.6 1.9-3.3 2.4l-6.7-1.2v-.2c.1-.3.2-.8.2-1.4l5.6.1.1-.1c.1-.1 1.9-1.8 2.8-2.8.2.3.5.5.8.8 0 .7 0 1.6.5 2.4m-11.1-1.2c.2.3.4.5.6.7 0 .3 0 .8-.1 1.2 0 .1 0 .2-.1.3v.1c-.3 0-.9 0-1.3-.2-.5-.2-1.3-1.2-1.1-2.2.2-.1.8-.4 1.2-.4.4 0 .6.1.8.5m-.7-1.3l.1-4.3 1-1 .6 1.3-1.2 4.1-.5-.1zm11.8 22.2h-1L45 57c.1-.3-.5-.8-.8-1.2.4.2 1.4.8 1.9 1-.1.1-.9 2.6-.9 2.6m2.5-2.8l-.5 2.7c-.3 0-.7.1-1 .1l.5-2.6c.2-.8-1.9-1-2.9-2.5-.5.6-1.4.7-2.4.7-.9 0-1.7-.1-2.2-.2h-.4c-.3 0-.6.1-.8.4l-.2.3-2.8-.8-.7 1.2c-.1.2-.1.3.1.5l.2.2c-.1.4-.7 1-.7 1l-.4-.5c-.3-.4-.3-1.1.1-1.7l1.1-1.9 2.4.3-.4-.8c-.5-1.1.3-2.5.3-3.4 0 .2-.3.3-.5.3H35.6l-.6.4-.5-.5c-.1-.1-.1-.3.1-.4l1.2-1.3-1.4-1.6 2 1 .6-.7c.2.2.1.6.1.6.6 0 2.3 1 2.4 3.2V50.9c.1.2.5.6.9.6l2.7.3c.3 0 .9-.3 1.6-.3.4 0 .9.1 1.4.4 0 0 .2-.2.6-.2h.1c1.2 0 1.7 1.1 2.4 2 .5.7 1.1 1.7 1.1 1.7-.2.3-.5.4-.8.4h-.3c-1.3-.2-1.5-2.9-2.2-3.1h-.1c-.2 0-.3.2-.3.2.3.9.1 1.3.5 2 .3.5.8.9 1 1.2-.3-.2-.4.2-.4.5m-14.6-2.5l.1.3c-.1.3-1 .7-1 .7l-.2-.5c-.2-.5-.2-1.3.5-1.8l1.5-.9 1.6.3c0 .5.3.9.3.9l-1.7-.3-1 .7c-.1.1-.1.4-.1.6m14.8 5.1l.5-2.4c0-.1.1-.3.1-.4.1.1.3.1.4.1h.5c.7 0 1.1-.4 1.4-.7l.4-.4-.3-.5s-.7-1.1-1.2-1.8c-.1-.1-.2-.3-.3-.4-.6-.8-1.3-1.9-2.7-1.9h-.1c-.2 0-.4.1-.6.1-.4-.2-.9-.3-1.4-.3-.6 0-1.1.2-1.4.3-.1.1-.2.1-.3.1l-2.6-.3s-.1-.1-.3-.2l.6-.2c-.2-1.9-2-3.1-3-3.5 0-.2-.1-.4-.3-.5l-.6-.5-.5.6-.2.2-3.7-1.5 2.4 3-.9 1.4c-.3.4 0 .7 0 .7l1 .7 1-.4h.1c0 .2-.1.8-.2.9l-1.7-.2-1.9 1c-1 .7-1.1 1.9-.7 2.6l.2.4.3.6.6-.3c-.2.7-.1 1.5.3 1.9l.4.5.5.7.6-.6c.2-.2.7-.8.9-1.3l.1-.4-.3-.3v-.1l.3-.5 2.3.5.5.1.3-.5.1-.2c0-.1 0-.1.1-.1h.3c.9.2 1.7.2 2.4.2s1.1 0 1.6-.2c0 0 1.2 1.4 1.3 1.5l-.8 2.3v.1c-1.4.1-2.1.4-3 1.3-1.2-1.2-2.1-1.3-5.4-1.3-3.9 0-6.6-2.3-6.6-6v-9h24v9c0 3.3-1.7 5.4-4.5 6.1m5.2-29.4c-.4 1-.7 2-.7 3.1v6.7c-1.4-.2-1.6-1.8-1.6-1.8v-.3h-.3c-.6-.1-1-.3-1.4-.6-.7-.7-.7-1.8-.7-1.8 0 .1-.8 1.1.1 2.3.4.5.9.8 1.6.9.2.8.8 2 2.3 2.2v3.3h-4.2c-1.9-1.1-1.1-2.9-1.1-3l.2-.4-.3-.3c-2.1-.8-1.5-2.8-1.5-2.9l.1-.3-.3-.1c-1.7-.8-1.5-2.9-1.5-3-.5.4-.7 1.3-.4 2.2-.2.2-.5.5-.7.8-1.7-.5-1.7-2.2-1.7-2.2v-.3l-.2-.1c-.7-.3-1.2-.6-1.4-1.2-.3-.6-.2-1.2-.1-1.5.2 0 .4.1.6.1h1.2c1.1-.1 2.3-.6 3.6-1.9h8.4zM46.6 23l1.6 1 .4.2c-.9.3-1.6.7-2.2 1.3l-.1.1c-.1.1-.3.3-.4.5 0 0 0 .1-.1.1-.1.2-.2.3-.4.5 0 0 0 .1-.1.1-.1.2-.3.4-.4.6-1.2 2-3 3.2-4.7 3.2-1.7 0-3.5-1.2-4.7-3.2-.1-.2-.3-.4-.4-.6l-.1-.1c-.1-.2-.2-.3-.3-.5l-.1-.1c-.1-.2-.3-.3-.4-.5l-.1-.1c-.6-.6-1.3-1.1-2.2-1.3l.4-.2 1.6-1 1.7-1 4.5 2.5 4.5-2.5 2 1zm-2.2-2l-3.6 1.9v-7.7l4.9-1.7-1.3 7.5zm-4-6.6l-5.3-2.1c.5-1.1 2.5-2 5.3-2s4.9.9 5.3 2l-5.3 2.1z"/></svg>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as createTokenPure from './create-token-pure';
|
|
2
|
+
import * as providerStack from './provider-stack';
|
|
3
|
+
import * as lazyComponent from './lazy-component';
|
|
4
|
+
import * as typeofWindow from './typeof-window';
|
|
5
|
+
import * as nodeEnv from './node-env';
|
|
6
|
+
import * as serverInline from './server.inline';
|
|
7
|
+
import * as reactSvg from './react-svg';
|
|
8
|
+
|
|
9
|
+
// prevent from removing imports by webpack optimizations
|
|
10
|
+
console.log([
|
|
11
|
+
createTokenPure,
|
|
12
|
+
providerStack,
|
|
13
|
+
lazyComponent,
|
|
14
|
+
typeofWindow,
|
|
15
|
+
nodeEnv,
|
|
16
|
+
serverInline,
|
|
17
|
+
reactSvg,
|
|
18
|
+
]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const lazy = () => {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
let internalFunc: Function;
|
|
2
|
+
|
|
3
|
+
if (process.env.NODE_ENV === 'development') {
|
|
4
|
+
internalFunc = () => 'Are you developer, for sure?';
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
if (process.env.NODE_ENV === 'production') {
|
|
8
|
+
internalFunc = () => 'Nice production ;-)';
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const func = () => {
|
|
12
|
+
return internalFunc();
|
|
13
|
+
};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import { promises as fs } from 'fs';
|
|
3
|
+
import { build } from '@tramvai/cli';
|
|
4
|
+
|
|
5
|
+
let clientCode: string;
|
|
6
|
+
let clientModernCode: string;
|
|
7
|
+
let serverCode: string;
|
|
8
|
+
|
|
9
|
+
const getModuleCode = (code: string, name: string) => {
|
|
10
|
+
const regexp = new RegExp(`swc/__integration__/${name}":\\s*\n.+?{\n(.+?)/\\*{3}/\\s`, 's');
|
|
11
|
+
|
|
12
|
+
const match = code.match(regexp);
|
|
13
|
+
|
|
14
|
+
if (match) {
|
|
15
|
+
return match[1];
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
throw new Error(`Module ${name} not found in code`);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
beforeAll(async () => {
|
|
22
|
+
await build({
|
|
23
|
+
rootDir: __dirname,
|
|
24
|
+
disableProdOptimization: true,
|
|
25
|
+
config: {
|
|
26
|
+
name: 'swc-app',
|
|
27
|
+
type: 'application',
|
|
28
|
+
root: './',
|
|
29
|
+
commands: {
|
|
30
|
+
build: {
|
|
31
|
+
options: {
|
|
32
|
+
server: 'index.ts',
|
|
33
|
+
},
|
|
34
|
+
configurations: {
|
|
35
|
+
experiments: {
|
|
36
|
+
transpilation: {
|
|
37
|
+
loader: 'swc',
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
serve: {
|
|
43
|
+
configurations: {
|
|
44
|
+
experiments: {
|
|
45
|
+
transpilation: {
|
|
46
|
+
loader: 'swc',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
const distRoot = path.resolve(__dirname, 'dist');
|
|
56
|
+
|
|
57
|
+
serverCode = await fs.readFile(path.resolve(distRoot, 'server/server.js'), 'utf-8');
|
|
58
|
+
|
|
59
|
+
const stats = require(path.resolve(distRoot, 'client/stats.json'));
|
|
60
|
+
const modernStats = require(path.resolve(distRoot, 'client/stats.modern.json'));
|
|
61
|
+
|
|
62
|
+
clientCode = await fs.readFile(
|
|
63
|
+
path.resolve(distRoot, 'client', stats.assetsByChunkName.platform[0]),
|
|
64
|
+
'utf-8'
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
clientModernCode = await fs.readFile(
|
|
68
|
+
path.resolve(distRoot, 'client', modernStats.assetsByChunkName.platform[0]),
|
|
69
|
+
'utf-8'
|
|
70
|
+
);
|
|
71
|
+
}, 180000);
|
|
72
|
+
|
|
73
|
+
const MODULES = [
|
|
74
|
+
'create-token-pure.ts',
|
|
75
|
+
'provider-stack.ts',
|
|
76
|
+
'lazy-component.tsx',
|
|
77
|
+
'typeof-window.ts',
|
|
78
|
+
'node-env.ts',
|
|
79
|
+
'server.inline.ts',
|
|
80
|
+
'react-svg.tsx',
|
|
81
|
+
'images/logo.svg\\?react',
|
|
82
|
+
];
|
|
83
|
+
|
|
84
|
+
for (const mod of MODULES) {
|
|
85
|
+
// eslint-disable-next-line no-loop-func
|
|
86
|
+
it(`client-legacy: ${mod}`, () => {
|
|
87
|
+
expect(getModuleCode(clientCode, mod)).toMatchSnapshot();
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
// eslint-disable-next-line no-loop-func
|
|
91
|
+
it(`client-modern: ${mod}`, () => {
|
|
92
|
+
expect(getModuleCode(clientModernCode, mod)).toMatchSnapshot();
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
// eslint-disable-next-line no-loop-func
|
|
96
|
+
it(`server: ${mod}`, () => {
|
|
97
|
+
expect(getModuleCode(serverCode, mod)).toMatchSnapshot();
|
|
98
|
+
});
|
|
99
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { start } from '@tramvai/cli';
|
|
2
|
+
import { getStaticUrl } from '@tramvai/test-integration';
|
|
3
|
+
import type { PromiseType } from 'utility-types';
|
|
4
|
+
import fetch from 'node-fetch';
|
|
5
|
+
|
|
6
|
+
let app: PromiseType<ReturnType<typeof start>>;
|
|
7
|
+
let clientCode: string;
|
|
8
|
+
let serverCode: string;
|
|
9
|
+
|
|
10
|
+
const normalizeCode = (code: string) => {
|
|
11
|
+
return code
|
|
12
|
+
.replace(/\\n/g, '\n')
|
|
13
|
+
.replace(/\\t/g, '\t')
|
|
14
|
+
.replace(/\\"/g, '"')
|
|
15
|
+
.replace(new RegExp(__dirname, 'g'), '<project_dir>');
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const getModuleCode = (code: string, name: string) => {
|
|
19
|
+
const regexp = new RegExp(`swc/__integration__/${name}":.+?eval\\("(.+?)//# sourceURL=`, 's');
|
|
20
|
+
|
|
21
|
+
const match = code.match(regexp);
|
|
22
|
+
|
|
23
|
+
if (match) {
|
|
24
|
+
return normalizeCode(match[1]);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
throw new Error(`Module ${name} not found in code`);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
beforeAll(async () => {
|
|
31
|
+
app = await start({
|
|
32
|
+
rootDir: __dirname,
|
|
33
|
+
port: 0,
|
|
34
|
+
staticPort: 0,
|
|
35
|
+
strictErrorHandle: true,
|
|
36
|
+
config: {
|
|
37
|
+
name: 'swc-app',
|
|
38
|
+
type: 'application',
|
|
39
|
+
root: './',
|
|
40
|
+
commands: {
|
|
41
|
+
build: {
|
|
42
|
+
options: {
|
|
43
|
+
server: 'index.ts',
|
|
44
|
+
},
|
|
45
|
+
configurations: {
|
|
46
|
+
experiments: {
|
|
47
|
+
transpilation: {
|
|
48
|
+
loader: 'swc',
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
serve: {
|
|
54
|
+
configurations: {
|
|
55
|
+
experiments: {
|
|
56
|
+
transpilation: {
|
|
57
|
+
loader: 'swc',
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
const staticUrl = getStaticUrl(app);
|
|
67
|
+
|
|
68
|
+
const platform = await fetch(`${staticUrl}/dist/client/platform.js`);
|
|
69
|
+
|
|
70
|
+
clientCode = await platform.text();
|
|
71
|
+
|
|
72
|
+
const server = await fetch(`${staticUrl}/dist/server/server.js`);
|
|
73
|
+
|
|
74
|
+
serverCode = await server.text();
|
|
75
|
+
}, 180000);
|
|
76
|
+
|
|
77
|
+
afterAll(() => {
|
|
78
|
+
return app.close();
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
const MODULES = [
|
|
82
|
+
'create-token-pure.ts',
|
|
83
|
+
'provider-stack.ts',
|
|
84
|
+
'lazy-component.tsx',
|
|
85
|
+
'typeof-window.ts',
|
|
86
|
+
'node-env.ts',
|
|
87
|
+
'server.inline.ts',
|
|
88
|
+
'react-svg.tsx',
|
|
89
|
+
'images/logo.svg\\?react',
|
|
90
|
+
];
|
|
91
|
+
|
|
92
|
+
for (const mod of MODULES) {
|
|
93
|
+
// eslint-disable-next-line no-loop-func
|
|
94
|
+
it(`client: ${mod}`, () => {
|
|
95
|
+
expect(getModuleCode(clientCode, mod)).toMatchSnapshot();
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
// eslint-disable-next-line no-loop-func
|
|
99
|
+
it(`server: ${mod}`, () => {
|
|
100
|
+
expect(getModuleCode(serverCode, mod)).toMatchSnapshot();
|
|
101
|
+
});
|
|
102
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
let internalFunc: Function;
|
|
2
|
+
|
|
3
|
+
if (typeof window !== 'undefined') {
|
|
4
|
+
internalFunc = () => "Hello, I'm in browser";
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
if (typeof window === 'undefined') {
|
|
8
|
+
internalFunc = () => "I'm a big server";
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const func = () => {
|
|
12
|
+
return internalFunc();
|
|
13
|
+
};
|
|
@@ -30,7 +30,12 @@ export const webpackServerConfig = ({
|
|
|
30
30
|
(configManager.build.configurations.externals || []).map((s) => new RegExp(`^${s}`))
|
|
31
31
|
);
|
|
32
32
|
|
|
33
|
-
if (
|
|
33
|
+
if (configManager.disableProdOptimization) {
|
|
34
|
+
// with this option for id of module path to file will be used
|
|
35
|
+
config.optimization.set('moduleIds', 'named');
|
|
36
|
+
// prevent modules from concatenation in single module to easier debug
|
|
37
|
+
config.optimization.set('concatenateModules', false);
|
|
38
|
+
} else {
|
|
34
39
|
config.plugin('terser').use(TerserPlugin, [
|
|
35
40
|
{
|
|
36
41
|
extractComments: false,
|
|
@@ -8,8 +8,10 @@ export default (configManager: ConfigManager) => (config: Config) => {
|
|
|
8
8
|
const { modern, debug, disableProdOptimization } = configManager;
|
|
9
9
|
|
|
10
10
|
if (disableProdOptimization) {
|
|
11
|
-
//
|
|
11
|
+
// with this option for id of module path to file will be used
|
|
12
12
|
config.optimization.set('moduleIds', 'named');
|
|
13
|
+
// prevent modules from concatenation in single module to easier debug
|
|
14
|
+
config.optimization.set('concatenateModules', false);
|
|
13
15
|
|
|
14
16
|
config.plugin('terser').use(TerserPlugin, [
|
|
15
17
|
{
|