Skip to content

[Snyk] Security upgrade tap from 5.8.0 to 18.0.0#191

Open
AH7 wants to merge 1 commit into
masterfrom
snyk-fix-cef5e1c24735b01972fb8072a2fe2c07
Open

[Snyk] Security upgrade tap from 5.8.0 to 18.0.0#191
AH7 wants to merge 1 commit into
masterfrom
snyk-fix-cef5e1c24735b01972fb8072a2fe2c07

Conversation

@AH7

@AH7 AH7 commented Jul 10, 2026

Copy link
Copy Markdown
Owner

snyk-top-banner

Snyk has created this PR to fix 1 vulnerabilities in the npm dependencies of this project.

Snyk changed the following file(s):

  • package.json

Vulnerabilities that will be fixed with an upgrade:

Issue Score
high severity Inefficient Algorithmic Complexity
SNYK-JS-JSYAML-17900054
  828  

Breaking Change Risk

Merge Risk: High

Notice: This assessment is enhanced by AI.


Important

  • Check the changes in this PR to ensure they won't cause issues with your project.
  • Max score is 1000. Note that the real score may have changed since the PR was raised.
  • This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic


Learn how to fix vulnerabilities with free interactive lessons:

🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-JSYAML-17900054
@AH7

AH7 commented Jul 10, 2026

Copy link
Copy Markdown
Owner Author

Merge Risk: High

This is a massive upgrade from version 5.8.0 to 18.0.0, spanning 13 major versions and a complete architectural overhaul of the tap testing framework. A direct upgrade is not possible without a significant migration effort, as nearly every aspect of the library has changed.

Key Breaking Changes:

  • Architecture and Modularity: The framework was rewritten in TypeScript and now uses a plugin-based architecture. Core functionalities like assertions (@tapjs/asserts), lifecycle hooks (@tapjs/before-each), and even TypeScript support are now managed as plugins.
  • Configuration:
    • Configuration loading is stricter. All temporary files, including coverage and process info, are now stored in a single .tap directory.
    • The tap config command replaces the --dump-config flag.
    • Filtering tests via test-regexp and test-ignore has been replaced with include and exclude glob patterns.
  • Coverage Enforcement: Code coverage checking is enabled by default in version 18. Builds will fail if coverage does not meet the threshold (defaulting to 100%), which is a major change from older versions.
  • API and Globals:
    • Mocha-style globals (describe, it) are no longer available by default. They have been moved to the @tapjs/mocha-globals plugin and must be explicitly configured.
    • Assertion synonyms (e.g., t.is_not_equal) have been deprecated and removed.
    • t.beforeEach and t.afterEach no longer accept callback arguments and now require returning a promise for async operations.
  • CLI Changes: The tap --watch command has been replaced by the new tap repl command.
  • Node.js Support: Support for Node.js versions below 10 was dropped.

Recommendation: This upgrade cannot be performed without a thorough migration. Developers must review the official upgrading guide, refactor test configurations, update test files to use modern APIs and promise-based patterns, and address the new default coverage requirements. Treat this as a rewrite of the test suite.

Source: Upgrading Guide, Changelog

Notice 🤖: This content was augmented using artificial intelligence. AI-generated content may contain errors and should be reviewed for accuracy before use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants