UNPKG

nuxt-safe-runtime-config

Version:

Validate Nuxt runtime config with Standard Schema at build time

40 lines (36 loc) 1.23 kB
import { ESLintUtils } from '@typescript-eslint/utils'; const createRule = ESLintUtils.RuleCreator((name) => `https://github.com/onmax/nuxt-safe-runtime-config#${name}`); const preferSafeRuntimeConfig = createRule({ name: "prefer-safe-runtime-config", meta: { type: "suggestion", docs: { description: "Prefer useSafeRuntimeConfig() over useRuntimeConfig()" }, schema: [], messages: { preferSafe: "Use useSafeRuntimeConfig() for type-safe runtime config" }, fixable: "code" }, defaultOptions: [], create: (context) => ({ CallExpression(node) { if (node.callee.type === "Identifier" && node.callee.name === "useRuntimeConfig") { context.report({ node, messageId: "preferSafe", fix: (fixer) => fixer.replaceText(node.callee, "useSafeRuntimeConfig") }); } } }) }); const plugin = { meta: { name: "nuxt-safe-runtime-config" }, rules: { "prefer-safe-runtime-config": preferSafeRuntimeConfig } }; const configs = { recommended: { plugins: { "safe-runtime-config": plugin }, rules: { "safe-runtime-config/prefer-safe-runtime-config": "warn" } } }; const index = { ...plugin, configs }; export { configs, index as default };