umd 0.2.0

Universal Markdown - A post-Markdown superset with semantic HTML and extensible syntax
Documentation
{
  // Biome config for this workspace. Comments are preserved in JSONC.
  "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
  "root": true,
  "files": {
    "includes": [
      "**",
      // AI agents skill docs.
      "!!**/.agents",
      // Build intermediate artifacts.
      "!!**/.cache",
      "!!**/.data",
      "!!**/.mf",
      "!!**/.nitro",
      "!!**/.nuxt",
      "!!**/.output",
      "!!**/.rstack",
      // Test coverage reports.
      "!!**/coverage",
      "!!**/reports",
      "!!**/test-results",
      // Built artifacts.
      "!!**/demo",
      "!!**/dist-ssr",
      "!!**/dist",
      "!!**/docs",
      "!!**/storybook-static",
      // Node modules.
      "!!**/node_modules"
    ],
    // Ignore files that cannot be processed by biome.
    "ignoreUnknown": true
  },
  // Enable Biome's built-in version control system (VCS) support.
  "vcs": {
    "clientKind": "git",
    "enabled": true,
    "useIgnoreFile": true
  },
  // Enable Biome's built-in code assist feature
  // for code actions and refactoring.
  "assist": {
    "enabled": true,
    "actions": {
      "source": {
        "useSortedInterfaceMembers": "on",
        // Remove duplicate CSS classes.
        "noDuplicateClasses": "on",
        // Sort imports on save.
        // This is useful for keeping import statements organized
        // and consistent.
        "organizeImports": "off",
        // Sort stylesheet properties.
        "useSortedProperties": "on",
        // Sort package.json.
        "useSortedPackageJson": "on",
        // Sort html(like) attributes.
        "useSortedAttributes": "on"
      }
    }
  },
  "formatter": {
    "enabled": true,
    // To prevent indentation shifts and resulting differences
    // when adding or deleting items.
    "attributePosition": "multiline",
    "expand": "always",
    "formatWithErrors": false,
    "indentStyle": "space",
    "indentWidth": 2,
    "lineEnding": "lf",
    "lineWidth": 80,
    "useEditorconfig": true
  },
  "linter": {
    // See https://biomejs.dev/linter/ for a list of all available rules.
    "rules": {
      "preset": "recommended",
      "a11y": {
        // Because they are often used for purposes that are meaningless
        // to screen readers, such as icons.
        "noSvgWithoutTitle": "off"
      },
      "complexity": {
        // To remove the warning about processing long lines of code, uncomment the following line.
        // "noExcessiveLinesPerFunction": "off",
        // The contents of the interior should be kept secret. (The concept of the facade)
        "noRedundantDefaultExport": "off"
      },
      "correctness": {
        // Disable this rule to allow Node.js modules for configuration files and scripts.
        "noNodejsModules": "off"
      },
      "nursery": {
        // Enforce the sorting of CSS utility classes.
        "useSortedClasses": "error",
        // Do not use nextTick(()=>{...}), use await nextTick() in Vue.
        "useVueNextTickPromise": "error"
      },
      "performance": {
        "useVueVapor": "error"
      },
      "security": {},
      "style": {
        // For libraries, it's common to use default exports for the main entry point.
        // Disable this rule to allow default exports in library code.
        "noDefaultExport": "off",
        // Add type to import when type only import.
        "useImportType": "error",
        // Do not use v-bind:foo="", use :foo="" in Vue.
        "useVueConsistentVBindStyle": "error",
        // Do not use v-on:foo="", use @foo="" in Vue.
        "useVueConsistentVOnStyle": "error",
        // Do not use camelCase attribute. use kebab-case attribute in Vue.
        "useVueHyphenatedAttributes": "error"
      },
      "suspicious": {
        // The `any` type completely destroys type safety and becomes a
        // breeding ground for runtime errors.
        "noExplicitAny": "warn",
        // The removal of the console.* functions should be handled by the bundler.
        "noConsole": "off",
        // Do not use enum, use union.
        "noConstEnum": "error"
      }
    }
  },
  "css": {
    "formatter": {
      "enabled": true,
      "quoteStyle": "single"
    },
    "parser": {
      "cssModules": true,
      // If you are using Tailwind CSS, set this to true to avoid
      // formatting issues with Tailwind directives.
      "tailwindDirectives": false
    }
  },
  "html": {
    // If you are using a framework like React, Vue, Svelte or Angular,
    // set this to true to avoid formatting issues with
    // framework-specific syntax.
    "experimentalFullSupportEnabled": false,
    "formatter": {
      "enabled": true,
      // To prevent indentation shifts and resulting differences
      // when adding or deleting items.
      "attributePosition": "multiline",
      // Do not omit the slash (/) for empty elements.
      // e.g. <br /> instead of <br>
      "selfCloseVoidElements": "always",
      // Prioritize structure over whitespace characters.
      // (This is because differences are more likely to occur.)
      "whitespaceSensitivity": "css"
    },
    "parser": {
      // If you use Vue.
      "vue": false
    }
  },
  "javascript": {
    // When you use CSS-in-JS (such as styled-components) or
    // GraphQL (such as Relay, Apollo etc.), you may want to enable
    // this option to avoid formatting issues with embedded snippets.
    "experimentalEmbeddedSnippetsEnabled": false,
    "formatter": {
      "enabled": true,
      "quoteStyle": "single",
      "trailingCommas": "all"
    },
    // If yu use global variable
    "globals": [
      // "$", // jQuery
      // "_", // underscore.js
    ],
    // JSXRuntime is set to "transparent" to allow JSX syntax in
    // JavaScript files without requiring a specific JSX factory
    // function.
    // This is useful for projects that use React or other libraries
    // that support JSX.
    "jsxRuntime": "transparent"
  },
  "json": {
    "formatter": {
      "enabled": true,
      // To prevent indentation shifts and resulting differences
      // when adding or deleting items.
      "expand": "always"
    },
    "parser": {
      // Allow comments in JSON files. This is useful for configuration files
      // that may contain comments for documentation purposes.
      "allowComments": true
    }
  },
  "overrides": [
    {
      // For test code rules.
      "includes": [
        "./**/__tests__/*"
      ],
      "linter": {
        "rules": {
          "a11y": "off",
          "correctness": {
            "noUnusedVariables": "off"
          },
          "suspicious": {
            // The test code allows the `any` type to verify that
            // an error occurs when an invalid value is entered.
            "noExplicitAny": "off"
          }
        }
      }
    }
  ]
}