+312
-473
@@ -1,820 +0,659 @@ | ||
| ## [7.0.5](https://github.com/zhangyuang/ssr/compare/cli@7.0.4...cli@7.0.5) (2025-08-10) | ||
| ## [7.0.6](https://github.com/zhangyuang/ssr/compare/cli@7.0.5...cli@7.0.6) (2026-04-08) | ||
| ### Bug Fixes | ||
| * remove restore-keys in ci ([b4708d6](https://github.com/zhangyuang/ssr/commit/b4708d6b28a3a999ea45b340b92016b470a25596)) | ||
| * set vue-loader dependencies of webpack to 4.0 ([91b190c](https://github.com/zhangyuang/ssr/commit/91b190c0f28e5e4946dc81eb98316a069d550c13)) | ||
| - add default vendorlist ([ee5eb02](https://github.com/zhangyuang/ssr/commit/ee5eb02b2db8230a7c49c70557060382ba5ecf25)) | ||
| - collect modules in rspack ([e5e3d7d](https://github.com/zhangyuang/ssr/commit/e5e3d7d576269fe237165937e2354ad8f425a035)) | ||
| - collect Page chunk modules in entry file ([b5e4d12](https://github.com/zhangyuang/ssr/commit/b5e4d128b7c2d4032e26a18a9e084e07539f5d20)) | ||
| - docs dependencies split chunk bug .md ([082fd21](https://github.com/zhangyuang/ssr/commit/082fd212716b72445aaeb7c97310ad99ae75ba1c)) | ||
| - find module chunk name deep search ([7d7453b](https://github.com/zhangyuang/ssr/commit/7d7453b16d65cdd6304478ea4ec0cab274e4c461)) | ||
| - **rspack|webpack:** collect top-level chunkName correct ([1620d90](https://github.com/zhangyuang/ssr/commit/1620d90bf02a796f2567e2a7a55ddd20c70f433b)) | ||
| - set base in ssr-plugin-vue3 server-entry ([a615504](https://github.com/zhangyuang/ssr/commit/a615504cb0c94a4011e3821143a768d7dc13c442)) | ||
| - use origin proxy object in react valtio ([fb37083](https://github.com/zhangyuang/ssr/commit/fb37083fa0041142dfc69389a01eb998666c7590)) | ||
| ### Features | ||
| * update build --optimize logic ([dec88d6](https://github.com/zhangyuang/ssr/commit/dec88d6ed3b836f5c059f6596e38bd5b263dc681)) | ||
| * update rspack build --optimize to dynamicChunkName ([90958c8](https://github.com/zhangyuang/ssr/commit/90958c82f884376fcc130a0c639abfc0bf978a43)) | ||
| * update webpack build --optimize to dynamicChunkName ([55f9df1](https://github.com/zhangyuang/ssr/commit/55f9df189a6df9bdcfff621fa4dcec0057a90d5f)) | ||
| - preload fetch chunk ([cbd05b2](https://github.com/zhangyuang/ssr/commit/cbd05b231deac7b4072b071d6c6a0b25dc99ca92)) | ||
| - register postcss-loader with css file when configure postcss ([976eb91](https://github.com/zhangyuang/ssr/commit/976eb913b9ade28643e246b1276afcb87645b11a)) | ||
| - support config defaultScriptProps ([0b8de7c](https://github.com/zhangyuang/ssr/commit/0b8de7c750d2700152483794cccffc2205a47992)) | ||
| - update route parse logic, use () to mark optional params ([b9e9a90](https://github.com/zhangyuang/ssr/commit/b9e9a90752763e006024735e97de038eecf3e169)) | ||
| - update rspack split-chunk ([16e4134](https://github.com/zhangyuang/ssr/commit/16e413402a0ef5957caeff6ea9384cba2c894dd0)) | ||
| - update start tips for local area network in nestjs close [#355](https://github.com/zhangyuang/ssr/issues/355) ([f846e71](https://github.com/zhangyuang/ssr/commit/f846e7107c366e95305573e2045cc0b21201012f)) | ||
| - update vite split-chunk ([baf33d2](https://github.com/zhangyuang/ssr/commit/baf33d2a1ae9eab09d5df093bf2f749625bd3cdd)) | ||
| - update webpack split-chunk ([f9ac566](https://github.com/zhangyuang/ssr/commit/f9ac5662e138e9d8e6e537e69ccb45d736d66870)) | ||
| - upgrade rolldown-vite, set server.ws option avoid socket conflict error ([f5d9676](https://github.com/zhangyuang/ssr/commit/f5d96762485d2086070680f236bc809b819d1f74)) | ||
| - use incoming replace outcoming to find correct chunkName ([20f4769](https://github.com/zhangyuang/ssr/commit/20f4769a6f6bc47cb7ccbb8891295ec600124642)) | ||
| - use playwright replace cypress ([5fbd540](https://github.com/zhangyuang/ssr/commit/5fbd54019e7fed89a2cfa54f222f76fe21241d63)) | ||
| - **vite:** use incoming replace outcoming to find correct chunkName ([505763c](https://github.com/zhangyuang/ssr/commit/505763cf423a341795d30fc7dd0b52eadb1f3c82)) | ||
| - watch node_modules/ssr-plugin in rspack watch mode ([f8ce633](https://github.com/zhangyuang/ssr/commit/f8ce6337eb8254b867706f2c64b3bbe9e86445b1)) | ||
| ## [7.0.5](https://github.com/zhangyuang/ssr/compare/cli@7.0.4...cli@7.0.5) (2025-08-10) | ||
| ### Bug Fixes | ||
| - remove restore-keys in ci ([b4708d6](https://github.com/zhangyuang/ssr/commit/b4708d6b28a3a999ea45b340b92016b470a25596)) | ||
| - set vue-loader dependencies of webpack to 4.0 ([91b190c](https://github.com/zhangyuang/ssr/commit/91b190c0f28e5e4946dc81eb98316a069d550c13)) | ||
| ### Features | ||
| - update build --optimize logic ([dec88d6](https://github.com/zhangyuang/ssr/commit/dec88d6ed3b836f5c059f6596e38bd5b263dc681)) | ||
| - update rspack build --optimize to dynamicChunkName ([90958c8](https://github.com/zhangyuang/ssr/commit/90958c82f884376fcc130a0c639abfc0bf978a43)) | ||
| - update webpack build --optimize to dynamicChunkName ([55f9df1](https://github.com/zhangyuang/ssr/commit/55f9df189a6df9bdcfff621fa4dcec0057a90d5f)) | ||
| ## [7.0.4](https://github.com/zhangyuang/ssr/compare/cli@7.0.3...cli@7.0.4) (2025-08-07) | ||
| ### Bug Fixes | ||
| * add pinia in plugin-vue3 ([ae2bb9a](https://github.com/zhangyuang/ssr/commit/ae2bb9a074102f035f92cd8d58fb17d789735f54)) | ||
| * judge logic in postcss rspack ([cf2a774](https://github.com/zhangyuang/ssr/commit/cf2a774c2660c8b8b4a7837d63a1322295ccbf71)) | ||
| * judge react-fresh in client-config ([a2d1bee](https://github.com/zhangyuang/ssr/commit/a2d1bee55a4eda24af47505c0cb7d8e64de7d214)) | ||
| * set postcss options in rspack ([e8e4ff6](https://github.com/zhangyuang/ssr/commit/e8e4ff6a0080e80ba203f9f95f8a5b355aa01c88)) | ||
| * webpack dependencies ([2c6aef8](https://github.com/zhangyuang/ssr/commit/2c6aef8b54fee40b9aa0f1bce9f92a8f64dcc3d0)) | ||
| - add pinia in plugin-vue3 ([ae2bb9a](https://github.com/zhangyuang/ssr/commit/ae2bb9a074102f035f92cd8d58fb17d789735f54)) | ||
| - judge logic in postcss rspack ([cf2a774](https://github.com/zhangyuang/ssr/commit/cf2a774c2660c8b8b4a7837d63a1322295ccbf71)) | ||
| - judge react-fresh in client-config ([a2d1bee](https://github.com/zhangyuang/ssr/commit/a2d1bee55a4eda24af47505c0cb7d8e64de7d214)) | ||
| - set postcss options in rspack ([e8e4ff6](https://github.com/zhangyuang/ssr/commit/e8e4ff6a0080e80ba203f9f95f8a5b355aa01c88)) | ||
| - webpack dependencies ([2c6aef8](https://github.com/zhangyuang/ssr/commit/2c6aef8b54fee40b9aa0f1bce9f92a8f64dcc3d0)) | ||
| ### Features | ||
| * add chain in tools ([350b294](https://github.com/zhangyuang/ssr/commit/350b2944a14276fcae3e82331ca59cf04276c538)) | ||
| * add postcss-loader to default dependencies in rspack deploy.md ([47f2d09](https://github.com/zhangyuang/ssr/commit/47f2d09a6719245cf0b25481940521cce85901ba)) | ||
| * alias add pinia judge ([9d41ec9](https://github.com/zhangyuang/ssr/commit/9d41ec9b61c8428ac53f6c30b9b543eaaa4b4a40)) | ||
| * handle postcss in rspack ([62618e9](https://github.com/zhangyuang/ssr/commit/62618e966062cfdc88111abbd97c9edf316fd2a1)) | ||
| * remobe css-loader postcss-loader in rspack ([54038c2](https://github.com/zhangyuang/ssr/commit/54038c22c0db7b525680faf4b2ba6ee75c99db4c)) | ||
| * set optimizeDeps in vite common -n ([9de421a](https://github.com/zhangyuang/ssr/commit/9de421a696b156ce36076db47ce72b04e54237dd)) | ||
| * support generic in UserConfig for chain ([0deeaa2](https://github.com/zhangyuang/ssr/commit/0deeaa27b0477db1b42f2112c9298856aa1381d8)) | ||
| * update docs to v7 use rspack, add types:node in tsconfig ([d359a55](https://github.com/zhangyuang/ssr/commit/d359a55f2b5e1d8d76520f723db0fad20f8d7c55)) | ||
| - add chain in tools ([350b294](https://github.com/zhangyuang/ssr/commit/350b2944a14276fcae3e82331ca59cf04276c538)) | ||
| - add postcss-loader to default dependencies in rspack deploy.md ([47f2d09](https://github.com/zhangyuang/ssr/commit/47f2d09a6719245cf0b25481940521cce85901ba)) | ||
| - alias add pinia judge ([9d41ec9](https://github.com/zhangyuang/ssr/commit/9d41ec9b61c8428ac53f6c30b9b543eaaa4b4a40)) | ||
| - handle postcss in rspack ([62618e9](https://github.com/zhangyuang/ssr/commit/62618e966062cfdc88111abbd97c9edf316fd2a1)) | ||
| - remobe css-loader postcss-loader in rspack ([54038c2](https://github.com/zhangyuang/ssr/commit/54038c22c0db7b525680faf4b2ba6ee75c99db4c)) | ||
| - set optimizeDeps in vite common -n ([9de421a](https://github.com/zhangyuang/ssr/commit/9de421a696b156ce36076db47ce72b04e54237dd)) | ||
| - support generic in UserConfig for chain ([0deeaa2](https://github.com/zhangyuang/ssr/commit/0deeaa27b0477db1b42f2112c9298856aa1381d8)) | ||
| - update docs to v7 use rspack, add types:node in tsconfig ([d359a55](https://github.com/zhangyuang/ssr/commit/d359a55f2b5e1d8d76520f723db0fad20f8d7c55)) | ||
| ## [7.0.3](https://github.com/zhangyuang/ssr/compare/cli@7.0.2...cli@7.0.3) (2025-08-04) | ||
| ### Bug Fixes | ||
| * release bug ([a2169d2](https://github.com/zhangyuang/ssr/commit/a2169d2964fe6dbb86cda608646a4cc0238486bf)) | ||
| - release bug ([a2169d2](https://github.com/zhangyuang/ssr/commit/a2169d2964fe6dbb86cda608646a4cc0238486bf)) | ||
| ## [7.0.2](https://github.com/zhangyuang/ssr/compare/cli@7.0.1...cli@7.0.2) (2025-08-04) | ||
| ## [7.0.1](https://github.com/zhangyuang/ssr/compare/cli@6.2.81...cli@7.0.1) (2025-08-04) | ||
| ### Bug Fixes | ||
| * compile error ([6be2a8f](https://github.com/zhangyuang/ssr/commit/6be2a8ffb65edd91ad8bc9b0ef66a338a8de4218)) | ||
| * set currentRouter path when use memoryHistory in client ([df7b040](https://github.com/zhangyuang/ssr/commit/df7b040035e39400e3c6ed8256ab0fb0e08f3c61)) | ||
| * use req.url instead of req.path ([b3e9729](https://github.com/zhangyuang/ssr/commit/b3e972964de7191f2cfb6aa3852a7de8c2fe2b99)) | ||
| - compile error ([6be2a8f](https://github.com/zhangyuang/ssr/commit/6be2a8ffb65edd91ad8bc9b0ef66a338a8de4218)) | ||
| - set currentRouter path when use memoryHistory in client ([df7b040](https://github.com/zhangyuang/ssr/commit/df7b040035e39400e3c6ed8256ab0fb0e08f3c61)) | ||
| - use req.url instead of req.path ([b3e9729](https://github.com/zhangyuang/ssr/commit/b3e972964de7191f2cfb6aa3852a7de8c2fe2b99)) | ||
| ### Features | ||
| * add biome.json in example ([b474e2b](https://github.com/zhangyuang/ssr/commit/b474e2bce5e31595fd0297786a76c94f0efd8dd6)) | ||
| * add plugin-react-oxc ([80ae3bc](https://github.com/zhangyuang/ssr/commit/80ae3bc4c6d39075bb8554822350d5e45f4a8b65)) | ||
| * add rspack ([f3e4216](https://github.com/zhangyuang/ssr/commit/f3e42167db9ab0b1152ca978f5d7391d6de6c0cf)) | ||
| * add rspack skip ci ([62d49ca](https://github.com/zhangyuang/ssr/commit/62d49caa0694899930747c60ad1f8cc168f2efba)) | ||
| * add vite rolldown ([2f348cf](https://github.com/zhangyuang/ssr/commit/2f348cf0ee9ab923b476e284d77c804d4341f9c5)) | ||
| * add wrap-micro-scope-plugin ([39da637](https://github.com/zhangyuang/ssr/commit/39da63718930490db4f99845d8df20b5636f2c39)) | ||
| * adjust history order ([67ea802](https://github.com/zhangyuang/ssr/commit/67ea80211140cb4aa018d04789c0cc006e39e438)) | ||
| * set asset emit to false in rspack server side ([112bc07](https://github.com/zhangyuang/ssr/commit/112bc07775f60c6c82a5c121e7e1efbe592e5712)) | ||
| * set request router info in csr mode for vue3 ([fa7a59d](https://github.com/zhangyuang/ssr/commit/fa7a59dd36ebb69af988832ac373409201f89659)) | ||
| * set vue router url with all render modes ([b58f828](https://github.com/zhangyuang/ssr/commit/b58f8281b684f042e0434f87a5d9ce96addfc04a)) | ||
| * support clientHistoryRouterMode ([5ce75ac](https://github.com/zhangyuang/ssr/commit/5ce75ac352ede9c9af5461c92491f738af892eda)) | ||
| * support window.ssrRequestPath inject for memoryHistory in vue3 ([ca99c5d](https://github.com/zhangyuang/ssr/commit/ca99c5dd5fed3c1bcd2c440991f7b08bc6f961b3)) | ||
| * update default source-map type ([4f0543d](https://github.com/zhangyuang/ssr/commit/4f0543df75611bf5e641943f46e639c4630954a3)) | ||
| * upgrade typescript to v5 ([12f3bed](https://github.com/zhangyuang/ssr/commit/12f3bed51cf94274eb050efae9a1994d71a9b095)) | ||
| * use biome replace eslint ([8740d4d](https://github.com/zhangyuang/ssr/commit/8740d4dbc66e7f034857f229a04be91ee2aff609)) | ||
| * use micro plugin in dev ([671ba69](https://github.com/zhangyuang/ssr/commit/671ba695747a00297d640869dcf9d3437944dd58)) | ||
| - add biome.json in example ([b474e2b](https://github.com/zhangyuang/ssr/commit/b474e2bce5e31595fd0297786a76c94f0efd8dd6)) | ||
| - add plugin-react-oxc ([80ae3bc](https://github.com/zhangyuang/ssr/commit/80ae3bc4c6d39075bb8554822350d5e45f4a8b65)) | ||
| - add rspack ([f3e4216](https://github.com/zhangyuang/ssr/commit/f3e42167db9ab0b1152ca978f5d7391d6de6c0cf)) | ||
| - add rspack skip ci ([62d49ca](https://github.com/zhangyuang/ssr/commit/62d49caa0694899930747c60ad1f8cc168f2efba)) | ||
| - add vite rolldown ([2f348cf](https://github.com/zhangyuang/ssr/commit/2f348cf0ee9ab923b476e284d77c804d4341f9c5)) | ||
| - add wrap-micro-scope-plugin ([39da637](https://github.com/zhangyuang/ssr/commit/39da63718930490db4f99845d8df20b5636f2c39)) | ||
| - adjust history order ([67ea802](https://github.com/zhangyuang/ssr/commit/67ea80211140cb4aa018d04789c0cc006e39e438)) | ||
| - set asset emit to false in rspack server side ([112bc07](https://github.com/zhangyuang/ssr/commit/112bc07775f60c6c82a5c121e7e1efbe592e5712)) | ||
| - set request router info in csr mode for vue3 ([fa7a59d](https://github.com/zhangyuang/ssr/commit/fa7a59dd36ebb69af988832ac373409201f89659)) | ||
| - set vue router url with all render modes ([b58f828](https://github.com/zhangyuang/ssr/commit/b58f8281b684f042e0434f87a5d9ce96addfc04a)) | ||
| - support clientHistoryRouterMode ([5ce75ac](https://github.com/zhangyuang/ssr/commit/5ce75ac352ede9c9af5461c92491f738af892eda)) | ||
| - support window.ssrRequestPath inject for memoryHistory in vue3 ([ca99c5d](https://github.com/zhangyuang/ssr/commit/ca99c5dd5fed3c1bcd2c440991f7b08bc6f961b3)) | ||
| - update default source-map type ([4f0543d](https://github.com/zhangyuang/ssr/commit/4f0543df75611bf5e641943f46e639c4630954a3)) | ||
| - upgrade typescript to v5 ([12f3bed](https://github.com/zhangyuang/ssr/commit/12f3bed51cf94274eb050efae9a1994d71a9b095)) | ||
| - use biome replace eslint ([8740d4d](https://github.com/zhangyuang/ssr/commit/8740d4dbc66e7f034857f229a04be91ee2aff609)) | ||
| - use micro plugin in dev ([671ba69](https://github.com/zhangyuang/ssr/commit/671ba695747a00297d640869dcf9d3437944dd58)) | ||
| ## [7.0.1-beta.1](https://github.com/zhangyuang/ssr/compare/cli@7.0.1-beta.1...cli@7.0.1-beta.1) (2025-07-26) | ||
| ## [7.0.1-beta.0](https://github.com/zhangyuang/ssr/compare/cli@6.2.81...cli@7.0.1-beta.0) (2025-07-26) | ||
| ### Bug Fixes | ||
| * compile error ([6be2a8f](https://github.com/zhangyuang/ssr/commit/6be2a8ffb65edd91ad8bc9b0ef66a338a8de4218)) | ||
| * dependencies manage skip ci ([dae88a8](https://github.com/zhangyuang/ssr/commit/dae88a875967a73586e1745ba1e605702eadd0d3)) | ||
| * set currentRouter path when use memoryHistory in client ([df7b040](https://github.com/zhangyuang/ssr/commit/df7b040035e39400e3c6ed8256ab0fb0e08f3c61)) | ||
| * webpack type skip ci ([30f00f9](https://github.com/zhangyuang/ssr/commit/30f00f908d8d30039de8fc45d1a638b470763ffd)) | ||
| - compile error ([6be2a8f](https://github.com/zhangyuang/ssr/commit/6be2a8ffb65edd91ad8bc9b0ef66a338a8de4218)) | ||
| - dependencies manage skip ci ([dae88a8](https://github.com/zhangyuang/ssr/commit/dae88a875967a73586e1745ba1e605702eadd0d3)) | ||
| - set currentRouter path when use memoryHistory in client ([df7b040](https://github.com/zhangyuang/ssr/commit/df7b040035e39400e3c6ed8256ab0fb0e08f3c61)) | ||
| - webpack type skip ci ([30f00f9](https://github.com/zhangyuang/ssr/commit/30f00f908d8d30039de8fc45d1a638b470763ffd)) | ||
| ### Features | ||
| * add biome.json in example ([b474e2b](https://github.com/zhangyuang/ssr/commit/b474e2bce5e31595fd0297786a76c94f0efd8dd6)) | ||
| * add link-workspace-packages ([de2ba17](https://github.com/zhangyuang/ssr/commit/de2ba171579cfaa1f8c73c35c7de84d51abd4a84)) | ||
| * add wrap-micro-scope-plugin ([39da637](https://github.com/zhangyuang/ssr/commit/39da63718930490db4f99845d8df20b5636f2c39)) | ||
| * adjust history order ([67ea802](https://github.com/zhangyuang/ssr/commit/67ea80211140cb4aa018d04789c0cc006e39e438)) | ||
| * change dependencies in pkg to workspace ([f5320eb](https://github.com/zhangyuang/ssr/commit/f5320eb06f73f0410b27248dcb622ce793de740c)) | ||
| * change version to 7.0.0 set dependencies to workspace skip ci ([152af0b](https://github.com/zhangyuang/ssr/commit/152af0b9f87db08769a1ec62a59cce4eb6276779)) | ||
| * remove plugin-react18 hoc-react18 update plugin-react skip ci ([f6968f7](https://github.com/zhangyuang/ssr/commit/f6968f78c4aa4b350a4bc272089c53bbb4aabe1e)) | ||
| * set request router info in csr mode for vue3 ([fa7a59d](https://github.com/zhangyuang/ssr/commit/fa7a59dd36ebb69af988832ac373409201f89659)) | ||
| * set vue router url with all render modes ([b58f828](https://github.com/zhangyuang/ssr/commit/b58f8281b684f042e0434f87a5d9ce96addfc04a)) | ||
| * split client-entry to 17 and 18 ([3f0d6df](https://github.com/zhangyuang/ssr/commit/3f0d6dfba7fbd36a9969bfba37e8f086e4d72917)) | ||
| * support clientHistoryRouterMode ([5ce75ac](https://github.com/zhangyuang/ssr/commit/5ce75ac352ede9c9af5461c92491f738af892eda)) | ||
| * support window.ssrRequestPath inject for memoryHistory in vue3 ([ca99c5d](https://github.com/zhangyuang/ssr/commit/ca99c5dd5fed3c1bcd2c440991f7b08bc6f961b3)) | ||
| * update default source-map type ([4f0543d](https://github.com/zhangyuang/ssr/commit/4f0543df75611bf5e641943f46e639c4630954a3)) | ||
| * update plugin-react skip ci ([205baed](https://github.com/zhangyuang/ssr/commit/205baed3093185e2cc928392a378a221f01912f9)) | ||
| * update plugin-react skip ci ([a481d83](https://github.com/zhangyuang/ssr/commit/a481d83dd43498265eb3d1b7814902ce59bceac0)) | ||
| * update plugin-vue skip ci ([17824e0](https://github.com/zhangyuang/ssr/commit/17824e0008e2737fe381d46b030543f4aec185ad)) | ||
| * update ssr-vite skip ci ([4b1e435](https://github.com/zhangyuang/ssr/commit/4b1e435c92c68099902cb06ea5673e46912d48a0)) | ||
| * update vite logic skip ci ([33944e6](https://github.com/zhangyuang/ssr/commit/33944e64c70200dcaf77ce67012ff8b086e78318)) | ||
| * update vite logic skip ci ([9425ef9](https://github.com/zhangyuang/ssr/commit/9425ef989afaabb995c8daf4a95b4c6ff8fa5138)) | ||
| * upgrade typescript to v5 ([12f3bed](https://github.com/zhangyuang/ssr/commit/12f3bed51cf94274eb050efae9a1994d71a9b095)) | ||
| * use biome replace eslint ([8740d4d](https://github.com/zhangyuang/ssr/commit/8740d4dbc66e7f034857f229a04be91ee2aff609)) | ||
| * use micro plugin in dev ([671ba69](https://github.com/zhangyuang/ssr/commit/671ba695747a00297d640869dcf9d3437944dd58)) | ||
| * use pnpm10 skip ci ([0975924](https://github.com/zhangyuang/ssr/commit/0975924a662f72cc8590bbe723851471c2e91253)) | ||
| - add biome.json in example ([b474e2b](https://github.com/zhangyuang/ssr/commit/b474e2bce5e31595fd0297786a76c94f0efd8dd6)) | ||
| - add link-workspace-packages ([de2ba17](https://github.com/zhangyuang/ssr/commit/de2ba171579cfaa1f8c73c35c7de84d51abd4a84)) | ||
| - add wrap-micro-scope-plugin ([39da637](https://github.com/zhangyuang/ssr/commit/39da63718930490db4f99845d8df20b5636f2c39)) | ||
| - adjust history order ([67ea802](https://github.com/zhangyuang/ssr/commit/67ea80211140cb4aa018d04789c0cc006e39e438)) | ||
| - change dependencies in pkg to workspace ([f5320eb](https://github.com/zhangyuang/ssr/commit/f5320eb06f73f0410b27248dcb622ce793de740c)) | ||
| - change version to 7.0.0 set dependencies to workspace skip ci ([152af0b](https://github.com/zhangyuang/ssr/commit/152af0b9f87db08769a1ec62a59cce4eb6276779)) | ||
| - remove plugin-react18 hoc-react18 update plugin-react skip ci ([f6968f7](https://github.com/zhangyuang/ssr/commit/f6968f78c4aa4b350a4bc272089c53bbb4aabe1e)) | ||
| - set request router info in csr mode for vue3 ([fa7a59d](https://github.com/zhangyuang/ssr/commit/fa7a59dd36ebb69af988832ac373409201f89659)) | ||
| - set vue router url with all render modes ([b58f828](https://github.com/zhangyuang/ssr/commit/b58f8281b684f042e0434f87a5d9ce96addfc04a)) | ||
| - split client-entry to 17 and 18 ([3f0d6df](https://github.com/zhangyuang/ssr/commit/3f0d6dfba7fbd36a9969bfba37e8f086e4d72917)) | ||
| - support clientHistoryRouterMode ([5ce75ac](https://github.com/zhangyuang/ssr/commit/5ce75ac352ede9c9af5461c92491f738af892eda)) | ||
| - support window.ssrRequestPath inject for memoryHistory in vue3 ([ca99c5d](https://github.com/zhangyuang/ssr/commit/ca99c5dd5fed3c1bcd2c440991f7b08bc6f961b3)) | ||
| - update default source-map type ([4f0543d](https://github.com/zhangyuang/ssr/commit/4f0543df75611bf5e641943f46e639c4630954a3)) | ||
| - update plugin-react skip ci ([205baed](https://github.com/zhangyuang/ssr/commit/205baed3093185e2cc928392a378a221f01912f9)) | ||
| - update plugin-react skip ci ([a481d83](https://github.com/zhangyuang/ssr/commit/a481d83dd43498265eb3d1b7814902ce59bceac0)) | ||
| - update plugin-vue skip ci ([17824e0](https://github.com/zhangyuang/ssr/commit/17824e0008e2737fe381d46b030543f4aec185ad)) | ||
| - update ssr-vite skip ci ([4b1e435](https://github.com/zhangyuang/ssr/commit/4b1e435c92c68099902cb06ea5673e46912d48a0)) | ||
| - update vite logic skip ci ([33944e6](https://github.com/zhangyuang/ssr/commit/33944e64c70200dcaf77ce67012ff8b086e78318)) | ||
| - update vite logic skip ci ([9425ef9](https://github.com/zhangyuang/ssr/commit/9425ef989afaabb995c8daf4a95b4c6ff8fa5138)) | ||
| - upgrade typescript to v5 ([12f3bed](https://github.com/zhangyuang/ssr/commit/12f3bed51cf94274eb050efae9a1994d71a9b095)) | ||
| - use biome replace eslint ([8740d4d](https://github.com/zhangyuang/ssr/commit/8740d4dbc66e7f034857f229a04be91ee2aff609)) | ||
| - use micro plugin in dev ([671ba69](https://github.com/zhangyuang/ssr/commit/671ba695747a00297d640869dcf9d3437944dd58)) | ||
| - use pnpm10 skip ci ([0975924](https://github.com/zhangyuang/ssr/commit/0975924a662f72cc8590bbe723851471c2e91253)) | ||
| ## [6.2.82](https://github.com/zhangyuang/ssr/compare/cli@6.2.81...cli@6.2.82) (2024-10-23) | ||
| ### Features | ||
| * add biome.json in example ([b474e2b](https://github.com/zhangyuang/ssr/commit/b474e2bce5e31595fd0297786a76c94f0efd8dd6)) | ||
| * add wrap-micro-scope-plugin ([39da637](https://github.com/zhangyuang/ssr/commit/39da63718930490db4f99845d8df20b5636f2c39)) | ||
| * update default source-map type ([4f0543d](https://github.com/zhangyuang/ssr/commit/4f0543df75611bf5e641943f46e639c4630954a3)) | ||
| * upgrade typescript to v5 ([12f3bed](https://github.com/zhangyuang/ssr/commit/12f3bed51cf94274eb050efae9a1994d71a9b095)) | ||
| * use biome replace eslint ([8740d4d](https://github.com/zhangyuang/ssr/commit/8740d4dbc66e7f034857f229a04be91ee2aff609)) | ||
| - add biome.json in example ([b474e2b](https://github.com/zhangyuang/ssr/commit/b474e2bce5e31595fd0297786a76c94f0efd8dd6)) | ||
| - add wrap-micro-scope-plugin ([39da637](https://github.com/zhangyuang/ssr/commit/39da63718930490db4f99845d8df20b5636f2c39)) | ||
| - update default source-map type ([4f0543d](https://github.com/zhangyuang/ssr/commit/4f0543df75611bf5e641943f46e639c4630954a3)) | ||
| - upgrade typescript to v5 ([12f3bed](https://github.com/zhangyuang/ssr/commit/12f3bed51cf94274eb050efae9a1994d71a9b095)) | ||
| - use biome replace eslint ([8740d4d](https://github.com/zhangyuang/ssr/commit/8740d4dbc66e7f034857f229a04be91ee2aff609)) | ||
| ## [6.2.81](https://github.com/zhangyuang/ssr/compare/cli@6.2.80...cli@6.2.81) (2024-09-26) | ||
| ### Bug Fixes | ||
| * analyze ([2b3879c](https://github.com/zhangyuang/ssr/commit/2b3879cf10009ed7128f7da101518e2bc93abc8a)) | ||
| - analyze ([2b3879c](https://github.com/zhangyuang/ssr/commit/2b3879cf10009ed7128f7da101518e2bc93abc8a)) | ||
| ### Features | ||
| * add esbuild external-modules plugin ([ed206cb](https://github.com/zhangyuang/ssr/commit/ed206cbc4d63ca3029e30b347eb64b6f8d659528)) | ||
| * support handle external in client ([a666e76](https://github.com/zhangyuang/ssr/commit/a666e76a504468130e59a804a95269490106e5da)) | ||
| * support handle external in server ([a804514](https://github.com/zhangyuang/ssr/commit/a804514371a4ea8a7705fb2785d3ae6d96ac2da2)) | ||
| - add esbuild external-modules plugin ([ed206cb](https://github.com/zhangyuang/ssr/commit/ed206cbc4d63ca3029e30b347eb64b6f8d659528)) | ||
| - support handle external in client ([a666e76](https://github.com/zhangyuang/ssr/commit/a666e76a504468130e59a804a95269490106e5da)) | ||
| - support handle external in server ([a804514](https://github.com/zhangyuang/ssr/commit/a804514371a4ea8a7705fb2785d3ae6d96ac2da2)) | ||
| ## [6.2.80](https://github.com/zhangyuang/ssr/compare/cli@6.2.79...cli@6.2.80) (2024-09-20) | ||
| ### Features | ||
| * add BatchReplacePlugin for microApp ([c816720](https://github.com/zhangyuang/ssr/commit/c8167206e265802b3c9d7d4fb0f8cdf3cf485f06)) | ||
| * support client and server sourcemap type ([d329fc0](https://github.com/zhangyuang/ssr/commit/d329fc04bd59a652073bc92bc68e65f2fae4ed3b)) | ||
| * update bannerPlugin insert logic ([d875e6b](https://github.com/zhangyuang/ssr/commit/d875e6bbfda40bf68be1033ff9e76e3e2f0e6a99)) | ||
| * update terser config when use microapp ([5ff8d6a](https://github.com/zhangyuang/ssr/commit/5ff8d6a536b9ddd84ec81edb0856f3bfebdc831c)) | ||
| - add BatchReplacePlugin for microApp ([c816720](https://github.com/zhangyuang/ssr/commit/c8167206e265802b3c9d7d4fb0f8cdf3cf485f06)) | ||
| - support client and server sourcemap type ([d329fc0](https://github.com/zhangyuang/ssr/commit/d329fc04bd59a652073bc92bc68e65f2fae4ed3b)) | ||
| - update bannerPlugin insert logic ([d875e6b](https://github.com/zhangyuang/ssr/commit/d875e6bbfda40bf68be1033ff9e76e3e2f0e6a99)) | ||
| - update terser config when use microapp ([5ff8d6a](https://github.com/zhangyuang/ssr/commit/5ff8d6a536b9ddd84ec81edb0856f3bfebdc831c)) | ||
| ## [6.2.79](https://github.com/zhangyuang/ssr/compare/cli@6.2.78...cli@6.2.79) (2024-09-09) | ||
| ### Bug Fixes | ||
| * add fePort https info in ssrDevInfo ([26c9287](https://github.com/zhangyuang/ssr/commit/26c92877c8aa1498a9c85a156c1f218a291dcc8b)) | ||
| * webpack plugin call error ([ffc1729](https://github.com/zhangyuang/ssr/commit/ffc17292934aa7c89420daa07b809c7dbe3dbaa3)) | ||
| - add fePort https info in ssrDevInfo ([26c9287](https://github.com/zhangyuang/ssr/commit/26c92877c8aa1498a9c85a156c1f218a291dcc8b)) | ||
| - webpack plugin call error ([ffc1729](https://github.com/zhangyuang/ssr/commit/ffc17292934aa7c89420daa07b809c7dbe3dbaa3)) | ||
| ### Features | ||
| * add 'vite/preload-helper' in Page chunk ([b30d333](https://github.com/zhangyuang/ssr/commit/b30d33321f57b35dd74d4348364eb77981ec93a4)) | ||
| * add FileToChunkRelationPlugin ([f2b956e](https://github.com/zhangyuang/ssr/commit/f2b956ed68bdd33f8da3686b74ffab3aa944be00)) | ||
| * add rollup-plugin-visualizer in plugin-vue3|react|react18 ([d00db49](https://github.com/zhangyuang/ssr/commit/d00db4988cca864998b334b7ef0010b6721460db)) | ||
| * implement requireWithPreserveLinks replace sync nodee ([cf19c86](https://github.com/zhangyuang/ssr/commit/cf19c861f1372c00b7ac14ad7bc9bda025831d08)) | ||
| * parse fetch file suppory dynamic option ([fb308ac](https://github.com/zhangyuang/ssr/commit/fb308acacfac116e11ca77e1c9e71e068ea0370e)) | ||
| * remove preload tag in microApp ([2532f01](https://github.com/zhangyuang/ssr/commit/2532f014e54aaf5f8733f279f1cd15aec240ede8)) | ||
| * remove sourceMapPlugin, set GENERATE_SOURCEMAP in preprocess ([19b4f8a](https://github.com/zhangyuang/ssr/commit/19b4f8a7fff0372f19dba568072b16980713e0ff)) | ||
| * support jsInline ([9423667](https://github.com/zhangyuang/ssr/commit/94236670134dab81921ce0c3059e804dbc432f52)) | ||
| * update FileToChunkRelationPlugin call condition ([b3989ab](https://github.com/zhangyuang/ssr/commit/b3989aba1fbc393f25a08bd0f0999a37b08599a4)) | ||
| * update ssr-mini-css-extract-plugin ([f56825a](https://github.com/zhangyuang/ssr/commit/f56825a063e4199982faf1fbbd70fd5f6351e3dd)) | ||
| * use loadModuleFromFramework load webpack in utils ([c9973b4](https://github.com/zhangyuang/ssr/commit/c9973b4528049b91a2bd8d454f504fdcc5ea6a9d)) | ||
| * use SourceMapDevToolPlugin and BannerPlugin to generate inline-source-map comment for micro-app ([0a2821d](https://github.com/zhangyuang/ssr/commit/0a2821d1f61637772460facdb0852283f48a96cf)) | ||
| - add 'vite/preload-helper' in Page chunk ([b30d333](https://github.com/zhangyuang/ssr/commit/b30d33321f57b35dd74d4348364eb77981ec93a4)) | ||
| - add FileToChunkRelationPlugin ([f2b956e](https://github.com/zhangyuang/ssr/commit/f2b956ed68bdd33f8da3686b74ffab3aa944be00)) | ||
| - add rollup-plugin-visualizer in plugin-vue3|react|react18 ([d00db49](https://github.com/zhangyuang/ssr/commit/d00db4988cca864998b334b7ef0010b6721460db)) | ||
| - implement requireWithPreserveLinks replace sync nodee ([cf19c86](https://github.com/zhangyuang/ssr/commit/cf19c861f1372c00b7ac14ad7bc9bda025831d08)) | ||
| - parse fetch file suppory dynamic option ([fb308ac](https://github.com/zhangyuang/ssr/commit/fb308acacfac116e11ca77e1c9e71e068ea0370e)) | ||
| - remove preload tag in microApp ([2532f01](https://github.com/zhangyuang/ssr/commit/2532f014e54aaf5f8733f279f1cd15aec240ede8)) | ||
| - remove sourceMapPlugin, set GENERATE_SOURCEMAP in preprocess ([19b4f8a](https://github.com/zhangyuang/ssr/commit/19b4f8a7fff0372f19dba568072b16980713e0ff)) | ||
| - support jsInline ([9423667](https://github.com/zhangyuang/ssr/commit/94236670134dab81921ce0c3059e804dbc432f52)) | ||
| - update FileToChunkRelationPlugin call condition ([b3989ab](https://github.com/zhangyuang/ssr/commit/b3989aba1fbc393f25a08bd0f0999a37b08599a4)) | ||
| - update ssr-mini-css-extract-plugin ([f56825a](https://github.com/zhangyuang/ssr/commit/f56825a063e4199982faf1fbbd70fd5f6351e3dd)) | ||
| - use loadModuleFromFramework load webpack in utils ([c9973b4](https://github.com/zhangyuang/ssr/commit/c9973b4528049b91a2bd8d454f504fdcc5ea6a9d)) | ||
| - use SourceMapDevToolPlugin and BannerPlugin to generate inline-source-map comment for micro-app ([0a2821d](https://github.com/zhangyuang/ssr/commit/0a2821d1f61637772460facdb0852283f48a96cf)) | ||
| ## [6.2.78](https://github.com/zhangyuang/ssr/compare/cli@6.2.76...cli@6.2.78) (2024-07-26) | ||
| ### Features | ||
| * remove bundleConfigPlatform add common-utils to esbuild external ([9322a89](https://github.com/zhangyuang/ssr/commit/9322a8998f339ae9cf1c2107f71dfc91ff75dd0f)) | ||
| - remove bundleConfigPlatform add common-utils to esbuild external ([9322a89](https://github.com/zhangyuang/ssr/commit/9322a8998f339ae9cf1c2107f71dfc91ff75dd0f)) | ||
| ## [6.2.77](https://github.com/zhangyuang/ssr/compare/cli@6.2.76...cli@6.2.77) (2024-07-26) | ||
| ### Features | ||
| * remove bundleConfigPlatform add common-utils to esbuild external ([2705729](https://github.com/zhangyuang/ssr/commit/27057290556a8fd952455a2ceee62b66ffd2d5e9)) | ||
| - remove bundleConfigPlatform add common-utils to esbuild external ([2705729](https://github.com/zhangyuang/ssr/commit/27057290556a8fd952455a2ceee62b66ffd2d5e9)) | ||
| ## [6.2.76](https://github.com/zhangyuang/ssr/compare/cli@6.2.75...cli@6.2.76) (2024-07-16) | ||
| ### Bug Fixes | ||
| * judge cssInline path ([e214799](https://github.com/zhangyuang/ssr/commit/e21479957e445964f6c2ae8a705348426e0ef3fe)) | ||
| - judge cssInline path ([e214799](https://github.com/zhangyuang/ssr/commit/e21479957e445964f6c2ae8a705348426e0ef3fe)) | ||
| ### Features | ||
| * reduce generate html css insert ([9315095](https://github.com/zhangyuang/ssr/commit/931509564da42ccdb4ed0afa2ee028ccf859d88f)) | ||
| - reduce generate html css insert ([9315095](https://github.com/zhangyuang/ssr/commit/931509564da42ccdb4ed0afa2ee028ccf859d88f)) | ||
| ## [6.2.75](https://github.com/zhangyuang/ssr/compare/cli@6.2.74...cli@6.2.75) (2024-07-08) | ||
| ### Features | ||
| * add --analyze tips when ssr start ([dcfe3fe](https://github.com/zhangyuang/ssr/commit/dcfe3fea991250027656f9ff660ce96e736dd56d)) | ||
| - add --analyze tips when ssr start ([dcfe3fe](https://github.com/zhangyuang/ssr/commit/dcfe3fea991250027656f9ff660ce96e736dd56d)) | ||
| ## [6.2.74](https://github.com/zhangyuang/ssr/compare/cli@6.2.73...cli@6.2.74) (2024-07-05) | ||
| ### Bug Fixes | ||
| * GENERATE_SOURCEMAP ([9feb3d0](https://github.com/zhangyuang/ssr/commit/9feb3d0bf95f4627f03cb6c70309f471c1f6c750)) | ||
| - GENERATE_SOURCEMAP ([9feb3d0](https://github.com/zhangyuang/ssr/commit/9feb3d0bf95f4627f03cb6c70309f471c1f6c750)) | ||
| ### Features | ||
| * set inline-source-map when bundle server file ([2400d87](https://github.com/zhangyuang/ssr/commit/2400d879e72171e3756c64de25c817669724333c)) | ||
| * suuport viteMode close [#332](https://github.com/zhangyuang/ssr/issues/332) ([1bdfff9](https://github.com/zhangyuang/ssr/commit/1bdfff9dec5b2ce1b019be6acc8d612ffbde8c1d)) | ||
| - set inline-source-map when bundle server file ([2400d87](https://github.com/zhangyuang/ssr/commit/2400d879e72171e3756c64de25c817669724333c)) | ||
| - suuport viteMode close [#332](https://github.com/zhangyuang/ssr/issues/332) ([1bdfff9](https://github.com/zhangyuang/ssr/commit/1bdfff9dec5b2ce1b019be6acc8d612ffbde8c1d)) | ||
| ## [6.2.73](https://github.com/zhangyuang/ssr/compare/cli@6.2.72...cli@6.2.73) (2024-07-04) | ||
| ### Bug Fixes | ||
| * set bc env ([bf2dbb5](https://github.com/zhangyuang/ssr/commit/bf2dbb50a4b72f56a85c80679eb06e024cb117d2)) | ||
| - set bc env ([bf2dbb5](https://github.com/zhangyuang/ssr/commit/bf2dbb50a4b72f56a85c80679eb06e024cb117d2)) | ||
| ## [6.2.72](https://github.com/zhangyuang/ssr/compare/cli@6.2.71...cli@6.2.72) (2024-07-03) | ||
| ### Features | ||
| * add nameSpaceBuiltinModules judge in external ([47e92be](https://github.com/zhangyuang/ssr/commit/47e92bede76904ed69b2febdd047bd26c06be6a6)) | ||
| * add vue-demi in default Page ([2f1bb86](https://github.com/zhangyuang/ssr/commit/2f1bb86ed54b2265521068ffb5a39f6bd92e26da)) | ||
| * babel-plugin-import unsupport vant@v4 ([#325](https://github.com/zhangyuang/ssr/issues/325)) ([68532aa](https://github.com/zhangyuang/ssr/commit/68532aa59a8f0a968c8a92601a069581965cbff9)) | ||
| * compatible with bun ([0eeaba7](https://github.com/zhangyuang/ssr/commit/0eeaba777a306443d954dabfc6643ce7bdadc208)) | ||
| * support build --nominify in vite ([1dac6eb](https://github.com/zhangyuang/ssr/commit/1dac6eb015b86c1fe4d23242885e939eac051199)) | ||
| * support build @vue/server-renderer in server bundle ([df675a9](https://github.com/zhangyuang/ssr/commit/df675a94f642881026899b9ef5c48872f73d07ce)) | ||
| * support config.asyncGlobalData ([b571399](https://github.com/zhangyuang/ssr/commit/b571399887d95d3f1e9de1cb6cf8718c8b6a71f8)) | ||
| * support set streamHighWaterMark in react ([62421e2](https://github.com/zhangyuang/ssr/commit/62421e23af7d5d9528f3085b6890e850b7d9ff7a)) | ||
| * support ssr build --bundleConfigPlatform ([44f54cd](https://github.com/zhangyuang/ssr/commit/44f54cdc54aadb0a8b1072d280d0efaa61679a32)) | ||
| - add nameSpaceBuiltinModules judge in external ([47e92be](https://github.com/zhangyuang/ssr/commit/47e92bede76904ed69b2febdd047bd26c06be6a6)) | ||
| - add vue-demi in default Page ([2f1bb86](https://github.com/zhangyuang/ssr/commit/2f1bb86ed54b2265521068ffb5a39f6bd92e26da)) | ||
| - babel-plugin-import unsupport vant@v4 ([#325](https://github.com/zhangyuang/ssr/issues/325)) ([68532aa](https://github.com/zhangyuang/ssr/commit/68532aa59a8f0a968c8a92601a069581965cbff9)) | ||
| - compatible with bun ([0eeaba7](https://github.com/zhangyuang/ssr/commit/0eeaba777a306443d954dabfc6643ce7bdadc208)) | ||
| - support build --nominify in vite ([1dac6eb](https://github.com/zhangyuang/ssr/commit/1dac6eb015b86c1fe4d23242885e939eac051199)) | ||
| - support build @vue/server-renderer in server bundle ([df675a9](https://github.com/zhangyuang/ssr/commit/df675a94f642881026899b9ef5c48872f73d07ce)) | ||
| - support config.asyncGlobalData ([b571399](https://github.com/zhangyuang/ssr/commit/b571399887d95d3f1e9de1cb6cf8718c8b6a71f8)) | ||
| - support set streamHighWaterMark in react ([62421e2](https://github.com/zhangyuang/ssr/commit/62421e23af7d5d9528f3085b6890e850b7d9ff7a)) | ||
| - support ssr build --bundleConfigPlatform ([44f54cd](https://github.com/zhangyuang/ssr/commit/44f54cdc54aadb0a8b1072d280d0efaa61679a32)) | ||
| ## [6.2.71](https://github.com/zhangyuang/ssr/compare/cli@6.2.70...cli@6.2.71) (2024-03-27) | ||
| ### Features | ||
| * use source-map in dev mode ([8041c8d](https://github.com/zhangyuang/ssr/commit/8041c8da0dd0e01b5bc66fa8fa31ccd9fe03b7a5)) | ||
| - use source-map in dev mode ([8041c8d](https://github.com/zhangyuang/ssr/commit/8041c8da0dd0e01b5bc66fa8fa31ccd9fe03b7a5)) | ||
| ## [6.2.70](https://github.com/zhangyuang/ssr/compare/cli@6.2.69...cli@6.2.70) (2024-03-27) | ||
| ### Bug Fixes | ||
| * contex single instance ([3ca64cd](https://github.com/zhangyuang/ssr/commit/3ca64cdcd6aa0e556b5131147737b39bcd50902f)) | ||
| * object.assign take effect in initial state ([bf8268f](https://github.com/zhangyuang/ssr/commit/bf8268fc0181e22ace47c13a6cd6239ca89c73c5)) | ||
| - contex single instance ([3ca64cd](https://github.com/zhangyuang/ssr/commit/3ca64cdcd6aa0e556b5131147737b39bcd50902f)) | ||
| - object.assign take effect in initial state ([bf8268f](https://github.com/zhangyuang/ssr/commit/bf8268fc0181e22ace47c13a6cd6239ca89c73c5)) | ||
| ### Features | ||
| * use inline-source-map in dev mode ([e639c67](https://github.com/zhangyuang/ssr/commit/e639c679adaf7eb8aecd4a712abd7df2148202cf)) | ||
| - use inline-source-map in dev mode ([e639c67](https://github.com/zhangyuang/ssr/commit/e639c679adaf7eb8aecd4a712abd7df2148202cf)) | ||
| ## [6.2.69](https://github.com/zhangyuang/ssr/compare/cli@6.2.68...cli@6.2.69) (2024-03-25) | ||
| ### Bug Fixes | ||
| * optimize react scene use context code ([1d3e885](https://github.com/zhangyuang/ssr/commit/1d3e885d4fd5a8fade6f48438592ae2df16374e1)) | ||
| * valtio single instance error ([0474b30](https://github.com/zhangyuang/ssr/commit/0474b302110adc755285fdcefe9d58757e1b200f)) | ||
| - optimize react scene use context code ([1d3e885](https://github.com/zhangyuang/ssr/commit/1d3e885d4fd5a8fade6f48438592ae2df16374e1)) | ||
| - valtio single instance error ([0474b30](https://github.com/zhangyuang/ssr/commit/0474b302110adc755285fdcefe9d58757e1b200f)) | ||
| ## [6.2.68](https://github.com/zhangyuang/ssr/compare/cli@6.2.67...cli@6.2.68) (2024-03-19) | ||
| ### Bug Fixes | ||
| * add @vue/server-renderer in package.json ([ff2f6de](https://github.com/zhangyuang/ssr/commit/ff2f6de84667198a7a99301d1fce7cab40b59abc)) | ||
| * add babel-optional-chaining in plugin-vue, use checkModuleExist replace loadModule ([3f6d451](https://github.com/zhangyuang/ssr/commit/3f6d4511eb7b89fd6cdf5962d03dd3a2b23dd35f)) | ||
| * delete entry name chunk in cacheGroup when build optimize ([c813208](https://github.com/zhangyuang/ssr/commit/c8132083468e0f7c661e1b0aa301c733556b8466)) | ||
| * loadConfig ([a0c2e4a](https://github.com/zhangyuang/ssr/commit/a0c2e4a22b343d77626044eea292f7de2d2e46b7)) | ||
| * loadModule in vue2 ([1e8055b](https://github.com/zhangyuang/ssr/commit/1e8055b4218a57c1f07c01f9698d119b47f59824)) | ||
| * plugin-react close [#321](https://github.com/zhangyuang/ssr/issues/321) ([1f0709f](https://github.com/zhangyuang/ssr/commit/1f0709fd7bc5a9633555f33bfe5dc21a7d925028)) | ||
| - add @vue/server-renderer in package.json ([ff2f6de](https://github.com/zhangyuang/ssr/commit/ff2f6de84667198a7a99301d1fce7cab40b59abc)) | ||
| - add babel-optional-chaining in plugin-vue, use checkModuleExist replace loadModule ([3f6d451](https://github.com/zhangyuang/ssr/commit/3f6d4511eb7b89fd6cdf5962d03dd3a2b23dd35f)) | ||
| - delete entry name chunk in cacheGroup when build optimize ([c813208](https://github.com/zhangyuang/ssr/commit/c8132083468e0f7c661e1b0aa301c733556b8466)) | ||
| - loadConfig ([a0c2e4a](https://github.com/zhangyuang/ssr/commit/a0c2e4a22b343d77626044eea292f7de2d2e46b7)) | ||
| - loadModule in vue2 ([1e8055b](https://github.com/zhangyuang/ssr/commit/1e8055b4218a57c1f07c01f9698d119b47f59824)) | ||
| - plugin-react close [#321](https://github.com/zhangyuang/ssr/issues/321) ([1f0709f](https://github.com/zhangyuang/ssr/commit/1f0709fd7bc5a9633555f33bfe5dc21a7d925028)) | ||
| ### Features | ||
| * add debug when build optimize ([402b3c1](https://github.com/zhangyuang/ssr/commit/402b3c18a33f14ea447fbc96d61648d21213d6fd)) | ||
| * add error log when build optimize ([8d21bfb](https://github.com/zhangyuang/ssr/commit/8d21bfb45d522589ca0bb6187ebb1d0205cacd67)) | ||
| * set NPM_CLIENT when midway deploy ([715799f](https://github.com/zhangyuang/ssr/commit/715799f2c87b1671b0d27a9470c5871cee33072b)) | ||
| * support more sourcemap type ([80571b3](https://github.com/zhangyuang/ssr/commit/80571b3bdd210e7847f9ba7db5e5a52c1453c821)) | ||
| * support optimizeDeps in vite, add react-is as deps when use antd5 ([66fa36e](https://github.com/zhangyuang/ssr/commit/66fa36eb94c7b287db68242f8e61f0928dde6356)) | ||
| * use process.exit(1) replace throw error ([efe5e40](https://github.com/zhangyuang/ssr/commit/efe5e40673c81fa7904fcba7e02cca13506b6627)) | ||
| - add debug when build optimize ([402b3c1](https://github.com/zhangyuang/ssr/commit/402b3c18a33f14ea447fbc96d61648d21213d6fd)) | ||
| - add error log when build optimize ([8d21bfb](https://github.com/zhangyuang/ssr/commit/8d21bfb45d522589ca0bb6187ebb1d0205cacd67)) | ||
| - set NPM_CLIENT when midway deploy ([715799f](https://github.com/zhangyuang/ssr/commit/715799f2c87b1671b0d27a9470c5871cee33072b)) | ||
| - support more sourcemap type ([80571b3](https://github.com/zhangyuang/ssr/commit/80571b3bdd210e7847f9ba7db5e5a52c1453c821)) | ||
| - support optimizeDeps in vite, add react-is as deps when use antd5 ([66fa36e](https://github.com/zhangyuang/ssr/commit/66fa36eb94c7b287db68242f8e61f0928dde6356)) | ||
| - use process.exit(1) replace throw error ([efe5e40](https://github.com/zhangyuang/ssr/commit/efe5e40673c81fa7904fcba7e02cca13506b6627)) | ||
| ## [6.2.67](https://github.com/zhangyuang/ssr/compare/cli@6.2.66...cli@6.2.67) (2024-01-19) | ||
| ### Bug Fixes | ||
| * specify platform as node ([0b6f358](https://github.com/zhangyuang/ssr/commit/0b6f35895c147c01a6dd254d76445b2fd5dabdb2)) | ||
| - specify platform as node ([0b6f358](https://github.com/zhangyuang/ssr/commit/0b6f35895c147c01a6dd254d76445b2fd5dabdb2)) | ||
| ### Features | ||
| * add optional-chaining in default ([e479496](https://github.com/zhangyuang/ssr/commit/e479496d0571c3fa34277fbb6bc7e10ae980f600)) | ||
| * support ssr build --html in react/react18 close [#317](https://github.com/zhangyuang/ssr/issues/317) ([7311f8e](https://github.com/zhangyuang/ssr/commit/7311f8ed6034ad925c642c2682e85ab42872d86c)) | ||
| - add optional-chaining in default ([e479496](https://github.com/zhangyuang/ssr/commit/e479496d0571c3fa34277fbb6bc7e10ae980f600)) | ||
| - support ssr build --html in react/react18 close [#317](https://github.com/zhangyuang/ssr/issues/317) ([7311f8e](https://github.com/zhangyuang/ssr/commit/7311f8ed6034ad925c642c2682e85ab42872d86c)) | ||
| ## [6.2.66](https://github.com/zhangyuang/ssr/compare/cli@6.2.65...cli@6.2.66) (2023-12-26) | ||
| ### Features | ||
| * replace esbuild transform to build ([6f37717](https://github.com/zhangyuang/ssr/commit/6f3771714282e4529b199cffa0c4e3a9ad28dd57)) | ||
| - replace esbuild transform to build ([6f37717](https://github.com/zhangyuang/ssr/commit/6f3771714282e4529b199cffa0c4e3a9ad28dd57)) | ||
| ## [6.2.65](https://github.com/zhangyuang/ssr/compare/cli@6.2.64...cli@6.2.65) (2023-12-21) | ||
| ### Bug Fixes | ||
| * add @midwayjs/logger in dependencies ([55584f1](https://github.com/zhangyuang/ssr/commit/55584f19e5eec4f086e490672f5fe00322724e91)) | ||
| * checkroute close [#312](https://github.com/zhangyuang/ssr/issues/312) ([97d2db7](https://github.com/zhangyuang/ssr/commit/97d2db7af10a31a7ba486fd04990f4ef97363375)) | ||
| * pinia example ([ef81d0b](https://github.com/zhangyuang/ssr/commit/ef81d0b4b805f4be49dfd6f69ce016a66a12bc9c)) | ||
| - add @midwayjs/logger in dependencies ([55584f1](https://github.com/zhangyuang/ssr/commit/55584f19e5eec4f086e490672f5fe00322724e91)) | ||
| - checkroute close [#312](https://github.com/zhangyuang/ssr/issues/312) ([97d2db7](https://github.com/zhangyuang/ssr/commit/97d2db7af10a31a7ba486fd04990f4ef97363375)) | ||
| - pinia example ([ef81d0b](https://github.com/zhangyuang/ssr/commit/ef81d0b4b805f4be49dfd6f69ce016a66a12bc9c)) | ||
| ### Features | ||
| * add useCtx ([c6d0fbe](https://github.com/zhangyuang/ssr/commit/c6d0fbecef9ef1cb6dafaed7066b25ce4a0fcead)) | ||
| * optimize vite build ([d5dbac2](https://github.com/zhangyuang/ssr/commit/d5dbac2ce9d0233a9e7c39975eae025714449205)) | ||
| * use swc in nestjs ([29913ea](https://github.com/zhangyuang/ssr/commit/29913ea5fb5cccf4f803edcde01ed9401b54e0e8)) | ||
| * valtio ([#311](https://github.com/zhangyuang/ssr/issues/311)) ([6a4e069](https://github.com/zhangyuang/ssr/commit/6a4e0694d812056f8552a12a8dddc998344f58c7)) | ||
| - add useCtx ([c6d0fbe](https://github.com/zhangyuang/ssr/commit/c6d0fbecef9ef1cb6dafaed7066b25ce4a0fcead)) | ||
| - optimize vite build ([d5dbac2](https://github.com/zhangyuang/ssr/commit/d5dbac2ce9d0233a9e7c39975eae025714449205)) | ||
| - use swc in nestjs ([29913ea](https://github.com/zhangyuang/ssr/commit/29913ea5fb5cccf4f803edcde01ed9401b54e0e8)) | ||
| - valtio ([#311](https://github.com/zhangyuang/ssr/issues/311)) ([6a4e069](https://github.com/zhangyuang/ssr/commit/6a4e0694d812056f8552a12a8dddc998344f58c7)) | ||
| ## [6.2.64](https://github.com/zhangyuang/ssr/compare/cli@6.2.62...cli@6.2.64) (2023-10-10) | ||
| ### Features | ||
| * support multiply deploy select ([eeeaba4](https://github.com/zhangyuang/ssr/commit/eeeaba41cf24e4fac5f4fe90a6b36e5a61ef06bd)) | ||
| - support multiply deploy select ([eeeaba4](https://github.com/zhangyuang/ssr/commit/eeeaba41cf24e4fac5f4fe90a6b36e5a61ef06bd)) | ||
| ## [6.2.63](https://github.com/zhangyuang/ssr/compare/cli@6.2.62...cli@6.2.63) (2023-10-10) | ||
| ## [6.2.62](https://github.com/zhangyuang/ssr/compare/cli@6.2.61...cli@6.2.62) (2023-10-10) | ||
| ### Bug Fixes | ||
| * inlinecss when all mode ([e1be337](https://github.com/zhangyuang/ssr/commit/e1be3378d7d6a857e0690189a7e3ec5e955e624a)) | ||
| * use asyncChunkMap only in client ([f3d29e3](https://github.com/zhangyuang/ssr/commit/f3d29e354ee3b86e17a57cb59c0f1b5452e3ff10)) | ||
| - inlinecss when all mode ([e1be337](https://github.com/zhangyuang/ssr/commit/e1be3378d7d6a857e0690189a7e3ec5e955e624a)) | ||
| - use asyncChunkMap only in client ([f3d29e3](https://github.com/zhangyuang/ssr/commit/f3d29e354ee3b86e17a57cb59c0f1b5452e3ff10)) | ||
| ### Features | ||
| * for node18 use terser minify server bundle ([c47091b](https://github.com/zhangyuang/ssr/commit/c47091b6d27913a527aaccb697db263e4a601aa3)) | ||
| * optimize getVNode for compatible with vue2.6 ([8ebc114](https://github.com/zhangyuang/ssr/commit/8ebc114b817d78638e18fcbb27bbb09e897b9664)) | ||
| * support throw error during rendering inside vue3 in production ([343a34f](https://github.com/zhangyuang/ssr/commit/343a34f83bdf224a45bb6ef60e26be0addc26bd3)) | ||
| * upgrade webpack-dev-server-ssr ([a424789](https://github.com/zhangyuang/ssr/commit/a42478931acfb82bcf9b335f9f157528d20b2f44)) | ||
| - for node18 use terser minify server bundle ([c47091b](https://github.com/zhangyuang/ssr/commit/c47091b6d27913a527aaccb697db263e4a601aa3)) | ||
| - optimize getVNode for compatible with vue2.6 ([8ebc114](https://github.com/zhangyuang/ssr/commit/8ebc114b817d78638e18fcbb27bbb09e897b9664)) | ||
| - support throw error during rendering inside vue3 in production ([343a34f](https://github.com/zhangyuang/ssr/commit/343a34f83bdf224a45bb6ef60e26be0addc26bd3)) | ||
| - upgrade webpack-dev-server-ssr ([a424789](https://github.com/zhangyuang/ssr/commit/a42478931acfb82bcf9b335f9f157528d20b2f44)) | ||
| ## [6.2.61](https://github.com/zhangyuang/ssr/compare/cli@6.2.60...cli@6.2.61) (2023-09-18) | ||
| ### Bug Fixes | ||
| * support hashRouter ([e7a3129](https://github.com/zhangyuang/ssr/commit/e7a3129a4dffb9c3f80ec8ed55e77622f0b4a846)) | ||
| - support hashRouter ([e7a3129](https://github.com/zhangyuang/ssr/commit/e7a3129a4dffb9c3f80ec8ed55e77622f0b4a846)) | ||
| ### Features | ||
| * support node18 replace webpack4 with ssr-webpack4 ([1111ae7](https://github.com/zhangyuang/ssr/commit/1111ae7d5c759efeb4dd8bf9fcd599c2d270d930)) | ||
| * update types comment and lessOptions ([eba6efb](https://github.com/zhangyuang/ssr/commit/eba6efb13e7c9652722d9bcae7b355e08f16981c)) | ||
| - support node18 replace webpack4 with ssr-webpack4 ([1111ae7](https://github.com/zhangyuang/ssr/commit/1111ae7d5c759efeb4dd8bf9fcd599c2d270d930)) | ||
| - update types comment and lessOptions ([eba6efb](https://github.com/zhangyuang/ssr/commit/eba6efb13e7c9652722d9bcae7b355e08f16981c)) | ||
| ## [6.2.60](https://github.com/zhangyuang/ssr/compare/cli@6.2.59...cli@6.2.60) (2023-09-01) | ||
| ### Bug Fixes | ||
| * build html ([4cc7465](https://github.com/zhangyuang/ssr/commit/4cc74656f06509887957faf2951ef8a5ebc8fb43)) | ||
| * combine config ([3933ce3](https://github.com/zhangyuang/ssr/commit/3933ce3458dd3bc1bf39f497d075513307fcfd68)) | ||
| * cssInline in vue2 ([10df2a8](https://github.com/zhangyuang/ssr/commit/10df2a8a2bd72c3b73680ec3f6c8bda4adef4d37)) | ||
| * don't use swc as nest compiler for bug ([f445e57](https://github.com/zhangyuang/ssr/commit/f445e575879729bed41cfdfc071c6fb0f8747b0a)) | ||
| * merge config ([2bca435](https://github.com/zhangyuang/ssr/commit/2bca435f864ed658c5376438a237147871e30b0a)) | ||
| * merge config ([686eedf](https://github.com/zhangyuang/ssr/commit/686eedf8326673649fe0af3af8212589c9329c2c)) | ||
| * split path for fastify ([90e7fb6](https://github.com/zhangyuang/ssr/commit/90e7fb69abd809638aafdb862444aed34aa4a0ab)) | ||
| * use cssInline is dev or prod ([5571c66](https://github.com/zhangyuang/ssr/commit/5571c66f4a9b43517115abb7f99cd141e18e3252)) | ||
| - build html ([4cc7465](https://github.com/zhangyuang/ssr/commit/4cc74656f06509887957faf2951ef8a5ebc8fb43)) | ||
| - combine config ([3933ce3](https://github.com/zhangyuang/ssr/commit/3933ce3458dd3bc1bf39f497d075513307fcfd68)) | ||
| - cssInline in vue2 ([10df2a8](https://github.com/zhangyuang/ssr/commit/10df2a8a2bd72c3b73680ec3f6c8bda4adef4d37)) | ||
| - don't use swc as nest compiler for bug ([f445e57](https://github.com/zhangyuang/ssr/commit/f445e575879729bed41cfdfc071c6fb0f8747b0a)) | ||
| - merge config ([2bca435](https://github.com/zhangyuang/ssr/commit/2bca435f864ed658c5376438a237147871e30b0a)) | ||
| - merge config ([686eedf](https://github.com/zhangyuang/ssr/commit/686eedf8326673649fe0af3af8212589c9329c2c)) | ||
| - split path for fastify ([90e7fb6](https://github.com/zhangyuang/ssr/commit/90e7fb69abd809638aafdb862444aed34aa4a0ab)) | ||
| - use cssInline is dev or prod ([5571c66](https://github.com/zhangyuang/ssr/commit/5571c66f4a9b43517115abb7f99cd141e18e3252)) | ||
| ### Features | ||
| * optimize cssinline ([710e6e5](https://github.com/zhangyuang/ssr/commit/710e6e56eb154bc9fff0258bb2f677ae8a923d35)) | ||
| - optimize cssinline ([710e6e5](https://github.com/zhangyuang/ssr/commit/710e6e56eb154bc9fff0258bb2f677ae8a923d35)) | ||
| ## [6.2.59](https://github.com/zhangyuang/ssr/compare/cli@6.2.58...cli@6.2.59) (2023-08-18) | ||
| ### Bug Fixes | ||
| * combine config ([f80f705](https://github.com/zhangyuang/ssr/commit/f80f70549dfa2719033c2be89e71aa435112bbcb)) | ||
| - combine config ([f80f705](https://github.com/zhangyuang/ssr/commit/f80f70549dfa2719033c2be89e71aa435112bbcb)) | ||
| ### Features | ||
| * support ssr build --nominify ([fd0b274](https://github.com/zhangyuang/ssr/commit/fd0b274e9e173e6a2e05782ccb2c80b62e165c8f)) | ||
| - support ssr build --nominify ([fd0b274](https://github.com/zhangyuang/ssr/commit/fd0b274e9e173e6a2e05782ccb2c80b62e165c8f)) | ||
| ## [6.2.58](https://github.com/zhangyuang/ssr/compare/cli@6.2.57...cli@6.2.58) (2023-08-17) | ||
| ### Features | ||
| * support ssr build --sourcemap ([a6ba95e](https://github.com/zhangyuang/ssr/commit/a6ba95e1f4711c9d7b797687df1d48dcfdf6abe7)) | ||
| - support ssr build --sourcemap ([a6ba95e](https://github.com/zhangyuang/ssr/commit/a6ba95e1f4711c9d7b797687df1d48dcfdf6abe7)) | ||
| ## [6.2.57](https://github.com/zhangyuang/ssr/compare/cli@6.2.54...cli@6.2.57) (2023-08-10) | ||
| ### Bug Fixes | ||
| * bundle common-utils in webpack ([58626c7](https://github.com/zhangyuang/ssr/commit/58626c7f17dfcb34a4b25337e7a90918ae06859c)) | ||
| * clean dir ([2081774](https://github.com/zhangyuang/ssr/commit/2081774b6c4b348aa5ba34e258d3774c84c6ed6e)) | ||
| * type ([15f2224](https://github.com/zhangyuang/ssr/commit/15f2224bc6e632fdea6d2b23b694f643f0ef9e5f)) | ||
| - bundle common-utils in webpack ([58626c7](https://github.com/zhangyuang/ssr/commit/58626c7f17dfcb34a4b25337e7a90918ae06859c)) | ||
| - clean dir ([2081774](https://github.com/zhangyuang/ssr/commit/2081774b6c4b348aa5ba34e258d3774c84c6ed6e)) | ||
| - type ([15f2224](https://github.com/zhangyuang/ssr/commit/15f2224bc6e632fdea6d2b23b694f643f0ef9e5f)) | ||
| ### Features | ||
| * add webpack error plugin emit error close [#304](https://github.com/zhangyuang/ssr/issues/304) ([00ad5ea](https://github.com/zhangyuang/ssr/commit/00ad5eabb0384841f45c6dd78c791c8521025694)) | ||
| * optimize getStaticConfig ([6418eda](https://github.com/zhangyuang/ssr/commit/6418eda03ca6a2798e6128d78017dc97767a968f)) | ||
| * support config.framework ([cd1abf0](https://github.com/zhangyuang/ssr/commit/cd1abf043cefac658ca265b62028ccf89109cbe3)) | ||
| * support set ssrConfig in env ([1c8b6e3](https://github.com/zhangyuang/ssr/commit/1c8b6e36272b9ac9fac5d18ffe8a7b5ca6fe7235)) | ||
| * support vite processPlugin ([1436a85](https://github.com/zhangyuang/ssr/commit/1436a855eb07b753e4baaa4de0c5ecfb2f28e5a9)) | ||
| * upgrade nestjs version to 10 use swc as default compiler ([a85503a](https://github.com/zhangyuang/ssr/commit/a85503a680990c80b3dddedc9971ddaf92ee7f46)) | ||
| - add webpack error plugin emit error close [#304](https://github.com/zhangyuang/ssr/issues/304) ([00ad5ea](https://github.com/zhangyuang/ssr/commit/00ad5eabb0384841f45c6dd78c791c8521025694)) | ||
| - optimize getStaticConfig ([6418eda](https://github.com/zhangyuang/ssr/commit/6418eda03ca6a2798e6128d78017dc97767a968f)) | ||
| - support config.framework ([cd1abf0](https://github.com/zhangyuang/ssr/commit/cd1abf043cefac658ca265b62028ccf89109cbe3)) | ||
| - support set ssrConfig in env ([1c8b6e3](https://github.com/zhangyuang/ssr/commit/1c8b6e36272b9ac9fac5d18ffe8a7b5ca6fe7235)) | ||
| - support vite processPlugin ([1436a85](https://github.com/zhangyuang/ssr/commit/1436a855eb07b753e4baaa4de0c5ecfb2f28e5a9)) | ||
| - upgrade nestjs version to 10 use swc as default compiler ([a85503a](https://github.com/zhangyuang/ssr/commit/a85503a680990c80b3dddedc9971ddaf92ee7f46)) | ||
| ## [6.2.56](https://github.com/zhangyuang/ssr/compare/cli@6.2.54...cli@6.2.56) (2023-07-31) | ||
| ### Bug Fixes | ||
| * clean dir ([2081774](https://github.com/zhangyuang/ssr/commit/2081774b6c4b348aa5ba34e258d3774c84c6ed6e)) | ||
| - clean dir ([2081774](https://github.com/zhangyuang/ssr/commit/2081774b6c4b348aa5ba34e258d3774c84c6ed6e)) | ||
| ### Features | ||
| * upgrade nestjs version to 10 use swc as default compiler ([a85503a](https://github.com/zhangyuang/ssr/commit/a85503a680990c80b3dddedc9971ddaf92ee7f46)) | ||
| - upgrade nestjs version to 10 use swc as default compiler ([a85503a](https://github.com/zhangyuang/ssr/commit/a85503a680990c80b3dddedc9971ddaf92ee7f46)) | ||
| ## [6.2.55](https://github.com/zhangyuang/ssr/compare/cli@6.2.54...cli@6.2.55) (2023-07-29) | ||
| ### Features | ||
| * upgrade nestjs version to 10 use swc as default compiler ([a85503a](https://github.com/zhangyuang/ssr/commit/a85503a680990c80b3dddedc9971ddaf92ee7f46)) | ||
| - upgrade nestjs version to 10 use swc as default compiler ([a85503a](https://github.com/zhangyuang/ssr/commit/a85503a680990c80b3dddedc9971ddaf92ee7f46)) | ||
| ## [6.2.54](https://github.com/zhangyuang/ssr/compare/cli@6.2.53...cli@6.2.54) (2023-07-27) | ||
| ### Bug Fixes | ||
| * dynamic require staticConfigPath ([9d426e3](https://github.com/zhangyuang/ssr/commit/9d426e3121603bdb9e133c7d2397b430a82f788d)) | ||
| - dynamic require staticConfigPath ([9d426e3](https://github.com/zhangyuang/ssr/commit/9d426e3121603bdb9e133c7d2397b430a82f788d)) | ||
| ## [6.2.53](https://github.com/zhangyuang/ssr/compare/cli@6.2.52...cli@6.2.53) (2023-07-27) | ||
| ## [6.2.52](https://github.com/zhangyuang/ssr/compare/cli@6.2.51...cli@6.2.52) (2023-07-26) | ||
| ### Bug Fixes | ||
| * esbuildTransform staticConfig after ssr build finish ([95a3faa](https://github.com/zhangyuang/ssr/commit/95a3faa4bec57d4d713ca32da4063bf19a0c8cf0)) | ||
| - esbuildTransform staticConfig after ssr build finish ([95a3faa](https://github.com/zhangyuang/ssr/commit/95a3faa4bec57d4d713ca32da4063bf19a0c8cf0)) | ||
| ## [6.2.51](https://github.com/zhangyuang/ssr/compare/cli@6.2.50...cli@6.2.51) (2023-07-26) | ||
| ### Bug Fixes | ||
| * esbuildTransform staticConfig after ssr build finish ([c281b9c](https://github.com/zhangyuang/ssr/commit/c281b9cd2419445c26279a0dace63e0a97318d99)) | ||
| * transformConfig ([f44899e](https://github.com/zhangyuang/ssr/commit/f44899e76236aae8ba5dbcbe174238d31a539685)) | ||
| - esbuildTransform staticConfig after ssr build finish ([c281b9c](https://github.com/zhangyuang/ssr/commit/c281b9cd2419445c26279a0dace63e0a97318d99)) | ||
| - transformConfig ([f44899e](https://github.com/zhangyuang/ssr/commit/f44899e76236aae8ba5dbcbe174238d31a539685)) | ||
| ## [6.2.50](https://github.com/zhangyuang/ssr/compare/cli@6.2.49...cli@6.2.50) (2023-07-25) | ||
| ### Features | ||
| * use h function render html in vue2 ([031f59e](https://github.com/zhangyuang/ssr/commit/031f59e0c11973bc2aa569f2b656cd61f5bb8e39)) | ||
| - use h function render html in vue2 ([031f59e](https://github.com/zhangyuang/ssr/commit/031f59e0c11973bc2aa569f2b656cd61f5bb8e39)) | ||
| ## [6.2.49](https://github.com/zhangyuang/ssr/compare/cli@6.2.48...cli@6.2.49) (2023-07-25) | ||
| ### Bug Fixes | ||
| * filter babel plugins null string ([837d7b6](https://github.com/zhangyuang/ssr/commit/837d7b6eb7bbcd290cc234591975bc2f82695ed8)) | ||
| * react plugin add plugin-proposal close [#297](https://github.com/zhangyuang/ssr/issues/297) ([fdd8253](https://github.com/zhangyuang/ssr/commit/fdd82537f33f8284881ba80cacfa12ce756a109b)) | ||
| * ssr build --optimize clear null string add layout~app ([84f5671](https://github.com/zhangyuang/ssr/commit/84f5671f2c87c251cc9e33ce1b8c7423d33e7845)) | ||
| - filter babel plugins null string ([837d7b6](https://github.com/zhangyuang/ssr/commit/837d7b6eb7bbcd290cc234591975bc2f82695ed8)) | ||
| - react plugin add plugin-proposal close [#297](https://github.com/zhangyuang/ssr/issues/297) ([fdd8253](https://github.com/zhangyuang/ssr/commit/fdd82537f33f8284881ba80cacfa12ce756a109b)) | ||
| - ssr build --optimize clear null string add layout~app ([84f5671](https://github.com/zhangyuang/ssr/commit/84f5671f2c87c251cc9e33ce1b8c7423d33e7845)) | ||
| ### Features | ||
| * add addCommonChain for babel in vue3/react ([568a3ed](https://github.com/zhangyuang/ssr/commit/568a3edde7b432d8e78881eb77491bf484c82e20)) | ||
| * add pinia in midway-vue3 dependencies ([9b8ca90](https://github.com/zhangyuang/ssr/commit/9b8ca907e51f5e3f5f29b0ebd7025587a622012f)) | ||
| * extra terserconfig to common ([11105bb](https://github.com/zhangyuang/ssr/commit/11105bbe3f71be00da794a1c11e73b138e64d090)) | ||
| * support combine dynamic customeHeadScript when call render ([76dbe1f](https://github.com/zhangyuang/ssr/commit/76dbe1ffa4c603d32487abd0507bc1a3808facfc)) | ||
| * support staticConfigPath ([80a9411](https://github.com/zhangyuang/ssr/commit/80a94117d87d025a3788fbadb6c810ce036de883)) | ||
| - add addCommonChain for babel in vue3/react ([568a3ed](https://github.com/zhangyuang/ssr/commit/568a3edde7b432d8e78881eb77491bf484c82e20)) | ||
| - add pinia in midway-vue3 dependencies ([9b8ca90](https://github.com/zhangyuang/ssr/commit/9b8ca907e51f5e3f5f29b0ebd7025587a622012f)) | ||
| - extra terserconfig to common ([11105bb](https://github.com/zhangyuang/ssr/commit/11105bbe3f71be00da794a1c11e73b138e64d090)) | ||
| - support combine dynamic customeHeadScript when call render ([76dbe1f](https://github.com/zhangyuang/ssr/commit/76dbe1ffa4c603d32487abd0507bc1a3808facfc)) | ||
| - support staticConfigPath ([80a9411](https://github.com/zhangyuang/ssr/commit/80a94117d87d025a3788fbadb6c810ce036de883)) | ||
| ## [6.2.48](https://github.com/zhangyuang/ssr/compare/cli@6.2.47...cli@6.2.48) (2023-05-26) | ||
| ### Bug Fixes | ||
| * build --html add rootId ([#291](https://github.com/zhangyuang/ssr/issues/291)) ([53e6a36](https://github.com/zhangyuang/ssr/commit/53e6a3690ddf47659b9c0a85f8a98519a37a19d5)) | ||
| * remove manifest info in production ([4d341e1](https://github.com/zhangyuang/ssr/commit/4d341e1ae89b47aee943e5f2e21f1cda59a410d1)) | ||
| - build --html add rootId ([#291](https://github.com/zhangyuang/ssr/issues/291)) ([53e6a36](https://github.com/zhangyuang/ssr/commit/53e6a3690ddf47659b9c0a85f8a98519a37a19d5)) | ||
| - remove manifest info in production ([4d341e1](https://github.com/zhangyuang/ssr/commit/4d341e1ae89b47aee943e5f2e21f1cda59a410d1)) | ||
| ### Features | ||
| * remove null string in chunkName ([f56d62e](https://github.com/zhangyuang/ssr/commit/f56d62e4cb57aa9a7628587755bec6d58f98d51d)) | ||
| * use splitPageInfo generate page state ([8f51258](https://github.com/zhangyuang/ssr/commit/8f51258af97f99168e16b65b1f886a2bb50bd183)) | ||
| * use splitPageInfo generate page state in build html file ([0bb5107](https://github.com/zhangyuang/ssr/commit/0bb510704fd95372bdeae6fab4970f70b1bf28a0)) | ||
| - remove null string in chunkName ([f56d62e](https://github.com/zhangyuang/ssr/commit/f56d62e4cb57aa9a7628587755bec6d58f98d51d)) | ||
| - use splitPageInfo generate page state ([8f51258](https://github.com/zhangyuang/ssr/commit/8f51258af97f99168e16b65b1f886a2bb50bd183)) | ||
| - use splitPageInfo generate page state in build html file ([0bb5107](https://github.com/zhangyuang/ssr/commit/0bb510704fd95372bdeae6fab4970f70b1bf28a0)) | ||
| ## [6.2.47](https://github.com/zhangyuang/ssr/compare/cli@6.2.46...cli@6.2.47) (2023-05-11) | ||
| ### Bug Fixes | ||
| * confirm all children dependence belong to which chunkName in vite ([1ac15e4](https://github.com/zhangyuang/ssr/commit/1ac15e4f2a664426cc8e4c6ff9afa3620e1411ca)) | ||
| * define in windows vite ([7ed50d0](https://github.com/zhangyuang/ssr/commit/7ed50d02679d91967459092fc92db64f2db9b446)) | ||
| * development filenamepath ([838d492](https://github.com/zhangyuang/ssr/commit/838d4927afb128dbb2a6057a4b5cc1e16ce031a5)) | ||
| * fastify req.path ([b563118](https://github.com/zhangyuang/ssr/commit/b5631184d0054ef12c748f538255d00132e99482)) | ||
| * react18 default exclude ([1747419](https://github.com/zhangyuang/ssr/commit/1747419b978d81e7abe5c6975884ca8a87c749de)) | ||
| * setheader close [#285](https://github.com/zhangyuang/ssr/issues/285) ([af32288](https://github.com/zhangyuang/ssr/commit/af32288ca5f7a99870702cec47d9add025dba93d)) | ||
| * use unshift replace pop in queue ([25e9513](https://github.com/zhangyuang/ssr/commit/25e9513ebc744c70e3d3061a6ef92f66436a116a)) | ||
| * validate process.env ([ec46249](https://github.com/zhangyuang/ssr/commit/ec46249d65133587ec870732613f24fc94e6e683)) | ||
| * vite build ([6ad5079](https://github.com/zhangyuang/ssr/commit/6ad507976f38c5972e9785a0e528314c46a04431)) | ||
| * vite build dependenciesMap logic ([28bee51](https://github.com/zhangyuang/ssr/commit/28bee5102f0f44e0ab1a7d9e16272c27c1fbbe08)) | ||
| * vite build with babel ([b924353](https://github.com/zhangyuang/ssr/commit/b9243532cebbbf91fc61cd711f23ced0ef0c82ce)) | ||
| - confirm all children dependence belong to which chunkName in vite ([1ac15e4](https://github.com/zhangyuang/ssr/commit/1ac15e4f2a664426cc8e4c6ff9afa3620e1411ca)) | ||
| - define in windows vite ([7ed50d0](https://github.com/zhangyuang/ssr/commit/7ed50d02679d91967459092fc92db64f2db9b446)) | ||
| - development filenamepath ([838d492](https://github.com/zhangyuang/ssr/commit/838d4927afb128dbb2a6057a4b5cc1e16ce031a5)) | ||
| - fastify req.path ([b563118](https://github.com/zhangyuang/ssr/commit/b5631184d0054ef12c748f538255d00132e99482)) | ||
| - react18 default exclude ([1747419](https://github.com/zhangyuang/ssr/commit/1747419b978d81e7abe5c6975884ca8a87c749de)) | ||
| - setheader close [#285](https://github.com/zhangyuang/ssr/issues/285) ([af32288](https://github.com/zhangyuang/ssr/commit/af32288ca5f7a99870702cec47d9add025dba93d)) | ||
| - use unshift replace pop in queue ([25e9513](https://github.com/zhangyuang/ssr/commit/25e9513ebc744c70e3d3061a6ef92f66436a116a)) | ||
| - validate process.env ([ec46249](https://github.com/zhangyuang/ssr/commit/ec46249d65133587ec870732613f24fc94e6e683)) | ||
| - vite build ([6ad5079](https://github.com/zhangyuang/ssr/commit/6ad507976f38c5972e9785a0e528314c46a04431)) | ||
| - vite build dependenciesMap logic ([28bee51](https://github.com/zhangyuang/ssr/commit/28bee5102f0f44e0ab1a7d9e16272c27c1fbbe08)) | ||
| - vite build with babel ([b924353](https://github.com/zhangyuang/ssr/commit/b9243532cebbbf91fc61cd711f23ced0ef0c82ce)) | ||
| ### Features | ||
| * add maxAge in koa-static-cache ([6fb953a](https://github.com/zhangyuang/ssr/commit/6fb953a4acae78c33275004474251427ae3b24c3)) | ||
| * compatible with old versions ([0cd8b1c](https://github.com/zhangyuang/ssr/commit/0cd8b1cf0fbcc10a3fc9e54715e25d6ee3fbb174)) | ||
| * for ctx.body will loose asynclocalstorage context, consume stream in advance like vue2/3 ([1f0c2ba](https://github.com/zhangyuang/ssr/commit/1f0c2bacd28a7a35af686c98f691a4a0c1ca9693)) | ||
| * ignore node_modules dependencies in vite build ([72a7062](https://github.com/zhangyuang/ssr/commit/72a706283807609576e2de22fb4dcdaa9cc89e54)) | ||
| * improve babel options experience in vue3 vite build ([7f4d34b](https://github.com/zhangyuang/ssr/commit/7f4d34b23c81fbcb665c2f819000468910eb1944)) | ||
| * inject manifest in window when use vue3 ([01937f5](https://github.com/zhangyuang/ssr/commit/01937f5539164635558a2e88534a0eb13f2a4666)) | ||
| * move core-react core-vue2/3 to core ([54915f7](https://github.com/zhangyuang/ssr/commit/54915f76524997af61213bf3e95a19858746c776)) | ||
| * remove unplugin-element-plus ([25231dc](https://github.com/zhangyuang/ssr/commit/25231dc2cab3455bb00de61df8306ddab1ac4c6a)) | ||
| * support config.rootId close [#280](https://github.com/zhangyuang/ssr/issues/280) ([107ee58](https://github.com/zhangyuang/ssr/commit/107ee5879ff8313ca890f35012ac3334f7986ba2)) | ||
| * support configuration config.assetDir ([#270](https://github.com/zhangyuang/ssr/issues/270)) ([885716c](https://github.com/zhangyuang/ssr/commit/885716cefa254dc812a5cae36627103fab3c449d)) | ||
| * support css inline in vue2 ([2bfa82f](https://github.com/zhangyuang/ssr/commit/2bfa82fcb7b5f1183a4479a0d4238f9a8e4fcde5)) | ||
| * support css inline in vue3 ([e281ddd](https://github.com/zhangyuang/ssr/commit/e281dddf77f12230b7a9e220be0b6fa8129e8c8a)) | ||
| * support inject process.env.XXX in bundle ([a403a28](https://github.com/zhangyuang/ssr/commit/a403a28b8cc6dbe43d5e9b6c6d34dade5b76803f)) | ||
| * support nested routes for vue close [#277](https://github.com/zhangyuang/ssr/issues/277) ([5ff584d](https://github.com/zhangyuang/ssr/commit/5ff584d7d6fca15655a8cd32fed8dfd8e206f86a)) | ||
| * support react18 ([#264](https://github.com/zhangyuang/ssr/issues/264)) ([c992161](https://github.com/zhangyuang/ssr/commit/c992161c8ea0d2f1a9814dd4b30ffa82b1bbbe84)) | ||
| * support route.name close [#266](https://github.com/zhangyuang/ssr/issues/266) ([4a4d27c](https://github.com/zhangyuang/ssr/commit/4a4d27ca46856d0a0349d1de599dc10b5ddb6434)) | ||
| * update axios version to 1.4.0 ([#286](https://github.com/zhangyuang/ssr/issues/286)) ([37286c7](https://github.com/zhangyuang/ssr/commit/37286c77895e90b3e534bd060fc314f99cf67be1)) | ||
| * upgrade midway-cli to v2 support deploy concurrency ([13a07f6](https://github.com/zhangyuang/ssr/commit/13a07f696629ebd3fadd366844f888ceaa66247c)) | ||
| * use asynclocalstorage for get correct pinia store app context instance ([a38d3e9](https://github.com/zhangyuang/ssr/commit/a38d3e99c2a6aa6a64a20099a59fb06edba1b5ea)) | ||
| - add maxAge in koa-static-cache ([6fb953a](https://github.com/zhangyuang/ssr/commit/6fb953a4acae78c33275004474251427ae3b24c3)) | ||
| - compatible with old versions ([0cd8b1c](https://github.com/zhangyuang/ssr/commit/0cd8b1cf0fbcc10a3fc9e54715e25d6ee3fbb174)) | ||
| - for ctx.body will loose asynclocalstorage context, consume stream in advance like vue2/3 ([1f0c2ba](https://github.com/zhangyuang/ssr/commit/1f0c2bacd28a7a35af686c98f691a4a0c1ca9693)) | ||
| - ignore node_modules dependencies in vite build ([72a7062](https://github.com/zhangyuang/ssr/commit/72a706283807609576e2de22fb4dcdaa9cc89e54)) | ||
| - improve babel options experience in vue3 vite build ([7f4d34b](https://github.com/zhangyuang/ssr/commit/7f4d34b23c81fbcb665c2f819000468910eb1944)) | ||
| - inject manifest in window when use vue3 ([01937f5](https://github.com/zhangyuang/ssr/commit/01937f5539164635558a2e88534a0eb13f2a4666)) | ||
| - move core-react core-vue2/3 to core ([54915f7](https://github.com/zhangyuang/ssr/commit/54915f76524997af61213bf3e95a19858746c776)) | ||
| - remove unplugin-element-plus ([25231dc](https://github.com/zhangyuang/ssr/commit/25231dc2cab3455bb00de61df8306ddab1ac4c6a)) | ||
| - support config.rootId close [#280](https://github.com/zhangyuang/ssr/issues/280) ([107ee58](https://github.com/zhangyuang/ssr/commit/107ee5879ff8313ca890f35012ac3334f7986ba2)) | ||
| - support configuration config.assetDir ([#270](https://github.com/zhangyuang/ssr/issues/270)) ([885716c](https://github.com/zhangyuang/ssr/commit/885716cefa254dc812a5cae36627103fab3c449d)) | ||
| - support css inline in vue2 ([2bfa82f](https://github.com/zhangyuang/ssr/commit/2bfa82fcb7b5f1183a4479a0d4238f9a8e4fcde5)) | ||
| - support css inline in vue3 ([e281ddd](https://github.com/zhangyuang/ssr/commit/e281dddf77f12230b7a9e220be0b6fa8129e8c8a)) | ||
| - support inject process.env.XXX in bundle ([a403a28](https://github.com/zhangyuang/ssr/commit/a403a28b8cc6dbe43d5e9b6c6d34dade5b76803f)) | ||
| - support nested routes for vue close [#277](https://github.com/zhangyuang/ssr/issues/277) ([5ff584d](https://github.com/zhangyuang/ssr/commit/5ff584d7d6fca15655a8cd32fed8dfd8e206f86a)) | ||
| - support react18 ([#264](https://github.com/zhangyuang/ssr/issues/264)) ([c992161](https://github.com/zhangyuang/ssr/commit/c992161c8ea0d2f1a9814dd4b30ffa82b1bbbe84)) | ||
| - support route.name close [#266](https://github.com/zhangyuang/ssr/issues/266) ([4a4d27c](https://github.com/zhangyuang/ssr/commit/4a4d27ca46856d0a0349d1de599dc10b5ddb6434)) | ||
| - update axios version to 1.4.0 ([#286](https://github.com/zhangyuang/ssr/issues/286)) ([37286c7](https://github.com/zhangyuang/ssr/commit/37286c77895e90b3e534bd060fc314f99cf67be1)) | ||
| - upgrade midway-cli to v2 support deploy concurrency ([13a07f6](https://github.com/zhangyuang/ssr/commit/13a07f696629ebd3fadd366844f888ceaa66247c)) | ||
| - use asynclocalstorage for get correct pinia store app context instance ([a38d3e9](https://github.com/zhangyuang/ssr/commit/a38d3e99c2a6aa6a64a20099a59fb06edba1b5ea)) | ||
| ## [6.2.46](https://github.com/zhangyuang/ssr/compare/cli@6.2.45...cli@6.2.46) (2023-02-14) | ||
| ### Features | ||
| * add ssr start --help tips in midway ([f76f0a1](https://github.com/zhangyuang/ssr/commit/f76f0a1a9dc49cb175a800655699a10065571ae2)) | ||
| - add ssr start --help tips in midway ([f76f0a1](https://github.com/zhangyuang/ssr/commit/f76f0a1a9dc49cb175a800655699a10065571ae2)) | ||
| ## [6.2.45](https://github.com/zhangyuang/ssr/compare/cli@6.2.44...cli@6.2.45) (2023-02-11) | ||
| ### Bug Fixes | ||
| * add NODE_OPTIONS tips when nodejs version > 16 ([3492698](https://github.com/zhangyuang/ssr/commit/34926987bb3f6f7562b87b14289f509cecf2a6fa)) | ||
| * external ([005b74a](https://github.com/zhangyuang/ssr/commit/005b74a35bbecfc44a1235b8d256aaf934b595bc)) | ||
| * judge node version ([b6f17b3](https://github.com/zhangyuang/ssr/commit/b6f17b3a04afdcdea936554b60e6db96e2053532)) | ||
| * update vite-vue plugin version ([#261](https://github.com/zhangyuang/ssr/issues/261)) ([31d3844](https://github.com/zhangyuang/ssr/commit/31d38447e49bc8055d59e4452d02fc9825afab64)) | ||
| - add NODE_OPTIONS tips when nodejs version > 16 ([3492698](https://github.com/zhangyuang/ssr/commit/34926987bb3f6f7562b87b14289f509cecf2a6fa)) | ||
| - external ([005b74a](https://github.com/zhangyuang/ssr/commit/005b74a35bbecfc44a1235b8d256aaf934b595bc)) | ||
| - judge node version ([b6f17b3](https://github.com/zhangyuang/ssr/commit/b6f17b3a04afdcdea936554b60e6db96e2053532)) | ||
| - update vite-vue plugin version ([#261](https://github.com/zhangyuang/ssr/issues/261)) ([31d3844](https://github.com/zhangyuang/ssr/commit/31d38447e49bc8055d59e4452d02fc9825afab64)) | ||
| ### Features | ||
| * add @types/koa ([0dffea6](https://github.com/zhangyuang/ssr/commit/0dffea66264dafde6ff16fd211a14137fd8b6e5d)) | ||
| * add path-to-regexp to vite build vendorlist ([8934da5](https://github.com/zhangyuang/ssr/commit/8934da5dca7c709d4cbc0635bb194057b59dc2c0)) | ||
| * support element-plus ([e13fed8](https://github.com/zhangyuang/ssr/commit/e13fed826ad634a31f3506afc0a7958340c9dc87)) | ||
| - add @types/koa ([0dffea6](https://github.com/zhangyuang/ssr/commit/0dffea66264dafde6ff16fd211a14137fd8b6e5d)) | ||
| - add path-to-regexp to vite build vendorlist ([8934da5](https://github.com/zhangyuang/ssr/commit/8934da5dca7c709d4cbc0635bb194057b59dc2c0)) | ||
| - support element-plus ([e13fed8](https://github.com/zhangyuang/ssr/commit/e13fed826ad634a31f3506afc0a7958340c9dc87)) | ||
| ## [6.2.44](https://github.com/zhangyuang/ssr/compare/cli@6.2.42...cli@6.2.44) (2022-12-14) | ||
| ### Bug Fixes | ||
| * spa build ([d399bea](https://github.com/zhangyuang/ssr/commit/d399beac0dc3a336194651b3fc05f011a7515ff1)) | ||
| * types ([7015666](https://github.com/zhangyuang/ssr/commit/70156663c28c87628596a4466cf8c647d18335dd)) | ||
| - spa build ([d399bea](https://github.com/zhangyuang/ssr/commit/d399beac0dc3a336194651b3fc05f011a7515ff1)) | ||
| - types ([7015666](https://github.com/zhangyuang/ssr/commit/70156663c28c87628596a4466cf8c647d18335dd)) | ||
| ### Features | ||
| * add vite dev css flicker tips ([1744a72](https://github.com/zhangyuang/ssr/commit/1744a72fbc056532336daef4ee0a439fefe529ff)) | ||
| - add vite dev css flicker tips ([1744a72](https://github.com/zhangyuang/ssr/commit/1744a72fbc056532336daef4ee0a439fefe529ff)) | ||
| ## [6.2.43](https://github.com/zhangyuang/ssr/compare/cli@6.2.42...cli@6.2.43) (2022-12-01) | ||
| ### Bug Fixes | ||
| * spa build ([d399bea](https://github.com/zhangyuang/ssr/commit/d399beac0dc3a336194651b3fc05f011a7515ff1)) | ||
| * types ([7015666](https://github.com/zhangyuang/ssr/commit/70156663c28c87628596a4466cf8c647d18335dd)) | ||
| - spa build ([d399bea](https://github.com/zhangyuang/ssr/commit/d399beac0dc3a336194651b3fc05f011a7515ff1)) | ||
| - types ([7015666](https://github.com/zhangyuang/ssr/commit/70156663c28c87628596a4466cf8c647d18335dd)) | ||
| ## [6.2.42](https://github.com/zhangyuang/ssr/compare/cli@6.2.41...cli@6.2.42) (2022-12-01) | ||
| ### Features | ||
| * build spa support priority ([d456969](https://github.com/zhangyuang/ssr/commit/d4569697d00a720c2e820206ebb5df1002c4af8d)) | ||
| * support jsOrderPriority🤔 cssOrderPriority🤔 ([9db9a7d](https://github.com/zhangyuang/ssr/commit/9db9a7d03e8c47a93ca459b8b8b3fad571f73960)) | ||
| - build spa support priority ([d456969](https://github.com/zhangyuang/ssr/commit/d4569697d00a720c2e820206ebb5df1002c4af8d)) | ||
| - support jsOrderPriority🤔 cssOrderPriority🤔 ([9db9a7d](https://github.com/zhangyuang/ssr/commit/9db9a7d03e8c47a93ca459b8b8b3fad571f73960)) | ||
| ## [6.2.41](https://github.com/zhangyuang/ssr/compare/cli@6.2.40...cli@6.2.41) (2022-12-01) | ||
| ### Features | ||
| * spa with customeFooterScript is array ([b9508ae](https://github.com/zhangyuang/ssr/commit/b9508aea7e98bbbdaecaa318667d10d04c10aa82)) | ||
| - spa with customeFooterScript is array ([b9508ae](https://github.com/zhangyuang/ssr/commit/b9508aea7e98bbbdaecaa318667d10d04c10aa82)) | ||
| ## [6.2.40](https://github.com/zhangyuang/ssr/compare/cli@6.2.39...cli@6.2.40) (2022-12-01) | ||
| ### Bug Fixes | ||
| * call judgeServerFramework in node environment prevent utils be ([47cd81a](https://github.com/zhangyuang/ssr/commit/47cd81a18a85be507c7d43c323c294f2d5b8775d)) | ||
| * defaultExternals add react-dom close [#253](https://github.com/zhangyuang/ssr/issues/253) ([f748cee](https://github.com/zhangyuang/ssr/commit/f748ceeac2cf3205549b2a818e9cc4e386a5c250)) | ||
| * pinia alias ([2256194](https://github.com/zhangyuang/ssr/commit/22561948b9d27ea6296b5f60cefb3f42d6c1d4c1)) | ||
| - call judgeServerFramework in node environment prevent utils be ([47cd81a](https://github.com/zhangyuang/ssr/commit/47cd81a18a85be507c7d43c323c294f2d5b8775d)) | ||
| - defaultExternals add react-dom close [#253](https://github.com/zhangyuang/ssr/issues/253) ([f748cee](https://github.com/zhangyuang/ssr/commit/f748ceeac2cf3205549b2a818e9cc4e386a5c250)) | ||
| - pinia alias ([2256194](https://github.com/zhangyuang/ssr/commit/22561948b9d27ea6296b5f60cefb3f42d6c1d4c1)) | ||
| ### Features | ||
| * spa support extrajsorder cssorder ([ebc82c5](https://github.com/zhangyuang/ssr/commit/ebc82c52d35502533130fc4d6e551aed0f9d1137)) | ||
| * support antd5 close [#250](https://github.com/zhangyuang/ssr/issues/250) ([c999536](https://github.com/zhangyuang/ssr/commit/c9995365fbd82faa30a006b51e5cd76ab307bab5)) | ||
| * update vue alias ([36e15ac](https://github.com/zhangyuang/ssr/commit/36e15ac5d2d1398ced6abef2727970947177e6bc)) | ||
| - spa support extrajsorder cssorder ([ebc82c5](https://github.com/zhangyuang/ssr/commit/ebc82c52d35502533130fc4d6e551aed0f9d1137)) | ||
| - support antd5 close [#250](https://github.com/zhangyuang/ssr/issues/250) ([c999536](https://github.com/zhangyuang/ssr/commit/c9995365fbd82faa30a006b51e5cd76ab307bab5)) | ||
| - update vue alias ([36e15ac](https://github.com/zhangyuang/ssr/commit/36e15ac5d2d1398ced6abef2727970947177e6bc)) | ||
| ## [6.2.39](https://github.com/zhangyuang/ssr/compare/cli@6.2.38...cli@6.2.39) (2022-11-03) | ||
| ### Bug Fixes | ||
| * gernerate html ([08e5678](https://github.com/zhangyuang/ssr/commit/08e567877e7b6d0b4b3a6fab6ad4ea2546b0c041)) | ||
| - gernerate html ([08e5678](https://github.com/zhangyuang/ssr/commit/08e567877e7b6d0b4b3a6fab6ad4ea2546b0c041)) | ||
| ### Features | ||
| * support fastify close [#245](https://github.com/zhangyuang/ssr/issues/245) ([#246](https://github.com/zhangyuang/ssr/issues/246)) ([d9c24c5](https://github.com/zhangyuang/ssr/commit/d9c24c595941447c5e8072c63c1a80cba06689c3)) | ||
| - support fastify close [#245](https://github.com/zhangyuang/ssr/issues/245) ([#246](https://github.com/zhangyuang/ssr/issues/246)) ([d9c24c5](https://github.com/zhangyuang/ssr/commit/d9c24c595941447c5e8072c63c1a80cba06689c3)) | ||
| ## [6.2.38](https://github.com/zhangyuang/ssr/compare/cli@6.2.37...cli@6.2.38) (2022-10-27) | ||
| ### Bug Fixes | ||
| * onlyCsr types core-vue3 render logic ([f75929e](https://github.com/zhangyuang/ssr/commit/f75929ef84e564fe7e3d9c5c6d1e56fe70f5629b)) | ||
| * react hmr ([2c57a6e](https://github.com/zhangyuang/ssr/commit/2c57a6e14d485500a2e8868035d9cb6e1fa883b0)) | ||
| * types ([2ad371f](https://github.com/zhangyuang/ssr/commit/2ad371fc6c0b27e6e52801048a28a3d8fdcfccf7)) | ||
| - onlyCsr types core-vue3 render logic ([f75929e](https://github.com/zhangyuang/ssr/commit/f75929ef84e564fe7e3d9c5c6d1e56fe70f5629b)) | ||
| - react hmr ([2c57a6e](https://github.com/zhangyuang/ssr/commit/2c57a6e14d485500a2e8868035d9cb6e1fa883b0)) | ||
| - types ([2ad371f](https://github.com/zhangyuang/ssr/commit/2ad371fc6c0b27e6e52801048a28a3d8fdcfccf7)) | ||
| ### Features | ||
| * customScript support tagName ([91a836f](https://github.com/zhangyuang/ssr/commit/91a836f0b423b46f730a2c893b56f89bddd470c5)) | ||
| * remove css-hot-loader inject ssrDevInfo in vue3 ([e4a28f6](https://github.com/zhangyuang/ssr/commit/e4a28f66ae019bbd5a11df649b8ffe92f6b2b2da)) | ||
| * support more babelOptions like include exclude ([4a2b254](https://github.com/zhangyuang/ssr/commit/4a2b254f4f6a9996bf3c3f9fea561636d61b85ac)) | ||
| * update react alias ([160b991](https://github.com/zhangyuang/ssr/commit/160b9911166172f36db9690be87f35fcbfc747aa)) | ||
| * update sprops types ([9383235](https://github.com/zhangyuang/ssr/commit/9383235321f171b4d5c877d08025e9b9936175d3)) | ||
| * update vite build logic ([0bf7a28](https://github.com/zhangyuang/ssr/commit/0bf7a28ca38f2cde8501dfb53546f4d3b0c6f51f)) | ||
| * use jsx-runtime in react ([ffdd346](https://github.com/zhangyuang/ssr/commit/ffdd34674ff0753e130b6570ab9eef3b1aec5217)) | ||
| * use ssr-mini-css-extra-plugin for micro ([fa1c025](https://github.com/zhangyuang/ssr/commit/fa1c025b19b38733c20b11a40860b7eb648387e6)) | ||
| - customScript support tagName ([91a836f](https://github.com/zhangyuang/ssr/commit/91a836f0b423b46f730a2c893b56f89bddd470c5)) | ||
| - remove css-hot-loader inject ssrDevInfo in vue3 ([e4a28f6](https://github.com/zhangyuang/ssr/commit/e4a28f66ae019bbd5a11df649b8ffe92f6b2b2da)) | ||
| - support more babelOptions like include exclude ([4a2b254](https://github.com/zhangyuang/ssr/commit/4a2b254f4f6a9996bf3c3f9fea561636d61b85ac)) | ||
| - update react alias ([160b991](https://github.com/zhangyuang/ssr/commit/160b9911166172f36db9690be87f35fcbfc747aa)) | ||
| - update sprops types ([9383235](https://github.com/zhangyuang/ssr/commit/9383235321f171b4d5c877d08025e9b9936175d3)) | ||
| - update vite build logic ([0bf7a28](https://github.com/zhangyuang/ssr/commit/0bf7a28ca38f2cde8501dfb53546f4d3b0c6f51f)) | ||
| - use jsx-runtime in react ([ffdd346](https://github.com/zhangyuang/ssr/commit/ffdd34674ff0753e130b6570ab9eef3b1aec5217)) | ||
| - use ssr-mini-css-extra-plugin for micro ([fa1c025](https://github.com/zhangyuang/ssr/commit/fa1c025b19b38733c20b11a40860b7eb648387e6)) | ||
| ## [6.2.37](https://github.com/zhangyuang/ssr/compare/cli@6.2.36...cli@6.2.37) (2022-09-27) | ||
| ### Features | ||
| * add env flag when ssg ([32fef6f](https://github.com/zhangyuang/ssr/commit/32fef6f8d43bf2cecb867f6d0e2d9f8e6d113224)) | ||
| - add env flag when ssg ([32fef6f](https://github.com/zhangyuang/ssr/commit/32fef6f8d43bf2cecb867f6d0e2d9f8e6d113224)) | ||
| ## [6.2.36](https://github.com/zhangyuang/ssr/compare/cli@6.2.34...cli@6.2.36) (2022-09-25) | ||
| ### Bug Fixes | ||
| * don't inject dynamic js chunk in html for sourcemap ([7771694](https://github.com/zhangyuang/ssr/commit/7771694d1e34ab2fccf5e411a5b7611047b38a23)) | ||
| * hidden nest build warning ([28e809d](https://github.com/zhangyuang/ssr/commit/28e809da607a77e6e0d97075c179d3b0a53a988d)) | ||
| * nest start tips ([ac7f0a1](https://github.com/zhangyuang/ssr/commit/ac7f0a1a50b5765fcd00d00195b5a413070ac0b3)) | ||
| * react prebundle ([9e41e60](https://github.com/zhangyuang/ssr/commit/9e41e607e54db98aa3b9dd9b8e23d744efbbcda3)) | ||
| * spinner.stop when stdout end ([9636fc6](https://github.com/zhangyuang/ssr/commit/9636fc650cf8f9050381480f06c58103f1806d05)) | ||
| * update correct cwd in postinstall ([fff08ef](https://github.com/zhangyuang/ssr/commit/fff08efe37436f96e599f2265b1931c0a1d6df72)) | ||
| * update example ([185219c](https://github.com/zhangyuang/ssr/commit/185219cee04d55d347b8dc6511798430a5f19c73)) | ||
| * update postinstall ([1078a50](https://github.com/zhangyuang/ssr/commit/1078a50254f27de58525ffec4f7c92a60e4dc03c)) | ||
| - don't inject dynamic js chunk in html for sourcemap ([7771694](https://github.com/zhangyuang/ssr/commit/7771694d1e34ab2fccf5e411a5b7611047b38a23)) | ||
| - hidden nest build warning ([28e809d](https://github.com/zhangyuang/ssr/commit/28e809da607a77e6e0d97075c179d3b0a53a988d)) | ||
| - nest start tips ([ac7f0a1](https://github.com/zhangyuang/ssr/commit/ac7f0a1a50b5765fcd00d00195b5a413070ac0b3)) | ||
| - react prebundle ([9e41e60](https://github.com/zhangyuang/ssr/commit/9e41e607e54db98aa3b9dd9b8e23d744efbbcda3)) | ||
| - spinner.stop when stdout end ([9636fc6](https://github.com/zhangyuang/ssr/commit/9636fc650cf8f9050381480f06c58103f1806d05)) | ||
| - update correct cwd in postinstall ([fff08ef](https://github.com/zhangyuang/ssr/commit/fff08efe37436f96e599f2265b1931c0a1d6df72)) | ||
| - update example ([185219c](https://github.com/zhangyuang/ssr/commit/185219cee04d55d347b8dc6511798430a5f19c73)) | ||
| - update postinstall ([1078a50](https://github.com/zhangyuang/ssr/commit/1078a50254f27de58525ffec4f7c92a60e4dc03c)) | ||
| ### Features | ||
| * add nest build stdout ([ea78454](https://github.com/zhangyuang/ssr/commit/ea784547132e224bb52449681f575d51d8b9b0c1)) | ||
| * close css less sourcemap ([7936f71](https://github.com/zhangyuang/ssr/commit/7936f71a5db4faeb6b84a5a15967d19c5d8c606b)) | ||
| * close default hmr host ([f415d73](https://github.com/zhangyuang/ssr/commit/f415d7363a0a40f36074402eb8db7747538e05a1)) | ||
| * move nestjs-pinia example in ([d214b2c](https://github.com/zhangyuang/ssr/commit/d214b2ccded3d3dc43092b43c9c69ee2122c9bd5)) | ||
| * move render app logic in server-render not in core ([8638ab2](https://github.com/zhangyuang/ssr/commit/8638ab2970bbd9e47598d93e7038f8f599ea82f5)) | ||
| * react client-entry add react-router ([c538afc](https://github.com/zhangyuang/ssr/commit/c538afcc5bd18e5b9fbdcbef1ce4a8d87de7ec8f)) | ||
| * render head script after fetch in vue3 ([edb2ac7](https://github.com/zhangyuang/ssr/commit/edb2ac7051fe12bbda7d13a84870a427fa71bc68)) | ||
| * support ssg ([27e2c7c](https://github.com/zhangyuang/ssr/commit/27e2c7cfb88ce6fa07f393a231d22a1d60b36fd2)) | ||
| * update vue2/react logic in plugin ([e2d576b](https://github.com/zhangyuang/ssr/commit/e2d576b92bf8a0e9615480c2d7cccb42ad59635d)) | ||
| * use esbuild transform manualroutes ([cf77fcd](https://github.com/zhangyuang/ssr/commit/cf77fcd489a02deb49d7c85def240f4f19367ad9)) | ||
| * use eval-source-map replace cheap-sourcemap in dev ([1bd615e](https://github.com/zhangyuang/ssr/commit/1bd615e52b24334f727c3c0c13113125670c776f)) | ||
| * use exec run shell rather than npx in plugin-nest ([e644937](https://github.com/zhangyuang/ssr/commit/e644937959742144ffaf909ea3271dda093da221)) | ||
| * 完善 ssg 文档 ([384b85a](https://github.com/zhangyuang/ssr/commit/384b85a820043dc9154677ace66e16568d322aca)) | ||
| - add nest build stdout ([ea78454](https://github.com/zhangyuang/ssr/commit/ea784547132e224bb52449681f575d51d8b9b0c1)) | ||
| - close css less sourcemap ([7936f71](https://github.com/zhangyuang/ssr/commit/7936f71a5db4faeb6b84a5a15967d19c5d8c606b)) | ||
| - close default hmr host ([f415d73](https://github.com/zhangyuang/ssr/commit/f415d7363a0a40f36074402eb8db7747538e05a1)) | ||
| - move nestjs-pinia example in ([d214b2c](https://github.com/zhangyuang/ssr/commit/d214b2ccded3d3dc43092b43c9c69ee2122c9bd5)) | ||
| - move render app logic in server-render not in core ([8638ab2](https://github.com/zhangyuang/ssr/commit/8638ab2970bbd9e47598d93e7038f8f599ea82f5)) | ||
| - react client-entry add react-router ([c538afc](https://github.com/zhangyuang/ssr/commit/c538afcc5bd18e5b9fbdcbef1ce4a8d87de7ec8f)) | ||
| - render head script after fetch in vue3 ([edb2ac7](https://github.com/zhangyuang/ssr/commit/edb2ac7051fe12bbda7d13a84870a427fa71bc68)) | ||
| - support ssg ([27e2c7c](https://github.com/zhangyuang/ssr/commit/27e2c7cfb88ce6fa07f393a231d22a1d60b36fd2)) | ||
| - update vue2/react logic in plugin ([e2d576b](https://github.com/zhangyuang/ssr/commit/e2d576b92bf8a0e9615480c2d7cccb42ad59635d)) | ||
| - use esbuild transform manualroutes ([cf77fcd](https://github.com/zhangyuang/ssr/commit/cf77fcd489a02deb49d7c85def240f4f19367ad9)) | ||
| - use eval-source-map replace cheap-sourcemap in dev ([1bd615e](https://github.com/zhangyuang/ssr/commit/1bd615e52b24334f727c3c0c13113125670c776f)) | ||
| - use exec run shell rather than npx in plugin-nest ([e644937](https://github.com/zhangyuang/ssr/commit/e644937959742144ffaf909ea3271dda093da221)) | ||
| - 完善 ssg 文档 ([384b85a](https://github.com/zhangyuang/ssr/commit/384b85a820043dc9154677ace66e16568d322aca)) | ||
| ## [6.2.35](https://github.com/zhangyuang/ssr/compare/cli@6.2.35...cli@6.2.35) (2022-08-19) | ||
| ### Bug Fixes | ||
| * react prebundle ([9e41e60](https://github.com/zhangyuang/ssr/commit/9e41e607e54db98aa3b9dd9b8e23d744efbbcda3)) | ||
| * update example ([185219c](https://github.com/zhangyuang/ssr/commit/185219cee04d55d347b8dc6511798430a5f19c73)) | ||
| - react prebundle ([9e41e60](https://github.com/zhangyuang/ssr/commit/9e41e607e54db98aa3b9dd9b8e23d744efbbcda3)) | ||
| - update example ([185219c](https://github.com/zhangyuang/ssr/commit/185219cee04d55d347b8dc6511798430a5f19c73)) | ||
| ### Features | ||
| * add nest build stdout ([ea78454](https://github.com/zhangyuang/ssr/commit/ea784547132e224bb52449681f575d51d8b9b0c1)) | ||
| * react client-entry add react-router ([c538afc](https://github.com/zhangyuang/ssr/commit/c538afcc5bd18e5b9fbdcbef1ce4a8d87de7ec8f)) | ||
| * render head script after fetch in vue3 ([edb2ac7](https://github.com/zhangyuang/ssr/commit/edb2ac7051fe12bbda7d13a84870a427fa71bc68)) | ||
| * use exec run shell rather than npx in plugin-nest ([e644937](https://github.com/zhangyuang/ssr/commit/e644937959742144ffaf909ea3271dda093da221)) | ||
| - add nest build stdout ([ea78454](https://github.com/zhangyuang/ssr/commit/ea784547132e224bb52449681f575d51d8b9b0c1)) | ||
| - react client-entry add react-router ([c538afc](https://github.com/zhangyuang/ssr/commit/c538afcc5bd18e5b9fbdcbef1ce4a8d87de7ec8f)) | ||
| - render head script after fetch in vue3 ([edb2ac7](https://github.com/zhangyuang/ssr/commit/edb2ac7051fe12bbda7d13a84870a427fa71bc68)) | ||
| - use exec run shell rather than npx in plugin-nest ([e644937](https://github.com/zhangyuang/ssr/commit/e644937959742144ffaf909ea3271dda093da221)) |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"add-chunk-name.d.ts","sourceRoot":"","sources":["../src/add-chunk-name.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,WAgBjD,CAAA;AAED,eAAO,MAAM,oBAAoB,qBAOhC,CAAA"} | ||
| {"version":3,"file":"add-chunk-name.d.ts","sourceRoot":"","sources":["../src/add-chunk-name.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,WAmBjD,CAAC;AAEF,eAAO,MAAM,oBAAoB,qBAmBhC,CAAC"} |
@@ -17,10 +17,10 @@ "use strict"; | ||
| const chunkName = (_a = webpackCommentRegExp.exec(rawUrl)) === null || _a === void 0 ? void 0 : _a[1]; | ||
| if (rawUrl.includes('layout') || rawUrl.includes('App') || rawUrl.includes('store')) { | ||
| str = str.appendRight(statementEnd - 1, '?chunkName=Page'); | ||
| if (rawUrl.includes("layout") || rawUrl.includes("App") || rawUrl.includes("store")) { | ||
| str = str.appendRight(statementEnd - 1, "?chunkName=Page"); | ||
| } | ||
| else if (chunkName) { | ||
| str = str.appendRight(statementEnd - (rawUrl.includes('\n') ? 2 : 1), `?chunkName=${chunkName}`); | ||
| str = str.appendRight(statementEnd - (rawUrl.includes("\n") ? 2 : 1), `?chunkName=${chunkName}`); | ||
| } | ||
| else { | ||
| str = str.appendRight(statementEnd - 1, '?chunkName=Page'); | ||
| str = str.appendRight(statementEnd - 1, "?chunkName=Page"); | ||
| } | ||
@@ -32,10 +32,10 @@ } | ||
| const addChunkNameInRoutes = async () => { | ||
| const { getCwd } = await Promise.resolve().then(() => require('ssr-common-utils')); | ||
| const { getCwd } = await Promise.resolve().then(() => require("ssr-common-utils")); | ||
| const cwd = getCwd(); | ||
| const declareRoutes = await fs_1.promises.readFile((0, path_1.resolve)(cwd, './build/ssr-declare-routes.js'), 'utf-8'); | ||
| await fs_1.promises.writeFile((0, path_1.resolve)(cwd, './build/ssr-declare-routes.js'), (0, exports.addChunkNameInQuery)(declareRoutes)); | ||
| const manualRoutes = await fs_1.promises.readFile((0, path_1.resolve)(cwd, './build/ssr-manual-routes.js'), 'utf-8'); | ||
| await fs_1.promises.writeFile((0, path_1.resolve)(cwd, './build/ssr-manual-routes.js'), (0, exports.addChunkNameInQuery)(manualRoutes)); | ||
| const declareRoutes = await fs_1.promises.readFile((0, path_1.resolve)(cwd, "./build/ssr-declare-routes.js"), "utf-8"); | ||
| await fs_1.promises.writeFile((0, path_1.resolve)(cwd, "./build/ssr-declare-routes.js"), (0, exports.addChunkNameInQuery)(declareRoutes)); | ||
| const manualRoutes = await fs_1.promises.readFile((0, path_1.resolve)(cwd, "./build/ssr-manual-routes.js"), "utf-8"); | ||
| await fs_1.promises.writeFile((0, path_1.resolve)(cwd, "./build/ssr-manual-routes.js"), (0, exports.addChunkNameInQuery)(manualRoutes)); | ||
| }; | ||
| exports.addChunkNameInRoutes = addChunkNameInRoutes; | ||
| //# sourceMappingURL=add-chunk-name.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"add-chunk-name.js","sourceRoot":"","sources":["../src/add-chunk-name.ts"],"names":[],"mappings":";;;AAAA,2BAA6B;AAC7B,+BAA8B;AAC9B,qDAAuD;AACvD,+CAAsC;AAEtC,MAAM,oBAAoB,GAAG,kCAAkC,CAAA;AACxD,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,EAAE;;IACrD,IAAI,GAAG,GAAG,IAAI,sBAAW,CAAC,MAAM,CAAC,CAAA;IACjC,MAAM,OAAO,GAAG,IAAA,uBAAY,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACvC,MAAM,SAAS,GAAG,MAAA,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,0CAAG,CAAC,CAAC,CAAA;QACxD,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACrF,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,GAAG,CAAC,EAAE,iBAAiB,CAAC,CAAA;QAC3D,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACtB,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,SAAS,EAAE,CAAC,CAAA;QACjG,CAAC;aAAM,CAAC;YACP,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,GAAG,CAAC,EAAE,iBAAiB,CAAC,CAAA;QAC3D,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;AACtB,CAAC,CAAA;AAhBY,QAAA,mBAAmB,uBAgB/B;AAEM,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE;IAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,2CAAa,kBAAkB,EAAC,CAAA;IACnD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;IACpB,MAAM,aAAa,GAAG,MAAM,aAAQ,CAAC,QAAQ,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,+BAA+B,CAAC,EAAE,OAAO,CAAC,CAAA;IACrG,MAAM,aAAQ,CAAC,SAAS,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,+BAA+B,CAAC,EAAE,IAAA,2BAAmB,EAAC,aAAa,CAAC,CAAC,CAAA;IAC3G,MAAM,YAAY,GAAG,MAAM,aAAQ,CAAC,QAAQ,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,8BAA8B,CAAC,EAAE,OAAO,CAAC,CAAA;IACnG,MAAM,aAAQ,CAAC,SAAS,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,8BAA8B,CAAC,EAAE,IAAA,2BAAmB,EAAC,YAAY,CAAC,CAAC,CAAA;AAC1G,CAAC,CAAA;AAPY,QAAA,oBAAoB,wBAOhC"} | ||
| {"version":3,"file":"add-chunk-name.js","sourceRoot":"","sources":["../src/add-chunk-name.ts"],"names":[],"mappings":";;;AAAA,2BAA8B;AAC9B,+BAA+B;AAC/B,qDAAwD;AACxD,+CAAuC;AAEvC,MAAM,oBAAoB,GAAG,kCAAkC,CAAC;AACzD,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,EAAE;;IACpD,IAAI,GAAG,GAAG,IAAI,sBAAW,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,IAAA,uBAAY,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACpD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,MAAA,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,0CAAG,CAAC,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACpF,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,GAAG,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,GAAG,GAAG,GAAG,CAAC,WAAW,CACnB,YAAY,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9C,cAAc,SAAS,EAAE,CAC1B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,GAAG,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC,CAAC;AAnBW,QAAA,mBAAmB,uBAmB9B;AAEK,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE;IAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,2CAAa,kBAAkB,EAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,aAAa,GAAG,MAAM,aAAQ,CAAC,QAAQ,CAC3C,IAAA,cAAO,EAAC,GAAG,EAAE,+BAA+B,CAAC,EAC7C,OAAO,CACR,CAAC;IACF,MAAM,aAAQ,CAAC,SAAS,CACtB,IAAA,cAAO,EAAC,GAAG,EAAE,+BAA+B,CAAC,EAC7C,IAAA,2BAAmB,EAAC,aAAa,CAAC,CACnC,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,aAAQ,CAAC,QAAQ,CAC1C,IAAA,cAAO,EAAC,GAAG,EAAE,8BAA8B,CAAC,EAC5C,OAAO,CACR,CAAC;IACF,MAAM,aAAQ,CAAC,SAAS,CACtB,IAAA,cAAO,EAAC,GAAG,EAAE,8BAA8B,CAAC,EAC5C,IAAA,2BAAmB,EAAC,YAAY,CAAC,CAClC,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,oBAAoB,wBAmB/B"} |
+1
-1
@@ -1,3 +0,3 @@ | ||
| import type { Argv } from 'ssr-types'; | ||
| import type { Argv } from "ssr-types"; | ||
| export declare const cleanOutDir: (argv: Argv) => Promise<void>; | ||
| //# sourceMappingURL=clean.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../src/clean.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErC,eAAO,MAAM,WAAW,GAAU,MAAM,IAAI,kBA4B3C,CAAA"} | ||
| {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../src/clean.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,eAAO,MAAM,WAAW,GAAU,MAAM,IAAI,kBA4B3C,CAAC"} |
+11
-11
@@ -8,9 +8,9 @@ "use strict"; | ||
| const cleanOutDir = async (argv) => { | ||
| const { accessFile, getCwd } = await Promise.resolve().then(() => require('ssr-common-utils')); | ||
| const { accessFile, getCwd } = await Promise.resolve().then(() => require("ssr-common-utils")); | ||
| const cwd = getCwd(); | ||
| const staticConfigPath = (0, path_1.resolve)(cwd, './build/staticConfig.js'); | ||
| if (!(await accessFile((0, path_1.resolve)(cwd, './build')))) { | ||
| (0, shelljs_1.mkdir)((0, path_1.resolve)(cwd, './build')); | ||
| const staticConfigPath = (0, path_1.resolve)(cwd, "./build/staticConfig.js"); | ||
| if (!(await accessFile((0, path_1.resolve)(cwd, "./build")))) { | ||
| (0, shelljs_1.mkdir)((0, path_1.resolve)(cwd, "./build")); | ||
| } | ||
| const buildDir = await fs_1.promises.readdir((0, path_1.resolve)(cwd, './build')); | ||
| const buildDir = await fs_1.promises.readdir((0, path_1.resolve)(cwd, "./build")); | ||
| if (argv.noclean) { | ||
@@ -22,15 +22,15 @@ return; | ||
| if (fpath !== staticConfigPath) { | ||
| (0, shelljs_1.rm)('-rf', fpath); | ||
| (0, shelljs_1.rm)("-rf", fpath); | ||
| } | ||
| } | ||
| // clean dist folder | ||
| const tsconfigExist = await accessFile((0, path_1.resolve)(cwd, './tsconfig.json')); | ||
| if (tsconfigExist && process.env.CLEAN !== 'false') { | ||
| const tsconfigExist = await accessFile((0, path_1.resolve)(cwd, "./tsconfig.json")); | ||
| if (tsconfigExist && process.env.CLEAN !== "false") { | ||
| try { | ||
| const outDir = require((0, path_1.resolve)(cwd, './tsconfig.json')).compilerOptions.outDir; | ||
| (0, shelljs_1.rm)('-rf', (0, path_1.resolve)(cwd, outDir)); | ||
| const outDir = require((0, path_1.resolve)(cwd, "./tsconfig.json")).compilerOptions.outDir; | ||
| (0, shelljs_1.rm)("-rf", (0, path_1.resolve)(cwd, outDir)); | ||
| } | ||
| catch (_error) { | ||
| // 有可能 json 文件存在注释导致 require 失败,这里 catch 一下 | ||
| console.log('检测到当前目录 tsconfig.json 文件可能存在语法错误'); | ||
| console.log("检测到当前目录 tsconfig.json 文件可能存在语法错误"); | ||
| } | ||
@@ -37,0 +37,0 @@ } |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"clean.js","sourceRoot":"","sources":["../src/clean.ts"],"names":[],"mappings":";;;AAAA,2BAA6B;AAC7B,+BAA8B;AAC9B,qCAAmC;AAG5B,MAAM,WAAW,GAAG,KAAK,EAAE,IAAU,EAAE,EAAE;IAC/C,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,2CAAa,kBAAkB,EAAC,CAAA;IAC/D,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;IACpB,MAAM,gBAAgB,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE,yBAAyB,CAAC,CAAA;IAChE,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,IAAA,eAAK,EAAC,IAAA,cAAO,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAA;IAC/B,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,aAAQ,CAAC,OAAO,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAA;IAChE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAM;IACP,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC,CAAA;QAC1C,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;YAChC,IAAA,YAAE,EAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACjB,CAAC;IACF,CAAC;IACD,oBAAoB;IACpB,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAA;IACvE,IAAI,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QACpD,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,OAAO,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAA;YAC9E,IAAA,YAAE,EAAC,KAAK,EAAE,IAAA,cAAO,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;QAChC,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YACjB,2CAA2C;YAC3C,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;QAChD,CAAC;IACF,CAAC;AACF,CAAC,CAAA;AA5BY,QAAA,WAAW,eA4BvB"} | ||
| {"version":3,"file":"clean.js","sourceRoot":"","sources":["../src/clean.ts"],"names":[],"mappings":";;;AAAA,2BAA8B;AAC9B,+BAA+B;AAC/B,qCAAoC;AAG7B,MAAM,WAAW,GAAG,KAAK,EAAE,IAAU,EAAE,EAAE;IAC9C,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,2CAAa,kBAAkB,EAAC,CAAC;IAChE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,gBAAgB,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;IACjE,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,IAAA,eAAK,EAAC,IAAA,cAAO,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,aAAQ,CAAC,OAAO,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IACjE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;YAC/B,IAAA,YAAE,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,oBAAoB;IACpB,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACxE,IAAI,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,OAAO,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC;YAC/E,IAAA,YAAE,EAAC,KAAK,EAAE,IAAA,cAAO,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,2CAA2C;YAC3C,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AA5BW,QAAA,WAAW,eA4BtB"} |
+1
-1
| #!/usr/bin/env node | ||
| import { Argv } from 'ssr-types'; | ||
| import { Argv } from "ssr-types"; | ||
| declare const startFunc: (argv: Argv) => Promise<void>; | ||
@@ -4,0 +4,0 @@ declare const buildFunc: (argv: Argv) => Promise<void>; |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,IAAI,EAAW,MAAM,WAAW,CAAA;AA6CzC,QAAA,MAAM,SAAS,GAAU,MAAM,IAAI,kBAiBlC,CAAA;AAED,QAAA,MAAM,SAAS,GAAU,MAAM,IAAI,kBAUlC,CAAA;AAED,QAAA,MAAM,UAAU,GAAU,MAAM,IAAI,kBAYnC,CAAA;AAsJD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA"} | ||
| {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,IAAI,EAAW,MAAM,WAAW,CAAC;AA8C1C,QAAA,MAAM,SAAS,GAAU,MAAM,IAAI,kBAiBlC,CAAC;AAEF,QAAA,MAAM,SAAS,GAAU,MAAM,IAAI,kBAUlC,CAAC;AAEF,QAAA,MAAM,UAAU,GAAU,MAAM,IAAI,kBAcnC,CAAC;AA6IF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC"} |
+70
-79
@@ -13,14 +13,14 @@ #!/usr/bin/env node | ||
| const add_chunk_name_1 = require("./add-chunk-name"); | ||
| const spinnerProcess = (0, child_process_1.fork)((0, path_1.resolve)(__dirname, './spinner')); // 单独创建子进程跑 spinner 否则会被后续的 同步代码 block 导致 loading 暂停 | ||
| const spinnerProcess = (0, child_process_1.fork)((0, path_1.resolve)(__dirname, "./spinner")); // 单独创建子进程跑 spinner 否则会被后续的 同步代码 block 导致 loading 暂停 | ||
| const spinner = { | ||
| start: () => spinnerProcess.send({ | ||
| message: 'start' | ||
| message: "start", | ||
| }), | ||
| stop: () => spinnerProcess.send({ | ||
| message: 'stop' | ||
| }) | ||
| message: "stop", | ||
| }), | ||
| }; | ||
| const startOrBuild = async (argv, type) => { | ||
| var _a, _b; | ||
| const { judgeFramework, judgeServerFramework, logGreen, getCwd } = await Promise.resolve().then(() => require('ssr-common-utils')); | ||
| const { judgeFramework, judgeServerFramework, logGreen, getCwd } = await Promise.resolve().then(() => require("ssr-common-utils")); | ||
| const cwd = getCwd(); | ||
@@ -30,6 +30,6 @@ const framework = judgeFramework(); | ||
| if (argv.ssg) { | ||
| logGreen('Using ssg for generate static html file'); | ||
| logGreen("Using ssg for generate static html file"); | ||
| } | ||
| if (!argv.api) { | ||
| const { clientPlugin } = await Promise.resolve(`${(0, path_1.resolve)(cwd, './node_modules', framework)}`).then(s => require(s)); | ||
| const { clientPlugin } = await Promise.resolve(`${(0, path_1.resolve)(cwd, "./node_modules", framework)}`).then(s => require(s)); | ||
| const client = clientPlugin(); | ||
@@ -39,7 +39,7 @@ await ((_a = client === null || client === void 0 ? void 0 : client[type]) === null || _a === void 0 ? void 0 : _a.call(client, argv)); | ||
| if (!argv.web) { | ||
| const { serverPlugin } = await Promise.resolve(`${(0, path_1.resolve)(cwd, './node_modules', serverFramework)}`).then(s => require(s)); | ||
| const { serverPlugin } = await Promise.resolve(`${(0, path_1.resolve)(cwd, "./node_modules", serverFramework)}`).then(s => require(s)); | ||
| const server = serverPlugin(); | ||
| await ((_b = server === null || server === void 0 ? void 0 : server[type]) === null || _b === void 0 ? void 0 : _b.call(server, argv)); | ||
| } | ||
| if (type === 'build') { | ||
| if (type === "build") { | ||
| await (0, html_1.generateHtml)(); | ||
@@ -51,10 +51,10 @@ await (0, ssg_1.ssg)(argv); | ||
| await (0, preprocess_1.handleEnv)(argv); | ||
| if (argv.tool !== 'vite') { | ||
| if (argv.tool !== "vite") { | ||
| spinner.start(); | ||
| } | ||
| process.env.NODE_ENV = 'development'; | ||
| const { parseFeRoutes, transformConfig, logInfo } = await Promise.resolve().then(() => require('ssr-common-utils')); | ||
| process.env.NODE_ENV = "development"; | ||
| const { parseFeRoutes, transformConfig, logInfo } = await Promise.resolve().then(() => require("ssr-common-utils")); | ||
| await transformConfig(); | ||
| if (argv.tool === 'vite') { | ||
| logInfo('Vite 场景本地开发样式闪烁为正常现象请忽略,生产环境无此问题'); | ||
| if (argv.tool === "vite") { | ||
| logInfo("Vite 场景本地开发样式闪烁为正常现象请忽略,生产环境无此问题"); | ||
| } | ||
@@ -65,3 +65,3 @@ const watcher = await (0, watcher_1.createWatcher)(); | ||
| spinner.stop(); | ||
| await startOrBuild(argv, 'start'); | ||
| await startOrBuild(argv, "start"); | ||
| await (0, watcher_1.onWatcher)(watcher); | ||
@@ -73,4 +73,4 @@ }; | ||
| spinner.start(); | ||
| process.env.NODE_ENV = 'production'; | ||
| const { parseFeRoutes, transformConfig } = await Promise.resolve().then(() => require('ssr-common-utils')); | ||
| process.env.NODE_ENV = "production"; | ||
| const { parseFeRoutes, transformConfig } = await Promise.resolve().then(() => require("ssr-common-utils")); | ||
| await transformConfig(); | ||
@@ -80,3 +80,3 @@ await parseFeRoutes(); | ||
| spinner.stop(); | ||
| await startOrBuild(argv, 'build'); | ||
| await startOrBuild(argv, "build"); | ||
| }; | ||
@@ -86,4 +86,4 @@ exports.buildFunc = buildFunc; | ||
| var _a; | ||
| process.env.NODE_ENV = 'production'; | ||
| const { judgeServerFramework } = await Promise.resolve().then(() => require('ssr-common-utils')); | ||
| process.env.NODE_ENV = "production"; | ||
| const { judgeServerFramework } = await Promise.resolve().then(() => require("ssr-common-utils")); | ||
| const serverFramework = judgeServerFramework(); | ||
@@ -93,3 +93,3 @@ const { serverPlugin } = await Promise.resolve(`${serverFramework}`).then(s => require(s)); | ||
| if (!(server === null || server === void 0 ? void 0 : server.deploy)) { | ||
| console.log('当前插件不支持 deploy 功能,请使用 ssr-plugin-midway 插件 参考 https://www.yuque.com/midwayjs/faas/migrate_egg 或扫码进群了解'); | ||
| console.log("当前插件不支持 deploy 功能,请使用 ssr-plugin-midway 插件 参考 https://www.yuque.com/midwayjs/faas/migrate_egg 或扫码进群了解"); | ||
| return; | ||
@@ -103,119 +103,110 @@ } | ||
| web: { | ||
| desc: 'only start client plugin' | ||
| desc: "only start client plugin", | ||
| }, | ||
| api: { | ||
| desc: 'only start server plugin' | ||
| } | ||
| desc: "only start server plugin", | ||
| }, | ||
| }; | ||
| yargs | ||
| .command('start', 'Start Server', (yargs) => yargs.options({ | ||
| .command("start", "Start Server", (yargs) => yargs.options({ | ||
| bundleConfig: { | ||
| alias: 'bc', | ||
| desc: 'bundle config.ts dependencies module by esbuild' | ||
| alias: "bc", | ||
| desc: "bundle config.ts dependencies module by esbuild", | ||
| }, | ||
| analyze: { | ||
| alias: 'a', | ||
| desc: 'Analyze bundle result when using webpack for build' | ||
| alias: "a", | ||
| desc: "Analyze bundle result when using webpack for build", | ||
| }, | ||
| tool: { | ||
| desc: 'Start application by vite or rspack', | ||
| choices: ['webpack', 'vite', 'rspack'], | ||
| default: 'webpack' | ||
| desc: "Start application by vite or rspack", | ||
| choices: ["webpack", "vite", "rspack"], | ||
| default: "webpack", | ||
| }, | ||
| viteMode: { | ||
| desc: 'same like vite start --mode' | ||
| desc: "same like vite start --mode", | ||
| }, | ||
| port: { | ||
| desc: 'Setting application server port, default is 3000' | ||
| desc: "Setting application server port, default is 3000", | ||
| }, | ||
| help: { | ||
| alias: 'h', | ||
| desc: 'In midway, use --help to speed up ts compile' | ||
| alias: "h", | ||
| desc: "In midway, use --help to speed up ts compile", | ||
| }, | ||
| nominify: { | ||
| desc: 'Disable minify output file content for debug' | ||
| desc: "Disable minify output file content for debug", | ||
| }, | ||
| sourcemap: { | ||
| desc: 'Set type of generate sourcemap by ssr start --sourcemap xxx' | ||
| desc: "Set type of generate sourcemap by ssr start --sourcemap xxx", | ||
| }, | ||
| 'client-sourcemap': { | ||
| desc: 'Set type of generate sourcemap for client-side code' | ||
| "client-sourcemap": { | ||
| desc: "Set type of generate sourcemap for client-side code", | ||
| }, | ||
| 'server-sourcemap': { | ||
| desc: 'Set type of generate sourcemap for server-side code' | ||
| "server-sourcemap": { | ||
| desc: "Set type of generate sourcemap for server-side code", | ||
| }, | ||
| ...cliDesc | ||
| ...cliDesc, | ||
| }), async (argv) => { | ||
| if (argv.bc) { | ||
| process.env.BUNDLECONFIG = '1'; | ||
| process.env.BUNDLECONFIG = "1"; | ||
| } | ||
| await startFunc(argv); | ||
| }) | ||
| .command('build', 'Build application by webpack or vite', (yargs) => yargs.options({ | ||
| .command("build", "Build application by webpack or vite", (yargs) => yargs.options({ | ||
| bundleConfig: { | ||
| alias: 'bc', | ||
| desc: 'bundle config.ts dependencies module by esbuild' | ||
| alias: "bc", | ||
| desc: "bundle config.ts dependencies module by esbuild", | ||
| }, | ||
| analyze: { | ||
| alias: 'a', | ||
| desc: 'Analyze bundle result when using webpack for build' | ||
| alias: "a", | ||
| desc: "Analyze bundle result when using webpack for build", | ||
| }, | ||
| vite: { | ||
| desc: 'Build application by vite' | ||
| desc: "Build application by vite", | ||
| }, | ||
| viteMode: { | ||
| desc: 'same like vite build --mode' | ||
| desc: "same like vite build --mode", | ||
| }, | ||
| legacy: { | ||
| desc: 'Close default rollup manulChunks setting in vite mode' | ||
| }, | ||
| html: { | ||
| desc: 'Build application as a single html' | ||
| desc: "Build application as a single html", | ||
| }, | ||
| ssg: { | ||
| desc: 'Build with Static Site Generation (Pre Render)' | ||
| desc: "Build with Static Site Generation (Pre Render)", | ||
| }, | ||
| sourcemap: { | ||
| desc: 'Set type of generate sourcemap by build --sourcemap xxx' | ||
| desc: "Set type of generate sourcemap by build --sourcemap xxx", | ||
| }, | ||
| 'client-sourcemap': { | ||
| desc: 'Set type of generate sourcemap for client-side code' | ||
| "client-sourcemap": { | ||
| desc: "Set type of generate sourcemap for client-side code", | ||
| }, | ||
| 'server-sourcemap': { | ||
| desc: 'Set type of generate sourcemap for server-side code' | ||
| "server-sourcemap": { | ||
| desc: "Set type of generate sourcemap for server-side code", | ||
| }, | ||
| nominify: { | ||
| desc: 'Disable minify output file content for debug' | ||
| desc: "Disable minify output file content for debug", | ||
| }, | ||
| ...cliDesc | ||
| ...cliDesc, | ||
| }), async (argv) => { | ||
| const { logWarning } = await Promise.resolve().then(() => require('ssr-common-utils')); | ||
| if (argv.tool === 'vite') { | ||
| logWarning(`ssr build by vite is beta now, if you find some bugs, please submit an issue on https://github.com/zhangyuang/ssr/issues or you can use ssr build --tools vite --legacy which will close manualChunks | ||
| to get a stable bundle result but maybe some performance loss | ||
| `); | ||
| } | ||
| if (argv.bc) { | ||
| process.env.BUNDLECONFIG = '1'; | ||
| process.env.BUNDLECONFIG = "1"; | ||
| } | ||
| await buildFunc(argv); | ||
| }) | ||
| .command('deploy', 'Deploy function to aliyun cloud or tencent cloud', (yargs) => yargs.options({ | ||
| .command("deploy", "Deploy function to aliyun cloud or tencent cloud", (yargs) => yargs.options({ | ||
| tencent: { | ||
| desc: 'deploy application to tencent clound' | ||
| } | ||
| desc: "deploy application to tencent clound", | ||
| }, | ||
| }), async (argv) => { | ||
| await deployFunc(argv); | ||
| }) | ||
| .command('update', 'check dependencies version is latest', {}, async (_argv) => { | ||
| .command("update", "check dependencies version is latest", {}, async (_argv) => { | ||
| spinner.start(); | ||
| const { update } = await Promise.resolve().then(() => require('./update')); | ||
| const { update } = await Promise.resolve().then(() => require("./update")); | ||
| await update(); | ||
| spinner.stop(); | ||
| }) | ||
| .demandCommand(1, 'You need at least one command before moving on') | ||
| .option('version', { | ||
| alias: 'v', | ||
| .demandCommand(1, "You need at least one command before moving on") | ||
| .option("version", { | ||
| alias: "v", | ||
| default: false, | ||
| desc: 'Show current version' | ||
| desc: "Show current version", | ||
| }) | ||
@@ -222,0 +213,0 @@ .fail((msg, err) => { |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,qBA4JxB,CAAA"} | ||
| {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,qBAqMxB,CAAC"} |
+55
-50
@@ -12,6 +12,6 @@ "use strict"; | ||
| // spa 模式下生成 html 文件直接部署 | ||
| const { loadConfig, getCwd, judgeFramework, loadModuleFromCwd, loadModuleFromFramework, logGreen, getAsyncJsChunk, logWarning, getAsyncCssChunk, splitPageInfo, getScriptArr, getStaticConfig } = await Promise.resolve().then(() => require('ssr-common-utils')); | ||
| logGreen('Generating html file...'); | ||
| const { loadConfig, getCwd, judgeFramework, loadModuleFromCwd, loadModuleFromFramework, logGreen, getAsyncJsChunk, logWarning, getAsyncCssChunk, splitPageInfo, getScriptArr, getStaticConfig, } = await Promise.resolve().then(() => require("ssr-common-utils")); | ||
| logGreen("Generating html file..."); | ||
| const cwd = getCwd(); | ||
| const { customeHeadScript, customeFooterScript, hashRouter, htmlTemplate, prefix, clientPrefix, isVite, cssOrderPriority, jsOrderPriority, rootId } = loadConfig(); | ||
| const { customeHeadScript, customeFooterScript, hashRouter, htmlTemplate, prefix, clientPrefix, isVite, cssOrderPriority, jsOrderPriority, rootId, } = loadConfig(); | ||
| const staticConfig = getStaticConfig(); | ||
@@ -39,5 +39,5 @@ const htmlStr = htmlTemplate !== null && htmlTemplate !== void 0 ? htmlTemplate : ` | ||
| const framework = judgeFramework(); | ||
| let jsHeaderManifest = ''; | ||
| let jsFooterManifest = ''; | ||
| const hashRouterScript = hashRouter ? '<script>window.hashRouter=true</script>' : ''; | ||
| let jsHeaderManifest = ""; | ||
| let jsFooterManifest = ""; | ||
| const hashRouterScript = hashRouter ? "<script>window.hashRouter=true</script>" : ""; | ||
| const header = customeHeadScript !== null && customeHeadScript !== void 0 ? customeHeadScript : []; | ||
@@ -49,24 +49,24 @@ const footer = customeFooterScript !== null && customeFooterScript !== void 0 ? customeFooterScript : []; | ||
| arr: getScriptArr(header, mockCtx).concat(getScriptArr((_a = staticConfig.customeHeadScript) !== null && _a !== void 0 ? _a : [], mockCtx)), | ||
| flag: 'header' | ||
| flag: "header", | ||
| }, | ||
| { | ||
| arr: getScriptArr(footer, mockCtx).concat(getScriptArr((_b = staticConfig.customeFooterScript) !== null && _b !== void 0 ? _b : [], mockCtx)), | ||
| flag: 'footer' | ||
| } | ||
| flag: "footer", | ||
| }, | ||
| ]; | ||
| const content = splitPageInfo({ | ||
| 'window.__USE_SSR__': false, | ||
| 'window.__USE_VITE__': isVite, | ||
| 'window.prefix': `"${prefix}"`, | ||
| 'window.clientPrefix': `"${clientPrefix !== null && clientPrefix !== void 0 ? clientPrefix : ''}"`, | ||
| 'window.ssrDevInfo': JSON.stringify(ssrDevInfo) | ||
| "window.__USE_SSR__": false, | ||
| "window.__USE_VITE__": isVite, | ||
| "window.prefix": `"${prefix}"`, | ||
| "window.clientPrefix": `"${clientPrefix !== null && clientPrefix !== void 0 ? clientPrefix : ""}"`, | ||
| "window.ssrDevInfo": JSON.stringify(ssrDevInfo), | ||
| }); | ||
| combine[0].arr = combine[0].arr.concat([ | ||
| { | ||
| content | ||
| } | ||
| content, | ||
| }, | ||
| ]); | ||
| if (framework === 'ssr-plugin-vue3') { | ||
| const { h, Fragment } = await Promise.resolve(`${loadModuleFromFramework('vue')}`).then(s => require(s)); | ||
| const { renderToString } = await Promise.resolve(`${loadModuleFromCwd('@vue/server-renderer')}`).then(s => require(s)); | ||
| if (framework === "ssr-plugin-vue3") { | ||
| const { h, Fragment } = await Promise.resolve(`${loadModuleFromFramework("vue")}`).then(s => require(s)); | ||
| const { renderToString } = await Promise.resolve(`${loadModuleFromCwd("@vue/server-renderer")}`).then(s => require(s)); | ||
| for (const item of combine) { | ||
@@ -76,7 +76,7 @@ const { arr, flag } = item; | ||
| var _a; | ||
| return h('script', Object.assign({}, (_a = item.describe) !== null && _a !== void 0 ? _a : {}, { | ||
| innerHTML: item.content | ||
| return h("script", Object.assign({}, (_a = item.describe) !== null && _a !== void 0 ? _a : {}, { | ||
| innerHTML: item.content, | ||
| })); | ||
| }); | ||
| if (flag === 'header') { | ||
| if (flag === "header") { | ||
| jsHeaderManifest += await renderToString(h(Fragment, {}, scriptArr)); | ||
@@ -89,6 +89,6 @@ } | ||
| } | ||
| if (framework === 'ssr-plugin-vue') { | ||
| const { h } = await Promise.resolve(`${loadModuleFromFramework('vue')}`).then(s => require(s)); | ||
| const Vue = await Promise.resolve(`${loadModuleFromFramework('vue')}`).then(s => require(s)); | ||
| const { createRenderer } = await Promise.resolve(`${loadModuleFromCwd('vue-server-renderer')}`).then(s => require(s)); | ||
| if (framework === "ssr-plugin-vue") { | ||
| const { h } = await Promise.resolve(`${loadModuleFromFramework("vue")}`).then(s => require(s)); | ||
| const Vue = await Promise.resolve(`${loadModuleFromFramework("vue")}`).then(s => require(s)); | ||
| const { createRenderer } = await Promise.resolve(`${loadModuleFromCwd("vue-server-renderer")}`).then(s => require(s)); | ||
| const { renderToString } = createRenderer(); | ||
@@ -101,23 +101,23 @@ for (const item of combine) { | ||
| var _a; | ||
| return h('script', Object.assign({}, (_a = item.describe) !== null && _a !== void 0 ? _a : {}, { | ||
| return h("script", Object.assign({}, (_a = item.describe) !== null && _a !== void 0 ? _a : {}, { | ||
| domProps: { | ||
| innerHTML: item.content | ||
| } | ||
| innerHTML: item.content, | ||
| }, | ||
| })); | ||
| }); | ||
| return scriptArr; | ||
| } | ||
| }, | ||
| }); | ||
| const scriptStr = await renderToString(app); | ||
| if (flag === 'header') { | ||
| jsHeaderManifest += scriptStr.replace('data-server-rendered="true"', ''); | ||
| if (flag === "header") { | ||
| jsHeaderManifest += scriptStr.replace('data-server-rendered="true"', ""); | ||
| } | ||
| else { | ||
| jsFooterManifest += scriptStr.replace('data-server-rendered="true"', ''); | ||
| jsFooterManifest += scriptStr.replace('data-server-rendered="true"', ""); | ||
| } | ||
| } | ||
| } | ||
| if (framework === 'ssr-plugin-react') { | ||
| const { createElement: h, Fragment } = await Promise.resolve(`${loadModuleFromFramework('react')}`).then(s => require(s)); | ||
| const { renderToString } = await Promise.resolve(`${loadModuleFromFramework('react-dom/server')}`).then(s => require(s)); | ||
| if (framework === "ssr-plugin-react") { | ||
| const { createElement: h, Fragment } = await Promise.resolve(`${loadModuleFromFramework("react")}`).then(s => require(s)); | ||
| const { renderToString } = await Promise.resolve(`${loadModuleFromFramework("react-dom/server")}`).then(s => require(s)); | ||
| for (const item of combine) { | ||
@@ -127,23 +127,23 @@ const { arr, flag } = item; | ||
| var _a; | ||
| return h('script', Object.assign({}, (_a = item.describe) !== null && _a !== void 0 ? _a : {}, { | ||
| return h("script", Object.assign({}, (_a = item.describe) !== null && _a !== void 0 ? _a : {}, { | ||
| dangerouslySetInnerHTML: { | ||
| __html: item.content | ||
| } | ||
| __html: item.content, | ||
| }, | ||
| })); | ||
| }); | ||
| if (flag === 'header') { | ||
| jsHeaderManifest += (await renderToString(h(Fragment, {}, scriptArr))).replace('data-reactroot=""', ''); | ||
| if (flag === "header") { | ||
| jsHeaderManifest += (await renderToString(h(Fragment, {}, scriptArr))).replace('data-reactroot=""', ""); | ||
| } | ||
| else { | ||
| jsFooterManifest += (await renderToString(h(Fragment, {}, scriptArr))).replace('data-reactroot=""', ''); | ||
| jsFooterManifest += (await renderToString(h(Fragment, {}, scriptArr))).replace('data-reactroot=""', ""); | ||
| } | ||
| } | ||
| } | ||
| const manifest = require((0, path_1.join)(cwd, './build/client/asset-manifest.json')); | ||
| const jsOrder = await getAsyncJsChunk(mockCtx, '', loadConfig()); | ||
| const manifest = require((0, path_1.join)(cwd, "./build/client/asset-manifest.json")); | ||
| const jsOrder = await getAsyncJsChunk(mockCtx, "", loadConfig()); | ||
| const jsManifest = jsOrder | ||
| .map((item) => manifest[item]) | ||
| .filter(Boolean) | ||
| .map((item) => `<script src="${item}" ${isVite ? 'type="module"' : ''}></script>`); | ||
| const cssOrder = await getAsyncCssChunk(mockCtx, '', loadConfig()); | ||
| .map((item) => `<script src="${item}" ${isVite ? 'type="module"' : ""}></script>`); | ||
| const cssOrder = await getAsyncCssChunk(mockCtx, "", loadConfig()); | ||
| const cssManifest = cssOrder | ||
@@ -153,9 +153,14 @@ .map((item) => manifest[item]) | ||
| .map((item) => `<link rel='stylesheet' href="${item}" />`); | ||
| if (typeof cssOrderPriority === 'function' || typeof jsOrderPriority === 'function') { | ||
| logWarning('Notices: orderPriority cannot get chunkName in spa html build, you will get chunkName as undefined'); | ||
| if (typeof cssOrderPriority === "function" || typeof jsOrderPriority === "function") { | ||
| logWarning("Notices: orderPriority cannot get chunkName in spa html build, you will get chunkName as undefined"); | ||
| } | ||
| const generateHtmlStr = htmlStr.replace('cssInject', cssManifest.join('')).replace('jsManifest', jsManifest.join('')).replace('jsHeaderManifest', jsHeaderManifest).replace('jsFooterManifest', jsFooterManifest).replace('hashRouterScript', hashRouterScript); | ||
| await fs_1.promises.writeFile((0, path_1.join)(cwd, './build/index.html'), generateHtmlStr); | ||
| const generateHtmlStr = htmlStr | ||
| .replace("cssInject", cssManifest.join("")) | ||
| .replace("jsManifest", jsManifest.join("")) | ||
| .replace("jsHeaderManifest", jsHeaderManifest) | ||
| .replace("jsFooterManifest", jsFooterManifest) | ||
| .replace("hashRouterScript", hashRouterScript); | ||
| await fs_1.promises.writeFile((0, path_1.join)(cwd, "./build/index.html"), generateHtmlStr); | ||
| }; | ||
| exports.generateHtml = generateHtml; | ||
| //# sourceMappingURL=html.js.map |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"html.js","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"html.js","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"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"} |
+2
-2
@@ -1,3 +0,3 @@ | ||
| export * from 'ssr-types'; | ||
| export * from './cli'; | ||
| export * from "ssr-types"; | ||
| export * from "./cli"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC"} |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,wCAAqB"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,wCAAsB"} |
@@ -1,3 +0,3 @@ | ||
| import { Argv } from 'ssr-types'; | ||
| import { Argv } from "ssr-types"; | ||
| export declare const handleEnv: (argv: Argv) => Promise<void>; | ||
| //# sourceMappingURL=preprocess.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"preprocess.d.ts","sourceRoot":"","sources":["../src/preprocess.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAIhC,eAAO,MAAM,SAAS,GAAU,MAAM,IAAI,kBAsDzC,CAAA"} | ||
| {"version":3,"file":"preprocess.d.ts","sourceRoot":"","sources":["../src/preprocess.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,eAAO,MAAM,SAAS,GAAU,MAAM,IAAI,kBA+DzC,CAAC"} |
+25
-18
@@ -11,4 +11,4 @@ "use strict"; | ||
| await (0, clean_1.cleanOutDir)(argv); | ||
| process.env.BUILD_TOOL = argv.tool || 'webpack'; | ||
| const { loadConfig, getCwd, accessFile } = await Promise.resolve().then(() => require('ssr-common-utils')); | ||
| process.env.BUILD_TOOL = argv.tool || "webpack"; | ||
| const { loadConfig, getCwd, accessFile } = await Promise.resolve().then(() => require("ssr-common-utils")); | ||
| const cwd = getCwd(); | ||
@@ -18,6 +18,14 @@ if (!(await accessFile((0, path_1.resolve)(cwd, `./node_modules/ssr-${process.env.BUILD_TOOL}`)))) { | ||
| } | ||
| if (process.env.BUILD_TOOL === 'vite') { | ||
| (0, shelljs_1.mkdir)('-p', (0, path_1.resolve)(cwd, './build')); | ||
| await fs_1.promises.writeFile((0, path_1.resolve)(cwd, './build/tag.json'), JSON.stringify({ | ||
| BUILD_TOOL: process.env.BUILD_TOOL | ||
| if (process.env.BUILD_TOOL === "vite") { | ||
| const pkg = require((0, path_1.resolve)(cwd, "./package.json")); | ||
| const allDeps = { ...pkg.dependencies, ...pkg.devDependencies }; | ||
| if (!allDeps.vite || !allDeps.vite.includes("rolldown-vite")) { | ||
| console.warn('\x1b[33m[ssr-vite] Warning: "vite" is not aliased to "rolldown-vite" in your package.json.\n' + | ||
| "Please add the following to your package.json dependencies or devDependencies:\n\n" + | ||
| ' "vite": "npm:rolldown-vite@latest"\n\n' + | ||
| "Then run `yarn install` to install it. We recommend using yarn as the package manager.\x1b[0m\n"); | ||
| } | ||
| (0, shelljs_1.mkdir)("-p", (0, path_1.resolve)(cwd, "./build")); | ||
| await fs_1.promises.writeFile((0, path_1.resolve)(cwd, "./build/tag.json"), JSON.stringify({ | ||
| BUILD_TOOL: process.env.BUILD_TOOL, | ||
| }, null, 2)); | ||
@@ -27,6 +35,8 @@ } | ||
| if (argv.ssg) { | ||
| process.env.SSG = '1'; | ||
| process.env.SSG = "1"; | ||
| } | ||
| if (isDev) { | ||
| process.env.GENERATE_SOURCEMAP = clientPrefix ? 'inline-cheap-module-source-map' : 'cheap-module-source-map'; | ||
| process.env.GENERATE_SOURCEMAP = clientPrefix | ||
| ? "inline-cheap-module-source-map" | ||
| : "cheap-module-source-map"; | ||
| } | ||
@@ -36,15 +46,12 @@ if (argv.sourcemap) { | ||
| } | ||
| process.env.CLIENT_SOURCEMAP = (_a = argv['client-sourcemap']) !== null && _a !== void 0 ? _a : process.env.GENERATE_SOURCEMAP; | ||
| process.env.SERVER_SOURCEMAP = (_b = argv['server-sourcemap']) !== null && _b !== void 0 ? _b : process.env.GENERATE_SOURCEMAP; | ||
| process.env.CLIENT_SOURCEMAP = (_a = argv["client-sourcemap"]) !== null && _a !== void 0 ? _a : process.env.GENERATE_SOURCEMAP; | ||
| process.env.SERVER_SOURCEMAP = (_b = argv["server-sourcemap"]) !== null && _b !== void 0 ? _b : process.env.GENERATE_SOURCEMAP; | ||
| if (argv.analyze) { | ||
| process.env.GENERATE_ANALYSIS = '1'; | ||
| process.env.GENERATE_ANALYSIS = "1"; | ||
| } | ||
| if (argv.html) { | ||
| process.env.SPA = '1'; | ||
| process.env.SPA = "1"; | ||
| } | ||
| if (argv.legacy) { | ||
| process.env.LEGACY_VITE = '1'; | ||
| } | ||
| if (argv.nominify) { | ||
| process.env.NOMINIFY = '1'; | ||
| process.env.NOMINIFY = "1"; | ||
| } | ||
@@ -54,5 +61,5 @@ if (argv.viteMode) { | ||
| } | ||
| process.env.SERVER_PORT = argv.port ? String(argv.port) : '3000'; | ||
| process.env.SERVER_PORT = argv.port ? String(argv.port) : "3000"; | ||
| if (!!https && isDev) { | ||
| process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; | ||
| process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; | ||
| } | ||
@@ -59,0 +66,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"preprocess.js","sourceRoot":"","sources":["../src/preprocess.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"preprocess.js","sourceRoot":"","sources":["../src/preprocess.ts"],"names":[],"mappings":"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"} |
+1
-1
| declare const spinner: any; | ||
| interface Message { | ||
| message: 'start' | 'stop'; | ||
| message: "start" | "stop"; | ||
| } | ||
| //# sourceMappingURL=spinner.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../src/spinner.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,OAAO,KAA6B,CAAA;AAE1C,UAAU,OAAO;IAChB,OAAO,EAAE,OAAO,GAAG,MAAM,CAAA;CACzB"} | ||
| {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../src/spinner.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,OAAO,KAA6B,CAAC;AAE3C,UAAU,OAAO;IACf,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;CAC3B"} |
+3
-3
| "use strict"; | ||
| const spinner = require('ora')('Starting'); | ||
| process.on('message', (data) => { | ||
| const spinner = require("ora")("Starting"); | ||
| process.on("message", (data) => { | ||
| const { message } = data; | ||
| if (message === 'start') { | ||
| if (message === "start") { | ||
| spinner.start(); | ||
@@ -7,0 +7,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../src/spinner.ts"],"names":[],"mappings":";AAAA,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAA;AAM1C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE;IACvC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IACxB,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,EAAE,CAAA;IAChB,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,IAAI,EAAE,CAAA;IACf,CAAC;AACF,CAAC,CAAC,CAAA"} | ||
| {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../src/spinner.ts"],"names":[],"mappings":";AAAA,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;AAM3C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE;IACtC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzB,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;AACH,CAAC,CAAC,CAAC"} |
+1
-1
@@ -1,3 +0,3 @@ | ||
| import type { Argv } from 'ssr-types'; | ||
| import type { Argv } from "ssr-types"; | ||
| export declare const ssg: (argv: Argv) => Promise<void>; | ||
| //# sourceMappingURL=ssg.d.ts.map |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"ssg.d.ts","sourceRoot":"","sources":["../src/ssg.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErC,eAAO,MAAM,GAAG,GAAU,MAAM,IAAI,kBAyBnC,CAAA"} | ||
| {"version":3,"file":"ssg.d.ts","sourceRoot":"","sources":["../src/ssg.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,eAAO,MAAM,GAAG,GAAU,MAAM,IAAI,kBAyBnC,CAAC"} |
+3
-3
@@ -10,3 +10,3 @@ "use strict"; | ||
| } | ||
| const { loadConfig, getCwd, logGreen } = await Promise.resolve().then(() => require('ssr-common-utils')); | ||
| const { loadConfig, getCwd, logGreen } = await Promise.resolve().then(() => require("ssr-common-utils")); | ||
| const config = loadConfig(); | ||
@@ -22,5 +22,5 @@ const { chunkName } = config; | ||
| path: path, | ||
| url: path | ||
| url: path, | ||
| }, | ||
| desc: "It's a mock context" | ||
| desc: "It's a mock context", | ||
| }; | ||
@@ -27,0 +27,0 @@ const res = await serverRender(mockCtx, Object.assign(config, { stream: false })); |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"ssg.js","sourceRoot":"","sources":["../src/ssg.ts"],"names":[],"mappings":";;;AAAA,2BAA6B;AAC7B,+BAA8B;AAGvB,MAAM,GAAG,GAAG,KAAK,EAAE,IAAU,EAAE,EAAE;IACvC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACf,OAAM;IACP,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,2CAAa,kBAAkB,EAAC,CAAA;IACzE,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;IAC3B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;IAC5B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;IACpB,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE,kBAAkB,SAAS,YAAY,CAAC,CAAA;IACxE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACpD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAA;QACvC,MAAM,OAAO,GAAG;YACf,OAAO,EAAE;gBACR,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE,IAAI;aACT;YACD,IAAI,EAAE,qBAAqB;SAC3B,CAAA;QACD,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QACjF,MAAM,OAAO,GAAW,GAAG,CAAC,IAAI,IAAI,GAAG,CAAA;QACvC,MAAM,QAAQ,GAAG,kBAAkB,gBAAgB,OAAO,CAAA;QAC1D,MAAM,aAAQ,CAAC,SAAS,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAA;QACzD,QAAQ,CAAC,aAAa,IAAI,iBAAiB,QAAQ,EAAE,CAAC,CAAA;IACvD,CAAC;AACF,CAAC,CAAA;AAzBY,QAAA,GAAG,OAyBf"} | ||
| {"version":3,"file":"ssg.js","sourceRoot":"","sources":["../src/ssg.ts"],"names":[],"mappings":";;;AAAA,2BAA8B;AAC9B,+BAA+B;AAGxB,MAAM,GAAG,GAAG,KAAK,EAAE,IAAU,EAAE,EAAE;IACtC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,2CAAa,kBAAkB,EAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAC7B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,UAAU,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE,kBAAkB,SAAS,YAAY,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;QACxC,MAAM,OAAO,GAAG;YACd,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE,IAAI;aACV;YACD,IAAI,EAAE,qBAAqB;SAC5B,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,OAAO,GAAW,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC;QACxC,MAAM,QAAQ,GAAG,kBAAkB,gBAAgB,OAAO,CAAC;QAC3D,MAAM,aAAQ,CAAC,SAAS,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QAC1D,QAAQ,CAAC,aAAa,IAAI,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC,CAAC;AAzBW,QAAA,GAAG,OAyBd"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM,qBAuBlB,CAAA"} | ||
| {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM,qBA+BlB,CAAC"} |
+4
-4
@@ -9,3 +9,3 @@ "use strict"; | ||
| const cwd = (0, ssr_common_utils_1.getCwd)(); | ||
| const { dependencies, devDependencies } = require((0, path_1.resolve)(cwd, './package.json')); | ||
| const { dependencies, devDependencies } = require((0, path_1.resolve)(cwd, "./package.json")); | ||
| const d = Object.assign({}, dependencies, devDependencies); | ||
@@ -16,7 +16,7 @@ const needCheck = Object.keys(d).filter((item) => ssr_common_utils_1.ssrPackages.includes(item)); | ||
| const currentVersion = require((0, path_1.resolve)(cwd, `./node_modules/${item.data.name}/package.json`)).version; | ||
| const lastestVersion = item.data['dist-tags'].latest; | ||
| const lastestVersion = item.data["dist-tags"].latest; | ||
| if (lastestVersion !== currentVersion) { | ||
| res[item.data.name] = { | ||
| currentVersion, | ||
| lastestVersion | ||
| lastestVersion, | ||
| }; | ||
@@ -26,3 +26,3 @@ } | ||
| if (Object.keys(res).length === 0) { | ||
| (0, ssr_common_utils_1.logGreen)('All ssr dpendencies is latest!'); | ||
| (0, ssr_common_utils_1.logGreen)("All ssr dpendencies is latest!"); | ||
| } | ||
@@ -29,0 +29,0 @@ else { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":";;;AAAA,+BAA8B;AAC9B,iCAAyB;AACzB,uDAAgE;AAEzD,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;IAChC,MAAM,GAAG,GAAG,IAAA,yBAAM,GAAE,CAAA;IACpB,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACjF,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,eAAe,CAAC,CAAA;IAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,8BAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7E,MAAM,GAAG,GAAuE,EAAE,CAAA;IAClF,MAAM,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,eAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1H,MAAM,cAAc,GAAG,OAAO,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,kBAAkB,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,OAAO,CAAA;QACrG,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAA;QACpD,IAAI,cAAc,KAAK,cAAc,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACrB,cAAc;gBACd,cAAc;aACd,CAAA;QACF,CAAC;IACF,CAAC,CAAC,CAAA;IACF,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,IAAA,2BAAQ,EAAC,gCAAgC,CAAC,CAAA;IAC3C,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC5C,IAAA,2BAAQ,EAAC,GAAG,GAAG,uBAAuB,KAAK,CAAC,cAAc,sBAAsB,KAAK,CAAC,cAAc,EAAE,CAAC,CAAA;QACxG,CAAC,CAAC,CAAA;IACH,CAAC;AACF,CAAC,CAAA;AAvBY,QAAA,MAAM,UAuBlB"} | ||
| {"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,iCAA0B;AAC1B,uDAAiE;AAE1D,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;IAC/B,MAAM,GAAG,GAAG,IAAA,yBAAM,GAAE,CAAC;IACrB,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAA,cAAO,EAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAClF,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,8BAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAuE,EAAE,CAAC;IACnF,MAAM,CACJ,MAAM,OAAO,CAAC,GAAG,CACf,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,eAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,CAC/E,CACF,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACjB,MAAM,cAAc,GAAG,OAAO,CAC5B,IAAA,cAAO,EAAC,GAAG,EAAE,kBAAkB,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,CAC9D,CAAC,OAAO,CAAC;QACV,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;QACrD,IAAI,cAAc,KAAK,cAAc,EAAE,CAAC;YACtC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACpB,cAAc;gBACd,cAAc;aACf,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,IAAA,2BAAQ,EAAC,gCAAgC,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC3C,IAAA,2BAAQ,EACN,GAAG,GAAG,uBAAuB,KAAK,CAAC,cAAc,sBAAsB,KAAK,CAAC,cAAc,EAAE,CAC9F,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AA/BW,QAAA,MAAM,UA+BjB"} |
+2
-2
@@ -1,5 +0,5 @@ | ||
| import * as chokidar from 'chokidar'; | ||
| import type { FSWatcher } from 'chokidar'; | ||
| import * as chokidar from "chokidar"; | ||
| import type { FSWatcher } from "chokidar"; | ||
| export declare const createWatcher: () => Promise<chokidar.FSWatcher>; | ||
| export declare const onWatcher: (watcher: FSWatcher) => Promise<void>; | ||
| //# sourceMappingURL=watcher.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,eAAO,MAAM,aAAa,mCAQzB,CAAA;AAED,eAAO,MAAM,SAAS,GAAU,SAAS,SAAS,kBAmBjD,CAAA"} | ||
| {"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,eAAO,MAAM,aAAa,mCAQzB,CAAC;AAEF,eAAO,MAAM,SAAS,GAAU,SAAS,SAAS,kBAmBjD,CAAC"} |
+11
-11
@@ -6,7 +6,7 @@ "use strict"; | ||
| const createWatcher = async () => { | ||
| const { getPagesDir } = await Promise.resolve().then(() => require('ssr-common-utils')); | ||
| const { getPagesDir } = await Promise.resolve().then(() => require("ssr-common-utils")); | ||
| const pageDir = getPagesDir(); | ||
| const watcher = chokidar.watch(pageDir, { | ||
| ignored: /.(less|css|scss)/, // ignore style files | ||
| persistent: true | ||
| persistent: true, | ||
| }); | ||
@@ -17,19 +17,19 @@ return watcher; | ||
| const onWatcher = async (watcher) => { | ||
| const { parseFeRoutes, logGreen, logErr } = await Promise.resolve().then(() => require('ssr-common-utils')); | ||
| const { parseFeRoutes, logGreen, logErr } = await Promise.resolve().then(() => require("ssr-common-utils")); | ||
| watcher | ||
| .on('add', async (path) => { | ||
| .on("add", async (path) => { | ||
| logGreen(`File ${path} has been added ParseFeRoutes reload`); | ||
| await parseFeRoutes().catch((err) => logErr('ParseFeRoutes Error' + err)); | ||
| await parseFeRoutes().catch((err) => logErr("ParseFeRoutes Error" + err)); | ||
| }) | ||
| .on('addDir', async (path) => { | ||
| .on("addDir", async (path) => { | ||
| logGreen(`Dir ${path} has been added ParseFeRoutes reload`); | ||
| await parseFeRoutes().catch((err) => logErr('ParseFeRoutes Error' + err)); | ||
| await parseFeRoutes().catch((err) => logErr("ParseFeRoutes Error" + err)); | ||
| }) | ||
| .on('unlink', async (path) => { | ||
| .on("unlink", async (path) => { | ||
| logGreen(`File ${path} has been deleted ParseFeRoutes reload`); | ||
| await parseFeRoutes().catch((err) => logErr('ParseFeRoutes Error' + err)); | ||
| await parseFeRoutes().catch((err) => logErr("ParseFeRoutes Error" + err)); | ||
| }) | ||
| .on('unlinkDir', async (path) => { | ||
| .on("unlinkDir", async (path) => { | ||
| logGreen(`Dir ${path} has been deleted ParseFeRoutes reload`); | ||
| await parseFeRoutes().catch((err) => logErr('ParseFeRoutes Error' + err)); | ||
| await parseFeRoutes().catch((err) => logErr("ParseFeRoutes Error" + err)); | ||
| }); | ||
@@ -36,0 +36,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAE7B,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;IACvC,MAAM,EAAE,WAAW,EAAE,GAAG,2CAAa,kBAAkB,EAAC,CAAA;IACxD,MAAM,OAAO,GAAG,WAAW,EAAE,CAAA;IAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE;QACvC,OAAO,EAAE,kBAAkB,EAAE,qBAAqB;QAClD,UAAU,EAAE,IAAI;KAChB,CAAC,CAAA;IACF,OAAO,OAAO,CAAA;AACf,CAAC,CAAA;AARY,QAAA,aAAa,iBAQzB;AAEM,MAAM,SAAS,GAAG,KAAK,EAAE,OAAkB,EAAE,EAAE;IACrD,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,2CAAa,kBAAkB,EAAC,CAAA;IAC5E,OAAO;SACL,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACzB,QAAQ,CAAC,QAAQ,IAAI,sCAAsC,CAAC,CAAA;QAC5D,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAA;IAC1E,CAAC,CAAC;SACD,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC5B,QAAQ,CAAC,OAAO,IAAI,sCAAsC,CAAC,CAAA;QAC3D,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAA;IAC1E,CAAC,CAAC;SACD,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC5B,QAAQ,CAAC,QAAQ,IAAI,wCAAwC,CAAC,CAAA;QAC9D,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAA;IAC1E,CAAC,CAAC;SACD,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC/B,QAAQ,CAAC,OAAO,IAAI,wCAAwC,CAAC,CAAA;QAC7D,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAA;IAC1E,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAnBY,QAAA,SAAS,aAmBrB"} | ||
| {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AAE9B,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;IACtC,MAAM,EAAE,WAAW,EAAE,GAAG,2CAAa,kBAAkB,EAAC,CAAC;IACzD,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE;QACtC,OAAO,EAAE,kBAAkB,EAAE,qBAAqB;QAClD,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AARW,QAAA,aAAa,iBAQxB;AAEK,MAAM,SAAS,GAAG,KAAK,EAAE,OAAkB,EAAE,EAAE;IACpD,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,2CAAa,kBAAkB,EAAC,CAAC;IAC7E,OAAO;SACJ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACxB,QAAQ,CAAC,QAAQ,IAAI,sCAAsC,CAAC,CAAC;QAC7D,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC;SACD,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,QAAQ,CAAC,OAAO,IAAI,sCAAsC,CAAC,CAAC;QAC5D,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC;SACD,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,QAAQ,CAAC,QAAQ,IAAI,wCAAwC,CAAC,CAAC;QAC/D,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC;SACD,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC9B,QAAQ,CAAC,OAAO,IAAI,wCAAwC,CAAC,CAAC;QAC9D,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAnBW,QAAA,SAAS,aAmBpB"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"add-chunk-name.d.ts","sourceRoot":"","sources":["../src/add-chunk-name.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,WAgBjD,CAAA;AAED,eAAO,MAAM,oBAAoB,qBAOhC,CAAA"} | ||
| {"version":3,"file":"add-chunk-name.d.ts","sourceRoot":"","sources":["../src/add-chunk-name.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,WAmBjD,CAAC;AAEF,eAAO,MAAM,oBAAoB,qBAmBhC,CAAC"} |
+13
-13
@@ -1,5 +0,5 @@ | ||
| import { promises } from 'fs'; | ||
| import { resolve } from 'path'; | ||
| import { parse as parseImports } from 'es-module-lexer'; | ||
| import MagicString from 'magic-string'; | ||
| import { promises } from "fs"; | ||
| import { resolve } from "path"; | ||
| import { parse as parseImports } from "es-module-lexer"; | ||
| import MagicString from "magic-string"; | ||
| const webpackCommentRegExp = /webpackChunkName:\s?"(.*)?"\s?\*/; | ||
@@ -14,10 +14,10 @@ export const addChunkNameInQuery = (source) => { | ||
| const chunkName = (_a = webpackCommentRegExp.exec(rawUrl)) === null || _a === void 0 ? void 0 : _a[1]; | ||
| if (rawUrl.includes('layout') || rawUrl.includes('App') || rawUrl.includes('store')) { | ||
| str = str.appendRight(statementEnd - 1, '?chunkName=Page'); | ||
| if (rawUrl.includes("layout") || rawUrl.includes("App") || rawUrl.includes("store")) { | ||
| str = str.appendRight(statementEnd - 1, "?chunkName=Page"); | ||
| } | ||
| else if (chunkName) { | ||
| str = str.appendRight(statementEnd - (rawUrl.includes('\n') ? 2 : 1), `?chunkName=${chunkName}`); | ||
| str = str.appendRight(statementEnd - (rawUrl.includes("\n") ? 2 : 1), `?chunkName=${chunkName}`); | ||
| } | ||
| else { | ||
| str = str.appendRight(statementEnd - 1, '?chunkName=Page'); | ||
| str = str.appendRight(statementEnd - 1, "?chunkName=Page"); | ||
| } | ||
@@ -28,9 +28,9 @@ } | ||
| export const addChunkNameInRoutes = async () => { | ||
| const { getCwd } = await import('ssr-common-utils'); | ||
| const { getCwd } = await import("ssr-common-utils"); | ||
| const cwd = getCwd(); | ||
| const declareRoutes = await promises.readFile(resolve(cwd, './build/ssr-declare-routes.js'), 'utf-8'); | ||
| await promises.writeFile(resolve(cwd, './build/ssr-declare-routes.js'), addChunkNameInQuery(declareRoutes)); | ||
| const manualRoutes = await promises.readFile(resolve(cwd, './build/ssr-manual-routes.js'), 'utf-8'); | ||
| await promises.writeFile(resolve(cwd, './build/ssr-manual-routes.js'), addChunkNameInQuery(manualRoutes)); | ||
| const declareRoutes = await promises.readFile(resolve(cwd, "./build/ssr-declare-routes.js"), "utf-8"); | ||
| await promises.writeFile(resolve(cwd, "./build/ssr-declare-routes.js"), addChunkNameInQuery(declareRoutes)); | ||
| const manualRoutes = await promises.readFile(resolve(cwd, "./build/ssr-manual-routes.js"), "utf-8"); | ||
| await promises.writeFile(resolve(cwd, "./build/ssr-manual-routes.js"), addChunkNameInQuery(manualRoutes)); | ||
| }; | ||
| //# sourceMappingURL=add-chunk-name.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"add-chunk-name.js","sourceRoot":"","sources":["../src/add-chunk-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,WAAW,MAAM,cAAc,CAAA;AAEtC,MAAM,oBAAoB,GAAG,kCAAkC,CAAA;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,EAAE;;IACrD,IAAI,GAAG,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;IACjC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACvC,MAAM,SAAS,GAAG,MAAA,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,0CAAG,CAAC,CAAC,CAAA;QACxD,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACrF,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,GAAG,CAAC,EAAE,iBAAiB,CAAC,CAAA;QAC3D,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACtB,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,SAAS,EAAE,CAAC,CAAA;QACjG,CAAC;aAAM,CAAC;YACP,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,GAAG,CAAC,EAAE,iBAAiB,CAAC,CAAA;QAC3D,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE;IAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;IACnD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;IACpB,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,+BAA+B,CAAC,EAAE,OAAO,CAAC,CAAA;IACrG,MAAM,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,+BAA+B,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAA;IAC3G,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,8BAA8B,CAAC,EAAE,OAAO,CAAC,CAAA;IACnG,MAAM,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,8BAA8B,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAA;AAC1G,CAAC,CAAA"} | ||
| {"version":3,"file":"add-chunk-name.js","sourceRoot":"","sources":["../src/add-chunk-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,WAAW,MAAM,cAAc,CAAC;AAEvC,MAAM,oBAAoB,GAAG,kCAAkC,CAAC;AAChE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,EAAE;;IACpD,IAAI,GAAG,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACpD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,MAAA,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,0CAAG,CAAC,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACpF,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,GAAG,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,GAAG,GAAG,GAAG,CAAC,WAAW,CACnB,YAAY,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9C,cAAc,SAAS,EAAE,CAC1B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,GAAG,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE;IAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAC3C,OAAO,CAAC,GAAG,EAAE,+BAA+B,CAAC,EAC7C,OAAO,CACR,CAAC;IACF,MAAM,QAAQ,CAAC,SAAS,CACtB,OAAO,CAAC,GAAG,EAAE,+BAA+B,CAAC,EAC7C,mBAAmB,CAAC,aAAa,CAAC,CACnC,CAAC;IACF,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAC1C,OAAO,CAAC,GAAG,EAAE,8BAA8B,CAAC,EAC5C,OAAO,CACR,CAAC;IACF,MAAM,QAAQ,CAAC,SAAS,CACtB,OAAO,CAAC,GAAG,EAAE,8BAA8B,CAAC,EAC5C,mBAAmB,CAAC,YAAY,CAAC,CAClC,CAAC;AACJ,CAAC,CAAC"} |
+1
-1
@@ -1,3 +0,3 @@ | ||
| import type { Argv } from 'ssr-types'; | ||
| import type { Argv } from "ssr-types"; | ||
| export declare const cleanOutDir: (argv: Argv) => Promise<void>; | ||
| //# sourceMappingURL=clean.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../src/clean.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErC,eAAO,MAAM,WAAW,GAAU,MAAM,IAAI,kBA4B3C,CAAA"} | ||
| {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../src/clean.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,eAAO,MAAM,WAAW,GAAU,MAAM,IAAI,kBA4B3C,CAAC"} |
+14
-14
@@ -1,12 +0,12 @@ | ||
| import { promises } from 'fs'; | ||
| import { resolve } from 'path'; | ||
| import { mkdir, rm } from 'shelljs'; | ||
| import { promises } from "fs"; | ||
| import { resolve } from "path"; | ||
| import { mkdir, rm } from "shelljs"; | ||
| export const cleanOutDir = async (argv) => { | ||
| const { accessFile, getCwd } = await import('ssr-common-utils'); | ||
| const { accessFile, getCwd } = await import("ssr-common-utils"); | ||
| const cwd = getCwd(); | ||
| const staticConfigPath = resolve(cwd, './build/staticConfig.js'); | ||
| if (!(await accessFile(resolve(cwd, './build')))) { | ||
| mkdir(resolve(cwd, './build')); | ||
| const staticConfigPath = resolve(cwd, "./build/staticConfig.js"); | ||
| if (!(await accessFile(resolve(cwd, "./build")))) { | ||
| mkdir(resolve(cwd, "./build")); | ||
| } | ||
| const buildDir = await promises.readdir(resolve(cwd, './build')); | ||
| const buildDir = await promises.readdir(resolve(cwd, "./build")); | ||
| if (argv.noclean) { | ||
@@ -18,15 +18,15 @@ return; | ||
| if (fpath !== staticConfigPath) { | ||
| rm('-rf', fpath); | ||
| rm("-rf", fpath); | ||
| } | ||
| } | ||
| // clean dist folder | ||
| const tsconfigExist = await accessFile(resolve(cwd, './tsconfig.json')); | ||
| if (tsconfigExist && process.env.CLEAN !== 'false') { | ||
| const tsconfigExist = await accessFile(resolve(cwd, "./tsconfig.json")); | ||
| if (tsconfigExist && process.env.CLEAN !== "false") { | ||
| try { | ||
| const outDir = require(resolve(cwd, './tsconfig.json')).compilerOptions.outDir; | ||
| rm('-rf', resolve(cwd, outDir)); | ||
| const outDir = require(resolve(cwd, "./tsconfig.json")).compilerOptions.outDir; | ||
| rm("-rf", resolve(cwd, outDir)); | ||
| } | ||
| catch (_error) { | ||
| // 有可能 json 文件存在注释导致 require 失败,这里 catch 一下 | ||
| console.log('检测到当前目录 tsconfig.json 文件可能存在语法错误'); | ||
| console.log("检测到当前目录 tsconfig.json 文件可能存在语法错误"); | ||
| } | ||
@@ -33,0 +33,0 @@ } |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"clean.js","sourceRoot":"","sources":["../src/clean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAGnC,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,IAAU,EAAE,EAAE;IAC/C,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAC/D,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;IACpB,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAA;IAChE,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAA;IAC/B,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAA;IAChE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,OAAM;IACP,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC,CAAA;QAC1C,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;YAChC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACjB,CAAC;IACF,CAAC;IACD,oBAAoB;IACpB,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAA;IACvE,IAAI,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QACpD,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAA;YAC9E,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;QAChC,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YACjB,2CAA2C;YAC3C,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;QAChD,CAAC;IACF,CAAC;AACF,CAAC,CAAA"} | ||
| {"version":3,"file":"clean.js","sourceRoot":"","sources":["../src/clean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAGpC,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,IAAU,EAAE,EAAE;IAC9C,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;IACjE,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IACjE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;YAC/B,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,oBAAoB;IACpB,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACxE,IAAI,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC;YAC/E,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,2CAA2C;YAC3C,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;AACH,CAAC,CAAC"} |
+1
-1
| #!/usr/bin/env node | ||
| import { Argv } from 'ssr-types'; | ||
| import { Argv } from "ssr-types"; | ||
| declare const startFunc: (argv: Argv) => Promise<void>; | ||
@@ -4,0 +4,0 @@ declare const buildFunc: (argv: Argv) => Promise<void>; |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,IAAI,EAAW,MAAM,WAAW,CAAA;AA6CzC,QAAA,MAAM,SAAS,GAAU,MAAM,IAAI,kBAiBlC,CAAA;AAED,QAAA,MAAM,SAAS,GAAU,MAAM,IAAI,kBAUlC,CAAA;AAED,QAAA,MAAM,UAAU,GAAU,MAAM,IAAI,kBAYnC,CAAA;AAsJD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA"} | ||
| {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,IAAI,EAAW,MAAM,WAAW,CAAC;AA8C1C,QAAA,MAAM,SAAS,GAAU,MAAM,IAAI,kBAiBlC,CAAC;AAEF,QAAA,MAAM,SAAS,GAAU,MAAM,IAAI,kBAUlC,CAAC;AAEF,QAAA,MAAM,UAAU,GAAU,MAAM,IAAI,kBAcnC,CAAC;AA6IF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC"} |
+78
-87
| #!/usr/bin/env node | ||
| import { fork } from 'child_process'; | ||
| import { resolve } from 'path'; | ||
| import * as yargs from 'yargs'; | ||
| import { generateHtml } from './html'; | ||
| import { handleEnv } from './preprocess'; | ||
| import { ssg } from './ssg'; | ||
| import { createWatcher, onWatcher } from './watcher'; | ||
| import { addChunkNameInRoutes } from './add-chunk-name'; | ||
| const spinnerProcess = fork(resolve(__dirname, './spinner')); // 单独创建子进程跑 spinner 否则会被后续的 同步代码 block 导致 loading 暂停 | ||
| import { fork } from "child_process"; | ||
| import { resolve } from "path"; | ||
| import * as yargs from "yargs"; | ||
| import { generateHtml } from "./html"; | ||
| import { handleEnv } from "./preprocess"; | ||
| import { ssg } from "./ssg"; | ||
| import { createWatcher, onWatcher } from "./watcher"; | ||
| import { addChunkNameInRoutes } from "./add-chunk-name"; | ||
| const spinnerProcess = fork(resolve(__dirname, "./spinner")); // 单独创建子进程跑 spinner 否则会被后续的 同步代码 block 导致 loading 暂停 | ||
| const spinner = { | ||
| start: () => spinnerProcess.send({ | ||
| message: 'start' | ||
| message: "start", | ||
| }), | ||
| stop: () => spinnerProcess.send({ | ||
| message: 'stop' | ||
| }) | ||
| message: "stop", | ||
| }), | ||
| }; | ||
| const startOrBuild = async (argv, type) => { | ||
| var _a, _b; | ||
| const { judgeFramework, judgeServerFramework, logGreen, getCwd } = await import('ssr-common-utils'); | ||
| const { judgeFramework, judgeServerFramework, logGreen, getCwd } = await import("ssr-common-utils"); | ||
| const cwd = getCwd(); | ||
@@ -26,6 +26,6 @@ const framework = judgeFramework(); | ||
| if (argv.ssg) { | ||
| logGreen('Using ssg for generate static html file'); | ||
| logGreen("Using ssg for generate static html file"); | ||
| } | ||
| if (!argv.api) { | ||
| const { clientPlugin } = await import(resolve(cwd, './node_modules', framework)); | ||
| const { clientPlugin } = await import(resolve(cwd, "./node_modules", framework)); | ||
| const client = clientPlugin(); | ||
@@ -35,7 +35,7 @@ await ((_a = client === null || client === void 0 ? void 0 : client[type]) === null || _a === void 0 ? void 0 : _a.call(client, argv)); | ||
| if (!argv.web) { | ||
| const { serverPlugin } = await import(resolve(cwd, './node_modules', serverFramework)); | ||
| const { serverPlugin } = await import(resolve(cwd, "./node_modules", serverFramework)); | ||
| const server = serverPlugin(); | ||
| await ((_b = server === null || server === void 0 ? void 0 : server[type]) === null || _b === void 0 ? void 0 : _b.call(server, argv)); | ||
| } | ||
| if (type === 'build') { | ||
| if (type === "build") { | ||
| await generateHtml(); | ||
@@ -47,10 +47,10 @@ await ssg(argv); | ||
| await handleEnv(argv); | ||
| if (argv.tool !== 'vite') { | ||
| if (argv.tool !== "vite") { | ||
| spinner.start(); | ||
| } | ||
| process.env.NODE_ENV = 'development'; | ||
| const { parseFeRoutes, transformConfig, logInfo } = await import('ssr-common-utils'); | ||
| process.env.NODE_ENV = "development"; | ||
| const { parseFeRoutes, transformConfig, logInfo } = await import("ssr-common-utils"); | ||
| await transformConfig(); | ||
| if (argv.tool === 'vite') { | ||
| logInfo('Vite 场景本地开发样式闪烁为正常现象请忽略,生产环境无此问题'); | ||
| if (argv.tool === "vite") { | ||
| logInfo("Vite 场景本地开发样式闪烁为正常现象请忽略,生产环境无此问题"); | ||
| } | ||
@@ -61,3 +61,3 @@ const watcher = await createWatcher(); | ||
| spinner.stop(); | ||
| await startOrBuild(argv, 'start'); | ||
| await startOrBuild(argv, "start"); | ||
| await onWatcher(watcher); | ||
@@ -68,4 +68,4 @@ }; | ||
| spinner.start(); | ||
| process.env.NODE_ENV = 'production'; | ||
| const { parseFeRoutes, transformConfig } = await import('ssr-common-utils'); | ||
| process.env.NODE_ENV = "production"; | ||
| const { parseFeRoutes, transformConfig } = await import("ssr-common-utils"); | ||
| await transformConfig(); | ||
@@ -75,8 +75,8 @@ await parseFeRoutes(); | ||
| spinner.stop(); | ||
| await startOrBuild(argv, 'build'); | ||
| await startOrBuild(argv, "build"); | ||
| }; | ||
| const deployFunc = async (argv) => { | ||
| var _a; | ||
| process.env.NODE_ENV = 'production'; | ||
| const { judgeServerFramework } = await import('ssr-common-utils'); | ||
| process.env.NODE_ENV = "production"; | ||
| const { judgeServerFramework } = await import("ssr-common-utils"); | ||
| const serverFramework = judgeServerFramework(); | ||
@@ -86,3 +86,3 @@ const { serverPlugin } = await import(serverFramework); | ||
| if (!(server === null || server === void 0 ? void 0 : server.deploy)) { | ||
| console.log('当前插件不支持 deploy 功能,请使用 ssr-plugin-midway 插件 参考 https://www.yuque.com/midwayjs/faas/migrate_egg 或扫码进群了解'); | ||
| console.log("当前插件不支持 deploy 功能,请使用 ssr-plugin-midway 插件 参考 https://www.yuque.com/midwayjs/faas/migrate_egg 或扫码进群了解"); | ||
| return; | ||
@@ -95,119 +95,110 @@ } | ||
| web: { | ||
| desc: 'only start client plugin' | ||
| desc: "only start client plugin", | ||
| }, | ||
| api: { | ||
| desc: 'only start server plugin' | ||
| } | ||
| desc: "only start server plugin", | ||
| }, | ||
| }; | ||
| yargs | ||
| .command('start', 'Start Server', (yargs) => yargs.options({ | ||
| .command("start", "Start Server", (yargs) => yargs.options({ | ||
| bundleConfig: { | ||
| alias: 'bc', | ||
| desc: 'bundle config.ts dependencies module by esbuild' | ||
| alias: "bc", | ||
| desc: "bundle config.ts dependencies module by esbuild", | ||
| }, | ||
| analyze: { | ||
| alias: 'a', | ||
| desc: 'Analyze bundle result when using webpack for build' | ||
| alias: "a", | ||
| desc: "Analyze bundle result when using webpack for build", | ||
| }, | ||
| tool: { | ||
| desc: 'Start application by vite or rspack', | ||
| choices: ['webpack', 'vite', 'rspack'], | ||
| default: 'webpack' | ||
| desc: "Start application by vite or rspack", | ||
| choices: ["webpack", "vite", "rspack"], | ||
| default: "webpack", | ||
| }, | ||
| viteMode: { | ||
| desc: 'same like vite start --mode' | ||
| desc: "same like vite start --mode", | ||
| }, | ||
| port: { | ||
| desc: 'Setting application server port, default is 3000' | ||
| desc: "Setting application server port, default is 3000", | ||
| }, | ||
| help: { | ||
| alias: 'h', | ||
| desc: 'In midway, use --help to speed up ts compile' | ||
| alias: "h", | ||
| desc: "In midway, use --help to speed up ts compile", | ||
| }, | ||
| nominify: { | ||
| desc: 'Disable minify output file content for debug' | ||
| desc: "Disable minify output file content for debug", | ||
| }, | ||
| sourcemap: { | ||
| desc: 'Set type of generate sourcemap by ssr start --sourcemap xxx' | ||
| desc: "Set type of generate sourcemap by ssr start --sourcemap xxx", | ||
| }, | ||
| 'client-sourcemap': { | ||
| desc: 'Set type of generate sourcemap for client-side code' | ||
| "client-sourcemap": { | ||
| desc: "Set type of generate sourcemap for client-side code", | ||
| }, | ||
| 'server-sourcemap': { | ||
| desc: 'Set type of generate sourcemap for server-side code' | ||
| "server-sourcemap": { | ||
| desc: "Set type of generate sourcemap for server-side code", | ||
| }, | ||
| ...cliDesc | ||
| ...cliDesc, | ||
| }), async (argv) => { | ||
| if (argv.bc) { | ||
| process.env.BUNDLECONFIG = '1'; | ||
| process.env.BUNDLECONFIG = "1"; | ||
| } | ||
| await startFunc(argv); | ||
| }) | ||
| .command('build', 'Build application by webpack or vite', (yargs) => yargs.options({ | ||
| .command("build", "Build application by webpack or vite", (yargs) => yargs.options({ | ||
| bundleConfig: { | ||
| alias: 'bc', | ||
| desc: 'bundle config.ts dependencies module by esbuild' | ||
| alias: "bc", | ||
| desc: "bundle config.ts dependencies module by esbuild", | ||
| }, | ||
| analyze: { | ||
| alias: 'a', | ||
| desc: 'Analyze bundle result when using webpack for build' | ||
| alias: "a", | ||
| desc: "Analyze bundle result when using webpack for build", | ||
| }, | ||
| vite: { | ||
| desc: 'Build application by vite' | ||
| desc: "Build application by vite", | ||
| }, | ||
| viteMode: { | ||
| desc: 'same like vite build --mode' | ||
| desc: "same like vite build --mode", | ||
| }, | ||
| legacy: { | ||
| desc: 'Close default rollup manulChunks setting in vite mode' | ||
| }, | ||
| html: { | ||
| desc: 'Build application as a single html' | ||
| desc: "Build application as a single html", | ||
| }, | ||
| ssg: { | ||
| desc: 'Build with Static Site Generation (Pre Render)' | ||
| desc: "Build with Static Site Generation (Pre Render)", | ||
| }, | ||
| sourcemap: { | ||
| desc: 'Set type of generate sourcemap by build --sourcemap xxx' | ||
| desc: "Set type of generate sourcemap by build --sourcemap xxx", | ||
| }, | ||
| 'client-sourcemap': { | ||
| desc: 'Set type of generate sourcemap for client-side code' | ||
| "client-sourcemap": { | ||
| desc: "Set type of generate sourcemap for client-side code", | ||
| }, | ||
| 'server-sourcemap': { | ||
| desc: 'Set type of generate sourcemap for server-side code' | ||
| "server-sourcemap": { | ||
| desc: "Set type of generate sourcemap for server-side code", | ||
| }, | ||
| nominify: { | ||
| desc: 'Disable minify output file content for debug' | ||
| desc: "Disable minify output file content for debug", | ||
| }, | ||
| ...cliDesc | ||
| ...cliDesc, | ||
| }), async (argv) => { | ||
| const { logWarning } = await import('ssr-common-utils'); | ||
| if (argv.tool === 'vite') { | ||
| logWarning(`ssr build by vite is beta now, if you find some bugs, please submit an issue on https://github.com/zhangyuang/ssr/issues or you can use ssr build --tools vite --legacy which will close manualChunks | ||
| to get a stable bundle result but maybe some performance loss | ||
| `); | ||
| } | ||
| if (argv.bc) { | ||
| process.env.BUNDLECONFIG = '1'; | ||
| process.env.BUNDLECONFIG = "1"; | ||
| } | ||
| await buildFunc(argv); | ||
| }) | ||
| .command('deploy', 'Deploy function to aliyun cloud or tencent cloud', (yargs) => yargs.options({ | ||
| .command("deploy", "Deploy function to aliyun cloud or tencent cloud", (yargs) => yargs.options({ | ||
| tencent: { | ||
| desc: 'deploy application to tencent clound' | ||
| } | ||
| desc: "deploy application to tencent clound", | ||
| }, | ||
| }), async (argv) => { | ||
| await deployFunc(argv); | ||
| }) | ||
| .command('update', 'check dependencies version is latest', {}, async (_argv) => { | ||
| .command("update", "check dependencies version is latest", {}, async (_argv) => { | ||
| spinner.start(); | ||
| const { update } = await import('./update'); | ||
| const { update } = await import("./update"); | ||
| await update(); | ||
| spinner.stop(); | ||
| }) | ||
| .demandCommand(1, 'You need at least one command before moving on') | ||
| .option('version', { | ||
| alias: 'v', | ||
| .demandCommand(1, "You need at least one command before moving on") | ||
| .option("version", { | ||
| alias: "v", | ||
| default: false, | ||
| desc: 'Show current version' | ||
| desc: "Show current version", | ||
| }) | ||
@@ -214,0 +205,0 @@ .fail((msg, err) => { |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,qBA4JxB,CAAA"} | ||
| {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,qBAqMxB,CAAC"} |
+57
-52
@@ -1,3 +0,3 @@ | ||
| import { promises } from 'fs'; | ||
| import { join } from 'path'; | ||
| import { promises } from "fs"; | ||
| import { join } from "path"; | ||
| export const generateHtml = async () => { | ||
@@ -9,6 +9,6 @@ var _a, _b; | ||
| // spa 模式下生成 html 文件直接部署 | ||
| const { loadConfig, getCwd, judgeFramework, loadModuleFromCwd, loadModuleFromFramework, logGreen, getAsyncJsChunk, logWarning, getAsyncCssChunk, splitPageInfo, getScriptArr, getStaticConfig } = await import('ssr-common-utils'); | ||
| logGreen('Generating html file...'); | ||
| const { loadConfig, getCwd, judgeFramework, loadModuleFromCwd, loadModuleFromFramework, logGreen, getAsyncJsChunk, logWarning, getAsyncCssChunk, splitPageInfo, getScriptArr, getStaticConfig, } = await import("ssr-common-utils"); | ||
| logGreen("Generating html file..."); | ||
| const cwd = getCwd(); | ||
| const { customeHeadScript, customeFooterScript, hashRouter, htmlTemplate, prefix, clientPrefix, isVite, cssOrderPriority, jsOrderPriority, rootId } = loadConfig(); | ||
| const { customeHeadScript, customeFooterScript, hashRouter, htmlTemplate, prefix, clientPrefix, isVite, cssOrderPriority, jsOrderPriority, rootId, } = loadConfig(); | ||
| const staticConfig = getStaticConfig(); | ||
@@ -36,5 +36,5 @@ const htmlStr = htmlTemplate !== null && htmlTemplate !== void 0 ? htmlTemplate : ` | ||
| const framework = judgeFramework(); | ||
| let jsHeaderManifest = ''; | ||
| let jsFooterManifest = ''; | ||
| const hashRouterScript = hashRouter ? '<script>window.hashRouter=true</script>' : ''; | ||
| let jsHeaderManifest = ""; | ||
| let jsFooterManifest = ""; | ||
| const hashRouterScript = hashRouter ? "<script>window.hashRouter=true</script>" : ""; | ||
| const header = customeHeadScript !== null && customeHeadScript !== void 0 ? customeHeadScript : []; | ||
@@ -46,24 +46,24 @@ const footer = customeFooterScript !== null && customeFooterScript !== void 0 ? customeFooterScript : []; | ||
| arr: getScriptArr(header, mockCtx).concat(getScriptArr((_a = staticConfig.customeHeadScript) !== null && _a !== void 0 ? _a : [], mockCtx)), | ||
| flag: 'header' | ||
| flag: "header", | ||
| }, | ||
| { | ||
| arr: getScriptArr(footer, mockCtx).concat(getScriptArr((_b = staticConfig.customeFooterScript) !== null && _b !== void 0 ? _b : [], mockCtx)), | ||
| flag: 'footer' | ||
| } | ||
| flag: "footer", | ||
| }, | ||
| ]; | ||
| const content = splitPageInfo({ | ||
| 'window.__USE_SSR__': false, | ||
| 'window.__USE_VITE__': isVite, | ||
| 'window.prefix': `"${prefix}"`, | ||
| 'window.clientPrefix': `"${clientPrefix !== null && clientPrefix !== void 0 ? clientPrefix : ''}"`, | ||
| 'window.ssrDevInfo': JSON.stringify(ssrDevInfo) | ||
| "window.__USE_SSR__": false, | ||
| "window.__USE_VITE__": isVite, | ||
| "window.prefix": `"${prefix}"`, | ||
| "window.clientPrefix": `"${clientPrefix !== null && clientPrefix !== void 0 ? clientPrefix : ""}"`, | ||
| "window.ssrDevInfo": JSON.stringify(ssrDevInfo), | ||
| }); | ||
| combine[0].arr = combine[0].arr.concat([ | ||
| { | ||
| content | ||
| } | ||
| content, | ||
| }, | ||
| ]); | ||
| if (framework === 'ssr-plugin-vue3') { | ||
| const { h, Fragment } = await import(loadModuleFromFramework('vue')); | ||
| const { renderToString } = await import(loadModuleFromCwd('@vue/server-renderer')); | ||
| if (framework === "ssr-plugin-vue3") { | ||
| const { h, Fragment } = await import(loadModuleFromFramework("vue")); | ||
| const { renderToString } = await import(loadModuleFromCwd("@vue/server-renderer")); | ||
| for (const item of combine) { | ||
@@ -73,7 +73,7 @@ const { arr, flag } = item; | ||
| var _a; | ||
| return h('script', Object.assign({}, (_a = item.describe) !== null && _a !== void 0 ? _a : {}, { | ||
| innerHTML: item.content | ||
| return h("script", Object.assign({}, (_a = item.describe) !== null && _a !== void 0 ? _a : {}, { | ||
| innerHTML: item.content, | ||
| })); | ||
| }); | ||
| if (flag === 'header') { | ||
| if (flag === "header") { | ||
| jsHeaderManifest += await renderToString(h(Fragment, {}, scriptArr)); | ||
@@ -86,6 +86,6 @@ } | ||
| } | ||
| if (framework === 'ssr-plugin-vue') { | ||
| const { h } = await import(loadModuleFromFramework('vue')); | ||
| const Vue = await import(loadModuleFromFramework('vue')); | ||
| const { createRenderer } = await import(loadModuleFromCwd('vue-server-renderer')); | ||
| if (framework === "ssr-plugin-vue") { | ||
| const { h } = await import(loadModuleFromFramework("vue")); | ||
| const Vue = await import(loadModuleFromFramework("vue")); | ||
| const { createRenderer } = await import(loadModuleFromCwd("vue-server-renderer")); | ||
| const { renderToString } = createRenderer(); | ||
@@ -98,23 +98,23 @@ for (const item of combine) { | ||
| var _a; | ||
| return h('script', Object.assign({}, (_a = item.describe) !== null && _a !== void 0 ? _a : {}, { | ||
| return h("script", Object.assign({}, (_a = item.describe) !== null && _a !== void 0 ? _a : {}, { | ||
| domProps: { | ||
| innerHTML: item.content | ||
| } | ||
| innerHTML: item.content, | ||
| }, | ||
| })); | ||
| }); | ||
| return scriptArr; | ||
| } | ||
| }, | ||
| }); | ||
| const scriptStr = await renderToString(app); | ||
| if (flag === 'header') { | ||
| jsHeaderManifest += scriptStr.replace('data-server-rendered="true"', ''); | ||
| if (flag === "header") { | ||
| jsHeaderManifest += scriptStr.replace('data-server-rendered="true"', ""); | ||
| } | ||
| else { | ||
| jsFooterManifest += scriptStr.replace('data-server-rendered="true"', ''); | ||
| jsFooterManifest += scriptStr.replace('data-server-rendered="true"', ""); | ||
| } | ||
| } | ||
| } | ||
| if (framework === 'ssr-plugin-react') { | ||
| const { createElement: h, Fragment } = await import(loadModuleFromFramework('react')); | ||
| const { renderToString } = await import(loadModuleFromFramework('react-dom/server')); | ||
| if (framework === "ssr-plugin-react") { | ||
| const { createElement: h, Fragment } = await import(loadModuleFromFramework("react")); | ||
| const { renderToString } = await import(loadModuleFromFramework("react-dom/server")); | ||
| for (const item of combine) { | ||
@@ -124,23 +124,23 @@ const { arr, flag } = item; | ||
| var _a; | ||
| return h('script', Object.assign({}, (_a = item.describe) !== null && _a !== void 0 ? _a : {}, { | ||
| return h("script", Object.assign({}, (_a = item.describe) !== null && _a !== void 0 ? _a : {}, { | ||
| dangerouslySetInnerHTML: { | ||
| __html: item.content | ||
| } | ||
| __html: item.content, | ||
| }, | ||
| })); | ||
| }); | ||
| if (flag === 'header') { | ||
| jsHeaderManifest += (await renderToString(h(Fragment, {}, scriptArr))).replace('data-reactroot=""', ''); | ||
| if (flag === "header") { | ||
| jsHeaderManifest += (await renderToString(h(Fragment, {}, scriptArr))).replace('data-reactroot=""', ""); | ||
| } | ||
| else { | ||
| jsFooterManifest += (await renderToString(h(Fragment, {}, scriptArr))).replace('data-reactroot=""', ''); | ||
| jsFooterManifest += (await renderToString(h(Fragment, {}, scriptArr))).replace('data-reactroot=""', ""); | ||
| } | ||
| } | ||
| } | ||
| const manifest = require(join(cwd, './build/client/asset-manifest.json')); | ||
| const jsOrder = await getAsyncJsChunk(mockCtx, '', loadConfig()); | ||
| const manifest = require(join(cwd, "./build/client/asset-manifest.json")); | ||
| const jsOrder = await getAsyncJsChunk(mockCtx, "", loadConfig()); | ||
| const jsManifest = jsOrder | ||
| .map((item) => manifest[item]) | ||
| .filter(Boolean) | ||
| .map((item) => `<script src="${item}" ${isVite ? 'type="module"' : ''}></script>`); | ||
| const cssOrder = await getAsyncCssChunk(mockCtx, '', loadConfig()); | ||
| .map((item) => `<script src="${item}" ${isVite ? 'type="module"' : ""}></script>`); | ||
| const cssOrder = await getAsyncCssChunk(mockCtx, "", loadConfig()); | ||
| const cssManifest = cssOrder | ||
@@ -150,8 +150,13 @@ .map((item) => manifest[item]) | ||
| .map((item) => `<link rel='stylesheet' href="${item}" />`); | ||
| if (typeof cssOrderPriority === 'function' || typeof jsOrderPriority === 'function') { | ||
| logWarning('Notices: orderPriority cannot get chunkName in spa html build, you will get chunkName as undefined'); | ||
| if (typeof cssOrderPriority === "function" || typeof jsOrderPriority === "function") { | ||
| logWarning("Notices: orderPriority cannot get chunkName in spa html build, you will get chunkName as undefined"); | ||
| } | ||
| const generateHtmlStr = htmlStr.replace('cssInject', cssManifest.join('')).replace('jsManifest', jsManifest.join('')).replace('jsHeaderManifest', jsHeaderManifest).replace('jsFooterManifest', jsFooterManifest).replace('hashRouterScript', hashRouterScript); | ||
| await promises.writeFile(join(cwd, './build/index.html'), generateHtmlStr); | ||
| const generateHtmlStr = htmlStr | ||
| .replace("cssInject", cssManifest.join("")) | ||
| .replace("jsManifest", jsManifest.join("")) | ||
| .replace("jsHeaderManifest", jsHeaderManifest) | ||
| .replace("jsFooterManifest", jsFooterManifest) | ||
| .replace("hashRouterScript", hashRouterScript); | ||
| await promises.writeFile(join(cwd, "./build/index.html"), generateHtmlStr); | ||
| }; | ||
| //# sourceMappingURL=html.js.map |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"html.js","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"html.js","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"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"} |
+2
-2
@@ -1,3 +0,3 @@ | ||
| export * from 'ssr-types'; | ||
| export * from './cli'; | ||
| export * from "ssr-types"; | ||
| export * from "./cli"; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC"} |
+2
-2
@@ -1,3 +0,3 @@ | ||
| export * from 'ssr-types'; | ||
| export * from './cli'; | ||
| export * from "ssr-types"; | ||
| export * from "./cli"; | ||
| //# sourceMappingURL=index.js.map |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC"} |
@@ -1,3 +0,3 @@ | ||
| import { Argv } from 'ssr-types'; | ||
| import { Argv } from "ssr-types"; | ||
| export declare const handleEnv: (argv: Argv) => Promise<void>; | ||
| //# sourceMappingURL=preprocess.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"preprocess.d.ts","sourceRoot":"","sources":["../src/preprocess.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAIhC,eAAO,MAAM,SAAS,GAAU,MAAM,IAAI,kBAsDzC,CAAA"} | ||
| {"version":3,"file":"preprocess.d.ts","sourceRoot":"","sources":["../src/preprocess.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,eAAO,MAAM,SAAS,GAAU,MAAM,IAAI,kBA+DzC,CAAC"} |
+29
-22
@@ -1,10 +0,10 @@ | ||
| import { promises } from 'fs'; | ||
| import { resolve } from 'path'; | ||
| import { mkdir } from 'shelljs'; | ||
| import { cleanOutDir } from './clean'; | ||
| import { promises } from "fs"; | ||
| import { resolve } from "path"; | ||
| import { mkdir } from "shelljs"; | ||
| import { cleanOutDir } from "./clean"; | ||
| export const handleEnv = async (argv) => { | ||
| var _a, _b; | ||
| await cleanOutDir(argv); | ||
| process.env.BUILD_TOOL = argv.tool || 'webpack'; | ||
| const { loadConfig, getCwd, accessFile } = await import('ssr-common-utils'); | ||
| process.env.BUILD_TOOL = argv.tool || "webpack"; | ||
| const { loadConfig, getCwd, accessFile } = await import("ssr-common-utils"); | ||
| const cwd = getCwd(); | ||
@@ -14,6 +14,14 @@ if (!(await accessFile(resolve(cwd, `./node_modules/ssr-${process.env.BUILD_TOOL}`)))) { | ||
| } | ||
| if (process.env.BUILD_TOOL === 'vite') { | ||
| mkdir('-p', resolve(cwd, './build')); | ||
| await promises.writeFile(resolve(cwd, './build/tag.json'), JSON.stringify({ | ||
| BUILD_TOOL: process.env.BUILD_TOOL | ||
| if (process.env.BUILD_TOOL === "vite") { | ||
| const pkg = require(resolve(cwd, "./package.json")); | ||
| const allDeps = { ...pkg.dependencies, ...pkg.devDependencies }; | ||
| if (!allDeps.vite || !allDeps.vite.includes("rolldown-vite")) { | ||
| console.warn('\x1b[33m[ssr-vite] Warning: "vite" is not aliased to "rolldown-vite" in your package.json.\n' + | ||
| "Please add the following to your package.json dependencies or devDependencies:\n\n" + | ||
| ' "vite": "npm:rolldown-vite@latest"\n\n' + | ||
| "Then run `yarn install` to install it. We recommend using yarn as the package manager.\x1b[0m\n"); | ||
| } | ||
| mkdir("-p", resolve(cwd, "./build")); | ||
| await promises.writeFile(resolve(cwd, "./build/tag.json"), JSON.stringify({ | ||
| BUILD_TOOL: process.env.BUILD_TOOL, | ||
| }, null, 2)); | ||
@@ -23,6 +31,8 @@ } | ||
| if (argv.ssg) { | ||
| process.env.SSG = '1'; | ||
| process.env.SSG = "1"; | ||
| } | ||
| if (isDev) { | ||
| process.env.GENERATE_SOURCEMAP = clientPrefix ? 'inline-cheap-module-source-map' : 'cheap-module-source-map'; | ||
| process.env.GENERATE_SOURCEMAP = clientPrefix | ||
| ? "inline-cheap-module-source-map" | ||
| : "cheap-module-source-map"; | ||
| } | ||
@@ -32,15 +42,12 @@ if (argv.sourcemap) { | ||
| } | ||
| process.env.CLIENT_SOURCEMAP = (_a = argv['client-sourcemap']) !== null && _a !== void 0 ? _a : process.env.GENERATE_SOURCEMAP; | ||
| process.env.SERVER_SOURCEMAP = (_b = argv['server-sourcemap']) !== null && _b !== void 0 ? _b : process.env.GENERATE_SOURCEMAP; | ||
| process.env.CLIENT_SOURCEMAP = (_a = argv["client-sourcemap"]) !== null && _a !== void 0 ? _a : process.env.GENERATE_SOURCEMAP; | ||
| process.env.SERVER_SOURCEMAP = (_b = argv["server-sourcemap"]) !== null && _b !== void 0 ? _b : process.env.GENERATE_SOURCEMAP; | ||
| if (argv.analyze) { | ||
| process.env.GENERATE_ANALYSIS = '1'; | ||
| process.env.GENERATE_ANALYSIS = "1"; | ||
| } | ||
| if (argv.html) { | ||
| process.env.SPA = '1'; | ||
| process.env.SPA = "1"; | ||
| } | ||
| if (argv.legacy) { | ||
| process.env.LEGACY_VITE = '1'; | ||
| } | ||
| if (argv.nominify) { | ||
| process.env.NOMINIFY = '1'; | ||
| process.env.NOMINIFY = "1"; | ||
| } | ||
@@ -50,7 +57,7 @@ if (argv.viteMode) { | ||
| } | ||
| process.env.SERVER_PORT = argv.port ? String(argv.port) : '3000'; | ||
| process.env.SERVER_PORT = argv.port ? String(argv.port) : "3000"; | ||
| if (!!https && isDev) { | ||
| process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; | ||
| process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; | ||
| } | ||
| }; | ||
| //# sourceMappingURL=preprocess.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"preprocess.js","sourceRoot":"","sources":["../src/preprocess.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"preprocess.js","sourceRoot":"","sources":["../src/preprocess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,IAAU,EAAE,EAAE;;IAC5C,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;IAChD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC5E,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,sBAAsB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,IAAI,KAAK,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,mBAAmB,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAC7D,OAAO,CAAC,IAAI,CACV,8FAA8F;gBAC5F,oFAAoF;gBACpF,0CAA0C;gBAC1C,iGAAiG,CACpG,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;QACrC,MAAM,QAAQ,CAAC,SAAS,CACtB,OAAO,CAAC,GAAG,EAAE,kBAAkB,CAAC,EAChC,IAAI,CAAC,SAAS,CACZ;YACE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;SACnC,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAC;IACpD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;IACxB,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,YAAY;YAC3C,CAAC,CAAC,gCAAgC;YAClC,CAAC,CAAC,yBAAyB,CAAC;IAChC,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;IAClD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,MAAA,IAAI,CAAC,kBAAkB,CAAC,mCAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,MAAA,IAAI,CAAC,kBAAkB,CAAC,mCAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC1F,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,GAAG,CAAC;IACtC,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;IACxB,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACjE,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,GAAG,CAAC;IACjD,CAAC;AACH,CAAC,CAAC"} |
+1
-1
| declare const spinner: any; | ||
| interface Message { | ||
| message: 'start' | 'stop'; | ||
| message: "start" | "stop"; | ||
| } | ||
| //# sourceMappingURL=spinner.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../src/spinner.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,OAAO,KAA6B,CAAA;AAE1C,UAAU,OAAO;IAChB,OAAO,EAAE,OAAO,GAAG,MAAM,CAAA;CACzB"} | ||
| {"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../src/spinner.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,OAAO,KAA6B,CAAC;AAE3C,UAAU,OAAO;IACf,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;CAC3B"} |
+3
-3
| "use strict"; | ||
| const spinner = require('ora')('Starting'); | ||
| process.on('message', (data) => { | ||
| const spinner = require("ora")("Starting"); | ||
| process.on("message", (data) => { | ||
| const { message } = data; | ||
| if (message === 'start') { | ||
| if (message === "start") { | ||
| spinner.start(); | ||
@@ -7,0 +7,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../src/spinner.ts"],"names":[],"mappings":";AAAA,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAA;AAM1C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE;IACvC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IACxB,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,EAAE,CAAA;IAChB,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,IAAI,EAAE,CAAA;IACf,CAAC;AACF,CAAC,CAAC,CAAA"} | ||
| {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../src/spinner.ts"],"names":[],"mappings":";AAAA,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;AAM3C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE;IACtC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzB,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;AACH,CAAC,CAAC,CAAC"} |
+1
-1
@@ -1,3 +0,3 @@ | ||
| import type { Argv } from 'ssr-types'; | ||
| import type { Argv } from "ssr-types"; | ||
| export declare const ssg: (argv: Argv) => Promise<void>; | ||
| //# sourceMappingURL=ssg.d.ts.map |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"ssg.d.ts","sourceRoot":"","sources":["../src/ssg.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErC,eAAO,MAAM,GAAG,GAAU,MAAM,IAAI,kBAyBnC,CAAA"} | ||
| {"version":3,"file":"ssg.d.ts","sourceRoot":"","sources":["../src/ssg.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,eAAO,MAAM,GAAG,GAAU,MAAM,IAAI,kBAyBnC,CAAC"} |
+5
-5
@@ -1,3 +0,3 @@ | ||
| import { promises } from 'fs'; | ||
| import { resolve } from 'path'; | ||
| import { promises } from "fs"; | ||
| import { resolve } from "path"; | ||
| export const ssg = async (argv) => { | ||
@@ -7,3 +7,3 @@ if (!argv.ssg) { | ||
| } | ||
| const { loadConfig, getCwd, logGreen } = await import('ssr-common-utils'); | ||
| const { loadConfig, getCwd, logGreen } = await import("ssr-common-utils"); | ||
| const config = loadConfig(); | ||
@@ -19,5 +19,5 @@ const { chunkName } = config; | ||
| path: path, | ||
| url: path | ||
| url: path, | ||
| }, | ||
| desc: "It's a mock context" | ||
| desc: "It's a mock context", | ||
| }; | ||
@@ -24,0 +24,0 @@ const res = await serverRender(mockCtx, Object.assign(config, { stream: false })); |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"ssg.js","sourceRoot":"","sources":["../src/ssg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAG9B,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAE,IAAU,EAAE,EAAE;IACvC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACf,OAAM;IACP,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;IACzE,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;IAC3B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;IAC5B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;IACpB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,kBAAkB,SAAS,YAAY,CAAC,CAAA;IACxE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACpD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAA;QACvC,MAAM,OAAO,GAAG;YACf,OAAO,EAAE;gBACR,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE,IAAI;aACT;YACD,IAAI,EAAE,qBAAqB;SAC3B,CAAA;QACD,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QACjF,MAAM,OAAO,GAAW,GAAG,CAAC,IAAI,IAAI,GAAG,CAAA;QACvC,MAAM,QAAQ,GAAG,kBAAkB,gBAAgB,OAAO,CAAA;QAC1D,MAAM,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAA;QACzD,QAAQ,CAAC,aAAa,IAAI,iBAAiB,QAAQ,EAAE,CAAC,CAAA;IACvD,CAAC;AACF,CAAC,CAAA"} | ||
| {"version":3,"file":"ssg.js","sourceRoot":"","sources":["../src/ssg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAE,IAAU,EAAE,EAAE;IACtC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAC7B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,kBAAkB,SAAS,YAAY,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;QACxC,MAAM,OAAO,GAAG;YACd,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE,IAAI;aACV;YACD,IAAI,EAAE,qBAAqB;SAC5B,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,OAAO,GAAW,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC;QACxC,MAAM,QAAQ,GAAG,kBAAkB,gBAAgB,OAAO,CAAC;QAC3D,MAAM,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QAC1D,QAAQ,CAAC,aAAa,IAAI,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC,CAAC"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM,qBAuBlB,CAAA"} | ||
| {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM,qBA+BlB,CAAC"} |
+7
-7
@@ -1,7 +0,7 @@ | ||
| import { resolve } from 'path'; | ||
| import axios from 'axios'; | ||
| import { getCwd, logGreen, ssrPackages } from 'ssr-common-utils'; | ||
| import { resolve } from "path"; | ||
| import axios from "axios"; | ||
| import { getCwd, logGreen, ssrPackages } from "ssr-common-utils"; | ||
| export const update = async () => { | ||
| const cwd = getCwd(); | ||
| const { dependencies, devDependencies } = require(resolve(cwd, './package.json')); | ||
| const { dependencies, devDependencies } = require(resolve(cwd, "./package.json")); | ||
| const d = Object.assign({}, dependencies, devDependencies); | ||
@@ -12,7 +12,7 @@ const needCheck = Object.keys(d).filter((item) => ssrPackages.includes(item)); | ||
| const currentVersion = require(resolve(cwd, `./node_modules/${item.data.name}/package.json`)).version; | ||
| const lastestVersion = item.data['dist-tags'].latest; | ||
| const lastestVersion = item.data["dist-tags"].latest; | ||
| if (lastestVersion !== currentVersion) { | ||
| res[item.data.name] = { | ||
| currentVersion, | ||
| lastestVersion | ||
| lastestVersion, | ||
| }; | ||
@@ -22,3 +22,3 @@ } | ||
| if (Object.keys(res).length === 0) { | ||
| logGreen('All ssr dpendencies is latest!'); | ||
| logGreen("All ssr dpendencies is latest!"); | ||
| } | ||
@@ -25,0 +25,0 @@ else { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEhE,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;IAChC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;IACpB,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACjF,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,eAAe,CAAC,CAAA;IAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7E,MAAM,GAAG,GAAuE,EAAE,CAAA;IAClF,MAAM,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1H,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,kBAAkB,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,OAAO,CAAA;QACrG,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAA;QACpD,IAAI,cAAc,KAAK,cAAc,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACrB,cAAc;gBACd,cAAc;aACd,CAAA;QACF,CAAC;IACF,CAAC,CAAC,CAAA;IACF,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,gCAAgC,CAAC,CAAA;IAC3C,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC5C,QAAQ,CAAC,GAAG,GAAG,uBAAuB,KAAK,CAAC,cAAc,sBAAsB,KAAK,CAAC,cAAc,EAAE,CAAC,CAAA;QACxG,CAAC,CAAC,CAAA;IACH,CAAC;AACF,CAAC,CAAA"} | ||
| {"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEjE,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;IAC/B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAClF,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAuE,EAAE,CAAC;IACnF,MAAM,CACJ,MAAM,OAAO,CAAC,GAAG,CACf,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,CAC/E,CACF,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACjB,MAAM,cAAc,GAAG,OAAO,CAC5B,OAAO,CAAC,GAAG,EAAE,kBAAkB,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,CAC9D,CAAC,OAAO,CAAC;QACV,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;QACrD,IAAI,cAAc,KAAK,cAAc,EAAE,CAAC;YACtC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACpB,cAAc;gBACd,cAAc;aACf,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC3C,QAAQ,CACN,GAAG,GAAG,uBAAuB,KAAK,CAAC,cAAc,sBAAsB,KAAK,CAAC,cAAc,EAAE,CAC9F,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC"} |
+2
-2
@@ -1,5 +0,5 @@ | ||
| import * as chokidar from 'chokidar'; | ||
| import type { FSWatcher } from 'chokidar'; | ||
| import * as chokidar from "chokidar"; | ||
| import type { FSWatcher } from "chokidar"; | ||
| export declare const createWatcher: () => Promise<chokidar.FSWatcher>; | ||
| export declare const onWatcher: (watcher: FSWatcher) => Promise<void>; | ||
| //# sourceMappingURL=watcher.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,eAAO,MAAM,aAAa,mCAQzB,CAAA;AAED,eAAO,MAAM,SAAS,GAAU,SAAS,SAAS,kBAmBjD,CAAA"} | ||
| {"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,eAAO,MAAM,aAAa,mCAQzB,CAAC;AAEF,eAAO,MAAM,SAAS,GAAU,SAAS,SAAS,kBAmBjD,CAAC"} |
+12
-12
@@ -1,8 +0,8 @@ | ||
| import * as chokidar from 'chokidar'; | ||
| import * as chokidar from "chokidar"; | ||
| export const createWatcher = async () => { | ||
| const { getPagesDir } = await import('ssr-common-utils'); | ||
| const { getPagesDir } = await import("ssr-common-utils"); | ||
| const pageDir = getPagesDir(); | ||
| const watcher = chokidar.watch(pageDir, { | ||
| ignored: /.(less|css|scss)/, // ignore style files | ||
| persistent: true | ||
| persistent: true, | ||
| }); | ||
@@ -12,21 +12,21 @@ return watcher; | ||
| export const onWatcher = async (watcher) => { | ||
| const { parseFeRoutes, logGreen, logErr } = await import('ssr-common-utils'); | ||
| const { parseFeRoutes, logGreen, logErr } = await import("ssr-common-utils"); | ||
| watcher | ||
| .on('add', async (path) => { | ||
| .on("add", async (path) => { | ||
| logGreen(`File ${path} has been added ParseFeRoutes reload`); | ||
| await parseFeRoutes().catch((err) => logErr('ParseFeRoutes Error' + err)); | ||
| await parseFeRoutes().catch((err) => logErr("ParseFeRoutes Error" + err)); | ||
| }) | ||
| .on('addDir', async (path) => { | ||
| .on("addDir", async (path) => { | ||
| logGreen(`Dir ${path} has been added ParseFeRoutes reload`); | ||
| await parseFeRoutes().catch((err) => logErr('ParseFeRoutes Error' + err)); | ||
| await parseFeRoutes().catch((err) => logErr("ParseFeRoutes Error" + err)); | ||
| }) | ||
| .on('unlink', async (path) => { | ||
| .on("unlink", async (path) => { | ||
| logGreen(`File ${path} has been deleted ParseFeRoutes reload`); | ||
| await parseFeRoutes().catch((err) => logErr('ParseFeRoutes Error' + err)); | ||
| await parseFeRoutes().catch((err) => logErr("ParseFeRoutes Error" + err)); | ||
| }) | ||
| .on('unlinkDir', async (path) => { | ||
| .on("unlinkDir", async (path) => { | ||
| logGreen(`Dir ${path} has been deleted ParseFeRoutes reload`); | ||
| await parseFeRoutes().catch((err) => logErr('ParseFeRoutes Error' + err)); | ||
| await parseFeRoutes().catch((err) => logErr("ParseFeRoutes Error" + err)); | ||
| }); | ||
| }; | ||
| //# sourceMappingURL=watcher.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAA;AAEpC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;IACvC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;IACxD,MAAM,OAAO,GAAG,WAAW,EAAE,CAAA;IAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE;QACvC,OAAO,EAAE,kBAAkB,EAAE,qBAAqB;QAClD,UAAU,EAAE,IAAI;KAChB,CAAC,CAAA;IACF,OAAO,OAAO,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,OAAkB,EAAE,EAAE;IACrD,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAC5E,OAAO;SACL,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACzB,QAAQ,CAAC,QAAQ,IAAI,sCAAsC,CAAC,CAAA;QAC5D,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAA;IAC1E,CAAC,CAAC;SACD,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC5B,QAAQ,CAAC,OAAO,IAAI,sCAAsC,CAAC,CAAA;QAC3D,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAA;IAC1E,CAAC,CAAC;SACD,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC5B,QAAQ,CAAC,QAAQ,IAAI,wCAAwC,CAAC,CAAA;QAC9D,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAA;IAC1E,CAAC,CAAC;SACD,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC/B,QAAQ,CAAC,OAAO,IAAI,wCAAwC,CAAC,CAAA;QAC7D,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAA;IAC1E,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"} | ||
| {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;IACtC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE;QACtC,OAAO,EAAE,kBAAkB,EAAE,qBAAqB;QAClD,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,OAAkB,EAAE,EAAE;IACpD,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC7E,OAAO;SACJ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACxB,QAAQ,CAAC,QAAQ,IAAI,sCAAsC,CAAC,CAAC;QAC7D,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC;SACD,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,QAAQ,CAAC,OAAO,IAAI,sCAAsC,CAAC,CAAC;QAC5D,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC;SACD,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,QAAQ,CAAC,QAAQ,IAAI,wCAAwC,CAAC,CAAC;QAC/D,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC;SACD,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC9B,QAAQ,CAAC,OAAO,IAAI,wCAAwC,CAAC,CAAC;QAC9D,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"} |
+25
-25
| { | ||
| "name": "ssr", | ||
| "version": "7.0.5", | ||
| "version": "7.0.6", | ||
| "description": "cli for react/vue2/vue3 ssr deploy on serverless or tradtional web server", | ||
| "main": "./cjs/index.js", | ||
| "module": "./esm/index.js", | ||
| "sideEffects": false, | ||
| "scripts": { | ||
| "build": "concurrently \"tsc -p ./tsconfig.cjs.json \" \" tsc -p ./tsconfig.esm.json\"", | ||
| "watch": "concurrently \"tsc -w -p ./tsconfig.cjs.json \" \"tsc -w -p ./tsconfig.esm.json \"" | ||
| }, | ||
| "bin": { | ||
| "ssr": "./cjs/cli.js" | ||
| }, | ||
| "repository": { | ||
| "type": "git", | ||
| "url": "git+https://github.com/zhangyuang/ssr.git" | ||
| }, | ||
| "keywords": [ | ||
| "cli", | ||
| "react", | ||
| "serverless", | ||
| "ssr", | ||
| "react", | ||
| "vue" | ||
| ], | ||
| "author": "zhangyuang", | ||
| "license": "MIT", | ||
| "homepage": "https://github.com/zhangyuang/ssr#readme", | ||
| "bugs": { | ||
| "url": "https://github.com/zhangyuang/ssr/issues" | ||
| }, | ||
| "homepage": "https://github.com/zhangyuang/ssr#readme", | ||
| "license": "MIT", | ||
| "author": "zhangyuang", | ||
| "repository": { | ||
| "type": "git", | ||
| "url": "git+https://github.com/zhangyuang/ssr.git" | ||
| }, | ||
| "bin": { | ||
| "ssr": "./cjs/cli.js" | ||
| }, | ||
| "sideEffects": false, | ||
| "main": "./cjs/index.js", | ||
| "module": "./esm/index.js", | ||
| "scripts": { | ||
| "build": "concurrently \"tsc -p ./tsconfig.cjs.json \" \" tsc -p ./tsconfig.esm.json\"", | ||
| "watch": "concurrently \"tsc -w -p ./tsconfig.cjs.json \" \"tsc -w -p ./tsconfig.esm.json \"" | ||
| }, | ||
| "dependencies": { | ||
| "axios": "^1.4.0", | ||
| "chokidar": "^3.5.3", | ||
| "es-module-lexer": "^0.9.3", | ||
| "esbuild": "0.14.48", | ||
| "magic-string": "^0.25.7", | ||
| "ora": "^4.0.4", | ||
@@ -40,9 +42,4 @@ "shelljs": "^0.8.3", | ||
| "ssr-types": "^7.0.0", | ||
| "yargs": "^13.2.4", | ||
| "magic-string": "^0.25.7", | ||
| "es-module-lexer": "^0.9.3" | ||
| "yargs": "^13.2.4" | ||
| }, | ||
| "engines": { | ||
| "node": ">=12" | ||
| }, | ||
| "devDependencies": { | ||
@@ -52,3 +49,6 @@ "@types/shelljs": "^0.8.7", | ||
| "concurrently": "^5.1.0" | ||
| }, | ||
| "engines": { | ||
| "node": ">=12" | ||
| } | ||
| } |
+105
-105
| <div> | ||
| 简体中文 | <a href="./README_EN.md">English</a> | ||
| <a href="./README_Zh.md">简体中文</a> | English | ||
| </div> | ||
@@ -23,16 +23,16 @@ | ||
| ## Version 7.x | ||
| ## 7.x 版本 | ||
| The `ssr` framework version `7.x` has been released. Read the [documentation](http://doc.ssr-fc.com/docs/features$v7) for more detailed introduction and upgrade guide. Version 7 brings the following new features: | ||
| `ssr` 框架 `7.x` 版本已发布,阅读[文档](http://doc.ssr-fc.com/docs/features$v7)获取更详细的介绍和升级指南。v7版本带来以下新的features | ||
| - Supports [Rspack](https://rspack.rs), [Rolldown-Vite](https://vite.dev/guide/rolldown), and `Webpack` build tools to greatly improve build performance. | ||
| - Supports any frontend framework combined with any build tool | ||
| - Brand new dependency design, streamlined dependencies required for initialization | ||
| - Progressive upgrade with almost no breaking changes, v6 projects can smoothly transition to v7 | ||
| * 同时支持 [Rspack](https://rspack.rs) , [Rolldown-Vite](https://vite.dev/guide/rolldown), `Webpack` , 三种构建工具来极大的加快构建性能。 | ||
| * 支持任意前端框架与任意构建工具结合使用 | ||
| * 全新的依赖设计,精简初始化安装需要的依赖项 | ||
| * 渐进式升级,几乎没有 breaking change, v6项目可平滑过渡到v7 | ||
| Version 7 has been tested to improve build speed by 5-10 times. Dependency size reduced by 2/3 (when using Rspack|Rolldown-Vite scenarios). | ||
| v7 版本实测构建速度可提升5-10倍。依赖体积缩小2/3(使用 Rspack|Rolldown-Vite 的场景)。 | ||
| Use the latest `create-ssr-app` to initialize v7 (recommended) or v6 project templates according to prompts. | ||
| 使用最新的 `create-ssr-app` 来根据提示初始化v7(推荐)或v6的项目模版。 | ||
| ```bash | ||
@@ -42,33 +42,33 @@ $ npm init ssr-app@latest my-ssr-project | ||
| ## 简介 | ||
| ## Introduction | ||
| `ssr` 框架是为前端框架在服务端渲染的场景下所打造的开箱即用的服务端渲染框架。了解什么是服务端渲染请查看[文档](http://doc.ssr-fc.com/docs/features$ssr) | ||
| The `ssr` framework is an out-of-the-box server-side rendering framework built for frontend frameworks in server-side rendering scenarios. To understand what server-side rendering is, please check the [documentation](http://doc.ssr-fc.com/docs/features$ssr). | ||
| 此框架脱胎于 [egg-react-ssr](https://github.com/zhangyuang/egg-react-ssr) 项目和 `ssr` v4版本 `(midway-faas + react ssr)` ,在之前的基础上做了诸多演进,通过插件化的代码组织形式,支持任意服务端框架与任意前端框架的组合使用。开发者可以选择通过 `Serverless` 方式部署或是以传统 `Node.js` 的应用形式部署,并且我们专注于提升 `Serverless` 场景下服务端渲染应用的开发体验,打造了一站式的开发,发布应用服务的功能。最大程度提升开发者的开发体验,将应用的开发,部署成本降到最低。 | ||
| This framework evolved from the [egg-react-ssr](https://github.com/zhangyuang/egg-react-ssr) project and `ssr` v4 version `(midway-faas + react ssr)`. Based on previous foundations, it has made many improvements through plugin-based code organization, supporting the combination of any server-side framework with any frontend framework. Developers can choose to deploy via `Serverless` or deploy as traditional `Node.js` applications. We focus on improving the development experience of server-side rendering applications in `Serverless` scenarios, creating one-stop development and application deployment services. This maximizes developer experience while minimizing application development and deployment costs. | ||
| 在最新的版本中,同时支持 `React17/18/19` 和 `Vue2/Vue3` 作为服务端渲染的前端框架,开发工具侧我们同时支持了 `Vite|Webpack|Rspack` 来提升应用的启动速度,构建速度和 HMR 速度。 | ||
| In the latest version, it supports `React17/18/19` and `Vue2/Vue3` as frontend frameworks for server-side rendering. For development tools, we support both `Vite|Webpack|Rspack` to improve application startup speed, build speed, and HMR speed. | ||
| 在 `Node.js` 框架中,官方默认的 `example` 提供了基于 `Nest.js` 和 `Midway.js` 这两个流行的 `Node.js` 框架与 `ssr` 框架集成示例。当然 `ssr` 框架在设计上不与任何 `Node.js` 框架耦合,开发者可以自由选择使用任何 `Node.js` 框架。 | ||
| In the `Node.js` framework, the official default `example` provides integration examples based on `Nest.js` and `Midway.js`, two popular `Node.js` frameworks with the `ssr` framework. Of course, the `ssr` framework is designed not to be coupled with any `Node.js` framework, and developers can freely choose to use any `Node.js` framework. | ||
| 如果你选择的是 `Midway.js` 作为 `Node.js` 框架,那么可以直接使用内置的 `ssr deploy` 命令来一键部署应用到 `阿里云` 或 `腾讯云` 平台。 | ||
| If you choose `Midway.js` as your `Node.js` framework, you can directly use the built-in `ssr deploy` command to deploy applications to `Alibaba Cloud` or `Tencent Cloud` platforms with one click. | ||
| 阅读我们的 [官方文档](http://doc.ssr-fc.com/) 获得更加详细的了解。事实上文档本身便是用 `ssr` 框架开发并部署到阿里云 `Serverless` 服务。 | ||
| Read our [official documentation](http://doc.ssr-fc.com/) for more detailed understanding. In fact, the documentation itself is developed using the `ssr` framework and deployed to Alibaba Cloud `Serverless` service. | ||
|  | ||
| ## 什么情况下你应该选择 ssr 框架 | ||
| ## When Should You Choose the SSR Framework | ||
| * 需要在 `Node.js` 与前端框架结合的场景使用,与其他纯前端的框架不同 `ssr` 框架是专为服务端渲染场景或者 `Node.js` 与前端结合的场景打造的框架 | ||
| * 需要一个开箱即用的服务端渲染能力,不需要手动去组合不同的前端框架与服务端框架之间的联系 | ||
| * 需要框架层面的渲染降级能力,在服务端渲染出错时自动降级到客户端渲染 | ||
| * 需要一个配置简单逻辑清晰的框架, `ssr` 框架的渲染逻辑和应用构建逻辑是同类型框架中最清晰的 | ||
| * 可能会改动技术栈,如从 `Vue2` 升级为 `Vue3`,从 `Vue3` 降级为 `Vue2` 或 `React/Vue` 互相切换 | ||
| * 需要在服务端渲染场景下开箱即用使用 `antd` `vant` 等流行 `ui` 库 | ||
| * 需要能够同时支持 `Webpack`, `Vite` 两种开发工具,以便同时得到快速的启动速度 `HMR` 速度以及稳定的生产环境代码 | ||
| * 需要在 `Vue3 SSR` 使用 [pinia](https://pinia.vuejs.org/) 作为数据管理方案 | ||
| * 只是单纯的需要一个更快更好用的 `cra` 或 `vue-cli`, `ssr` 框架在纯 `csr` 场景的支持也十分优秀 | ||
| - Need to use in scenarios combining `Node.js` with frontend frameworks. Unlike other pure frontend frameworks, the `ssr` framework is specifically built for server-side rendering scenarios or scenarios combining `Node.js` with frontend. | ||
| - Need an out-of-the-box server-side rendering capability without manually combining different frontend frameworks with server-side frameworks. | ||
| - Need framework-level rendering degradation capability that automatically degrades to client-side rendering when server-side rendering fails. | ||
| - Need a framework with simple configuration and clear logic. The `ssr` framework has the clearest rendering logic and application build logic among similar frameworks. | ||
| - May change technology stacks, such as upgrading from `Vue2` to `Vue3`, downgrading from `Vue3` to `Vue2`, or switching between `React/Vue`. | ||
| - Need out-of-the-box support for popular UI libraries like `antd` and `vant` in server-side rendering scenarios. | ||
| - Need to support both `Webpack` and `Vite` development tools to get fast startup speed, HMR speed, and stable production code. | ||
| - Need to use [pinia](https://pinia.vuejs.org/) as data management solution in `Vue3 SSR`. | ||
| - Simply need a faster and better `cra` or `vue-cli`. The `ssr` framework also provides excellent support in pure `csr` scenarios. | ||
| ## 哪些应用在使用 | ||
| ## Who's Using | ||
| 正在使用这个项目的公司(应用), 如果您正在使用但名单中没有列出来的话请提 [issue](https://github.com/zhangyuang/ssr/issues),欢迎推广分享,我们将随时提供技术支持 | ||
| Companies (applications) currently using this project. If you are using it but not listed, please raise an [issue](https://github.com/zhangyuang/ssr/issues). We welcome promotion and sharing, and will provide technical support at any time. | ||
@@ -172,64 +172,64 @@ <table> | ||
| * 🌱 极易定制:前端支持 React17/React18/Vue2/Vue3 等现代Web框架; | ||
| * 🚀 开箱即用:内置 10+ 脚手架配套扩展,如 [Pinia](https://pinia.vuejs.org/introduction.html#basic-example)、[antd](https://ant.design/components/overview-cn/)、[vant](https://github.com/youzan/vant)、TypeScript、Hooks等; | ||
| * 🧲 插件驱动:基于插件架构,用户更加专注于业务逻辑; | ||
| * 💯 Serverless优先:一键发布到各种Serverless平台,也支持传统Web Server,比如Egg、Midway、Nest等。 | ||
| * 🛡 高可用场景,可无缝从SSR降级到CSR,最佳容灾方案。 | ||
| * 😄 功能丰富,构建工具同时支持 Webpack/Vite,支持四种渲染模式 `SSR|CSR|SSG|Html` | ||
| * ✨ 支持 [bun](https://bun.sh/) 作为 js runtime | ||
| - 🌱 Extremely customizable: Frontend supports modern Web frameworks like React17/React18/Vue2/Vue3; | ||
| - 🚀 Ready to use: Built-in 10+ scaffold extensions like [Pinia](https://pinia.vuejs.org/introduction.html#basic-example), [antd](https://ant.design/components/overview-cn/), [vant](https://github.com/youzan/vant), TypeScript, Hooks, etc.; | ||
| - 🧲 Plugin-driven: Based on plugin architecture, users focus more on business logic; | ||
| - 💯 Serverless-first: One-click deployment to various Serverless platforms, also supports traditional Web Servers like Egg, Midway, Nest, etc. | ||
| - 🛡 High availability scenarios, seamless degradation from SSR to CSR, best disaster recovery solution. | ||
| - 😄 Feature-rich, build tools support both Webpack/Vite, supports four rendering modes `SSR|CSR|SSG|Html` | ||
| - ✨ Supports [bun](https://bun.sh/) as js runtime | ||
| ## 已实现的功能 | ||
| ## Implemented Features | ||
| 🚀 表示已经实现的功能 | ||
| 🚀 indicates implemented features | ||
| | 里程碑 | 状态 | | ||
| | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | | ||
| | 支持任意服务端框架与任意前端框架的组合使用。(Serverless/Midway/NestJS) + (React17/React18/Vue2/Vue3) | 🚀 | | ||
| | 最丝滑的 [vite](https://vite-design.surge.sh/) [支持](http://doc.ssr-fc.com/docs/features$vite) | 🚀 | | ||
| | 最小而美的实现服务端渲染功能 | 🚀 | | ||
| | 支持[预渲染](http://doc.ssr-fc.com/docs/features$ssg)能力 | 🚀 | | ||
| | 针对Serverless 场景对代码包的大小的严格限制,将生产环境的代码包大小做到极致 | 🚀 | | ||
| | 同时支持约定式前端路由和声明式前端路由 | 🚀 | | ||
| | 摒弃传统模版引擎,所有页面元素统一使用前端组件作为 DSL | 🚀 | | ||
| | 同时支持四种渲染模式,提供服务端渲染一键降级为客户端渲染的能力 | 🚀 | | ||
| | 统一不同框架服务端客户端的数据获取方式,做到高度复用 | 🚀 | | ||
| | 类型友好,全面拥抱 TS | 🚀 | | ||
| | 支持无缝接入 [antd](https://github.com/ant-design/ant-design) [vant](https://vant-contrib.gitee.io/vant/#/) 无需修改任何配置 | 🚀 | | ||
| | 支持使用 less 作为 css 预处理器 | 🚀 | | ||
| | 微前端场景下无缝[使用](http://doc.ssr-fc.com/docs/features$faq#%E4%B8%8E%20micro-app%20%E7%BB%93%E5%90%88%E4%BD%BF%E7%94%A8) | 🚀 | | ||
| | 支持使用 context 或 [valtio](https://github.com/pmndrs/valtio) 实现极简的[数据管理](http://doc.ssr-fc.com/docs/features$communication#React%20%E5%9C%BA%E6%99%AF)方案,摒弃传统的 redux/dva 等数据管理方案 | 🚀 | | ||
| | Vue3 场景提供 [Pinia](https://pinia.vuejs.org/introduction.html#basic-example) 以及 [Provide/Inject](http://doc.ssr-fc.com/docs/features$communication#Vue%20%E5%9C%BA%E6%99%AF%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88) 代替 `Vuex` 进行跨组件通信 | 🚀 | | ||
| | 支持在阿里云 [云平台](https://zhuanlan.zhihu.com/p/139210473)创建使用 | 🚀 | | ||
| | ssr deploy 一键部署到[阿里云](https://www.aliyun.com/)平台 | 🚀 | | ||
| | ssr deploy --tencent 无需修改任何配置一键部署到[腾讯云](https://cloud.tencent.com/)平台 | 🚀 | | ||
| | Milestone | Status | | ||
| | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | | ||
| | Support combination of any server-side framework with any frontend framework. (Serverless/Midway/NestJS) + (React17/React18/Vue2/Vue3) | 🚀 | | ||
| | Smoothest [vite](https://vite-design.surge.sh/) [support](http://doc.ssr-fc.com/docs/features$vite) | 🚀 | | ||
| | Minimal and elegant server-side rendering implementation | 🚀 | | ||
| | Support [pre-rendering](http://doc.ssr-fc.com/docs/features$ssg) capability | 🚀 | | ||
| | Optimized production code bundle size for Serverless scenarios with strict code package size limitations | 🚀 | | ||
| | Support both conventional frontend routing and declarative frontend routing | 🚀 | | ||
| | Abandon traditional template engines, all page elements unified using frontend components as DSL | 🚀 | | ||
| | Support four rendering modes simultaneously, providing one-click degradation from server-side rendering to client-side rendering | 🚀 | | ||
| | Unify data fetching methods for different frameworks on server and client sides, achieving high reusability | 🚀 | | ||
| | Type-friendly, fully embrace TypeScript | 🚀 | | ||
| | Support seamless integration with [antd](https://github.com/ant-design/ant-design) [vant](https://vant-contrib.gitee.io/vant/#/) without modifying any configuration | 🚀 | | ||
| | Support using less as CSS preprocessor | 🚀 | | ||
| | Seamless [usage](http://doc.ssr-fc.com/docs/features$faq#%E4%B8%8E%20micro-app%20%E7%BB%93%E5%90%88%E4%BD%BF%E7%94%A8) in micro-frontend scenarios | 🚀 | | ||
| | Support using context or [valtio](https://github.com/pmndrs/valtio) for minimalist [data management](http://doc.ssr-fc.com/docs/features$communication#React%20%E5%9C%BA%E6%99%AF) solutions, abandoning traditional redux/dva data management solutions | 🚀 | | ||
| | Vue3 scenarios provide [Pinia](https://pinia.vuejs.org/introduction.html#basic-example) and [Provide/Inject](http://doc.ssr-fc.com/docs/features$communication#Vue%20%E5%9C%BA%E6%99%AF%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88) to replace `Vuex` for cross-component communication | 🚀 | | ||
| | Support creation and usage on Alibaba Cloud [platform](https://zhuanlan.zhihu.com/p/139210473) | 🚀 | | ||
| | ssr deploy one-click deployment to [Alibaba Cloud](https://www.aliyun.com/) platform | 🚀 | | ||
| | ssr deploy --tencent one-click deployment to [Tencent Cloud](https://cloud.tencent.com/) platform without modifying any configuration | 🚀 | | ||
| ## 方案对比 | ||
| ## Solution Comparison | ||
| 为什么要选择 `ssr` 框架以及与同类型框架的方案对比请查看[文档](http://doc.ssr-fc.com/docs/why) | ||
| Why choose the `ssr` framework and comparison with similar frameworks, please check the [documentation](http://doc.ssr-fc.com/docs/why) | ||
| ## 快速开始 | ||
| ## Quick Start | ||
| 我们提供了 [create-ssr-app](https://github.com/zhangyuang/create-ssr-app) 脚手架来让用户可以迅速的创建不同类型的应用。 | ||
| We provide the [create-ssr-app](https://github.com/zhangyuang/create-ssr-app) scaffold to let users quickly create different types of applications. | ||
| 目前官方提供了以下类型的模版给开发者直接使用。用户可根据自己的实际技术栈选择不同的模版进行开发。 | ||
| Currently, the official provides the following types of templates for developers to use directly. Users can choose different templates for development based on their actual technology stack. | ||
| 虽然技术栈不同但开发思想是一致的,在任何技术栈的组合中我们的开发命令, 构建命令以及渲染原理都是完全一致的 | ||
| Although the technology stacks are different, the development philosophy is consistent. In any technology stack combination, our development commands, build commands, and rendering principles are completely consistent. | ||
| 注意: 在 `Midway.js` `Nest.js` 场景下我们都已实现了一键部署到 `Serverless` 平台的能力。但底层实现略有差异。更加详细的介绍可以阅读 [Serverless](http://doc.ssr-fc.com/docs/features$serverless) 章节。如需要大量使用 `Serverless` 平台提供的能力,我们建议创建 `Midway.js` 类型的应用。强烈建议阅读我们的 [官方文档](http://doc.ssr-fc.com/) 来获得更加详细的了解 | ||
| Note: In `Midway.js` and `Nest.js` scenarios, we have implemented one-click deployment to `Serverless` platforms. However, the underlying implementations differ slightly. For more detailed introduction, please read the [Serverless](http://doc.ssr-fc.com/docs/features$serverless) chapter. If you need to extensively use capabilities provided by `Serverless` platforms, we recommend creating `Midway.js` type applications. We strongly recommend reading our [official documentation](http://doc.ssr-fc.com/) for more detailed understanding. | ||
| * [nestjs-react-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/nestjs-react-ssr) | ||
| * [nestjs-react18-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/nestjs-react18-ssr) | ||
| * [nestjs-vue-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/nestjs-vue-ssr) | ||
| * [nestjs-vue3-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/nestjs-vue3-ssr) | ||
| * [nestjs-vue3-ssr-pinia](https://github.com/zhangyuang/nestjs-vue3-ssr-pinia) | ||
| * [midway-react-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/midway-react-ssr) | ||
| * [midway-react18-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/midway-react18-ssr) | ||
| * [midway-vue-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/midway-vue-ssr) | ||
| * [midway-vue3-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/midway-vue3-ssr) | ||
| - [nestjs-react-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/nestjs-react-ssr) | ||
| - [nestjs-react18-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/nestjs-react18-ssr) | ||
| - [nestjs-vue-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/nestjs-vue-ssr) | ||
| - [nestjs-vue3-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/nestjs-vue3-ssr) | ||
| - [nestjs-vue3-ssr-pinia](https://github.com/zhangyuang/nestjs-vue3-ssr-pinia) | ||
| - [midway-react-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/midway-react-ssr) | ||
| - [midway-react18-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/midway-react18-ssr) | ||
| - [midway-vue-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/midway-vue-ssr) | ||
| - [midway-vue3-ssr](https://github.com/zhangyuang/ssr/tree/dev/example/midway-vue3-ssr) | ||
| 开发者可根据实际技术栈需要创建不同类型的应用快速开始 | ||
| Developers can create different types of applications according to their actual technology stack needs to get started quickly. | ||
| ### 创建项目 | ||
| ### Create Project | ||
| 通过 `npm init` 命令我们可以创建上述的任意模版 | ||
| Through the `npm init` command, we can create any of the above templates: | ||
@@ -239,7 +239,7 @@ ```bash | ||
| $ cd my-ssr-project | ||
| $ yarn # 建议使用 yarn, 也可以 npm install | ||
| $ yarn # recommend using yarn, can also use npm install | ||
| $ yarn start | ||
| $ open http://localhost:3000 # 访问应用 | ||
| $ yarn build # 资源构建,等价于 npx ssr build | ||
| $ yarn start:vite # 以 vite 模式启动,等价于 npx ssr start --tools vite | ||
| $ open http://localhost:3000 # access the application | ||
| $ yarn build # resource build, equivalent to npx ssr build | ||
| $ yarn start:vite # start in vite mode, equivalent to npx ssr start --tools vite | ||
| ``` | ||
@@ -249,17 +249,17 @@ | ||
| ## 线上案例 | ||
| ## Live Examples | ||
| 通过访问以下链接来预览该框架通过 Serverless 一键部署到阿里云/腾讯云服务的应用详情。 | ||
| 通过使用 queryParams `csr=true` 来让 SSR 服务端渲染模式一键降级为 CSR 客户端渲染模式,也可以通过 `config.js` 来进行配置。 | ||
| Preview application details deployed to Alibaba Cloud/Tencent Cloud services through Serverless one-click deployment by visiting the following links. | ||
| Use queryParams `csr=true` to degrade SSR server-side rendering mode to CSR client-side rendering mode with one click, or configure through `config.js`. | ||
| * http://ssr-fc.com/ 部署到阿里云的 React SSR 应用 | ||
| * http://ssr-fc.com?csr=true 部署到阿里云的 React SSR 应用, 以 CSR 模式访问 | ||
| * http://tx.ssr-fc.com 部署到腾讯云的 React SSR 应用 | ||
| * http://tx.ssr-fc.com?csr=true 部署到腾讯云的 React SSR 应用, 以 CSR 模式访问 | ||
| * http://vue.ssr-fc.com 部署到阿里云的 Vue SSR 应用 | ||
| * http://vue3.ssr-fc.com 部署到阿里云的 Vue3 SSR 应用 | ||
| * http://vue.ssr-fc.com?csr=true 部署到阿里云的 Vue SSR 应用, 以 CSR 模式访问 | ||
| * http://vue3.ssr-fc.com?csr=true 部署到阿里云的 Vue3 SSR 应用, 以 CSR 模式访问 | ||
| - http://ssr-fc.com/ React SSR application deployed to Alibaba Cloud | ||
| - http://ssr-fc.com?csr=true React SSR application deployed to Alibaba Cloud, accessed in CSR mode | ||
| - http://tx.ssr-fc.com React SSR application deployed to Tencent Cloud | ||
| - http://tx.ssr-fc.com?csr=true React SSR application deployed to Tencent Cloud, accessed in CSR mode | ||
| - http://vue.ssr-fc.com Vue SSR application deployed to Alibaba Cloud | ||
| - http://vue3.ssr-fc.com Vue3 SSR application deployed to Alibaba Cloud | ||
| - http://vue.ssr-fc.com?csr=true Vue SSR application deployed to Alibaba Cloud, accessed in CSR mode | ||
| - http://vue3.ssr-fc.com?csr=true Vue3 SSR application deployed to Alibaba Cloud, accessed in CSR mode | ||
| ## 生态系统 | ||
| ## Ecosystem | ||
@@ -269,3 +269,3 @@ | Project | Status | Description | | ||
| | [ssr] | [![ssr-status]][ssr] | cli for ssr framework | | ||
| | [ssr-core] | [![ssr-core-status]][ssr-core] | core render for all framwork | | ||
| | [ssr-core] | [![ssr-core-status]][ssr-core] | core render for all framwork | | ||
| | [ssr-plugin-midway] | [![ssr-plugin-midway-status]][ssr-plugin-midway] | provide start and build fetature by [midway@2.0](https://midwayjs.org/) | | ||
@@ -294,3 +294,2 @@ | [ssr-plugin-nestjs] | [![ssr-plugin-nestjs-status]][ssr-plugin-nestjs] | provide start and build feature by [NestJS](https://docs.nestjs.com/) | | ||
| [ssr-types-status]: https://img.shields.io/npm/v/ssr-types.svg | ||
| [ssr]: https://github.com/zhangyuang/ssr/tree/dev/packages/cli | ||
@@ -311,3 +310,3 @@ [ssr-core]: https://github.com/zhangyuang/ssr/tree/dev/packages/core | ||
| 如果你想为本应用贡献代码,请阅读[贡献文档](./CONTRIBUTING.md),我们为你准备了丰富的脚本用于 bootstrap | ||
| If you want to contribute code to this application, please read the [contributing documentation](./CONTRIBUTING.md). We have prepared rich scripts for bootstrapping. | ||
@@ -318,7 +317,7 @@ ## License | ||
| ## 答疑群 | ||
| ## Q&A Group | ||
| 虽然我们已经尽力检查了一遍应用,但仍有可能有疏漏的地方,如果你在使用过程中发现任何问题或者建议,欢迎提[issue](https://github.com/zhangyuang/ssr/issues)或者[PR](https://github.com/zhangyuang/ssr/pulls) | ||
| Although we have tried our best to check the application, there may still be omissions. If you find any problems or suggestions during use, welcome to raise [issues](https://github.com/zhangyuang/ssr/issues) or [PRs](https://github.com/zhangyuang/ssr/pulls). | ||
| `注: 由于微信交流群人数限制,进群请添加私人二维码并备注进入 ssr 交流群,由于是私人微信,拉群后将会自行删除好友,敬请谅解。我们更加鼓励通过 issue 和 discussion 来交流问题` | ||
| `Note: Due to WeChat group size limitations, to join the group please add the personal QR code and note "join ssr communication group". Since it's a personal WeChat, friends will be deleted after being added to the group, please understand. We encourage communication through issues and discussions more.` | ||
@@ -330,5 +329,6 @@ <div style="display:flex"> | ||
| ## 项目捐赠 | ||
| ## Project Donation | ||
| 如果本项目能够对你有所帮助,希望得到来自于你的捐赠 ☕️ 为开源社区做一份贡献 | ||
| If this project can help you, we hope to receive your donation ☕️ to contribute to the open source community. | ||
| <div style="display:flex"> | ||
@@ -339,3 +339,3 @@ <img src="https://doc.ssr-fc.com/images/wepay.jpg" width="150"> | ||
| ## 代码行数 | ||
| ## Lines of Code | ||
@@ -358,8 +358,8 @@ ```bash | ||
| ## 前端开发手册 | ||
| ## Frontend Development Manual | ||
| [如何打造舒适高效的前端开发环境](http://fe.ssr-fc.com/) | ||
| [How to Build a Comfortable and Efficient Frontend Development Environment](http://fe.ssr-fc.com/) | ||
| ## 项目 Star 数增长趋势 | ||
| ## Project Star Growth Trend | ||
| [](https://starchart.cc/zhangyuang/ssr) |
+43
-28
@@ -1,32 +0,47 @@ | ||
| import { promises } from 'fs' | ||
| import { resolve } from 'path' | ||
| import { parse as parseImports } from 'es-module-lexer' | ||
| import MagicString from 'magic-string' | ||
| import { promises } from "fs"; | ||
| import { resolve } from "path"; | ||
| import { parse as parseImports } from "es-module-lexer"; | ||
| import MagicString from "magic-string"; | ||
| const webpackCommentRegExp = /webpackChunkName:\s?"(.*)?"\s?\*/ | ||
| const webpackCommentRegExp = /webpackChunkName:\s?"(.*)?"\s?\*/; | ||
| export const addChunkNameInQuery = (source: string) => { | ||
| let str = new MagicString(source) | ||
| const imports = parseImports(source)[0] | ||
| for (let index = 0; index < imports.length; index++) { | ||
| const { s: start, e: end, se: statementEnd } = imports[index] | ||
| const rawUrl = source.slice(start, end) | ||
| const chunkName = webpackCommentRegExp.exec(rawUrl)?.[1] | ||
| if (rawUrl.includes('layout') || rawUrl.includes('App') || rawUrl.includes('store')) { | ||
| str = str.appendRight(statementEnd - 1, '?chunkName=Page') | ||
| } else if (chunkName) { | ||
| str = str.appendRight(statementEnd - (rawUrl.includes('\n') ? 2 : 1), `?chunkName=${chunkName}`) | ||
| } else { | ||
| str = str.appendRight(statementEnd - 1, '?chunkName=Page') | ||
| } | ||
| } | ||
| return str.toString() | ||
| } | ||
| let str = new MagicString(source); | ||
| const imports = parseImports(source)[0]; | ||
| for (let index = 0; index < imports.length; index++) { | ||
| const { s: start, e: end, se: statementEnd } = imports[index]; | ||
| const rawUrl = source.slice(start, end); | ||
| const chunkName = webpackCommentRegExp.exec(rawUrl)?.[1]; | ||
| if (rawUrl.includes("layout") || rawUrl.includes("App") || rawUrl.includes("store")) { | ||
| str = str.appendRight(statementEnd - 1, "?chunkName=Page"); | ||
| } else if (chunkName) { | ||
| str = str.appendRight( | ||
| statementEnd - (rawUrl.includes("\n") ? 2 : 1), | ||
| `?chunkName=${chunkName}`, | ||
| ); | ||
| } else { | ||
| str = str.appendRight(statementEnd - 1, "?chunkName=Page"); | ||
| } | ||
| } | ||
| return str.toString(); | ||
| }; | ||
| export const addChunkNameInRoutes = async () => { | ||
| const { getCwd } = await import('ssr-common-utils') | ||
| const cwd = getCwd() | ||
| const declareRoutes = await promises.readFile(resolve(cwd, './build/ssr-declare-routes.js'), 'utf-8') | ||
| await promises.writeFile(resolve(cwd, './build/ssr-declare-routes.js'), addChunkNameInQuery(declareRoutes)) | ||
| const manualRoutes = await promises.readFile(resolve(cwd, './build/ssr-manual-routes.js'), 'utf-8') | ||
| await promises.writeFile(resolve(cwd, './build/ssr-manual-routes.js'), addChunkNameInQuery(manualRoutes)) | ||
| } | ||
| const { getCwd } = await import("ssr-common-utils"); | ||
| const cwd = getCwd(); | ||
| const declareRoutes = await promises.readFile( | ||
| resolve(cwd, "./build/ssr-declare-routes.js"), | ||
| "utf-8", | ||
| ); | ||
| await promises.writeFile( | ||
| resolve(cwd, "./build/ssr-declare-routes.js"), | ||
| addChunkNameInQuery(declareRoutes), | ||
| ); | ||
| const manualRoutes = await promises.readFile( | ||
| resolve(cwd, "./build/ssr-manual-routes.js"), | ||
| "utf-8", | ||
| ); | ||
| await promises.writeFile( | ||
| resolve(cwd, "./build/ssr-manual-routes.js"), | ||
| addChunkNameInQuery(manualRoutes), | ||
| ); | ||
| }; |
+32
-32
@@ -1,34 +0,34 @@ | ||
| import { promises } from 'fs' | ||
| import { resolve } from 'path' | ||
| import { mkdir, rm } from 'shelljs' | ||
| import type { Argv } from 'ssr-types' | ||
| import { promises } from "fs"; | ||
| import { resolve } from "path"; | ||
| import { mkdir, rm } from "shelljs"; | ||
| import type { Argv } from "ssr-types"; | ||
| export const cleanOutDir = async (argv: Argv) => { | ||
| const { accessFile, getCwd } = await import('ssr-common-utils') | ||
| const cwd = getCwd() | ||
| const staticConfigPath = resolve(cwd, './build/staticConfig.js') | ||
| if (!(await accessFile(resolve(cwd, './build')))) { | ||
| mkdir(resolve(cwd, './build')) | ||
| } | ||
| const buildDir = await promises.readdir(resolve(cwd, './build')) | ||
| if (argv.noclean) { | ||
| return | ||
| } | ||
| for (const f of buildDir) { | ||
| const fpath = resolve(cwd, `./build/${f}`) | ||
| if (fpath !== staticConfigPath) { | ||
| rm('-rf', fpath) | ||
| } | ||
| } | ||
| // clean dist folder | ||
| const tsconfigExist = await accessFile(resolve(cwd, './tsconfig.json')) | ||
| if (tsconfigExist && process.env.CLEAN !== 'false') { | ||
| try { | ||
| const outDir = require(resolve(cwd, './tsconfig.json')).compilerOptions.outDir | ||
| rm('-rf', resolve(cwd, outDir)) | ||
| } catch (_error) { | ||
| // 有可能 json 文件存在注释导致 require 失败,这里 catch 一下 | ||
| console.log('检测到当前目录 tsconfig.json 文件可能存在语法错误') | ||
| } | ||
| } | ||
| } | ||
| const { accessFile, getCwd } = await import("ssr-common-utils"); | ||
| const cwd = getCwd(); | ||
| const staticConfigPath = resolve(cwd, "./build/staticConfig.js"); | ||
| if (!(await accessFile(resolve(cwd, "./build")))) { | ||
| mkdir(resolve(cwd, "./build")); | ||
| } | ||
| const buildDir = await promises.readdir(resolve(cwd, "./build")); | ||
| if (argv.noclean) { | ||
| return; | ||
| } | ||
| for (const f of buildDir) { | ||
| const fpath = resolve(cwd, `./build/${f}`); | ||
| if (fpath !== staticConfigPath) { | ||
| rm("-rf", fpath); | ||
| } | ||
| } | ||
| // clean dist folder | ||
| const tsconfigExist = await accessFile(resolve(cwd, "./tsconfig.json")); | ||
| if (tsconfigExist && process.env.CLEAN !== "false") { | ||
| try { | ||
| const outDir = require(resolve(cwd, "./tsconfig.json")).compilerOptions.outDir; | ||
| rm("-rf", resolve(cwd, outDir)); | ||
| } catch (_error) { | ||
| // 有可能 json 文件存在注释导致 require 失败,这里 catch 一下 | ||
| console.log("检测到当前目录 tsconfig.json 文件可能存在语法错误"); | ||
| } | ||
| } | ||
| }; |
+221
-227
| #!/usr/bin/env node | ||
| import { fork } from 'child_process' | ||
| import { resolve } from 'path' | ||
| import { Argv, IPlugin } from 'ssr-types' | ||
| import * as yargs from 'yargs' | ||
| import { generateHtml } from './html' | ||
| import { handleEnv } from './preprocess' | ||
| import { ssg } from './ssg' | ||
| import { createWatcher, onWatcher } from './watcher' | ||
| import { addChunkNameInRoutes } from './add-chunk-name' | ||
| import { fork } from "child_process"; | ||
| import { resolve } from "path"; | ||
| import { Argv, IPlugin } from "ssr-types"; | ||
| import * as yargs from "yargs"; | ||
| import { generateHtml } from "./html"; | ||
| import { handleEnv } from "./preprocess"; | ||
| import { ssg } from "./ssg"; | ||
| import { createWatcher, onWatcher } from "./watcher"; | ||
| import { addChunkNameInRoutes } from "./add-chunk-name"; | ||
| const spinnerProcess = fork(resolve(__dirname, './spinner')) // 单独创建子进程跑 spinner 否则会被后续的 同步代码 block 导致 loading 暂停 | ||
| const spinnerProcess = fork(resolve(__dirname, "./spinner")); // 单独创建子进程跑 spinner 否则会被后续的 同步代码 block 导致 loading 暂停 | ||
| const spinner = { | ||
| start: () => | ||
| spinnerProcess.send({ | ||
| message: 'start' | ||
| }), | ||
| stop: () => | ||
| spinnerProcess.send({ | ||
| message: 'stop' | ||
| }) | ||
| } | ||
| start: () => | ||
| spinnerProcess.send({ | ||
| message: "start", | ||
| }), | ||
| stop: () => | ||
| spinnerProcess.send({ | ||
| message: "stop", | ||
| }), | ||
| }; | ||
| const startOrBuild = async (argv: Argv, type: 'start' | 'build') => { | ||
| const { judgeFramework, judgeServerFramework, logGreen, getCwd } = await import('ssr-common-utils') | ||
| const cwd = getCwd() | ||
| const framework = judgeFramework() | ||
| const serverFramework = judgeServerFramework() | ||
| if (argv.ssg) { | ||
| logGreen('Using ssg for generate static html file') | ||
| } | ||
| if (!argv.api) { | ||
| const { clientPlugin } = await import(resolve(cwd, './node_modules', framework)) | ||
| const client: IPlugin['clientPlugin'] = clientPlugin() | ||
| await client?.[type]?.(argv) | ||
| } | ||
| if (!argv.web) { | ||
| const { serverPlugin } = await import(resolve(cwd, './node_modules', serverFramework)) | ||
| const server: IPlugin['serverPlugin'] = serverPlugin() | ||
| await server?.[type]?.(argv) | ||
| } | ||
| if (type === 'build') { | ||
| await generateHtml() | ||
| await ssg(argv) | ||
| } | ||
| } | ||
| const startOrBuild = async (argv: Argv, type: "start" | "build") => { | ||
| const { judgeFramework, judgeServerFramework, logGreen, getCwd } = | ||
| await import("ssr-common-utils"); | ||
| const cwd = getCwd(); | ||
| const framework = judgeFramework(); | ||
| const serverFramework = judgeServerFramework(); | ||
| if (argv.ssg) { | ||
| logGreen("Using ssg for generate static html file"); | ||
| } | ||
| if (!argv.api) { | ||
| const { clientPlugin } = await import(resolve(cwd, "./node_modules", framework)); | ||
| const client: IPlugin["clientPlugin"] = clientPlugin(); | ||
| await client?.[type]?.(argv); | ||
| } | ||
| if (!argv.web) { | ||
| const { serverPlugin } = await import(resolve(cwd, "./node_modules", serverFramework)); | ||
| const server: IPlugin["serverPlugin"] = serverPlugin(); | ||
| await server?.[type]?.(argv); | ||
| } | ||
| if (type === "build") { | ||
| await generateHtml(); | ||
| await ssg(argv); | ||
| } | ||
| }; | ||
| const startFunc = async (argv: Argv) => { | ||
| await handleEnv(argv) | ||
| if (argv.tool !== 'vite') { | ||
| spinner.start() | ||
| } | ||
| process.env.NODE_ENV = 'development' | ||
| const { parseFeRoutes, transformConfig, logInfo } = await import('ssr-common-utils') | ||
| await transformConfig() | ||
| if (argv.tool === 'vite') { | ||
| logInfo('Vite 场景本地开发样式闪烁为正常现象请忽略,生产环境无此问题') | ||
| } | ||
| const watcher = await createWatcher() | ||
| await parseFeRoutes() | ||
| await addChunkNameInRoutes() | ||
| spinner.stop() | ||
| await startOrBuild(argv, 'start') | ||
| await onWatcher(watcher) | ||
| } | ||
| await handleEnv(argv); | ||
| if (argv.tool !== "vite") { | ||
| spinner.start(); | ||
| } | ||
| process.env.NODE_ENV = "development"; | ||
| const { parseFeRoutes, transformConfig, logInfo } = await import("ssr-common-utils"); | ||
| await transformConfig(); | ||
| if (argv.tool === "vite") { | ||
| logInfo("Vite 场景本地开发样式闪烁为正常现象请忽略,生产环境无此问题"); | ||
| } | ||
| const watcher = await createWatcher(); | ||
| await parseFeRoutes(); | ||
| await addChunkNameInRoutes(); | ||
| spinner.stop(); | ||
| await startOrBuild(argv, "start"); | ||
| await onWatcher(watcher); | ||
| }; | ||
| const buildFunc = async (argv: Argv) => { | ||
| await handleEnv(argv) | ||
| spinner.start() | ||
| process.env.NODE_ENV = 'production' | ||
| const { parseFeRoutes, transformConfig } = await import('ssr-common-utils') | ||
| await transformConfig() | ||
| await parseFeRoutes() | ||
| await addChunkNameInRoutes() | ||
| spinner.stop() | ||
| await startOrBuild(argv, 'build') | ||
| } | ||
| await handleEnv(argv); | ||
| spinner.start(); | ||
| process.env.NODE_ENV = "production"; | ||
| const { parseFeRoutes, transformConfig } = await import("ssr-common-utils"); | ||
| await transformConfig(); | ||
| await parseFeRoutes(); | ||
| await addChunkNameInRoutes(); | ||
| spinner.stop(); | ||
| await startOrBuild(argv, "build"); | ||
| }; | ||
| const deployFunc = async (argv: Argv) => { | ||
| process.env.NODE_ENV = 'production' | ||
| const { judgeServerFramework } = await import('ssr-common-utils') | ||
| const serverFramework = judgeServerFramework() | ||
| const { serverPlugin } = await import(serverFramework) | ||
| const server: IPlugin['serverPlugin'] = serverPlugin() | ||
| if (!server?.deploy) { | ||
| console.log('当前插件不支持 deploy 功能,请使用 ssr-plugin-midway 插件 参考 https://www.yuque.com/midwayjs/faas/migrate_egg 或扫码进群了解') | ||
| return | ||
| } | ||
| await server?.deploy?.(argv) | ||
| spinner.stop() | ||
| } | ||
| process.env.NODE_ENV = "production"; | ||
| const { judgeServerFramework } = await import("ssr-common-utils"); | ||
| const serverFramework = judgeServerFramework(); | ||
| const { serverPlugin } = await import(serverFramework); | ||
| const server: IPlugin["serverPlugin"] = serverPlugin(); | ||
| if (!server?.deploy) { | ||
| console.log( | ||
| "当前插件不支持 deploy 功能,请使用 ssr-plugin-midway 插件 参考 https://www.yuque.com/midwayjs/faas/migrate_egg 或扫码进群了解", | ||
| ); | ||
| return; | ||
| } | ||
| await server?.deploy?.(argv); | ||
| spinner.stop(); | ||
| }; | ||
| const cliDesc = { | ||
| web: { | ||
| desc: 'only start client plugin' | ||
| }, | ||
| api: { | ||
| desc: 'only start server plugin' | ||
| } | ||
| } | ||
| web: { | ||
| desc: "only start client plugin", | ||
| }, | ||
| api: { | ||
| desc: "only start server plugin", | ||
| }, | ||
| }; | ||
| yargs | ||
| .command( | ||
| 'start', | ||
| 'Start Server', | ||
| (yargs) => | ||
| yargs.options({ | ||
| bundleConfig: { | ||
| alias: 'bc', | ||
| desc: 'bundle config.ts dependencies module by esbuild' | ||
| }, | ||
| analyze: { | ||
| alias: 'a', | ||
| desc: 'Analyze bundle result when using webpack for build' | ||
| }, | ||
| tool: { | ||
| desc: 'Start application by vite or rspack', | ||
| choices: ['webpack', 'vite', 'rspack'], | ||
| default: 'webpack' | ||
| }, | ||
| viteMode: { | ||
| desc: 'same like vite start --mode' | ||
| }, | ||
| port: { | ||
| desc: 'Setting application server port, default is 3000' | ||
| }, | ||
| help: { | ||
| alias: 'h', | ||
| desc: 'In midway, use --help to speed up ts compile' | ||
| }, | ||
| nominify: { | ||
| desc: 'Disable minify output file content for debug' | ||
| }, | ||
| sourcemap: { | ||
| desc: 'Set type of generate sourcemap by ssr start --sourcemap xxx' | ||
| }, | ||
| 'client-sourcemap': { | ||
| desc: 'Set type of generate sourcemap for client-side code' | ||
| }, | ||
| 'server-sourcemap': { | ||
| desc: 'Set type of generate sourcemap for server-side code' | ||
| }, | ||
| ...cliDesc | ||
| }), | ||
| async (argv: Argv) => { | ||
| if (argv.bc) { | ||
| process.env.BUNDLECONFIG = '1' | ||
| } | ||
| await startFunc(argv) | ||
| } | ||
| ) | ||
| .command( | ||
| 'build', | ||
| 'Build application by webpack or vite', | ||
| (yargs) => | ||
| yargs.options({ | ||
| bundleConfig: { | ||
| alias: 'bc', | ||
| desc: 'bundle config.ts dependencies module by esbuild' | ||
| }, | ||
| analyze: { | ||
| alias: 'a', | ||
| desc: 'Analyze bundle result when using webpack for build' | ||
| }, | ||
| vite: { | ||
| desc: 'Build application by vite' | ||
| }, | ||
| viteMode: { | ||
| desc: 'same like vite build --mode' | ||
| }, | ||
| legacy: { | ||
| desc: 'Close default rollup manulChunks setting in vite mode' | ||
| }, | ||
| html: { | ||
| desc: 'Build application as a single html' | ||
| }, | ||
| ssg: { | ||
| desc: 'Build with Static Site Generation (Pre Render)' | ||
| }, | ||
| sourcemap: { | ||
| desc: 'Set type of generate sourcemap by build --sourcemap xxx' | ||
| }, | ||
| 'client-sourcemap': { | ||
| desc: 'Set type of generate sourcemap for client-side code' | ||
| }, | ||
| 'server-sourcemap': { | ||
| desc: 'Set type of generate sourcemap for server-side code' | ||
| }, | ||
| nominify: { | ||
| desc: 'Disable minify output file content for debug' | ||
| }, | ||
| ...cliDesc | ||
| }), | ||
| async (argv: Argv) => { | ||
| const { logWarning } = await import('ssr-common-utils') | ||
| if (argv.tool === 'vite') { | ||
| logWarning(`ssr build by vite is beta now, if you find some bugs, please submit an issue on https://github.com/zhangyuang/ssr/issues or you can use ssr build --tools vite --legacy which will close manualChunks | ||
| to get a stable bundle result but maybe some performance loss | ||
| `) | ||
| } | ||
| if (argv.bc) { | ||
| process.env.BUNDLECONFIG = '1' | ||
| } | ||
| await buildFunc(argv) | ||
| } | ||
| ) | ||
| .command( | ||
| 'deploy', | ||
| 'Deploy function to aliyun cloud or tencent cloud', | ||
| (yargs) => | ||
| yargs.options({ | ||
| tencent: { | ||
| desc: 'deploy application to tencent clound' | ||
| } | ||
| }), | ||
| async (argv: Argv) => { | ||
| await deployFunc(argv) | ||
| } | ||
| ) | ||
| .command('update', 'check dependencies version is latest', {}, async (_argv: Argv) => { | ||
| spinner.start() | ||
| const { update } = await import('./update') | ||
| await update() | ||
| spinner.stop() | ||
| }) | ||
| .demandCommand(1, 'You need at least one command before moving on') | ||
| .option('version', { | ||
| alias: 'v', | ||
| default: false, | ||
| desc: 'Show current version' | ||
| }) | ||
| .fail((msg, err) => { | ||
| if (err) { | ||
| console.log(err) | ||
| spinner.stop() | ||
| process.exit(1) | ||
| } | ||
| console.log(msg) | ||
| }) | ||
| .parse() | ||
| .command( | ||
| "start", | ||
| "Start Server", | ||
| (yargs) => | ||
| yargs.options({ | ||
| bundleConfig: { | ||
| alias: "bc", | ||
| desc: "bundle config.ts dependencies module by esbuild", | ||
| }, | ||
| analyze: { | ||
| alias: "a", | ||
| desc: "Analyze bundle result when using webpack for build", | ||
| }, | ||
| tool: { | ||
| desc: "Start application by vite or rspack", | ||
| choices: ["webpack", "vite", "rspack"], | ||
| default: "webpack", | ||
| }, | ||
| viteMode: { | ||
| desc: "same like vite start --mode", | ||
| }, | ||
| port: { | ||
| desc: "Setting application server port, default is 3000", | ||
| }, | ||
| help: { | ||
| alias: "h", | ||
| desc: "In midway, use --help to speed up ts compile", | ||
| }, | ||
| nominify: { | ||
| desc: "Disable minify output file content for debug", | ||
| }, | ||
| sourcemap: { | ||
| desc: "Set type of generate sourcemap by ssr start --sourcemap xxx", | ||
| }, | ||
| "client-sourcemap": { | ||
| desc: "Set type of generate sourcemap for client-side code", | ||
| }, | ||
| "server-sourcemap": { | ||
| desc: "Set type of generate sourcemap for server-side code", | ||
| }, | ||
| ...cliDesc, | ||
| }), | ||
| async (argv: Argv) => { | ||
| if (argv.bc) { | ||
| process.env.BUNDLECONFIG = "1"; | ||
| } | ||
| await startFunc(argv); | ||
| }, | ||
| ) | ||
| .command( | ||
| "build", | ||
| "Build application by webpack or vite", | ||
| (yargs) => | ||
| yargs.options({ | ||
| bundleConfig: { | ||
| alias: "bc", | ||
| desc: "bundle config.ts dependencies module by esbuild", | ||
| }, | ||
| analyze: { | ||
| alias: "a", | ||
| desc: "Analyze bundle result when using webpack for build", | ||
| }, | ||
| vite: { | ||
| desc: "Build application by vite", | ||
| }, | ||
| viteMode: { | ||
| desc: "same like vite build --mode", | ||
| }, | ||
| html: { | ||
| desc: "Build application as a single html", | ||
| }, | ||
| ssg: { | ||
| desc: "Build with Static Site Generation (Pre Render)", | ||
| }, | ||
| sourcemap: { | ||
| desc: "Set type of generate sourcemap by build --sourcemap xxx", | ||
| }, | ||
| "client-sourcemap": { | ||
| desc: "Set type of generate sourcemap for client-side code", | ||
| }, | ||
| "server-sourcemap": { | ||
| desc: "Set type of generate sourcemap for server-side code", | ||
| }, | ||
| nominify: { | ||
| desc: "Disable minify output file content for debug", | ||
| }, | ||
| ...cliDesc, | ||
| }), | ||
| async (argv: Argv) => { | ||
| if (argv.bc) { | ||
| process.env.BUNDLECONFIG = "1"; | ||
| } | ||
| await buildFunc(argv); | ||
| }, | ||
| ) | ||
| .command( | ||
| "deploy", | ||
| "Deploy function to aliyun cloud or tencent cloud", | ||
| (yargs) => | ||
| yargs.options({ | ||
| tencent: { | ||
| desc: "deploy application to tencent clound", | ||
| }, | ||
| }), | ||
| async (argv: Argv) => { | ||
| await deployFunc(argv); | ||
| }, | ||
| ) | ||
| .command("update", "check dependencies version is latest", {}, async (_argv: Argv) => { | ||
| spinner.start(); | ||
| const { update } = await import("./update"); | ||
| await update(); | ||
| spinner.stop(); | ||
| }) | ||
| .demandCommand(1, "You need at least one command before moving on") | ||
| .option("version", { | ||
| alias: "v", | ||
| default: false, | ||
| desc: "Show current version", | ||
| }) | ||
| .fail((msg, err) => { | ||
| if (err) { | ||
| console.log(err); | ||
| spinner.stop(); | ||
| process.exit(1); | ||
| } | ||
| console.log(msg); | ||
| }) | ||
| .parse(); | ||
| export { startFunc, buildFunc, deployFunc } | ||
| export { startFunc, buildFunc, deployFunc }; |
+175
-134
@@ -1,18 +0,42 @@ | ||
| import { promises } from 'fs' | ||
| import { join } from 'path' | ||
| import { promises } from "fs"; | ||
| import { join } from "path"; | ||
| export const generateHtml = async () => { | ||
| if (!process.env.SPA) { | ||
| return | ||
| } | ||
| // spa 模式下生成 html 文件直接部署 | ||
| const { loadConfig, getCwd, judgeFramework, loadModuleFromCwd, loadModuleFromFramework, logGreen, getAsyncJsChunk, logWarning, getAsyncCssChunk, splitPageInfo, getScriptArr, getStaticConfig } = await import('ssr-common-utils') | ||
| logGreen('Generating html file...') | ||
| const cwd = getCwd() | ||
| const { customeHeadScript, customeFooterScript, hashRouter, htmlTemplate, prefix, clientPrefix, isVite, cssOrderPriority, jsOrderPriority, rootId } = loadConfig() | ||
| const staticConfig = getStaticConfig() | ||
| if (!process.env.SPA) { | ||
| return; | ||
| } | ||
| // spa 模式下生成 html 文件直接部署 | ||
| const { | ||
| loadConfig, | ||
| getCwd, | ||
| judgeFramework, | ||
| loadModuleFromCwd, | ||
| loadModuleFromFramework, | ||
| logGreen, | ||
| getAsyncJsChunk, | ||
| logWarning, | ||
| getAsyncCssChunk, | ||
| splitPageInfo, | ||
| getScriptArr, | ||
| getStaticConfig, | ||
| } = await import("ssr-common-utils"); | ||
| logGreen("Generating html file..."); | ||
| const cwd = getCwd(); | ||
| const { | ||
| customeHeadScript, | ||
| customeFooterScript, | ||
| hashRouter, | ||
| htmlTemplate, | ||
| prefix, | ||
| clientPrefix, | ||
| isVite, | ||
| cssOrderPriority, | ||
| jsOrderPriority, | ||
| rootId, | ||
| } = loadConfig(); | ||
| const staticConfig = getStaticConfig(); | ||
| const htmlStr = | ||
| htmlTemplate ?? | ||
| ` | ||
| const htmlStr = | ||
| htmlTemplate ?? | ||
| ` | ||
| <!DOCTYPE html> | ||
@@ -35,127 +59,144 @@ <html lang="en"> | ||
| </html> | ||
| ` | ||
| const mockCtx = {} as any | ||
| const framework = judgeFramework() | ||
| let jsHeaderManifest = '' | ||
| let jsFooterManifest = '' | ||
| const hashRouterScript = hashRouter ? '<script>window.hashRouter=true</script>' : '' | ||
| const header = customeHeadScript ?? [] | ||
| const footer = customeFooterScript ?? [] | ||
| const ssrDevInfo = { rootId } | ||
| const combine = [ | ||
| { | ||
| arr: getScriptArr(header, mockCtx).concat(getScriptArr(staticConfig.customeHeadScript ?? [], mockCtx)), | ||
| flag: 'header' | ||
| }, | ||
| { | ||
| arr: getScriptArr(footer, mockCtx).concat(getScriptArr(staticConfig.customeFooterScript ?? [], mockCtx)), | ||
| flag: 'footer' | ||
| } | ||
| ] | ||
| `; | ||
| const mockCtx = {} as any; | ||
| const framework = judgeFramework(); | ||
| let jsHeaderManifest = ""; | ||
| let jsFooterManifest = ""; | ||
| const hashRouterScript = hashRouter ? "<script>window.hashRouter=true</script>" : ""; | ||
| const header = customeHeadScript ?? []; | ||
| const footer = customeFooterScript ?? []; | ||
| const ssrDevInfo = { rootId }; | ||
| const combine = [ | ||
| { | ||
| arr: getScriptArr(header, mockCtx).concat( | ||
| getScriptArr(staticConfig.customeHeadScript ?? [], mockCtx), | ||
| ), | ||
| flag: "header", | ||
| }, | ||
| { | ||
| arr: getScriptArr(footer, mockCtx).concat( | ||
| getScriptArr(staticConfig.customeFooterScript ?? [], mockCtx), | ||
| ), | ||
| flag: "footer", | ||
| }, | ||
| ]; | ||
| const content = splitPageInfo({ | ||
| 'window.__USE_SSR__': false, | ||
| 'window.__USE_VITE__': isVite, | ||
| 'window.prefix': `"${prefix}"`, | ||
| 'window.clientPrefix': `"${clientPrefix ?? ''}"`, | ||
| 'window.ssrDevInfo': JSON.stringify(ssrDevInfo) | ||
| }) | ||
| combine[0].arr = combine[0].arr.concat([ | ||
| { | ||
| content | ||
| } | ||
| ]) | ||
| if (framework === 'ssr-plugin-vue3') { | ||
| const { h, Fragment } = await import(loadModuleFromFramework('vue')) | ||
| const { renderToString } = await import(loadModuleFromCwd('@vue/server-renderer')) | ||
| for (const item of combine) { | ||
| const { arr, flag } = item | ||
| const scriptArr = arr.map((item) => | ||
| h( | ||
| 'script', | ||
| Object.assign({}, item.describe ?? {}, { | ||
| innerHTML: item.content | ||
| }) | ||
| ) | ||
| ) | ||
| if (flag === 'header') { | ||
| jsHeaderManifest += await renderToString(h(Fragment, {}, scriptArr)) | ||
| } else { | ||
| jsFooterManifest += await renderToString(h(Fragment, {}, scriptArr)) | ||
| } | ||
| } | ||
| } | ||
| if (framework === 'ssr-plugin-vue') { | ||
| const { h } = await import(loadModuleFromFramework('vue')) | ||
| const Vue = await import(loadModuleFromFramework('vue')) | ||
| const { createRenderer } = await import(loadModuleFromCwd('vue-server-renderer')) | ||
| const { renderToString } = createRenderer() | ||
| for (const item of combine) { | ||
| const { arr, flag } = item | ||
| const app = new Vue({ | ||
| render: () => { | ||
| const scriptArr = arr.map((item) => | ||
| h( | ||
| 'script', | ||
| Object.assign({}, item.describe ?? {}, { | ||
| domProps: { | ||
| innerHTML: item.content | ||
| } | ||
| }) | ||
| ) | ||
| ) | ||
| return scriptArr | ||
| } | ||
| }) | ||
| const scriptStr = await renderToString(app) | ||
| if (flag === 'header') { | ||
| jsHeaderManifest += scriptStr.replace('data-server-rendered="true"', '') | ||
| } else { | ||
| jsFooterManifest += scriptStr.replace('data-server-rendered="true"', '') | ||
| } | ||
| } | ||
| } | ||
| if (framework === 'ssr-plugin-react') { | ||
| const { createElement: h, Fragment } = await import(loadModuleFromFramework('react')) | ||
| const { renderToString } = await import(loadModuleFromFramework('react-dom/server')) | ||
| for (const item of combine) { | ||
| const { arr, flag } = item | ||
| const scriptArr = arr.map((item) => | ||
| h( | ||
| 'script', | ||
| Object.assign({}, item.describe ?? {}, { | ||
| dangerouslySetInnerHTML: { | ||
| __html: item.content | ||
| } | ||
| }) | ||
| ) | ||
| ) | ||
| if (flag === 'header') { | ||
| jsHeaderManifest += (await renderToString(h(Fragment, {}, scriptArr))).replace('data-reactroot=""', '') | ||
| } else { | ||
| jsFooterManifest += (await renderToString(h(Fragment, {}, scriptArr))).replace('data-reactroot=""', '') | ||
| } | ||
| } | ||
| } | ||
| const content = splitPageInfo({ | ||
| "window.__USE_SSR__": false, | ||
| "window.__USE_VITE__": isVite, | ||
| "window.prefix": `"${prefix}"`, | ||
| "window.clientPrefix": `"${clientPrefix ?? ""}"`, | ||
| "window.ssrDevInfo": JSON.stringify(ssrDevInfo), | ||
| }); | ||
| combine[0].arr = combine[0].arr.concat([ | ||
| { | ||
| content, | ||
| }, | ||
| ]); | ||
| if (framework === "ssr-plugin-vue3") { | ||
| const { h, Fragment } = await import(loadModuleFromFramework("vue")); | ||
| const { renderToString } = await import(loadModuleFromCwd("@vue/server-renderer")); | ||
| for (const item of combine) { | ||
| const { arr, flag } = item; | ||
| const scriptArr = arr.map((item) => | ||
| h( | ||
| "script", | ||
| Object.assign({}, item.describe ?? {}, { | ||
| innerHTML: item.content, | ||
| }), | ||
| ), | ||
| ); | ||
| if (flag === "header") { | ||
| jsHeaderManifest += await renderToString(h(Fragment, {}, scriptArr)); | ||
| } else { | ||
| jsFooterManifest += await renderToString(h(Fragment, {}, scriptArr)); | ||
| } | ||
| } | ||
| } | ||
| if (framework === "ssr-plugin-vue") { | ||
| const { h } = await import(loadModuleFromFramework("vue")); | ||
| const Vue = await import(loadModuleFromFramework("vue")); | ||
| const { createRenderer } = await import(loadModuleFromCwd("vue-server-renderer")); | ||
| const { renderToString } = createRenderer(); | ||
| for (const item of combine) { | ||
| const { arr, flag } = item; | ||
| const app = new Vue({ | ||
| render: () => { | ||
| const scriptArr = arr.map((item) => | ||
| h( | ||
| "script", | ||
| Object.assign({}, item.describe ?? {}, { | ||
| domProps: { | ||
| innerHTML: item.content, | ||
| }, | ||
| }), | ||
| ), | ||
| ); | ||
| return scriptArr; | ||
| }, | ||
| }); | ||
| const scriptStr = await renderToString(app); | ||
| if (flag === "header") { | ||
| jsHeaderManifest += scriptStr.replace('data-server-rendered="true"', ""); | ||
| } else { | ||
| jsFooterManifest += scriptStr.replace('data-server-rendered="true"', ""); | ||
| } | ||
| } | ||
| } | ||
| if (framework === "ssr-plugin-react") { | ||
| const { createElement: h, Fragment } = await import(loadModuleFromFramework("react")); | ||
| const { renderToString } = await import(loadModuleFromFramework("react-dom/server")); | ||
| for (const item of combine) { | ||
| const { arr, flag } = item; | ||
| const scriptArr = arr.map((item) => | ||
| h( | ||
| "script", | ||
| Object.assign({}, item.describe ?? {}, { | ||
| dangerouslySetInnerHTML: { | ||
| __html: item.content, | ||
| }, | ||
| }), | ||
| ), | ||
| ); | ||
| if (flag === "header") { | ||
| jsHeaderManifest += (await renderToString(h(Fragment, {}, scriptArr))).replace( | ||
| 'data-reactroot=""', | ||
| "", | ||
| ); | ||
| } else { | ||
| jsFooterManifest += (await renderToString(h(Fragment, {}, scriptArr))).replace( | ||
| 'data-reactroot=""', | ||
| "", | ||
| ); | ||
| } | ||
| } | ||
| } | ||
| const manifest: Record<string, string> = require(join(cwd, './build/client/asset-manifest.json')) | ||
| const manifest: Record<string, string> = require(join(cwd, "./build/client/asset-manifest.json")); | ||
| const jsOrder = await getAsyncJsChunk(mockCtx, '', loadConfig()) | ||
| const jsManifest: string[] = jsOrder | ||
| .map((item) => manifest[item]) | ||
| .filter(Boolean) | ||
| .map((item) => `<script src="${item}" ${isVite ? 'type="module"' : ''}></script>`) | ||
| const jsOrder = await getAsyncJsChunk(mockCtx, "", loadConfig()); | ||
| const jsManifest: string[] = jsOrder | ||
| .map((item) => manifest[item]) | ||
| .filter(Boolean) | ||
| .map((item) => `<script src="${item}" ${isVite ? 'type="module"' : ""}></script>`); | ||
| const cssOrder = await getAsyncCssChunk(mockCtx, '', loadConfig()) | ||
| const cssManifest: string[] = cssOrder | ||
| .map((item) => manifest[item]) | ||
| .filter(Boolean) | ||
| .map((item) => `<link rel='stylesheet' href="${item}" />`) | ||
| const cssOrder = await getAsyncCssChunk(mockCtx, "", loadConfig()); | ||
| const cssManifest: string[] = cssOrder | ||
| .map((item) => manifest[item]) | ||
| .filter(Boolean) | ||
| .map((item) => `<link rel='stylesheet' href="${item}" />`); | ||
| if (typeof cssOrderPriority === 'function' || typeof jsOrderPriority === 'function') { | ||
| logWarning('Notices: orderPriority cannot get chunkName in spa html build, you will get chunkName as undefined') | ||
| } | ||
| if (typeof cssOrderPriority === "function" || typeof jsOrderPriority === "function") { | ||
| logWarning( | ||
| "Notices: orderPriority cannot get chunkName in spa html build, you will get chunkName as undefined", | ||
| ); | ||
| } | ||
| const generateHtmlStr = htmlStr.replace('cssInject', cssManifest.join('')).replace('jsManifest', jsManifest.join('')).replace('jsHeaderManifest', jsHeaderManifest).replace('jsFooterManifest', jsFooterManifest).replace('hashRouterScript', hashRouterScript) | ||
| await promises.writeFile(join(cwd, './build/index.html'), generateHtmlStr) | ||
| } | ||
| const generateHtmlStr = htmlStr | ||
| .replace("cssInject", cssManifest.join("")) | ||
| .replace("jsManifest", jsManifest.join("")) | ||
| .replace("jsHeaderManifest", jsHeaderManifest) | ||
| .replace("jsFooterManifest", jsFooterManifest) | ||
| .replace("hashRouterScript", hashRouterScript); | ||
| await promises.writeFile(join(cwd, "./build/index.html"), generateHtmlStr); | ||
| }; |
+2
-2
@@ -1,2 +0,2 @@ | ||
| export * from 'ssr-types' | ||
| export * from './cli' | ||
| export * from "ssr-types"; | ||
| export * from "./cli"; |
+66
-57
@@ -1,61 +0,70 @@ | ||
| import { promises } from 'fs' | ||
| import { resolve } from 'path' | ||
| import { Argv } from 'ssr-types' | ||
| import { mkdir } from 'shelljs' | ||
| import { cleanOutDir } from './clean' | ||
| import { promises } from "fs"; | ||
| import { resolve } from "path"; | ||
| import { Argv } from "ssr-types"; | ||
| import { mkdir } from "shelljs"; | ||
| import { cleanOutDir } from "./clean"; | ||
| export const handleEnv = async (argv: Argv) => { | ||
| await cleanOutDir(argv) | ||
| process.env.BUILD_TOOL = argv.tool || 'webpack' | ||
| const { loadConfig, getCwd, accessFile } = await import('ssr-common-utils') | ||
| const cwd = getCwd() | ||
| if (!(await accessFile(resolve(cwd, `./node_modules/ssr-${process.env.BUILD_TOOL}`)))) { | ||
| throw new Error(`ssr-${process.env.BUILD_TOOL} is not installed`) | ||
| } | ||
| if (process.env.BUILD_TOOL === 'vite') { | ||
| mkdir('-p', resolve(cwd, './build')) | ||
| await promises.writeFile( | ||
| resolve(cwd, './build/tag.json'), | ||
| JSON.stringify( | ||
| { | ||
| BUILD_TOOL: process.env.BUILD_TOOL | ||
| }, | ||
| null, | ||
| 2 | ||
| ) | ||
| ) | ||
| } | ||
| const { https, isDev, clientPrefix } = loadConfig() | ||
| if (argv.ssg) { | ||
| process.env.SSG = '1' | ||
| } | ||
| if (isDev) { | ||
| process.env.GENERATE_SOURCEMAP = clientPrefix ? 'inline-cheap-module-source-map' : 'cheap-module-source-map' | ||
| } | ||
| if (argv.sourcemap) { | ||
| process.env.GENERATE_SOURCEMAP = argv.sourcemap | ||
| } | ||
| process.env.CLIENT_SOURCEMAP = argv['client-sourcemap'] ?? process.env.GENERATE_SOURCEMAP | ||
| process.env.SERVER_SOURCEMAP = argv['server-sourcemap'] ?? process.env.GENERATE_SOURCEMAP | ||
| if (argv.analyze) { | ||
| process.env.GENERATE_ANALYSIS = '1' | ||
| } | ||
| if (argv.html) { | ||
| process.env.SPA = '1' | ||
| } | ||
| if (argv.legacy) { | ||
| process.env.LEGACY_VITE = '1' | ||
| } | ||
| if (argv.nominify) { | ||
| process.env.NOMINIFY = '1' | ||
| } | ||
| await cleanOutDir(argv); | ||
| process.env.BUILD_TOOL = argv.tool || "webpack"; | ||
| const { loadConfig, getCwd, accessFile } = await import("ssr-common-utils"); | ||
| const cwd = getCwd(); | ||
| if (!(await accessFile(resolve(cwd, `./node_modules/ssr-${process.env.BUILD_TOOL}`)))) { | ||
| throw new Error(`ssr-${process.env.BUILD_TOOL} is not installed`); | ||
| } | ||
| if (process.env.BUILD_TOOL === "vite") { | ||
| const pkg = require(resolve(cwd, "./package.json")); | ||
| const allDeps = { ...pkg.dependencies, ...pkg.devDependencies }; | ||
| if (!allDeps.vite || !allDeps.vite.includes("rolldown-vite")) { | ||
| console.warn( | ||
| '\x1b[33m[ssr-vite] Warning: "vite" is not aliased to "rolldown-vite" in your package.json.\n' + | ||
| "Please add the following to your package.json dependencies or devDependencies:\n\n" + | ||
| ' "vite": "npm:rolldown-vite@latest"\n\n' + | ||
| "Then run `yarn install` to install it. We recommend using yarn as the package manager.\x1b[0m\n", | ||
| ); | ||
| } | ||
| mkdir("-p", resolve(cwd, "./build")); | ||
| await promises.writeFile( | ||
| resolve(cwd, "./build/tag.json"), | ||
| JSON.stringify( | ||
| { | ||
| BUILD_TOOL: process.env.BUILD_TOOL, | ||
| }, | ||
| null, | ||
| 2, | ||
| ), | ||
| ); | ||
| } | ||
| const { https, isDev, clientPrefix } = loadConfig(); | ||
| if (argv.ssg) { | ||
| process.env.SSG = "1"; | ||
| } | ||
| if (isDev) { | ||
| process.env.GENERATE_SOURCEMAP = clientPrefix | ||
| ? "inline-cheap-module-source-map" | ||
| : "cheap-module-source-map"; | ||
| } | ||
| if (argv.sourcemap) { | ||
| process.env.GENERATE_SOURCEMAP = argv.sourcemap; | ||
| } | ||
| process.env.CLIENT_SOURCEMAP = argv["client-sourcemap"] ?? process.env.GENERATE_SOURCEMAP; | ||
| process.env.SERVER_SOURCEMAP = argv["server-sourcemap"] ?? process.env.GENERATE_SOURCEMAP; | ||
| if (argv.analyze) { | ||
| process.env.GENERATE_ANALYSIS = "1"; | ||
| } | ||
| if (argv.html) { | ||
| process.env.SPA = "1"; | ||
| } | ||
| if (argv.nominify) { | ||
| process.env.NOMINIFY = "1"; | ||
| } | ||
| if (argv.viteMode) { | ||
| process.env.VITEMODE = argv.viteMode | ||
| } | ||
| if (argv.viteMode) { | ||
| process.env.VITEMODE = argv.viteMode; | ||
| } | ||
| process.env.SERVER_PORT = argv.port ? String(argv.port) : '3000' | ||
| if (!!https && isDev) { | ||
| process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0' | ||
| } | ||
| } | ||
| process.env.SERVER_PORT = argv.port ? String(argv.port) : "3000"; | ||
| if (!!https && isDev) { | ||
| process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; | ||
| } | ||
| }; |
+11
-11
@@ -1,15 +0,15 @@ | ||
| const spinner = require('ora')('Starting') | ||
| const spinner = require("ora")("Starting"); | ||
| interface Message { | ||
| message: 'start' | 'stop' | ||
| message: "start" | "stop"; | ||
| } | ||
| process.on('message', (data: Message) => { | ||
| const { message } = data | ||
| if (message === 'start') { | ||
| spinner.start() | ||
| } else { | ||
| spinner.stop() | ||
| process.exit() | ||
| } | ||
| }) | ||
| process.on("message", (data: Message) => { | ||
| const { message } = data; | ||
| if (message === "start") { | ||
| spinner.start(); | ||
| } else { | ||
| spinner.stop(); | ||
| process.exit(); | ||
| } | ||
| }); |
+28
-28
@@ -1,30 +0,30 @@ | ||
| import { promises } from 'fs' | ||
| import { resolve } from 'path' | ||
| import type { Argv } from 'ssr-types' | ||
| import { promises } from "fs"; | ||
| import { resolve } from "path"; | ||
| import type { Argv } from "ssr-types"; | ||
| export const ssg = async (argv: Argv) => { | ||
| if (!argv.ssg) { | ||
| return | ||
| } | ||
| const { loadConfig, getCwd, logGreen } = await import('ssr-common-utils') | ||
| const config = loadConfig() | ||
| const { chunkName } = config | ||
| const cwd = getCwd() | ||
| const serverFile = resolve(cwd, `./build/server/${chunkName}.server.js`) | ||
| const { Routes, serverRender } = require(serverFile) | ||
| for (const item of Routes.FeRoutes) { | ||
| const { path, webpackChunkName } = item | ||
| const mockCtx = { | ||
| request: { | ||
| path: path, | ||
| url: path | ||
| }, | ||
| desc: "It's a mock context" | ||
| } | ||
| const res = await serverRender(mockCtx, Object.assign(config, { stream: false })) | ||
| const htmlStr: string = res.html || res | ||
| const fileName = `./build/client/${webpackChunkName}.html` | ||
| await promises.writeFile(resolve(cwd, fileName), htmlStr) | ||
| logGreen(`Component ${path} be mapped to ${fileName}`) | ||
| } | ||
| } | ||
| if (!argv.ssg) { | ||
| return; | ||
| } | ||
| const { loadConfig, getCwd, logGreen } = await import("ssr-common-utils"); | ||
| const config = loadConfig(); | ||
| const { chunkName } = config; | ||
| const cwd = getCwd(); | ||
| const serverFile = resolve(cwd, `./build/server/${chunkName}.server.js`); | ||
| const { Routes, serverRender } = require(serverFile); | ||
| for (const item of Routes.FeRoutes) { | ||
| const { path, webpackChunkName } = item; | ||
| const mockCtx = { | ||
| request: { | ||
| path: path, | ||
| url: path, | ||
| }, | ||
| desc: "It's a mock context", | ||
| }; | ||
| const res = await serverRender(mockCtx, Object.assign(config, { stream: false })); | ||
| const htmlStr: string = res.html || res; | ||
| const fileName = `./build/client/${webpackChunkName}.html`; | ||
| await promises.writeFile(resolve(cwd, fileName), htmlStr); | ||
| logGreen(`Component ${path} be mapped to ${fileName}`); | ||
| } | ||
| }; |
+34
-26
@@ -1,28 +0,36 @@ | ||
| import { resolve } from 'path' | ||
| import axios from 'axios' | ||
| import { getCwd, logGreen, ssrPackages } from 'ssr-common-utils' | ||
| import { resolve } from "path"; | ||
| import axios from "axios"; | ||
| import { getCwd, logGreen, ssrPackages } from "ssr-common-utils"; | ||
| export const update = async () => { | ||
| const cwd = getCwd() | ||
| const { dependencies, devDependencies } = require(resolve(cwd, './package.json')) | ||
| const d = Object.assign({}, dependencies, devDependencies) | ||
| const needCheck = Object.keys(d).filter((item) => ssrPackages.includes(item)) | ||
| const res: Record<string, { currentVersion: string; lastestVersion: string }> = {} | ||
| await (await Promise.all(needCheck.map(async (p) => await axios.get(`https://registry.npmjs.org/${p}`)))).forEach((item) => { | ||
| const currentVersion = require(resolve(cwd, `./node_modules/${item.data.name}/package.json`)).version | ||
| const lastestVersion = item.data['dist-tags'].latest | ||
| if (lastestVersion !== currentVersion) { | ||
| res[item.data.name] = { | ||
| currentVersion, | ||
| lastestVersion | ||
| } | ||
| } | ||
| }) | ||
| if (Object.keys(res).length === 0) { | ||
| logGreen('All ssr dpendencies is latest!') | ||
| } else { | ||
| Object.entries(res).forEach(([key, value]) => { | ||
| logGreen(`${key} current version is ${value.currentVersion} latest version is ${value.lastestVersion}`) | ||
| }) | ||
| } | ||
| } | ||
| const cwd = getCwd(); | ||
| const { dependencies, devDependencies } = require(resolve(cwd, "./package.json")); | ||
| const d = Object.assign({}, dependencies, devDependencies); | ||
| const needCheck = Object.keys(d).filter((item) => ssrPackages.includes(item)); | ||
| const res: Record<string, { currentVersion: string; lastestVersion: string }> = {}; | ||
| await ( | ||
| await Promise.all( | ||
| needCheck.map(async (p) => await axios.get(`https://registry.npmjs.org/${p}`)), | ||
| ) | ||
| ).forEach((item) => { | ||
| const currentVersion = require( | ||
| resolve(cwd, `./node_modules/${item.data.name}/package.json`), | ||
| ).version; | ||
| const lastestVersion = item.data["dist-tags"].latest; | ||
| if (lastestVersion !== currentVersion) { | ||
| res[item.data.name] = { | ||
| currentVersion, | ||
| lastestVersion, | ||
| }; | ||
| } | ||
| }); | ||
| if (Object.keys(res).length === 0) { | ||
| logGreen("All ssr dpendencies is latest!"); | ||
| } else { | ||
| Object.entries(res).forEach(([key, value]) => { | ||
| logGreen( | ||
| `${key} current version is ${value.currentVersion} latest version is ${value.lastestVersion}`, | ||
| ); | ||
| }); | ||
| } | ||
| }; |
+29
-29
@@ -1,32 +0,32 @@ | ||
| import * as chokidar from 'chokidar' | ||
| import type { FSWatcher } from 'chokidar' | ||
| import * as chokidar from "chokidar"; | ||
| import type { FSWatcher } from "chokidar"; | ||
| export const createWatcher = async () => { | ||
| const { getPagesDir } = await import('ssr-common-utils') | ||
| const pageDir = getPagesDir() | ||
| const watcher = chokidar.watch(pageDir, { | ||
| ignored: /.(less|css|scss)/, // ignore style files | ||
| persistent: true | ||
| }) | ||
| return watcher | ||
| } | ||
| const { getPagesDir } = await import("ssr-common-utils"); | ||
| const pageDir = getPagesDir(); | ||
| const watcher = chokidar.watch(pageDir, { | ||
| ignored: /.(less|css|scss)/, // ignore style files | ||
| persistent: true, | ||
| }); | ||
| return watcher; | ||
| }; | ||
| export const onWatcher = async (watcher: FSWatcher) => { | ||
| const { parseFeRoutes, logGreen, logErr } = await import('ssr-common-utils') | ||
| watcher | ||
| .on('add', async (path) => { | ||
| logGreen(`File ${path} has been added ParseFeRoutes reload`) | ||
| await parseFeRoutes().catch((err) => logErr('ParseFeRoutes Error' + err)) | ||
| }) | ||
| .on('addDir', async (path) => { | ||
| logGreen(`Dir ${path} has been added ParseFeRoutes reload`) | ||
| await parseFeRoutes().catch((err) => logErr('ParseFeRoutes Error' + err)) | ||
| }) | ||
| .on('unlink', async (path) => { | ||
| logGreen(`File ${path} has been deleted ParseFeRoutes reload`) | ||
| await parseFeRoutes().catch((err) => logErr('ParseFeRoutes Error' + err)) | ||
| }) | ||
| .on('unlinkDir', async (path) => { | ||
| logGreen(`Dir ${path} has been deleted ParseFeRoutes reload`) | ||
| await parseFeRoutes().catch((err) => logErr('ParseFeRoutes Error' + err)) | ||
| }) | ||
| } | ||
| const { parseFeRoutes, logGreen, logErr } = await import("ssr-common-utils"); | ||
| watcher | ||
| .on("add", async (path) => { | ||
| logGreen(`File ${path} has been added ParseFeRoutes reload`); | ||
| await parseFeRoutes().catch((err) => logErr("ParseFeRoutes Error" + err)); | ||
| }) | ||
| .on("addDir", async (path) => { | ||
| logGreen(`Dir ${path} has been added ParseFeRoutes reload`); | ||
| await parseFeRoutes().catch((err) => logErr("ParseFeRoutes Error" + err)); | ||
| }) | ||
| .on("unlink", async (path) => { | ||
| logGreen(`File ${path} has been deleted ParseFeRoutes reload`); | ||
| await parseFeRoutes().catch((err) => logErr("ParseFeRoutes Error" + err)); | ||
| }) | ||
| .on("unlinkDir", async (path) => { | ||
| logGreen(`Dir ${path} has been deleted ParseFeRoutes reload`); | ||
| await parseFeRoutes().catch((err) => logErr("ParseFeRoutes Error" + err)); | ||
| }); | ||
| }; |
@@ -6,5 +6,3 @@ { | ||
| }, | ||
| "include": [ | ||
| "src/*.ts" | ||
| ] | ||
| } | ||
| "include": ["src/*.ts"] | ||
| } |
@@ -6,5 +6,3 @@ { | ||
| }, | ||
| "include": [ | ||
| "src/*.ts" | ||
| ] | ||
| } | ||
| "include": ["src/*.ts"] | ||
| } |
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
203825
3.48%1959
3.76%