{"_id":"@century-stardust/ui-library","_rev":"4-c8ea6e2241389c65d2b01c93da1b654a","name":"@century-stardust/ui-library","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@century-stardust/ui-library","version":"1.0.0","keywords":["vue","team","ui","library"],"author":{"name":"Team"},"license":"MIT","_id":"@century-stardust/ui-library@1.0.0","maintainers":[{"name":"myliyuanyuan","email":"1365642681@qq.com"}],"dist":{"shasum":"9cac67e94e4092a4dc71f3ff9adda44d5a3b098d","tarball":"https://registry.npmjs.org/@century-stardust/ui-library/-/ui-library-1.0.0.tgz","fileCount":12,"integrity":"sha512-gOdmhUTBlCfo70yaEV2IAP8E4kXBmCRVpgEdcP8jQB2wzV52fJ/peCOJKSKAInzOULKdpQo1og+MiWi9eMM2kQ==","signatures":[{"sig":"MEYCIQCplZ1PctLyxbkbgAKGIwLeVxvl4vwmXDjd9cZjNLtesQIhAITOllONDyDdbTyNz60DuOomlT4plGfvDX7vQLxveEve","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9047676},"main":"dist/TeamUI.common.js","types":"dist/types/src/lib/index.d.ts","module":"dist/TeamUI.umd.js","engines":{"npm":">=6.0.0","node":">=12.0.0"},"exports":{".":{"types":"./dist/types/src/lib/index.d.ts","import":"./dist/TeamUI.umd.js","require":"./dist/TeamUI.common.js"}},"gitHead":"6db065d6bbe030cd06e59c7132232fb517bb89bb","scripts":{"dev":"npm run serve","lint":"vue-cli-service lint","build":"vue-cli-service build --target lib --name TeamUI src/lib/index.ts && npx tsc --emitDeclarationOnly --declaration --declarationDir dist/types","serve":"vue-cli-service serve --port 3000"},"_npmUser":{"name":"myliyuanyuan","email":"1365642681@qq.com"},"_npmVersion":"8.19.4","description":"Vue 2 Team Component & Utility Library","directories":{},"_nodeVersion":"16.20.2","dependencies":{"core-js":"^3.8.3","js-cookie":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","less":"^4.2.0","typescript":"~4.5.5","less-loader":"^11.1.3","ant-design-vue":"^1.7.8","@vue/cli-service":"^5.0.8","babel-plugin-import":"^1.13.8","@vue/cli-plugin-babel":"^5.0.8","vue-template-compiler":"^2.7.16","@vue/cli-plugin-typescript":"^5.0.8"},"peerDependencies":{"vue":"^2.7.16","ant-design-vue":"^1.7.8"},"_npmOperationalInternal":{"tmp":"tmp/ui-library_1.0.0_1778353928770_0.736267234470791","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@century-stardust/ui-library","version":"1.0.1","keywords":["vue","team","ui","library"],"author":{"name":"Team"},"license":"MIT","_id":"@century-stardust/ui-library@1.0.1","maintainers":[{"name":"myliyuanyuan","email":"1365642681@qq.com"}],"dist":{"shasum":"ec1ff884ccfd0731fbf75727c4af492ac54905d6","tarball":"https://registry.npmjs.org/@century-stardust/ui-library/-/ui-library-1.0.1.tgz","fileCount":12,"integrity":"sha512-cBUdAtc2RwoLqRQdIq7oxS03mSvGTi2xBYCLJXxVaQaquXZK9Kw8yGL0/g9Y3d0Z2NsdqfrvG5coIyp3pYCRQQ==","signatures":[{"sig":"MEYCIQDTvnxIHtcuVOd/iZ22TlZN/FuxQM4Gn/4KVcijFzAznwIhAM43KFOrb9ceoFRkbEZ4acjY85Gs16l4NFD9oAsNaeSX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9047772},"main":"dist/TeamUI.common.js","types":"dist/types/src/lib/index.d.ts","module":"dist/TeamUI.umd.js","engines":{"npm":">=6.0.0","node":">=12.0.0"},"exports":{".":{"types":"./dist/types/src/lib/index.d.ts","import":"./dist/TeamUI.umd.js","require":"./dist/TeamUI.common.js"}},"gitHead":"2e8623779625b2be8ba703c828e252dbd6a94f29","scripts":{"dev":"npm run serve","lint":"vue-cli-service lint","build":"vue-cli-service build --target lib --name TeamUI src/lib/index.ts && npx tsc --emitDeclarationOnly --declaration --declarationDir dist/types","serve":"vue-cli-service serve --port 3000"},"_npmUser":{"name":"myliyuanyuan","email":"1365642681@qq.com"},"_npmVersion":"8.19.4","description":"Vue 2 Team Component & Utility Library","directories":{},"_nodeVersion":"16.20.2","dependencies":{"core-js":"^3.8.3","js-cookie":"^3.0.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","less":"^4.2.0","typescript":"~4.5.5","less-loader":"^11.1.3","ant-design-vue":"^1.7.8","@vue/cli-service":"^5.0.8","babel-plugin-import":"^1.13.8","@vue/cli-plugin-babel":"^5.0.8","vue-template-compiler":"^2.7.16","@vue/cli-plugin-typescript":"^5.0.8"},"peerDependencies":{"vue":"^2.7.16","ant-design-vue":"^1.7.8"},"_npmOperationalInternal":{"tmp":"tmp/ui-library_1.0.1_1778426535685_0.26364369405416155","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@century-stardust/ui-library","version":"1.0.2","keywords":["vue","team","ui","library"],"author":{"name":"Team"},"license":"MIT","_id":"@century-stardust/ui-library@1.0.2","maintainers":[{"name":"myliyuanyuan","email":"1365642681@qq.com"}],"dist":{"shasum":"d9d2345e1dd47ba8950bdcac1cfe9305fb9d4b42","tarball":"https://registry.npmjs.org/@century-stardust/ui-library/-/ui-library-1.0.2.tgz","fileCount":12,"integrity":"sha512-TN0YYIARwa7tmNnYk1H0E3WanBro6ikmzKxfdqDnzC10HVasRixx1Yv9r+34/TlGsQXtzcK54e/HrtNwXCskig==","signatures":[{"sig":"MEYCIQCrla3Q87sjQyZ6RNlG5LeJ1liPgws6G7jlOSYKNlKndQIhAOsZmTUuE0anGCg1LRA14T6uOUEaPWjUYvkaFV5yXjyn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9055439},"main":"dist/TeamUI.common.js","types":"dist/types/src/lib/index.d.ts","module":"dist/TeamUI.umd.js","engines":{"npm":">=6.0.0","node":">=12.0.0"},"exports":{".":{"types":"./dist/types/src/lib/index.d.ts","import":"./dist/TeamUI.umd.js","require":"./dist/TeamUI.common.js"}},"gitHead":"7ea387ee86512e66f9210e916ff7453913ab3ecd","scripts":{"dev":"npm run serve","lint":"vue-cli-service lint","build":"vue-cli-service build --target lib --name TeamUI src/lib/index.ts && npx tsc --emitDeclarationOnly --declaration --declarationDir dist/types","serve":"vue-cli-service serve --port 3000"},"_npmUser":{"name":"myliyuanyuan","email":"1365642681@qq.com"},"_npmVersion":"8.19.4","description":"Vue 2 Team Component & Utility Library","directories":{},"_nodeVersion":"16.20.2","dependencies":{"js-cookie":"^3.0.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","less":"^4.2.0","typescript":"~4.5.5","less-loader":"^11.1.3","ant-design-vue":"^1.7.8","@vue/cli-service":"^5.0.8","babel-plugin-import":"^1.13.8","@vue/cli-plugin-babel":"^5.0.8","vue-template-compiler":"^2.7.16","@vue/cli-plugin-typescript":"^5.0.8"},"peerDependencies":{"vue":"^2.7.16","ant-design-vue":"^1.7.8"},"_npmOperationalInternal":{"tmp":"tmp/ui-library_1.0.2_1778430454464_0.7336959045930895","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@century-stardust/ui-library","version":"1.0.3","description":"Vue 2 Team Component & Utility Library","main":"dist/TeamUI.umd.js","module":"dist/TeamUI.umd.js","types":"dist/types/lib/index.d.ts","exports":{".":{"types":"./dist/types/lib/index.d.ts","import":"./dist/TeamUI.umd.js","require":"./dist/TeamUI.umd.js","default":"./dist/TeamUI.umd.min.js"},"./es/team-button":{"types":"./dist/types/lib/es/team-button.d.ts","import":"./dist/es/team-button.umd.js","require":"./dist/es/team-button.umd.js","default":"./dist/es/team-button.umd.min.js"}},"sideEffects":["**/*.vue","**/*.less","**/*.css"],"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"scripts":{"dev":"npm run serve","serve":"vue-cli-service serve --port 3000","build":"node scripts/build-lib.mjs && npx tsc --emitDeclarationOnly --declaration --declarationDir dist/types","lint":"vue-cli-service lint"},"dependencies":{"js-cookie":"^3.0.5"},"peerDependencies":{"ant-design-vue":"^1.7.8","vue":"^2.7.16"},"devDependencies":{"@vue/cli-plugin-babel":"^5.0.8","@vue/cli-plugin-typescript":"^5.0.8","@vue/cli-service":"^5.0.8","ant-design-vue":"^1.7.8","babel-plugin-import":"^1.13.8","less":"^4.2.0","less-loader":"^11.1.3","typescript":"~4.5.5","vue":"^2.7.16","vue-template-compiler":"^2.7.16"},"engines":{"node":">=12.0.0","npm":">=6.0.0"},"keywords":["vue","team","ui","library"],"author":{"name":"Team"},"license":"MIT","gitHead":"7ea387ee86512e66f9210e916ff7453913ab3ecd","_id":"@century-stardust/ui-library@1.0.3","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-ktuofSc+MaBex07Y1L9BHZPVPIfzVRAwEORKkR2nYnVjGmW87XNcCsPG2SuHIuOHsPz6DpDkhUlTevWL4QtH7A==","shasum":"f37c8257178712fcec5a20e0d479332685f65778","tarball":"https://registry.npmjs.org/@century-stardust/ui-library/-/ui-library-1.0.3.tgz","fileCount":11,"unpackedSize":3964804,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCoiUn189D8/n0wvlzaWWZyTYah1BTDR5hqvKYDmxJuWQIgECFVClmC/vGYa+oU5QeDQqhZOeoTufnR01YBy35wSyY="}]},"_npmUser":{"name":"myliyuanyuan","email":"1365642681@qq.com"},"directories":{},"maintainers":[{"name":"myliyuanyuan","email":"1365642681@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ui-library_1.0.3_1778597483039_0.09532986097498553"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-09T19:12:08.705Z","modified":"2026-05-12T14:51:23.479Z","1.0.0":"2026-05-09T19:12:08.990Z","1.0.1":"2026-05-10T15:22:15.920Z","1.0.2":"2026-05-10T16:27:34.690Z","1.0.3":"2026-05-12T14:51:23.316Z"},"author":{"name":"Team"},"license":"MIT","keywords":["vue","team","ui","library"],"description":"Vue 2 Team Component & Utility Library","maintainers":[{"name":"myliyuanyuan","email":"1365642681@qq.com"}],"readme":"# Team Vue 2 UI & Utils Library\r\n\r\n这是一个专为团队设计的 Vue 2 组件库与工具类项目模板。它集成了 TypeScript、Less，并支持组件的统一管理、按需导入以及 npm 包发布。\r\n\r\n## 项目特点\r\n\r\n- **Ant Design Vue v1.7.8**: 基于成熟的业务组件库进行二次封装，保证组件的交互质量与一致性。\r\n- **TypeScript**: 全面支持 TS，构建时自动生成 `.d.ts` 类型声明文件。\r\n- **Less**: 使用 Less 作为样式预处理器，方便变量管理与样式嵌套。\r\n- **按需加载**: 支持 ES 模块导出，可配合 `babel-plugin-import` 或现代构建工具实现极致的 Tree-shaking。\r\n- **统一管理**: 结构化的组件与工具类组织方式，易于维护与扩展。\r\n\r\n## 目录结构\r\n\r\n```text\r\n├── src/\r\n│   ├── components/       # 公共组件目录\r\n│   │   ├── TeamButton/   # 按钮组件\r\n│   │   │   ├── TeamButton.vue\r\n│   │   │   └── index.ts\r\n│   │   └── index.ts      # 组件汇总导出\r\n│   ├── utils/            # 通用工具类目录\r\n│   │   ├── date.ts       # 日期处理工具\r\n│   │   └── index.ts      # 工具类汇总导出\r\n│   ├── lib/\r\n│   │   ├── index.ts              # 全量入口（default + 命名导出）\r\n│   │   ├── install.ts            # Vue.use 安装的 install 函数\r\n│   │   ├── team-ui-components.ts # 组件清单（install 与按需共用）\r\n│   │   └── es/                   # 与 antdv「es/xxx」对齐的按需入口源码\r\n│   │       └── team-button.ts\r\n│   └── examples/         # 开发预览/Demo 演示\r\n│       ├── App.vue\r\n│       └── main.ts\r\n├── vue.config.js         # Vue CLI 配置\r\n├── tsconfig.json         # TS 配置\r\n└── package.json          # 发包与依赖管理\r\n```\r\n\r\n## 开发与维护\r\n\r\n### 安装依赖\r\n```bash\r\nnpm install\r\n```\r\n\r\n### 开发预览\r\n启动演示页面，实时预览组件改动。\r\n```bash\r\nnpm run serve\r\n```\r\n\r\n### 编译打包\r\n将项目打包为可发布的 npm 包。\r\n```bash\r\nnpm run build\r\n```\r\n打包产物：`dist/TeamUI.umd(.min).js` 为全量包；`dist/es/<name>.umd(.min).js` 为按需子包（`package.json` 的 `exports` 中 `import` / `require` 指向 umd，`default` 指向 umd.min）。类型在 `dist/types/`。\r\n\r\n## 使用说明（对齐 ant-design-vue 习惯）\r\n\r\n### 全量引入\r\n\r\n与 `import Antd from 'ant-design-vue'; Vue.use(Antd);` 相同：默认导出对象上带有 `install`，并把各组件挂在根上（如 `TeamUI.TeamButton`），同时可使用 `utils`。\r\n\r\n```javascript\r\nimport Vue from 'vue';\r\nimport TeamUI from '@century-stardust/ui-library';\r\n\r\nVue.use(TeamUI);\r\n```\r\n\r\n### 局部按需（手动子路径，与 antdv 的 `es/button` 一致）\r\n\r\n```javascript\r\nimport TeamButton from '@century-stardust/ui-library/es/team-button';\r\n\r\nexport default {\r\n  components: { TeamButton },\r\n};\r\n```\r\n\r\n工具仍从主包命名导入（勿与 babel-plugin-import 整包替换混在同一句，以免把 `utils` 误改写到不存在的 `es/utils`）：\r\n\r\n```javascript\r\nimport { utils } from '@century-stardust/ui-library';\r\n```\r\n\r\n### 使用 babel-plugin-import（可选）\r\n\r\n与 antdv 类似配置 `libraryName`、`libraryDirectory: 'es'`、`camel2DashComponentName: true`，可将 `import { TeamButton } from '@century-stardust/ui-library'` 转为 `es/team-button`。若同文件还需 `import { utils } from '...'`，请拆成独立 `import` 并配置 `customName` 跳过 `utils`，或仅用主包子路径手写按需、utils 走主包。\r\n\r\n## 维护：新增组件\r\n\r\n1. 在 `src/components/` 实现组件，并在 `team-ui-components.ts` 中注册进 `teamUILibraryComponents`、导出命名导出。\r\n2. 增加 `src/lib/es/<kebab>.ts`（默认导出该组件）。\r\n3. 在 `scripts/build-lib.mjs` 的 `ES_ENTRIES` 中追加 kebab 名。\r\n4. 在 `package.json` 的 `exports` 中增加 `./es/<kebab>`，并同步 `tsconfig.json` 的 `paths` 与 `vue.config.js` 的 `alias`（便于本仓库 examples 联调）。\r\n\r\n## 发布到 NPM\r\n1. 修改 `package.json` 中的 `name` 为你的组织或项目名称。\r\n2. 执行 `npm run build`。\r\n3. 执行 `npm publish`。\r\n","readmeFilename":"README.md"}