chore: update registry (#151)

* fix: missing dependencies after import

* fix: demo component paths incorrect with subfolder
This commit is contained in:
zernonia 2023-11-06 12:47:31 +08:00 committed by GitHub
parent 3e74fe7de6
commit cd3c767c71
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 44 additions and 20 deletions

View File

@ -14,5 +14,6 @@ module.exports = {
'no-invalid-character': 'off', 'no-invalid-character': 'off',
'import/first': 'off', 'import/first': 'off',
'@stylistic/js/no-tabs': 'off', '@stylistic/js/no-tabs': 'off',
'n/prefer-global/process': 'off',
}, },
} }

View File

@ -46,9 +46,7 @@ for (const style of styles) {
name: "${item.name}", name: "${item.name}",
type: "${item.type}", type: "${item.type}",
registryDependencies: ${JSON.stringify(item.registryDependencies)}, registryDependencies: ${JSON.stringify(item.registryDependencies)},
component: () => import("../src/lib/registry/${style.name}/${type}/${ component: () => import("${resolveFiles[0]}").then((m) => m.default),
item.name
}.vue").then((m) => m.default),
files: [${resolveFiles.map(file => `"${file}"`)}], files: [${resolveFiles.map(file => `"${file}"`)}],
},` },`
} }
@ -375,7 +373,7 @@ export const THEME_STYLES_WITH_VARIABLES = `
--ring: <%- colors.dark["ring"] %>; --ring: <%- colors.dark["ring"] %>;
}` }`
const themeCSS = [] const themeCSS: Array<string> = []
for (const theme of themes) { for (const theme of themes) {
themeCSS.push( themeCSS.push(
template(THEME_STYLES_WITH_VARIABLES)({ template(THEME_STYLES_WITH_VARIABLES)({

View File

@ -6,10 +6,15 @@ import type { Registry } from '../../lib/registry'
const DEPENDENCIES = new Map<string, string[]>([ const DEPENDENCIES = new Map<string, string[]>([
['radix-vue', []], ['radix-vue', []],
['@vueuse/core', []],
['v-calendar', []], ['v-calendar', []],
['@tanstack/vue-table', []], ['@tanstack/vue-table', []],
['vee-validate', ['@vee-validate/zod', 'zod']], ['vee-validate', ['@vee-validate/zod', 'zod']],
]) ])
// Some dependencies latest tag were not compatible with Vue3.
const DEPENDENCIES_WITH_TAGS = new Map<string, string>([
['v-calendar', 'v-calendar@next'],
])
const REGISTRY_DEPENDENCY = '@/' const REGISTRY_DEPENDENCY = '@/'
type ArrayItem<T> = T extends Array<infer X> ? X : never type ArrayItem<T> = T extends Array<infer X> ? X : never
@ -62,7 +67,7 @@ async function crawlExample(rootPath: string) {
if (dirent.isFile()) { if (dirent.isFile()) {
const [name] = dirent.name.split('.vue') const [name] = dirent.name.split('.vue')
const file_path = join('example', dirent.name) const file_path = join('example', dirent.path.split('/example')[1], dirent.name)
const { dependencies, registryDependencies } const { dependencies, registryDependencies }
= await getDependencies(join(dirent.path, dirent.name)) = await getDependencies(join(dirent.path, dirent.name))
@ -139,8 +144,12 @@ async function getDependencies(filename: string) {
Object.values(compiled.imports!).forEach((value) => { Object.values(compiled.imports!).forEach((value) => {
const source = value.source const source = value.source
const peerDeps = DEPENDENCIES.get(source) const peerDeps = DEPENDENCIES.get(source)
const taggedDeps = DEPENDENCIES_WITH_TAGS.get(source)
if (peerDeps !== undefined) { if (peerDeps !== undefined) {
dependencies.add(source) if (taggedDeps !== undefined)
dependencies.add(taggedDeps)
else
dependencies.add(source)
peerDeps.forEach(dep => dependencies.add(dep)) peerDeps.forEach(dep => dependencies.add(dep))
} }

View File

@ -108,7 +108,8 @@
{ {
"name": "calendar", "name": "calendar",
"dependencies": [ "dependencies": [
"v-calendar" "@vueuse/core",
"v-calendar@next"
], ],
"registryDependencies": [ "registryDependencies": [
"utils" "utils"
@ -302,7 +303,9 @@
}, },
{ {
"name": "input", "name": "input",
"dependencies": [], "dependencies": [
"@vueuse/core"
],
"registryDependencies": [ "registryDependencies": [
"utils" "utils"
], ],
@ -590,7 +593,9 @@
}, },
{ {
"name": "textarea", "name": "textarea",
"dependencies": [], "dependencies": [
"@vueuse/core"
],
"registryDependencies": [ "registryDependencies": [
"utils" "utils"
], ],

View File

@ -1,7 +1,8 @@
{ {
"name": "calendar", "name": "calendar",
"dependencies": [ "dependencies": [
"v-calendar" "@vueuse/core",
"v-calendar@next"
], ],
"registryDependencies": [ "registryDependencies": [
"utils" "utils"

View File

@ -1,6 +1,8 @@
{ {
"name": "input", "name": "input",
"dependencies": [], "dependencies": [
"@vueuse/core"
],
"registryDependencies": [ "registryDependencies": [
"utils" "utils"
], ],

View File

@ -1,6 +1,8 @@
{ {
"name": "textarea", "name": "textarea",
"dependencies": [], "dependencies": [
"@vueuse/core"
],
"registryDependencies": [ "registryDependencies": [
"utils" "utils"
], ],

View File

@ -1,7 +1,8 @@
{ {
"name": "calendar", "name": "calendar",
"dependencies": [ "dependencies": [
"v-calendar" "@vueuse/core",
"v-calendar@next"
], ],
"registryDependencies": [ "registryDependencies": [
"utils" "utils"

View File

@ -1,6 +1,8 @@
{ {
"name": "input", "name": "input",
"dependencies": [], "dependencies": [
"@vueuse/core"
],
"registryDependencies": [ "registryDependencies": [
"utils" "utils"
], ],

View File

@ -1,6 +1,8 @@
{ {
"name": "textarea", "name": "textarea",
"dependencies": [], "dependencies": [
"@vueuse/core"
],
"registryDependencies": [ "registryDependencies": [
"utils" "utils"
], ],

View File

@ -3,18 +3,19 @@
"display": "Default", "display": "Default",
"compilerOptions": { "compilerOptions": {
"composite": false, "composite": false,
"module": "ESNext",
"moduleResolution": "node",
"declaration": true, "declaration": true,
"declarationMap": true, "declarationMap": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"inlineSources": false, "inlineSources": false,
"isolatedModules": true, "isolatedModules": true,
"moduleResolution": "node", "esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"noUnusedLocals": false, "noUnusedLocals": false,
"noUnusedParameters": false, "noUnusedParameters": false,
"preserveWatchOutput": true, "preserveWatchOutput": true,
"skipLibCheck": true, "skipLibCheck": true
"strict": true
}, },
"exclude": ["node_modules"] "exclude": ["node_modules"]
} }