Skip to content

Commit 5eb5383

Browse files
authored
Merge pull request #457 from ChartIQ/FDC3-workbench
FDC3 workbench
2 parents ca1a86a + 713c03d commit 5eb5383

50 files changed

Lines changed: 15588 additions & 3 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

toolbox/fdc3-workbench/.env

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
SKIP_PREFLIGHT_CHECK=true
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
.github/
2+
build/
3+
dist/
4+
node_modules/
5+
*.d.ts
6+
*.md
7+
yarn.lock
8+
package.json
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
{
2+
"parser": "@typescript-eslint/parser",
3+
"env": {
4+
"browser": true,
5+
"es6": true,
6+
"commonjs": true
7+
},
8+
"extends": ["plugin:react/recommended", "prettier"],
9+
"settings": {
10+
"react": {
11+
"version": "detect"
12+
}
13+
},
14+
"globals": {
15+
"fdc3": "readonly"
16+
},
17+
"parserOptions": {
18+
"ecmaFeatures": {
19+
"jsx": true
20+
},
21+
"ecmaVersion": 2018,
22+
"sourceType": "module"
23+
},
24+
"plugins": ["react", "import", "@typescript-eslint"],
25+
"rules": {
26+
"react/jsx-uses-vars": 2,
27+
"class-methods-use-this": 0,
28+
"no-plusplus": 0,
29+
"no-undef": 2,
30+
"prefer-arrow-callback": 1,
31+
"prefer-destructuring": [
32+
"warn",
33+
{
34+
"object": true,
35+
"array": false
36+
}
37+
],
38+
"quote-props": ["warn", "as-needed"],
39+
"lines-between-class-members": 1,
40+
"@typescript-eslint/no-unused-vars": 1,
41+
"prefer-template": 1,
42+
"arrow-parens": 1,
43+
"no-extra-semi": 1,
44+
"no-shadow": 1,
45+
"import/first": 1,
46+
"@typescript-eslint/no-use-before-define": 1,
47+
"no-redeclare": 1,
48+
"arrow-body-style": [
49+
"warn",
50+
"as-needed",
51+
{
52+
"requireReturnForObjectLiteral": true
53+
}
54+
],
55+
"one-var-declaration-per-line": ["warn", "always"],
56+
"no-mixed-operators": 1,
57+
"no-multiple-empty-lines": 1,
58+
"no-multi-spaces": 1,
59+
"default-case": 1,
60+
"no-unneeded-ternary": 1,
61+
"operator-assignment": ["warn", "never"],
62+
"object-property-newline": [
63+
"warn",
64+
{
65+
"allowAllPropertiesOnSameLine": true
66+
}
67+
],
68+
"new-cap": 1,
69+
"no-case-declarations": 1,
70+
"react/prop-types": 0,
71+
"react/no-string-refs": 0
72+
}
73+
}

toolbox/fdc3-workbench/.gitignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
/.pnp
6+
.pnp.js
7+
8+
# testing
9+
/coverage
10+
11+
# production
12+
/build
13+
14+
# misc
15+
.DS_Store
16+
.env.local
17+
.env.development.local
18+
.env.test.local
19+
.env.production.local
20+
21+
.eslintcache
22+
npm-debug.log*
23+
yarn-debug.log*
24+
yarn-error.log*
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
.github/
2+
build/
3+
dist/
4+
node_modules/
5+
*.d.ts
6+
*.md
7+
yarn.lock
8+
package.json

toolbox/fdc3-workbench/.prettierrc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"useTabs": true,
3+
"arrowParens": "always",
4+
"trailingComma": "es5",
5+
"proseWrap": "always",
6+
"printWidth": 120
7+
}

toolbox/fdc3-workbench/NOTICE

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
FDC3 Workbench - Fintech Open Source Foundation (https://www.finos.org/)
2+
Copyright 2021 Cosaic, inc. info@cosaic.io
3+
Copyright 2021 Contributors to the FDC3 standards project

toolbox/fdc3-workbench/README.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# <a href='http://fdc3.finos.org'><img src='https://fdc3.finos.org/img/fdc3-logo-2019-color.png' height='150' alt='FDC3 Logo' aria-label='fdc3.finos.org' /></a>
2+
3+
# FDC3 Workbench
4+
When developing interoperability for your application with other apps on a Financial services desktop, using the [FDC3 standard](https://fdc3.finos.org/docs/fdc3-intro), the first step is often to develop a test harness or workbench tool with which to exchange messaging. The FDC3 Workbench is designed to provide that tooling so that you can focus on implementing FDC3 support in your application.
5+
6+
_Created and contributed to [FDC3](http://fdc3.finos.org) by [Cosaic, Inc.](https://cosaic.io/) in 2021._
7+
8+
## Getting Started
9+
10+
1. Clone the repository
11+
12+
`git clone https://github.com/ChartIQ/fdc3-workbench`
13+
14+
2. Install dependencies
15+
16+
`cd fdc3-workbench & yarn install`
17+
18+
3. Start the development server
19+
20+
`yarn start`
21+
22+
4. Add the URL http://localhost:3000 to your FDC3-enabled container or desktop agent and ensure it has access to the `window.fdc3` object.
23+
24+
## TODO
25+
- Implement a panel for working with [App channels](https://fdc3.finos.org/docs/api/spec#direct-listening-and-broadcast-on-channels).
26+
- Implement `findIntent` in the intents panel with support for a targetted `raiseIntent` using one of the results.
27+
- Add support for saving context tempaltes across sessions (e.g. via localstorage)
28+
## Packages
29+
30+
Core:
31+
- [Create React App](https://github.com/facebook/create-react-app) - with TypeScript
32+
- [MATERIAL-UI](https://material-ui.com) - v4
33+
- [MobX](https://mobx.js.org/README.html) - state management
34+
35+
Also using Eslint, Husky and Prettier please configure your IDE to work properly with code style rules.
36+
37+
Minor:
38+
- [JsonEditor](https://github.com/josdejong/jsoneditor) - lib to add json editor field with json schema validation
39+
- [nanoid](https://www.npmjs.com/package/nanoid) - A tiny, secure, URL-friendly, unique string ID generator for JavaScript.
40+
41+
## Known Issues
42+
43+
- The following console error may appear periodically: `Warning: findDOMNode is deprecated in StrictMode.`, this is a [well-known issue in material-ui](https://github.com/mui-org/material-ui/issues/13394) and will be fixed in v5, which (at the time of writing) is currently in beta.
44+
45+
46+
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
{
2+
"name": "fdc3-workbench",
3+
"version": "1.2.0",
4+
"private": true,
5+
"homepage": ".",
6+
"dependencies": {
7+
"@apidevtools/json-schema-ref-parser": "^9.0.9",
8+
"@finos/fdc3": "^1.2.0",
9+
"@fontsource/roboto": "^4.4.5",
10+
"@fontsource/source-code-pro": "^4.5.0",
11+
"@material-ui/core": "^4.11.4",
12+
"@material-ui/icons": "^4.11.2",
13+
"@material-ui/lab": "^4.0.0-alpha.59",
14+
"@types/node": "^12.0.0",
15+
"@types/react": "^17.0.0",
16+
"@types/react-dom": "^17.0.0",
17+
"jsoneditor": "^9.5.1",
18+
"mobx": "^6.3.2",
19+
"mobx-react": "^7.2.0",
20+
"nanoid": "^3.1.23",
21+
"normalize.css": "^8.0.1",
22+
"react": "^17.0.2",
23+
"react-dom": "^17.0.2",
24+
"react-scripts": "4.0.3",
25+
"typescript": "^4.1.2",
26+
"web-vitals": "^1.0.1"
27+
},
28+
"scripts": {
29+
"start": "react-scripts start",
30+
"build": "react-scripts build",
31+
"test": "react-scripts test",
32+
"eject": "react-scripts eject",
33+
"lint": "eslint --cache --quiet **/*.{ts,tsx,js,jsx} && prettier --check **/*.{ts,tsx,js,jsx,json,yml,css,html,md}",
34+
"lint:fix": "eslint --cache --quiet --fix **/*.{ts,tsx,js,jsx} && prettier --write **/*.{ts,tsx,js,jsx} && prettier --write **/*.{json,yml,css,html,md}"
35+
},
36+
"eslintConfig": {
37+
"extends": [
38+
"react-app"
39+
]
40+
},
41+
"browserslist": {
42+
"production": [
43+
">0.2%",
44+
"not dead",
45+
"not op_mini all"
46+
],
47+
"development": [
48+
"last 1 chrome version",
49+
"last 1 firefox version",
50+
"last 1 safari version"
51+
]
52+
},
53+
"devDependencies": {
54+
"@types/jsoneditor": "^8.6.1",
55+
"@typescript-eslint/eslint-plugin": "^4.27.0",
56+
"@typescript-eslint/parser": "^4.27.0",
57+
"eslint": "^7.28.0",
58+
"eslint-config-prettier": "^8.3.0",
59+
"eslint-plugin-import": "^2.23.4",
60+
"eslint-plugin-react": "^7.24.0",
61+
"lint-staged": "^11.0.0",
62+
"prettier": "^2.3.1",
63+
"pretty-quick": "^3.1.0"
64+
},
65+
"lint-staged": {
66+
"*.{ts,tsx,js,jsx}": [
67+
"eslint --cache --quiet --fix",
68+
"prettier --write --prose-wrap never"
69+
],
70+
"*.{json,yml,css,html,md}": "prettier --write --prose-wrap never",
71+
"*.js": "eslint --cache --fix",
72+
"*.{js,css,md}": "prettier --write"
73+
}
74+
}
14.7 KB
Binary file not shown.

0 commit comments

Comments
 (0)