diff --git a/eslint.config.mjs b/eslint.config.mjs index 27b2e71..fb8fafe 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -10,11 +10,19 @@ export default createConfigForNuxt({ stylistic: true, }, dirs: { - src: [ - './playground', - ], + src: ['./playground'], }, +}).overrideRules({ + '@typescript-eslint/no-unused-expressions': [ + 'error', + { allowShortCircuit: true }, + ], + 'vue/multi-word-component-names': 'off', + 'vue/max-attributes-per-line': ['error', { singleline: 5 }], + '@typescript-eslint/ban-types': 'off', + '@typescript-eslint/ban-ts-comment': 'off', + '@typescript-eslint/no-unsafe-function-type': 'off', + '@typescript-eslint/no-empty-object-type': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-unused-vars': 'off', }) - .append( - // your custom flat config here... - ) diff --git a/playground/app.config.ts b/playground/app.config.ts index 193513f..d92df4b 100644 --- a/playground/app.config.ts +++ b/playground/app.config.ts @@ -1,6 +1,6 @@ export default defineAppConfig({ rayui: { primary: 'indigo', - gray: 'neutral' - } + gray: 'neutral', + }, }) diff --git a/playground/app.vue b/playground/app.vue index 23fb0d2..4f69d4a 100644 --- a/playground/app.vue +++ b/playground/app.vue @@ -3,7 +3,9 @@ diff --git a/playground/nuxt.config.ts b/playground/nuxt.config.ts index d7d36f0..1fa0c69 100644 --- a/playground/nuxt.config.ts +++ b/playground/nuxt.config.ts @@ -1,6 +1,6 @@ export default defineNuxtConfig({ - compatibilityDate: "2024-11-18", + modules: ['../src/module'], devtools: { enabled: true }, - modules: ["../src/module"], + compatibilityDate: '2024-11-18', rayui: {}, -}); +}) diff --git a/src/module.ts b/src/module.ts index 7fba12b..fc713af 100644 --- a/src/module.ts +++ b/src/module.ts @@ -1,96 +1,96 @@ +import type { config } from 'node:process' +import { createRequire } from 'node:module' import { defineNuxtModule, createResolver, addPlugin, addComponentsDir, addImportsDir, -} from "@nuxt/kit"; -import { name, version } from "../package.json"; -import { installTailwind } from "./tailwind"; -import type { config } from "process"; -import type { Strategy, DeepPartial } from "./runtime/types/utils"; -import { createTemplates } from "./template"; -import { createRequire } from "node:module"; +} from '@nuxt/kit' +import { name, version } from '../package.json' +import { installTailwind } from './tailwind' +import type { Strategy, DeepPartial } from './runtime/types/utils' +import { createTemplates } from './template' -const _require = createRequire(import.meta.url); -const defaultColors = _require("tailwindcss/colors.js"); +const _require = createRequire(import.meta.url) +const defaultColors = _require('tailwindcss/colors.js') -delete defaultColors.lightBlue; -delete defaultColors.warmGray; -delete defaultColors.trueGray; -delete defaultColors.coolGray; -delete defaultColors.blueGray; +delete defaultColors.lightBlue +delete defaultColors.warmGray +delete defaultColors.trueGray +delete defaultColors.coolGray +delete defaultColors.blueGray type RayUI = { - primary?: string; - gray?: string; - strategy?: Strategy; - colors?: string[]; - [key: string]: any; -} & DeepPartial; + primary?: string + gray?: string + strategy?: Strategy + colors?: string[] + [key: string]: any +} & DeepPartial -declare module "@nuxt/schema" { +declare module '@nuxt/schema' { interface AppConfigInput { - rayui?: RayUI; + rayui?: RayUI } } export interface ModuleOptions { - prefix?: string; - safeColors?: string[]; + prefix?: string + safeColors?: string[] } export default defineNuxtModule({ meta: { name, version, - configKey: "rayui", + configKey: 'rayui', compatibility: { - nuxt: ">=3.0.0", + nuxt: '>=3.0.0', }, }, defaults: { - prefix: "Ray", - safeColors: ["primary"], + prefix: 'Ray', + safeColors: ['primary'], }, async setup(_options, _nuxt) { - const { resolve } = createResolver(import.meta.url); + const { resolve } = createResolver(import.meta.url) - const runtimePath = resolve("./runtime"); - _nuxt.options.build.transpile.push(runtimePath); - _nuxt.options.alias["#rayui"] = runtimePath; + const runtimePath = resolve('./runtime') + _nuxt.options.build.transpile.push(runtimePath) + _nuxt.options.alias['#rayui'] = runtimePath - createTemplates(_nuxt); + createTemplates(_nuxt) // Modules - installTailwind(_options, _nuxt, resolve); + installTailwind(_options, _nuxt, resolve) // Plugins addPlugin({ - src: resolve(runtimePath, "plugins", "colors"), - }); + src: resolve(runtimePath, 'plugins', 'colors'), + }) // Components addComponentsDir({ - path: resolve(runtimePath, "components", "elements"), + path: resolve(runtimePath, 'components', 'elements'), prefix: _options.prefix, global: false, watch: false, - }); + }) addComponentsDir({ - path: resolve(runtimePath, "components", "forms"), + path: resolve(runtimePath, 'components', 'forms'), prefix: _options.prefix, global: false, watch: false, - }); + }) addComponentsDir({ - path: resolve(runtimePath, "components", "overlays"), + path: resolve(runtimePath, 'components', 'overlays'), prefix: _options.prefix, global: false, watch: false, - }); + }) // Composables - addImportsDir(resolve(runtimePath, "composables")); + addImportsDir(resolve(runtimePath, 'composables')) }, -}); +}) diff --git a/src/runtime/components/elements/Button.vue b/src/runtime/components/elements/Button.vue index 435eea7..01caf43 100644 --- a/src/runtime/components/elements/Button.vue +++ b/src/runtime/components/elements/Button.vue @@ -1,28 +1,28 @@ diff --git a/src/runtime/components/forms/Input.vue b/src/runtime/components/forms/Input.vue index f0343ac..0091586 100644 --- a/src/runtime/components/forms/Input.vue +++ b/src/runtime/components/forms/Input.vue @@ -3,7 +3,10 @@