Skip to content
  • David Sveningsson's avatar
    feat!: cjs/esm hybrid package · 39c960a1
    David Sveningsson authored
    fixes #112
    
    BREAKING CHANGE: the library is now shipped as a hybrid CJS/ESM package. If you
    are simply consuming the CLI tool or one of the existing integrations this will
    not affect you.
    
    For plugin developers and if you consume the API in any way the biggest change
    is that the distributed source is now bundled and you can no longer access
    individual files.
    
    Typically something like:
    
    ```diff
    -import foo from "html-validate/dist/foo";
    +import { foo } from "html-validate"
    ```
    
    Feel free to open an issue if some symbol you need isn't exported.
    
    If your usage includes checking presence of rules use the `ruleExists` helper:
    
    ```diff
    -try {
    -  require("html-validate/dist/rules/attr-case");
    -} catch (err) {
    -  /* fallback */
    -}
    +import { ruleExists } from "html-validate";
    +if (!ruleExists("attr-case")) {
    +  /* fallback */
    +}
    ```
    39c960a1