Skip to content

[Snyk] Security upgrade tap from 11.1.5 to 18.0.0 - #340

Open
nirw-snyk wants to merge 2 commits into
mainfrom
snyk-fix-5bd83f62ca8144a2143fff1577dc21f4
Open

[Snyk] Security upgrade tap from 11.1.5 to 18.0.0#340
nirw-snyk wants to merge 2 commits into
mainfrom
snyk-fix-5bd83f62ca8144a2143fff1577dc21f4

Conversation

@nirw-snyk

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
  • package-lock.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.

@nirw-snyk

Copy link
Copy Markdown
Owner Author

Merge Risk: High

This is a very large major version upgrade from v11 to v18, which includes a complete architectural rewrite and numerous breaking changes. Developer action will be required.

Key Breaking Changes:

  • Plugin-Based Architecture: As of v18, tap has been rewritten in TypeScript and now operates on a plugin-based system. Functionality like assertions (t.equal, t.match), mocking, and snapshots are now provided by plugins (e.g., @tapjs/asserts, @tapjs/mock) which may need to be installed and configured separately.
  • Coverage Enforcement: Coverage is now enabled by default, and tests will fail if 100% coverage is not met. The previous CLI flags for controlling coverage (--cov, --no-cov, --check-coverage) have been removed in favor of new options like --disable-coverage and --allow-incomplete-coverage.
  • API and CLI Changes:
    • The configuration for specifying test files has changed from test-regex to include and exclude glob patterns.
    • The promise returned by t.test() now resolves to the child test's results.
    • Callbacks have been removed from t.beforeEach and t.afterEach in favor of returning promises.
  • Node.js Support: Support for Node.js versions below 10 has been dropped.

Recommendation: Due to the extensive nature of these changes, a direct upgrade is not recommended. Developers must carefully review the official tap documentation and migration guides, refactor their test suite to accommodate the new plugin system and API changes, and validate the new coverage behavior.

Source: Upgrading from tap v16 and before

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