Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
* Prevented the FDC3 for Web reference implementation from sending channel-changed events to applications that have not registered a matching listener. ([#1806](https://github.com/finos/FDC3/issues/1806))
* Fixed an issue in conformance test AOpensBWithWrongContext, which was not correctly waiting for the timeout and was sending close messages outside of the execution of the test. Also added logging of test starts and finishes to aid debugging. ([#1933](https://github.com/finos/FDC3/pull/1933))
* Fixed the `BasicJC1` conformance test to skip user channel membership checks when `getInfo().optionalFeatures.UserChannelMembershipAPIs` is not advertised, while still validating `joinUserChannel`, `getCurrentChannel`, and `leaveCurrentChannel` when the feature is enabled. ([#1777](https://github.com/finos/FDC3/issues/1777))
* Fixed all Vite 8 build warnings in `fdc3-conformance` and the `configLoader: 'native'` compatibility warning in `fdc3-workbench`: replaced `__dirname` with `import.meta.dirname`, swapped `@rollup/plugin-inject` for Rolldown's built-in `transform.inject`, made the `fix-source-map-support-global` plugin emit a sourcemap, targeted CSS injection at the `fdc3-compliance` entry, and marked `fdc3-workbench` as an ES module. ([#2115](https://github.com/finos/FDC3/issues/2115))
* Fixed intermittent failures in the `fdc3.destructuredMethods` conformance tests caused by mock apps not yet being ready when opened, and by too short a timeout when awaiting their close confirmation. ([#2114](https://github.com/finos/FDC3/issues/2114))

## [npm v2.2.3] - 2026-04-15
Expand Down
31 changes: 2 additions & 29 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion toolbox/fdc3-conformance/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
"util": "^0.12.5"
},
"devDependencies": {
"@rollup/plugin-inject": "^5.0.5",
"@types/chai": "^5.2.3",
"@types/mocha": "^10.0.10",
"http-server": "^14.1.1",
Expand Down
49 changes: 38 additions & 11 deletions toolbox/fdc3-conformance/vite.config.ts
Original file line number Diff line number Diff line change
@@ -1,19 +1,37 @@
import path from 'path';
import inject from '@rollup/plugin-inject';
import { defineConfig } from 'vite';
import cssInjectedByJsPlugin from 'vite-plugin-css-injected-by-js';

const __dirname = import.meta.dirname;

const SOURCE_MAP_SUPPORT_GLOBAL = '(this.define||function(R,U){this.sourceMapSupport=U()})';
const SOURCE_MAP_SUPPORT_GLOBAL_FIXED = '(globalThis.define||function(R,U){globalThis.sourceMapSupport=U()})';

/**
* A line-preserving identity sourcemap for `code`.
*
* The transform below rewrites a single expression and never adds or removes a line, so mapping
* the start of every output line to the start of the same input line is accurate. Returning it
* keeps the bundler from warning that the plugin dropped the sourcemap.
*/
function identitySourceMap(code: string, id: string) {
const lineCount = code.split('\n').length;
// VLQ segments: `AAAA` = [col 0, source 0, line 0, col 0]; `AACA` advances the source line by 1.
const mappings = ['AAAA', ...Array(Math.max(lineCount - 1, 0)).fill('AACA')].join(';');
return { version: 3 as const, sources: [id], sourcesContent: [code], names: [], mappings };
}

export default defineConfig({
build: {
outDir: 'dist/lib',
sourcemap: true,
rollupOptions: {
plugins: [
inject({
transform: {
inject: {
process: 'process/browser.js',
Buffer: ['buffer', 'Buffer'],
}),
],
},
},
input: {
'fdc3-compliance': path.resolve(__dirname, './src/test/index.ts'),
channel: path.resolve(__dirname, './src/mock/channel.ts'),
Expand Down Expand Up @@ -52,16 +70,25 @@ export default defineConfig({
'global.process': 'globalThis.process',
},
plugins: [
cssInjectedByJsPlugin(),
cssInjectedByJsPlugin({
// Only the `fdc3-compliance` entry imports CSS (mocha.css); without this the plugin
// picks an arbitrary entry among the many mock apps.
jsAssetsFilterFunction: outputChunk => outputChunk.fileName === 'fdc3-compliance.js',
}),
{
name: 'fix-source-map-support-global',
transform(code, id) {
if (id.includes('browser-source-map-support')) {
return code.replace(
'(this.define||function(R,U){this.sourceMapSupport=U()})',
'(globalThis.define||function(R,U){globalThis.sourceMapSupport=U()})'
);
if (!id.includes('browser-source-map-support')) {
return;
}
if (!code.includes(SOURCE_MAP_SUPPORT_GLOBAL)) {
return;
}
// The replacement is confined to one line, so line numbers are unchanged.
return {
code: code.replace(SOURCE_MAP_SUPPORT_GLOBAL, SOURCE_MAP_SUPPORT_GLOBAL_FIXED),
map: identitySourceMap(code, id),
};
},
},
],
Expand Down
1 change: 1 addition & 0 deletions toolbox/fdc3-workbench/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"name": "fdc3-workbench",
"version": "3.0.0-alpha.2",
"private": true,
"type": "module",
"homepage": "https://fdc3.finos.org",
"repository": {
"type": "git",
Expand Down
Loading