{"_id":"uimi","_rev":"150-34ce076ac076da1f93cc2c324cf69dbf","time":{"1.0.0":"2020-12-08T13:17:31.273Z","created":"2020-12-09T13:42:21.884Z","1.0.2":"2020-12-09T13:42:22.061Z","modified":"2023-12-06T08:56:10.922Z","1.1.0":"2022-06-01T06:41:07.564Z","1.1.1":"2022-06-01T06:46:44.977Z","0.0.1":"2022-06-01T07:14:43.739Z","0.0.2":"2022-06-01T08:25:42.624Z","0.0.3":"2022-06-02T09:46:27.714Z","0.0.5":"2022-06-02T10:22:40.363Z","0.0.6":"2022-06-06T09:11:08.526Z","0.0.4":"2022-06-06T09:39:10.258Z","0.1.0":"2022-06-10T07:34:13.374Z","0.1.0-alpha.1":"2022-06-10T07:45:54.421Z","0.1.0-alpha.2":"2022-06-10T08:11:48.125Z","0.0.9":"2022-06-10T08:21:10.118Z","0.1.0-alpha.3":"2022-06-11T04:19:55.382Z","0.1.0-alpha.4":"2022-06-11T07:50:55.882Z","0.1.0-alpha.5":"2022-06-15T09:59:04.270Z","0.1.0-alpha.6":"2022-06-18T07:23:32.672Z","0.1.0-alpha.7":"2022-06-18T09:02:56.610Z","0.1.0-alpha.8":"2022-06-20T02:46:05.510Z","0.1.0-alpha.9":"2022-06-22T10:14:26.323Z","0.1.0-alpha.10":"2022-06-24T10:19:37.735Z","0.1.0-alpha.11":"2022-06-27T02:52:41.031Z","0.1.0-alpha.12":"2022-06-29T08:28:35.090Z","0.1.0-alpha.13":"2022-07-01T06:37:03.200Z","0.1.0-alpha.15":"2022-07-18T10:11:21.925Z","0.1.0-alpha.16":"2022-07-18T10:26:30.999Z","0.1.0-alpha.17":"2022-07-19T08:01:50.992Z","0.1.0-alpha.18":"2022-07-23T02:21:58.116Z","0.1.0-alpha.19":"2022-07-23T03:09:26.076Z","0.1.0-alpha.20":"2022-07-25T04:19:13.408Z","0.1.0-alpha.21":"2022-07-25T04:20:15.106Z","0.1.1":"2022-07-27T07:17:11.746Z","0.1.2":"2022-07-27T07:25:03.738Z","0.1.3":"2022-07-30T07:39:24.703Z","0.1.4":"2022-08-12T03:56:13.178Z","0.1.5":"2022-08-18T03:40:18.671Z","0.1.6":"2022-09-17T15:42:10.214Z","0.1.7":"2022-09-22T04:19:26.231Z","0.1.8":"2022-09-22T04:22:31.835Z","0.1.9":"2022-10-04T04:22:28.160Z","0.2.0":"2022-11-11T07:23:22.106Z","0.2.1":"2022-11-11T07:30:17.072Z","0.2.2":"2022-11-24T08:39:47.450Z","0.2.3":"2022-11-24T08:49:20.670Z","0.2.4":"2022-12-05T09:28:37.558Z","0.2.5":"2023-01-10T07:07:03.530Z","0.2.6":"2023-01-10T08:49:13.365Z","0.2.7":"2023-01-26T09:45:21.367Z","0.2.8":"2023-02-08T10:16:19.594Z","0.2.9":"2023-02-09T06:22:49.902Z","0.2.91":"2023-03-15T08:52:50.549Z","0.3.0-alpha1":"2023-04-23T08:15:24.732Z","0.3.0-alpha2":"2023-04-27T07:10:24.064Z","0.3.0-alpha3":"2023-05-09T08:14:31.219Z","0.3.0-alpha4":"2023-05-10T09:49:40.388Z","0.3.0-alpha5":"2023-05-14T10:59:27.750Z","0.3.0-alpha6":"2023-05-17T05:47:53.107Z","0.3.0-alpha7":"2023-05-31T09:30:20.442Z","0.3.0-alpha8":"2023-06-01T10:55:02.741Z","0.3.0-alpha9":"2023-06-01T11:00:32.488Z","0.3.0-alpha10":"2023-06-02T08:49:06.884Z","0.3.0-alpha11":"2023-06-02T09:32:29.164Z","0.3.0-alpha12":"2023-06-03T06:01:56.404Z","0.3.0-alpha13":"2023-06-05T06:55:32.273Z","0.3.0-alpha14":"2023-06-05T10:51:47.766Z","0.3.0-alpha15":"2023-06-07T06:54:32.709Z","0.3.0-alpha16":"2023-07-05T09:00:21.879Z","0.3.0-alpha17":"2023-07-28T03:31:13.528Z","1.0.0-alpha1":"2023-11-02T06:02:35.125Z","1.0.0-alpha2":"2023-11-02T06:06:32.569Z","1.0.1":"2023-11-21T09:08:58.692Z","1.0.3":"2023-11-21T12:01:42.555Z","1.0.5":"2023-11-24T11:14:23.505Z","1.0.6":"2023-11-25T12:02:46.701Z","1.0.7":"2023-12-06T08:56:10.756Z"},"name":"uimi","dist-tags":{"latest":"1.0.7"},"versions":{"1.0.6":{"name":"uimi","version":"1.0.6","type":"module","description":"A Server-Side Rendering (SSR) for vue3","author":{"name":"Yao Yi"},"license":"ISC","packageManager":"pnpm@7.5.0","engines":{"node":">=18"},"keywords":["bootstrap","element","nuxt","ssr","ui","uimi","vite","vue isomorphic","vue server side","vue ssr","vue","vue3","vuejs"],"bin":{"uimi":"bin/vite.js"},"main":"dist/node/index.js","peerDependencies":{"vue":"^3.x","vue-router":"^4.x","vite":"^5.x"},"dependencies":{"cac":"^6.7.14","cheerio":"1.0.0-rc.12","chokidar":"^3.5.3","compression":"^1.7.4","connect":"^3.7.0","es-module-lexer":"^1.4.1","fast-glob":"^3.3.2","html-minifier":"^4.0.0","lodash-es":"^4.17.21","magic-string":"^0.30.5","picocolors":"^1.0.0","prettier":"^3.1.0","serve-static":"^1.15.0","vite":"^5.0.2"},"_id":"uimi@1.0.6","gitHead":"de0394a56ac6bac8af8b9cec54c0a48fe0554a18","_nodeVersion":"21.1.0","_npmVersion":"10.2.0","dist":{"integrity":"sha512-oasjVfTd4gZnkBeItyTyzBUrINjghRX9w48G3CZRRZqTPDgDkGl9hJ/kxCcpuWM3P8MoEpwdAXs9ARIuQpgn8g==","shasum":"911ed50eab46d0f0462861b6a85a703361d1b31d","tarball":"https://registry.npmjs.org/uimi/-/uimi-1.0.6.tgz","fileCount":12,"unpackedSize":27965,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICuIZ/WQAwvvQIbHoX0ahx0jFm/ed2kF4EL9Qn1FEckHAiEAwUJndhMM+r4yex95fkInrUrhwqaHv+9rd3dBAXkIF4Y="}]},"_npmUser":{"name":"uimi","email":"11177315@qq.com"},"directories":{},"maintainers":[{"name":"uimi","email":"11177315@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/uimi_1.0.6_1700913766477_0.5502623269600926"},"_hasShrinkwrap":false},"1.0.7":{"name":"uimi","version":"1.0.7","type":"module","description":"A Server-Side Rendering (SSR) for vue3","author":{"name":"Yao Yi"},"license":"ISC","packageManager":"pnpm@7.5.0","engines":{"node":">=18"},"keywords":["bootstrap","element","nuxt","ssr","ui","uimi","vite","vue isomorphic","vue server side","vue ssr","vue","vue3","vuejs"],"bin":{"uimi":"bin/vite.js"},"main":"dist/node/index.js","peerDependencies":{"vue":"^3.x","vue-router":"^4.x","vite":"^5.x"},"dependencies":{"cac":"^6.7.14","cheerio":"1.0.0-rc.12","chokidar":"^3.5.3","compression":"^1.7.4","connect":"^3.7.0","es-module-lexer":"^1.4.1","fast-glob":"^3.3.2","html-minifier":"^4.0.0","lodash-es":"^4.17.21","magic-string":"^0.30.5","picocolors":"^1.0.0","prettier":"^3.1.0","serve-static":"^1.15.0","vite":"^5.0.2"},"_id":"uimi@1.0.7","gitHead":"37fcabd36ccaa153069898698bb36dbbf4d058c3","_nodeVersion":"21.3.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-ql2L08mdZFfVhubSueJny+wACBas3M9lFxalYj0gxL5WNRqjbZxQLndUa75LaQh0JxgW9tf30db3oKZgW3WcFA==","shasum":"6f51689e220bc2e827cb84deedd55e7d0c807c9c","tarball":"https://registry.npmjs.org/uimi/-/uimi-1.0.7.tgz","fileCount":12,"unpackedSize":27827,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDnkLDGlITtdZWWgVuZGADIHfIo8kgJWw8jEZzVa+E2pAiAvyUbeAXHhIvonUgeqakRkCi/ruNyD/0vaRFn+TEwCSQ=="}]},"_npmUser":{"name":"uimi","email":"11177315@qq.com"},"directories":{},"maintainers":[{"name":"uimi","email":"11177315@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/uimi_1.0.7_1701852970525_0.7027939843025794"},"_hasShrinkwrap":false}},"maintainers":[{"name":"uimi","email":"11177315@qq.com"}],"description":"A Server-Side Rendering (SSR) for vue3","license":"ISC","readme":"## Introduction\r\n\r\n<p align=\"center\">uimi - A SSR for vue3 library</p>\r\n\r\n- 💪 Vue 3.0 SSR\r\n- 🔥 Written in TypeScript\r\n\r\n## Install\r\n\r\n```shell\r\npnpm add uimi\r\n```\r\n## 理念和初衷\r\n\r\n<p>我们不会去开发其他插件已经实现的功能，任何时候我们都不会去增加用户的配置项，我们不会去增加用户的学习成本，不会去制定一套自己的规范或配置，我们只会依托vite生态去做特定范围的事情。</p>\r\n<p>对于cli，我们原样复制了vite，然后仅在build.ssr为true时代理了构建行为。</p>\r\n<p>为什么不以插件的方式开发？</p>\r\n<p>因为插件有一些限制，比如在构建之前改变配置和插件，还有很多需要处理的事情，如果以插件的形式来开发，很多事情就变得复杂和棘手，并且可能会让用户配置一些行为，这违背了我们的初衷。</p>\r\n\r\n## Quick Start\r\n\r\n<p>Don't Doubt, This is SSR; although it's the same as normal, We do a lot of processing during DEV and BUILD, Which allows you to use SSR without learning too much</p>\r\n<p>别怀疑，这是SSR，虽然它跟普通的一样，但我们在DEV和BUILD期间做了很多处理，这使得你不必学习太多就能够使用上SSR!</p>\r\n\r\nindex.html\r\n\r\n```html\r\n<!doctype html>\r\n<html>\r\n  <head>\r\n    <meta charset=\"utf-8\" />\r\n    <title>uimi</title>\r\n  </head>\r\n  <body>\r\n    <div id=\"app\"></div>\r\n    <script type=\"module\" src=\"./main.ts\"></script>\r\n  </body>\r\n</html>\r\n```\r\n\r\n<p>As you can see, HTML doesn't need placeholders, and we can automatically confirm their locations!</p>\r\n<p>如你所见，HTML并不需要占位符，我们能够自动确认它们的位置！</p>\r\n\r\nmain.ts\r\n\r\n```js\r\nimport { createSSRApp } from 'vue'\r\nimport router from './router'\r\nimport App from './App.vue'\r\nconst app = createSSRApp(App)\r\napp.use(router).mount('#app')\r\n```\r\n\r\nrouter.ts\r\n\r\n```js\r\nimport { createRouter, createWebHistory } from 'vue-router'\r\nconst routes = {\r\n  //some routes\r\n}\r\nexport default createRouter({\r\n  // only for createWebHistory\r\n  history: createWebHistory(),\r\n  routes,\r\n})\r\n```\r\n\r\nApp.vue\r\n\r\n```js\r\n<template>\r\n  <div>Hello SSR</div>\r\n  <router-view> </router-view>\r\n</template>\r\n```\r\n\r\nvite.config.ts\r\n\r\n```js\r\nimport { defineConfig } from 'vite'\r\nexport default defineConfig({\r\n  //this some vite config\r\n  build: {\r\n    // only set ssr option\r\n    ssr: true,\r\n  },\r\n})\r\n```\r\n\r\n## scripts\r\n\r\n```json\r\n{\r\n  \"name\": \"test\",\r\n  \"type\": \"module\",\r\n  \"scripts\": {\r\n    \"dev\": \"uimi dev\",\r\n    \"build\": \"uimi build\",\r\n    \"preview\": \"cd dist && node server.js\"\r\n  },\r\n  \"dependencies\": {\r\n    \"uimi\": \"*\"\r\n    // other...\r\n  }\r\n}\r\n```\r\n\r\n```shell\r\npnpm dev\r\n```\r\n\r\n<code>uimi build</code>\r\n\r\n<p>This will package a client build and a server render build, and pre render HTML</p>\r\n<p>Please put your browser code in onMounted</p>\r\n<p>see more <a href=\"https://vuejs.org/guide/scaling-up/ssr.html#rendering-an-app\">Vue SSR</p>\r\n<p>It's that simple. Take a look at the source code of the browser!</p>\r\n<p>You can start using server-side rendering without making any changes</p>\r\n\r\n## About\r\n\r\n- base on [vite](https://vitejs.dev/guide/ssr.html)\r\n\r\n## License\r\n\r\n[MIT](http://opensource.org/licenses/MIT)\r\n\r\nCopyright (c) 2022-present Yao Yi\r\n","readmeFilename":"README.md","author":{"name":"Yao Yi"},"keywords":["bootstrap","element","nuxt","ssr","ui","uimi","vite","vue isomorphic","vue server side","vue ssr","vue","vue3","vuejs"]}