Repository navigation
Conversation
- Convert all sources to ES Modules, with node: prefixes on stdlib imports, an exports map, and engines requiring Node.js 20+ - Replace Bluebird and callback-style APIs with native Promises and async/await - Replace isomorphic-fetch with native fetch, commander with util.parseArgs, and slug with a local slugifier - Reimplement expectation operators on node:assert, dropping Chai - Keep Node-specific imports (fs, child_process) lazy so the library stays bundleable for browsers - Replace grunt-yaml with scripts/build-schemas.js, which also emits a browser-loadable schema/schemas.js module - Replace Mocha/Chai/grunt/karma/eslint test stack with node:test and node:assert; add a JavaScript mock FBP runtime so end-to-end tests run without the Python example runtime - Remove the Mocha runner integrations (fbpspec.mocha.run and fbp-spec-mocha compat runtime), the webpack/babel browser build, and the Karma browser test harness - Add Biome linting/formatting via .editorconfig, and tsc type checking with JSDoc types (tsconfig.json, types.d.ts)
The project has no external contributors (only the original authors), so the license is updated from MIT to the European Union Public Licence v1.2 (EUPL-1.2).
Replace CHANGES.md with CHANGELOG.md, restructured into the Keep a Changelog format, with an Unreleased section documenting the modernization.
- Remove claims about the Mocha runner, browser build and Flowhub integration, which have been removed - Update license reference to EUPL-1.2 - Add library usage examples using the Promise-based ESM API - Update CLI documentation for the current options
- Test against Node.js 20 and 22, and use current action versions - Publish to npm via OpenID Connect with provenance, replacing the legacy NPM_TOKEN secret authentication - Remove the Dependabot auto-merge configuration
The project has significant third-party contributions, so the proposed EUPL-1.2 relicensing is reverted and the MIT license kept.
- Let the shell expand the spec glob in the test script: quoted globs are only handled by node --test itself since Node 21, so the CI job on older Node failed with 'Could not find spec/*.test.js' - Test against Node.js 24 and 26 in CI, and publish on Node 26 - Drop the protocol-examples submodule checkout, as tests now use the JavaScript mock runtime - Restrict publish workflow permissions to contents: read + id-token: write
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.