New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

html-validate

Package Overview
Dependencies
Maintainers
1
Versions
282
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

html-validate - npm Package Versions

13
28

9.0.0

Diff

Changelog

Source

9.0.0 (2024-12-23)

ESM support has finally landed in HTML-Validate V9!

  • Configuration files (using .htmlvalidate.mjs or when "type" is "module" in package.json).
  • Plugins, element metadata, shared configurations and transformers can be written natively in ESM.

This release is primarly breaking for API uses but some configuration changes might be required (see below). For API users the TL;DR version is most functions can return a Promise so make sure to await it.

⚠ BREAKING CHANGES

  • config: This change affects all users. The following deprecated configuration presets has been removed:

    • htmlvalidate:recommended - replace with html-validate:recommended.
    • htmlvalidate:document - replace with html-validate:document.
    • html-validate:a17y - replace with html-validate:a11y.
  • cli: CLI uses ESM (with esmResolver). For most part this shouldn't affect anything but in some cases you might need slight configuration migration. See Migration Guide for details.

  • cli: use ESM in CLI

  • meta: The deprecated metadata property expressions have been removed and can be replaced with callback functions. This gives greater control for the metadata author, provides better IDE support and is more reusable when querying the metadata directly.

  • deps: Requires NodeJS v18 or later.

  • api: Config.merge(..) will return a Promise when used with an async loader or resolver.

  • api: The deprecated tag:open and tag:close events has been removed, use tag:begin and tag:end instead.

  • api: The Config.resolve() method can return a Promise if any underlying loader or resolver has returned a Promise.

    It is recommended to assume it returns a Promise and always await the result:

    -const resolved = config.resolve();
    +const resolved = await config.resolve();
    

    If you need synchronous code ensure the configuration, the loader and the resolver all returns synchronous results, e.g. the staticResolver with synchronous code.

  • api: The HtmlValidate.getConfigurationSchema() method is now async and returns a Promise. If you use this method you need to await the result:

    -const schema = htmlvalidate.getConfigurationSchema();
    +const schema = await htmlvalidate.getConfigurationSchema();
    
  • api: If you are writing your own transformers they may now optionally return a Promise. If you are using test-utils to write unit tests you must now resolve the promise.

     import { transformSource } from "html-validate/test-utils";
    
    -const result = transformSource(transformer, source);
    +const result = await transformSource(transformer, source);
    

    This is no matter if your transformer is actually async or not.

  • api: The CLI.isIgnored(..) method has been removed from the public API. There is no replacement. If you need this method open an issue describing the use-case.

  • api: If you are using the CLI class most methods are now async and returns Promise. There is no synchronous version of these API calls.

  • api: Config.fromFile(..) and Config.fromObject(..) will return a Promise when used with an async loader or resolver.

  • api: ConfigLoader methods can optionally return a Promise for async operation. For most use-cases this will not require any changes.

  • api: The ConfigLoader.globalConfig property has been replaced with ConfigLoader.getGlobalConfig() (async) and ConfigLoader.getGlobalConfigSync() (sync).

  • api: The redundant and deprecated Config.init() method has been removed.

    Remove any calls to the method:

     const config = Config.fromObject({ /* ... */ });
    -config.init();
    

Features

  • api: CLI.isIgnored() made private (9e3679a)
  • api: CLI methods async and return Promise (677c73e)
  • api: Config.fromFile and Config.fromObject can return Promise (b126361)
  • api: Config.merge(..) can return Promise (cccb313)
  • api: Config.resolve() can return Promise (09159f3)
  • api: ConfigLoaders can optionally return Promise for async operation (6041581)
  • api: FileSystemConfigLoader uses esmResolver by default (dd4cfb1)
  • api: HtmlValidate.getConfigurationSchema() returns promise (f10ec1a)
  • api: allow transformers to return single source (fd126da)
  • api: new esmResolver using import(..) (available for both nodejs and browser) (81b4777), closes #230
  • api: remove deprecated Config.init() (0bd8ab7)
  • api: remove deprecated tag:open and tag:close events (88ac65e)
  • api: replace ConfigLoader.globalConfig with ConfigLoader.getGlobalConfig() (a64935a)
  • api: resolvers may optionally return Promise for async operation (fe3c6a6)
  • api: transformers may optionally return Promise for async operation (823da19)
  • cli: cli uses esm (with esmResolver) (3e4759e)
  • config: remove deprecated configuration presets (dbf5cf4)
  • config: support .htmlvalidate.mjs configuration files (0ffd9b5), closes #125
  • deps: require node 18 or later (d4f3bcb)
  • meta: remove deprecated property expressions (a77043c)
ext
published 8.29.0 •

Changelog

Source

8.29.0 (2024-12-22)

Features

  • config: allow to specify transformer function directly in config (df2c752)
  • meta: allow labelable property to be a callback (8204b5b)
ext
published 9.0.0-rc.8 •

ext
published 9.0.0-rc.7 •

ext
published 8.28.0 •

Changelog

Source

8.28.0 (2024-12-18)

Features

  • refactor jest and vitest toHTMLValidate(..) matcher (a6a60ab)
ext
published 9.0.0-rc.6 •

ext
published 9.0.0-rc.4 •

ext
published 9.0.0-rc.3 •

ext
published 8.27.0 •

Changelog

Source

8.27.0 (2024-11-30)

Features

  • api: deprecate Config.init() (d4b5987)
  • config: lazy load transformers (d82bc57), closes #194
ext
published 8.26.0 •

Changelog

Source

8.26.0 (2024-11-26)

Features

  • better handling of mismatched/unclosed tags (489ccae), closes #272
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc