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

View File

@ -6,10 +6,15 @@ import type { Registry } from '../../lib/registry'
const DEPENDENCIES = new Map<string, string[]>([
['radix-vue', []],
['@vueuse/core', []],
['v-calendar', []],
['@tanstack/vue-table', []],
['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 = '@/'
type ArrayItem<T> = T extends Array<infer X> ? X : never
@ -62,7 +67,7 @@ async function crawlExample(rootPath: string) {
if (dirent.isFile()) {
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 }
= await getDependencies(join(dirent.path, dirent.name))
@ -139,7 +144,11 @@ async function getDependencies(filename: string) {
Object.values(compiled.imports!).forEach((value) => {
const source = value.source
const peerDeps = DEPENDENCIES.get(source)
const taggedDeps = DEPENDENCIES_WITH_TAGS.get(source)
if (peerDeps !== undefined) {
if (taggedDeps !== undefined)
dependencies.add(taggedDeps)
else
dependencies.add(source)
peerDeps.forEach(dep => dependencies.add(dep))
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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