From 08cbc0dc66758f79feee2e95ea60c2326e5059c8 Mon Sep 17 00:00:00 2001 From: Tiago Bento Date: Sun, 3 Nov 2024 20:27:17 -0500 Subject: [PATCH 01/36] . --- .../ci/partitions/partition1.txt | 1 + devbox.lock | 2 + .../README.md | 68 - .../README.md | 73 - .../LICENSE | 0 .../bpmn-editor-classic-on-webapp/README.md | 44 + .../env/index.js | 6 +- .../package.json | 37 + .../src/BpmnEditorClassicEnvelope.ts} | 0 .../src/BpmnEditorClassicPage.tsx} | 8 +- .../src}/Sidebar.tsx | 9 +- .../src/index.css | 76 + .../src/index.tsx | 49 + .../static/bpmn-editor-classic-envelope.html} | 2 +- .../static/examples/sample.bpmn | 0 .../static/index.html | 32 + .../static/logo.png | Bin .../tsconfig.json | 0 .../webpack.config.js | 19 +- .../Makefile | 29 - .../LICENSE | 0 .../dmn-editor-classic-on-webapp/README.md | 44 + .../env/index.js | 4 +- .../dmn-editor-classic-on-webapp/package.json | 37 + .../src/DmnEditorClassicEnvelope.ts} | 0 .../src/DmnEditorClassicPage.tsx} | 6 +- .../src/Sidebar.tsx | 198 ++ .../src/index.css | 76 + .../src/index.tsx | 49 + .../static/dmn-editor-classic-envelope.html} | 8 +- .../static/examples/sample.dmn | 0 .../static/index.html | 32 + .../static/logo.png | Bin 0 -> 30305 bytes .../tsconfig.json | 8 + .../webpack.config.js | 65 + .../LICENSE | 0 examples/dmn-editor-on-webapp/README.md | 44 + .../env/index.js | 4 +- examples/dmn-editor-on-webapp/package.json | 36 + .../src/DmnEditorEnvelope.ts} | 0 .../src/DmnEditorPage.tsx} | 6 +- examples/dmn-editor-on-webapp/src/Sidebar.tsx | 198 ++ examples/dmn-editor-on-webapp/src/index.css | 76 + examples/dmn-editor-on-webapp/src/index.tsx | 49 + .../static/dmn-editor-envelope.html} | 2 +- .../static/examples/sample.dmn | 857 +++++++ .../dmn-editor-on-webapp/static/index.html | 32 + examples/dmn-editor-on-webapp/static/logo.png | Bin 0 -> 30305 bytes examples/dmn-editor-on-webapp/tsconfig.json | 8 + .../dmn-editor-on-webapp/webpack.config.js | 59 + .../README.md | 4 +- .../env/index.js | 31 + .../package.json | 9 +- .../src/fileLoader.ts | 0 .../src/readOnly/index.html | 0 .../src/readOnly/index.ts | 0 .../src/stateControl/index.html | 0 .../src/stateControl/index.ts | 0 .../src/withIncludedModels/index.html | 0 .../src/withIncludedModels/index.ts | 0 .../static/models/can-drive-types.dmn | 0 .../static/models/can-drive.dmn | 0 .../static/models/empty-drd.dmn | 0 .../static/models/empty.dmn | 0 .../static/models/find-employees.dmn | 0 .../static/models/loan-pre-qualification.dmn | 0 .../tsconfig.json | 0 .../webpack.config.js | 7 +- .../Makefile | 29 + .../README.md | 2 +- .../env/index.js | 12 +- .../go.mod | 2 +- .../go.sum | 0 .../main.go | 4 +- .../package.json | 3 +- .../pkg/metadata/config.go | 0 .../pkg/validate.go | 4 +- .../pkg/validators/issuePrefix.go | 0 .../pkg/validators/length.go | 0 .../pkg/validators/validator.go | 0 .../LICENSE | 0 .../README.md | 44 + .../env/index.js | 33 + .../package.json | 8 +- .../src/Base64PngEditorEnvelope.ts} | 2 +- .../src/contentscript.ts | 11 +- .../static/base64-png-editor-envelope.html} | 0 .../static}/icon_128.png | Bin .../kie_icon_rgb_fullcolor_default.svg | 0 .../static/manifest.json | 8 +- .../tsconfig.json | 0 .../webpack.config.js | 14 +- .../LICENSE | 0 .../README.md | 44 + .../env/index.js | 31 + .../package.json | 35 + .../src/Base64PngEditorEnvelope.ts} | 2 +- .../src/Base64PngEditorPage.tsx} | 8 +- .../src}/Base64PngGallery.tsx | 0 .../src/index.css | 52 + .../src/index.tsx | 49 + .../static/base64-png-editor-envelope.html} | 2 +- .../static/examples/dorinha.base64png | 0 .../static/examples/luiz.base64png | 0 .../static/examples/sample.base64png | 0 .../static/examples/tiago.base64png | 0 .../static/index.html | 32 + .../static/logo.png | Bin 0 -> 30305 bytes .../tsconfig.json | 8 + .../webpack.config.js | 52 + .../.vscodeignore | 0 .../LICENSE | 0 .../README.md | 44 + .../env/index.js | 0 .../package.json | 38 +- .../src/Base64PngEditorEnvelope.ts} | 2 +- .../src/extension.ts | 35 +- .../static/kogito-logo-128x128.png | Bin .../static/svg-icon-dark.png | Bin .../static/svg-icon-light.png | Bin .../tsconfig.json | 0 .../webpack.config.js | 4 +- .../LICENSE | 0 .../README.md | 4 +- .../env/index.js | 0 .../package.json | 2 +- .../src/Base64PngEditor.scss} | 0 .../src/Base64PngEditor.tsx | 6 +- .../src/Base64PngEditorFactory.ts | 0 .../src/Base64PngEditorInterface.tsx | 0 .../src/Base64PngStateControl.ts | 0 .../src/index.ts | 0 .../tsconfig.json | 0 .../README.md | 2 +- .../angular.json | 0 .../env/index.js | 0 .../lib/index.ts | 0 .../package.json | 4 +- .../src/app/app.component.ts | 0 .../src/app/app.module.ts | 0 .../app/ping-pong/ping-pong-api.service.ts | 7 +- .../src/app/ping-pong/ping-pong.component.css | 0 .../app/ping-pong/ping-pong.component.html | 0 .../src/app/ping-pong/ping-pong.component.ts | 2 +- .../web-component/web-component.component.ts | 0 .../app/web-component/web-component.main.ts | 0 .../src/assets/.gitkeep | 0 .../src/environments/environment.prod.ts | 0 .../src/environments/environment.ts | 0 .../src/favicon.ico | Bin .../src/index.html | 0 .../src/main.ts | 0 .../src/polyfills.ts | 0 .../src/styles.css | 0 .../src/test.ts | 0 .../tsconfig.app.json | 0 .../tsconfig.json | 0 .../tsconfig.lib.json | 0 .../tsconfig.wc.json | 0 .../LICENSE | 0 .../README.md | 4 +- .../env/index.js | 0 .../package.json | 4 +- .../src/PingPongEnvelopeView.tsx | 2 +- .../src/PingPongReactImpl.tsx | 6 +- .../src/PingPongReactImplFactory.tsx | 8 +- .../src/div/index.tsx | 0 .../src/iframe/index.tsx | 0 .../src/index.ts | 0 .../src/styles.css | 0 .../tsconfig.json | 0 .../LICENSE | 201 ++ .../README.md | 4 +- .../env/index.js | 0 .../package.json | 2 +- .../src/api/PingPongApi.ts | 0 .../src/api/PingPongChannelApi.ts | 0 .../src/api/PingPongEnvelopeApi.ts | 0 .../src/api/index.ts | 0 .../src/embedded/EmbeddedDivPingPong.tsx | 0 .../src/embedded/EmbeddedIFramePingPong.tsx | 0 .../src/embedded/index.ts | 0 .../src/envelope/PingPongEnvelope.ts | 0 .../src/envelope/PingPongEnvelopeApiImpl.ts | 0 .../src/envelope/PingPongFactory.ts | 0 .../src/envelope/index.ts | 0 .../tsconfig.json | 0 .../LICENSE | 201 ++ .../README.md | 44 + .../env/index.js | 31 + .../package.json | 41 + .../Angular/PingPongAngularDivViewsPage.tsx | 6 +- .../PingPongAngularIFrameViewsPage.tsx | 4 +- .../src/App.tsx | 127 + .../src}/Mixed/PingPongMixedViewsPage.tsx | 11 +- .../src/PingPongViewInReactEnvelope.ts} | 2 +- .../src}/React/PingPongReactDivViewsPage.tsx | 6 +- .../React/PingPongReactIFrameViewsPage.tsx | 4 +- .../src}/StatsSidebar.tsx | 0 .../src}/hooks.ts | 5 +- .../src/index.css} | 0 .../src/index.tsx | 0 .../static/index.html | 0 .../static/logo.png | Bin 0 -> 30305 bytes .../ping-pong-view-in-react-envelope.html} | 2 +- .../tsconfig.json | 8 + .../webpack.config.js | 58 + .../LICENSE | 201 ++ .../README.md | 44 + .../env/index.js | 31 + .../package.json | 35 + .../src/TodoListViewEnvelope.ts} | 2 +- .../src}/TodoListViewPage.tsx | 5 +- .../src/index.css | 43 + .../src/index.tsx | 49 + .../static/index.html | 32 + .../static/logo.png | Bin 0 -> 30305 bytes .../static/todo-list-view-envelope.html} | 2 +- .../tsconfig.json | 8 + .../webpack.config.js | 52 + .../.vscodeignore | 0 .../LICENSE | 201 ++ .../README.md | 12 +- .../env/index.js | 0 .../package.json | 14 +- .../src/TodoListViewEnvelope.ts} | 2 +- .../src/extension.ts | 6 +- .../tsconfig.json | 0 .../webpack.config.js | 4 +- .../LICENSE | 201 ++ .../README.md | 4 +- .../env/index.js | 0 .../package.json | 2 +- .../src/api/TodoListApi.ts | 0 .../src/api/TodoListChannelApi.ts | 0 .../src/api/TodoListEnvelopeApi.ts | 0 .../src/api/index.ts | 0 .../src/embedded/EmbeddedTodoList.tsx | 0 .../src/embedded/index.ts | 0 .../src/envelope/TodoListEnvelope.tsx | 0 .../src/envelope/TodoListEnvelopeApiImpl.ts | 0 .../src/envelope/TodoListEnvelopeContext.ts | 0 .../src/envelope/TodoListEnvelopeView.tsx | 0 .../src/envelope/index.ts | 0 .../src/envelope/styles.scss | 0 .../src/vscode/TodoListWebview.ts | 0 .../src/vscode/index.ts | 0 .../tsconfig.json | 0 .../LICENSE | 201 ++ .../README.md | 44 + .../env/index.js | 31 + .../package.json | 30 +- .../src/App.tsx | 109 + .../src/Pages}/SwfEditorEmptyState.tsx | 0 .../SwfStandaloneDiagramOnlyEditorPage.tsx | 0 .../src/Pages}/SwfStandaloneEditorPage.tsx | 0 .../SwfStandaloneTextOnlyEditorPage.tsx | 0 .../src/index.css | 76 + .../src/index.tsx | 24 + .../static/index.html | 32 + .../static/logo.png | Bin 0 -> 30305 bytes .../tsconfig.json | 8 + .../webpack.config.js | 51 + examples/webapp/README.md | 88 - examples/webapp/src/App.tsx | 223 -- examples/webapp/src/Home.tsx | 39 - .../DmnStandaloneEditorPage.tsx | 94 - .../NewDmnStandaloneEditorPage.tsx | 100 - pnpm-lock.yaml | 2211 +++++++++++++---- repo/graph.dot | 110 +- repo/graph.json | 609 +++-- 271 files changed, 7097 insertions(+), 1759 deletions(-) delete mode 100644 examples/base64png-editor-chrome-extension/README.md delete mode 100644 examples/base64png-editor-vscode-extension/README.md rename examples/{base64png-editor-chrome-extension => bpmn-editor-classic-on-webapp}/LICENSE (100%) create mode 100644 examples/bpmn-editor-classic-on-webapp/README.md rename examples/{base64png-editor-chrome-extension => bpmn-editor-classic-on-webapp}/env/index.js (92%) create mode 100644 examples/bpmn-editor-classic-on-webapp/package.json rename examples/{webapp/src/envelope/bpmn-editor.ts => bpmn-editor-classic-on-webapp/src/BpmnEditorClassicEnvelope.ts} (100%) rename examples/{webapp/src/Pages/KogitoEditors/BpmnPage.tsx => bpmn-editor-classic-on-webapp/src/BpmnEditorClassicPage.tsx} (95%) rename examples/{webapp/src/Pages/KogitoEditors => bpmn-editor-classic-on-webapp/src}/Sidebar.tsx (97%) create mode 100644 examples/bpmn-editor-classic-on-webapp/src/index.css create mode 100644 examples/bpmn-editor-classic-on-webapp/src/index.tsx rename examples/{webapp/envelope/new-dmn-editor.html => bpmn-editor-classic-on-webapp/static/bpmn-editor-classic-envelope.html} (95%) rename examples/{webapp => bpmn-editor-classic-on-webapp}/static/examples/sample.bpmn (100%) create mode 100644 examples/bpmn-editor-classic-on-webapp/static/index.html rename examples/{webapp => bpmn-editor-classic-on-webapp}/static/logo.png (100%) rename examples/{webapp => bpmn-editor-classic-on-webapp}/tsconfig.json (100%) rename examples/{webapp => bpmn-editor-classic-on-webapp}/webpack.config.js (68%) delete mode 100644 examples/commit-message-validation-service/Makefile rename examples/{base64png-editor-vscode-extension => dmn-editor-classic-on-webapp}/LICENSE (100%) create mode 100644 examples/dmn-editor-classic-on-webapp/README.md rename examples/{dmn-editor-standalone-examples => dmn-editor-classic-on-webapp}/env/index.js (94%) create mode 100644 examples/dmn-editor-classic-on-webapp/package.json rename examples/{webapp/src/envelope/dmn-editor.ts => dmn-editor-classic-on-webapp/src/DmnEditorClassicEnvelope.ts} (100%) rename examples/{webapp/src/Pages/KogitoEditors/NewDmnPage.tsx => dmn-editor-classic-on-webapp/src/DmnEditorClassicPage.tsx} (96%) create mode 100644 examples/dmn-editor-classic-on-webapp/src/Sidebar.tsx create mode 100644 examples/dmn-editor-classic-on-webapp/src/index.css create mode 100644 examples/dmn-editor-classic-on-webapp/src/index.tsx rename examples/{webapp/envelope/bpmn-editor.html => dmn-editor-classic-on-webapp/static/dmn-editor-classic-envelope.html} (93%) rename examples/{webapp => dmn-editor-classic-on-webapp}/static/examples/sample.dmn (100%) create mode 100644 examples/dmn-editor-classic-on-webapp/static/index.html create mode 100644 examples/dmn-editor-classic-on-webapp/static/logo.png create mode 100644 examples/dmn-editor-classic-on-webapp/tsconfig.json create mode 100644 examples/dmn-editor-classic-on-webapp/webpack.config.js rename examples/{base64png-editor => dmn-editor-on-webapp}/LICENSE (100%) create mode 100644 examples/dmn-editor-on-webapp/README.md rename examples/{webapp => dmn-editor-on-webapp}/env/index.js (95%) create mode 100644 examples/dmn-editor-on-webapp/package.json rename examples/{webapp/src/envelope/new-dmn-editor.ts => dmn-editor-on-webapp/src/DmnEditorEnvelope.ts} (100%) rename examples/{webapp/src/Pages/KogitoEditors/DmnPage.tsx => dmn-editor-on-webapp/src/DmnEditorPage.tsx} (96%) create mode 100644 examples/dmn-editor-on-webapp/src/Sidebar.tsx create mode 100644 examples/dmn-editor-on-webapp/src/index.css create mode 100644 examples/dmn-editor-on-webapp/src/index.tsx rename examples/{webapp/envelope/dmn-editor.html => dmn-editor-on-webapp/static/dmn-editor-envelope.html} (96%) create mode 100644 examples/dmn-editor-on-webapp/static/examples/sample.dmn create mode 100644 examples/dmn-editor-on-webapp/static/index.html create mode 100644 examples/dmn-editor-on-webapp/static/logo.png create mode 100644 examples/dmn-editor-on-webapp/tsconfig.json create mode 100644 examples/dmn-editor-on-webapp/webpack.config.js rename examples/{dmn-editor-standalone-examples => dmn-editor-standalone-on-webapp}/README.md (98%) create mode 100644 examples/dmn-editor-standalone-on-webapp/env/index.js rename examples/{dmn-editor-standalone-examples => dmn-editor-standalone-on-webapp}/package.json (85%) rename examples/{dmn-editor-standalone-examples => dmn-editor-standalone-on-webapp}/src/fileLoader.ts (100%) rename examples/{dmn-editor-standalone-examples => dmn-editor-standalone-on-webapp}/src/readOnly/index.html (100%) rename examples/{dmn-editor-standalone-examples => dmn-editor-standalone-on-webapp}/src/readOnly/index.ts (100%) rename examples/{dmn-editor-standalone-examples => dmn-editor-standalone-on-webapp}/src/stateControl/index.html (100%) rename examples/{dmn-editor-standalone-examples => dmn-editor-standalone-on-webapp}/src/stateControl/index.ts (100%) rename examples/{dmn-editor-standalone-examples => dmn-editor-standalone-on-webapp}/src/withIncludedModels/index.html (100%) rename examples/{dmn-editor-standalone-examples => dmn-editor-standalone-on-webapp}/src/withIncludedModels/index.ts (100%) rename examples/{dmn-editor-standalone-examples => dmn-editor-standalone-on-webapp}/static/models/can-drive-types.dmn (100%) rename examples/{dmn-editor-standalone-examples => dmn-editor-standalone-on-webapp}/static/models/can-drive.dmn (100%) rename examples/{dmn-editor-standalone-examples => dmn-editor-standalone-on-webapp}/static/models/empty-drd.dmn (100%) rename examples/{dmn-editor-standalone-examples => dmn-editor-standalone-on-webapp}/static/models/empty.dmn (100%) rename examples/{dmn-editor-standalone-examples => dmn-editor-standalone-on-webapp}/static/models/find-employees.dmn (100%) rename examples/{dmn-editor-standalone-examples => dmn-editor-standalone-on-webapp}/static/models/loan-pre-qualification.dmn (100%) rename examples/{dmn-editor-standalone-examples => dmn-editor-standalone-on-webapp}/tsconfig.json (100%) rename examples/{dmn-editor-standalone-examples => dmn-editor-standalone-on-webapp}/webpack.config.js (91%) create mode 100644 examples/kie-sandbox-commit-message-validation-service/Makefile rename examples/{commit-message-validation-service => kie-sandbox-commit-message-validation-service}/README.md (98%) rename examples/{commit-message-validation-service => kie-sandbox-commit-message-validation-service}/env/index.js (74%) rename examples/{commit-message-validation-service => kie-sandbox-commit-message-validation-service}/go.mod (93%) rename examples/{commit-message-validation-service => kie-sandbox-commit-message-validation-service}/go.sum (100%) rename examples/{commit-message-validation-service => kie-sandbox-commit-message-validation-service}/main.go (85%) rename examples/{commit-message-validation-service => kie-sandbox-commit-message-validation-service}/package.json (90%) rename examples/{commit-message-validation-service => kie-sandbox-commit-message-validation-service}/pkg/metadata/config.go (100%) rename examples/{commit-message-validation-service => kie-sandbox-commit-message-validation-service}/pkg/validate.go (88%) rename examples/{commit-message-validation-service => kie-sandbox-commit-message-validation-service}/pkg/validators/issuePrefix.go (100%) rename examples/{commit-message-validation-service => kie-sandbox-commit-message-validation-service}/pkg/validators/length.go (100%) rename examples/{commit-message-validation-service => kie-sandbox-commit-message-validation-service}/pkg/validators/validator.go (100%) rename examples/{ping-pong-view-react => micro-frontends-multiplying-architecture-base64png-editor-chrome-extension}/LICENSE (100%) create mode 100644 examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/README.md create mode 100644 examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/env/index.js rename examples/{base64png-editor-chrome-extension => micro-frontends-multiplying-architecture-base64png-editor-chrome-extension}/package.json (86%) rename examples/{base64png-editor-chrome-extension/src/envelope/index.ts => micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/src/Base64PngEditorEnvelope.ts} (92%) rename examples/{base64png-editor-chrome-extension => micro-frontends-multiplying-architecture-base64png-editor-chrome-extension}/src/contentscript.ts (82%) rename examples/{base64png-editor-chrome-extension/static/envelope/index.html => micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/static/base64-png-editor-envelope.html} (100%) rename examples/{base64png-editor-chrome-extension/static/resources => micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/static}/icon_128.png (100%) rename examples/{base64png-editor-chrome-extension/static/resources => micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/static}/kie_icon_rgb_fullcolor_default.svg (100%) rename examples/{base64png-editor-chrome-extension => micro-frontends-multiplying-architecture-base64png-editor-chrome-extension}/static/manifest.json (59%) rename examples/{base64png-editor-chrome-extension => micro-frontends-multiplying-architecture-base64png-editor-chrome-extension}/tsconfig.json (100%) rename examples/{base64png-editor-chrome-extension => micro-frontends-multiplying-architecture-base64png-editor-chrome-extension}/webpack.config.js (76%) rename examples/{ping-pong-view => micro-frontends-multiplying-architecture-base64png-editor-on-webapp}/LICENSE (100%) create mode 100644 examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/README.md create mode 100644 examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/env/index.js create mode 100644 examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/package.json rename examples/{webapp/src/envelope/base64-editor.ts => micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src/Base64PngEditorEnvelope.ts} (90%) rename examples/{webapp/src/Pages/Base64Png/Base64PngPage.tsx => micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src/Base64PngEditorPage.tsx} (92%) rename examples/{webapp/src/Pages/Base64Png => micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src}/Base64PngGallery.tsx (100%) create mode 100644 examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src/index.css create mode 100644 examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src/index.tsx rename examples/{webapp/envelope/base64-editor.html => micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/base64-png-editor-envelope.html} (95%) rename examples/{webapp => micro-frontends-multiplying-architecture-base64png-editor-on-webapp}/static/examples/dorinha.base64png (100%) rename examples/{webapp => micro-frontends-multiplying-architecture-base64png-editor-on-webapp}/static/examples/luiz.base64png (100%) rename examples/{webapp => micro-frontends-multiplying-architecture-base64png-editor-on-webapp}/static/examples/sample.base64png (100%) rename examples/{webapp => micro-frontends-multiplying-architecture-base64png-editor-on-webapp}/static/examples/tiago.base64png (100%) create mode 100644 examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/index.html create mode 100644 examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/logo.png create mode 100644 examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/tsconfig.json create mode 100644 examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/webpack.config.js rename examples/{base64png-editor-vscode-extension => micro-frontends-multiplying-architecture-base64png-editor-vscode-extension}/.vscodeignore (100%) rename examples/{todo-list-view-vscode-extension => micro-frontends-multiplying-architecture-base64png-editor-vscode-extension}/LICENSE (100%) create mode 100644 examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/README.md rename examples/{base64png-editor-vscode-extension => micro-frontends-multiplying-architecture-base64png-editor-vscode-extension}/env/index.js (100%) rename examples/{base64png-editor-vscode-extension => micro-frontends-multiplying-architecture-base64png-editor-vscode-extension}/package.json (72%) rename examples/{base64png-editor-vscode-extension/src/envelope/index.ts => micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/src/Base64PngEditorEnvelope.ts} (92%) rename examples/{base64png-editor-vscode-extension => micro-frontends-multiplying-architecture-base64png-editor-vscode-extension}/src/extension.ts (73%) rename examples/{base64png-editor-vscode-extension => micro-frontends-multiplying-architecture-base64png-editor-vscode-extension}/static/kogito-logo-128x128.png (100%) rename examples/{base64png-editor-vscode-extension => micro-frontends-multiplying-architecture-base64png-editor-vscode-extension}/static/svg-icon-dark.png (100%) rename examples/{base64png-editor-vscode-extension => micro-frontends-multiplying-architecture-base64png-editor-vscode-extension}/static/svg-icon-light.png (100%) rename examples/{base64png-editor-vscode-extension => micro-frontends-multiplying-architecture-base64png-editor-vscode-extension}/tsconfig.json (100%) rename examples/{base64png-editor-vscode-extension => micro-frontends-multiplying-architecture-base64png-editor-vscode-extension}/webpack.config.js (93%) rename examples/{todo-list-view => micro-frontends-multiplying-architecture-base64png-editor}/LICENSE (100%) rename examples/{base64png-editor => micro-frontends-multiplying-architecture-base64png-editor}/README.md (91%) rename examples/{base64png-editor => micro-frontends-multiplying-architecture-base64png-editor}/env/index.js (100%) rename examples/{base64png-editor => micro-frontends-multiplying-architecture-base64png-editor}/package.json (93%) rename examples/{base64png-editor/src/styles.scss => micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditor.scss} (100%) rename examples/{base64png-editor => micro-frontends-multiplying-architecture-base64png-editor}/src/Base64PngEditor.tsx (99%) rename examples/{base64png-editor => micro-frontends-multiplying-architecture-base64png-editor}/src/Base64PngEditorFactory.ts (100%) rename examples/{base64png-editor => micro-frontends-multiplying-architecture-base64png-editor}/src/Base64PngEditorInterface.tsx (100%) rename examples/{base64png-editor => micro-frontends-multiplying-architecture-base64png-editor}/src/Base64PngStateControl.ts (100%) rename examples/{base64png-editor => micro-frontends-multiplying-architecture-base64png-editor}/src/index.ts (100%) rename examples/{base64png-editor => micro-frontends-multiplying-architecture-base64png-editor}/tsconfig.json (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/README.md (96%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/angular.json (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/env/index.js (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/lib/index.ts (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/package.json (89%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/src/app/app.component.ts (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/src/app/app.module.ts (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/src/app/ping-pong/ping-pong-api.service.ts (94%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/src/app/ping-pong/ping-pong.component.css (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/src/app/ping-pong/ping-pong.component.html (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/src/app/ping-pong/ping-pong.component.ts (95%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/src/app/web-component/web-component.component.ts (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/src/app/web-component/web-component.main.ts (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/src/assets/.gitkeep (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/src/environments/environment.prod.ts (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/src/environments/environment.ts (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/src/favicon.ico (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/src/index.html (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/src/main.ts (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/src/polyfills.ts (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/src/styles.css (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/src/test.ts (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/tsconfig.app.json (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/tsconfig.json (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/tsconfig.lib.json (100%) rename examples/{ping-pong-view-angular => micro-frontends-multiplying-architecture-ping-pong-view-in-angular}/tsconfig.wc.json (100%) rename examples/{webapp => micro-frontends-multiplying-architecture-ping-pong-view-in-react}/LICENSE (100%) rename examples/{ping-pong-view-react => micro-frontends-multiplying-architecture-ping-pong-view-in-react}/README.md (91%) rename examples/{ping-pong-view-react => micro-frontends-multiplying-architecture-ping-pong-view-in-react}/env/index.js (100%) rename examples/{ping-pong-view-react => micro-frontends-multiplying-architecture-ping-pong-view-in-react}/package.json (86%) rename examples/{ping-pong-view-react => micro-frontends-multiplying-architecture-ping-pong-view-in-react}/src/PingPongEnvelopeView.tsx (93%) rename examples/{ping-pong-view-react => micro-frontends-multiplying-architecture-ping-pong-view-in-react}/src/PingPongReactImpl.tsx (96%) rename examples/{ping-pong-view-react => micro-frontends-multiplying-architecture-ping-pong-view-in-react}/src/PingPongReactImplFactory.tsx (83%) rename examples/{ping-pong-view-react => micro-frontends-multiplying-architecture-ping-pong-view-in-react}/src/div/index.tsx (100%) rename examples/{ping-pong-view-react => micro-frontends-multiplying-architecture-ping-pong-view-in-react}/src/iframe/index.tsx (100%) rename examples/{ping-pong-view-react => micro-frontends-multiplying-architecture-ping-pong-view-in-react}/src/index.ts (100%) rename examples/{ping-pong-view-react => micro-frontends-multiplying-architecture-ping-pong-view-in-react}/src/styles.css (100%) rename examples/{ping-pong-view-react => micro-frontends-multiplying-architecture-ping-pong-view-in-react}/tsconfig.json (100%) create mode 100644 examples/micro-frontends-multiplying-architecture-ping-pong-view/LICENSE rename examples/{ping-pong-view => micro-frontends-multiplying-architecture-ping-pong-view}/README.md (96%) rename examples/{ping-pong-view => micro-frontends-multiplying-architecture-ping-pong-view}/env/index.js (100%) rename examples/{ping-pong-view => micro-frontends-multiplying-architecture-ping-pong-view}/package.json (92%) rename examples/{ping-pong-view => micro-frontends-multiplying-architecture-ping-pong-view}/src/api/PingPongApi.ts (100%) rename examples/{ping-pong-view => micro-frontends-multiplying-architecture-ping-pong-view}/src/api/PingPongChannelApi.ts (100%) rename examples/{ping-pong-view => micro-frontends-multiplying-architecture-ping-pong-view}/src/api/PingPongEnvelopeApi.ts (100%) rename examples/{ping-pong-view => micro-frontends-multiplying-architecture-ping-pong-view}/src/api/index.ts (100%) rename examples/{ping-pong-view => micro-frontends-multiplying-architecture-ping-pong-view}/src/embedded/EmbeddedDivPingPong.tsx (100%) rename examples/{ping-pong-view => micro-frontends-multiplying-architecture-ping-pong-view}/src/embedded/EmbeddedIFramePingPong.tsx (100%) rename examples/{ping-pong-view => micro-frontends-multiplying-architecture-ping-pong-view}/src/embedded/index.ts (100%) rename examples/{ping-pong-view => micro-frontends-multiplying-architecture-ping-pong-view}/src/envelope/PingPongEnvelope.ts (100%) rename examples/{ping-pong-view => micro-frontends-multiplying-architecture-ping-pong-view}/src/envelope/PingPongEnvelopeApiImpl.ts (100%) rename examples/{ping-pong-view => micro-frontends-multiplying-architecture-ping-pong-view}/src/envelope/PingPongFactory.ts (100%) rename examples/{ping-pong-view => micro-frontends-multiplying-architecture-ping-pong-view}/src/envelope/index.ts (100%) rename examples/{ping-pong-view => micro-frontends-multiplying-architecture-ping-pong-view}/tsconfig.json (100%) create mode 100644 examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/LICENSE create mode 100644 examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/README.md create mode 100644 examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/env/index.js create mode 100644 examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/package.json rename examples/{webapp/src/Pages/PingPong => micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src}/Angular/PingPongAngularDivViewsPage.tsx (90%) rename examples/{webapp/src/Pages/PingPong => micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src}/Angular/PingPongAngularIFrameViewsPage.tsx (92%) create mode 100644 examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/App.tsx rename examples/{webapp/src/Pages/PingPong => micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src}/Mixed/PingPongMixedViewsPage.tsx (88%) rename examples/{webapp/src/envelope/ping-pong-view-react-impl.ts => micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/PingPongViewInReactEnvelope.ts} (87%) rename examples/{webapp/src/Pages/PingPong => micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src}/React/PingPongReactDivViewsPage.tsx (90%) rename examples/{webapp/src/Pages/PingPong => micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src}/React/PingPongReactIFrameViewsPage.tsx (92%) rename examples/{webapp/src/Pages/PingPong => micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src}/StatsSidebar.tsx (100%) rename examples/{webapp/src/Pages/PingPong => micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src}/hooks.ts (93%) rename examples/{webapp/static/resources/styles.css => micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/index.css} (100%) rename examples/{webapp => micro-frontends-multiplying-architecture-ping-pong-views-on-webapp}/src/index.tsx (100%) rename examples/{webapp => micro-frontends-multiplying-architecture-ping-pong-views-on-webapp}/static/index.html (100%) create mode 100644 examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/static/logo.png rename examples/{webapp/envelope/ping-pong-view-react-impl.html => micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/static/ping-pong-view-in-react-envelope.html} (95%) create mode 100644 examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/tsconfig.json create mode 100644 examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/webpack.config.js create mode 100644 examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/LICENSE create mode 100644 examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/README.md create mode 100644 examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/env/index.js create mode 100644 examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/package.json rename examples/{webapp/src/envelope/todo-list-view.ts => micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/TodoListViewEnvelope.ts} (88%) rename examples/{webapp/src/Pages/TodoList => micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src}/TodoListViewPage.tsx (95%) create mode 100644 examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/index.css create mode 100644 examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/index.tsx create mode 100644 examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/static/index.html create mode 100644 examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/static/logo.png rename examples/{webapp/envelope/todo-list-view.html => micro-frontends-multiplying-architecture-todo-list-view-on-webapp/static/todo-list-view-envelope.html} (96%) create mode 100644 examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/tsconfig.json create mode 100644 examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/webpack.config.js rename examples/{todo-list-view-vscode-extension => micro-frontends-multiplying-architecture-todo-list-view-vscode-extension}/.vscodeignore (100%) create mode 100644 examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/LICENSE rename examples/{todo-list-view-vscode-extension => micro-frontends-multiplying-architecture-todo-list-view-vscode-extension}/README.md (87%) rename examples/{todo-list-view-vscode-extension => micro-frontends-multiplying-architecture-todo-list-view-vscode-extension}/env/index.js (100%) rename examples/{todo-list-view-vscode-extension => micro-frontends-multiplying-architecture-todo-list-view-vscode-extension}/package.json (86%) rename examples/{todo-list-view-vscode-extension/src/envelope/index.ts => micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/src/TodoListViewEnvelope.ts} (90%) rename examples/{todo-list-view-vscode-extension => micro-frontends-multiplying-architecture-todo-list-view-vscode-extension}/src/extension.ts (92%) rename examples/{todo-list-view-vscode-extension => micro-frontends-multiplying-architecture-todo-list-view-vscode-extension}/tsconfig.json (100%) rename examples/{todo-list-view-vscode-extension => micro-frontends-multiplying-architecture-todo-list-view-vscode-extension}/webpack.config.js (93%) create mode 100644 examples/micro-frontends-multiplying-architecture-todo-list-view/LICENSE rename examples/{todo-list-view => micro-frontends-multiplying-architecture-todo-list-view}/README.md (93%) rename examples/{todo-list-view => micro-frontends-multiplying-architecture-todo-list-view}/env/index.js (100%) rename examples/{todo-list-view => micro-frontends-multiplying-architecture-todo-list-view}/package.json (93%) rename examples/{todo-list-view => micro-frontends-multiplying-architecture-todo-list-view}/src/api/TodoListApi.ts (100%) rename examples/{todo-list-view => micro-frontends-multiplying-architecture-todo-list-view}/src/api/TodoListChannelApi.ts (100%) rename examples/{todo-list-view => micro-frontends-multiplying-architecture-todo-list-view}/src/api/TodoListEnvelopeApi.ts (100%) rename examples/{todo-list-view => micro-frontends-multiplying-architecture-todo-list-view}/src/api/index.ts (100%) rename examples/{todo-list-view => micro-frontends-multiplying-architecture-todo-list-view}/src/embedded/EmbeddedTodoList.tsx (100%) rename examples/{todo-list-view => micro-frontends-multiplying-architecture-todo-list-view}/src/embedded/index.ts (100%) rename examples/{todo-list-view => micro-frontends-multiplying-architecture-todo-list-view}/src/envelope/TodoListEnvelope.tsx (100%) rename examples/{todo-list-view => micro-frontends-multiplying-architecture-todo-list-view}/src/envelope/TodoListEnvelopeApiImpl.ts (100%) rename examples/{todo-list-view => micro-frontends-multiplying-architecture-todo-list-view}/src/envelope/TodoListEnvelopeContext.ts (100%) rename examples/{todo-list-view => micro-frontends-multiplying-architecture-todo-list-view}/src/envelope/TodoListEnvelopeView.tsx (100%) rename examples/{todo-list-view => micro-frontends-multiplying-architecture-todo-list-view}/src/envelope/index.ts (100%) rename examples/{todo-list-view => micro-frontends-multiplying-architecture-todo-list-view}/src/envelope/styles.scss (100%) rename examples/{todo-list-view => micro-frontends-multiplying-architecture-todo-list-view}/src/vscode/TodoListWebview.ts (100%) rename examples/{todo-list-view => micro-frontends-multiplying-architecture-todo-list-view}/src/vscode/index.ts (100%) rename examples/{todo-list-view => micro-frontends-multiplying-architecture-todo-list-view}/tsconfig.json (100%) create mode 100644 examples/serverless-workflow-editor-standalone-on-webapp/LICENSE create mode 100644 examples/serverless-workflow-editor-standalone-on-webapp/README.md create mode 100644 examples/serverless-workflow-editor-standalone-on-webapp/env/index.js rename examples/{webapp => serverless-workflow-editor-standalone-on-webapp}/package.json (61%) create mode 100644 examples/serverless-workflow-editor-standalone-on-webapp/src/App.tsx rename examples/{webapp/src/Pages/StandaloneEditors => serverless-workflow-editor-standalone-on-webapp/src/Pages}/SwfEditorEmptyState.tsx (100%) rename examples/{webapp/src/Pages/StandaloneEditors => serverless-workflow-editor-standalone-on-webapp/src/Pages}/SwfStandaloneDiagramOnlyEditorPage.tsx (100%) rename examples/{webapp/src/Pages/StandaloneEditors => serverless-workflow-editor-standalone-on-webapp/src/Pages}/SwfStandaloneEditorPage.tsx (100%) rename examples/{webapp/src/Pages/StandaloneEditors => serverless-workflow-editor-standalone-on-webapp/src/Pages}/SwfStandaloneTextOnlyEditorPage.tsx (100%) create mode 100644 examples/serverless-workflow-editor-standalone-on-webapp/src/index.css create mode 100644 examples/serverless-workflow-editor-standalone-on-webapp/src/index.tsx create mode 100644 examples/serverless-workflow-editor-standalone-on-webapp/static/index.html create mode 100644 examples/serverless-workflow-editor-standalone-on-webapp/static/logo.png create mode 100644 examples/serverless-workflow-editor-standalone-on-webapp/tsconfig.json create mode 100644 examples/serverless-workflow-editor-standalone-on-webapp/webpack.config.js delete mode 100644 examples/webapp/README.md delete mode 100644 examples/webapp/src/App.tsx delete mode 100644 examples/webapp/src/Home.tsx delete mode 100644 examples/webapp/src/Pages/StandaloneEditors/DmnStandaloneEditorPage.tsx delete mode 100644 examples/webapp/src/Pages/StandaloneEditors/NewDmnStandaloneEditorPage.tsx diff --git a/.github/supporting-files/ci/partitions/partition1.txt b/.github/supporting-files/ci/partitions/partition1.txt index fbbd1566205..3875ae132b2 100644 --- a/.github/supporting-files/ci/partitions/partition1.txt +++ b/.github/supporting-files/ci/partitions/partition1.txt @@ -1,4 +1,5 @@ @kie-tools-examples/sonataflow-greeting-quarkus-example +@kie-tools-examples/serverless-workflow-editor-standalone-on-webapp @kie-tools/serverless-logic-web-tools-swf-builder-image @kie-tools/serverless-logic-web-tools @kie-tools/serverless-logic-web-tools-base-builder-image diff --git a/devbox.lock b/devbox.lock index 309462aaba7..a0d26a58bd0 100644 --- a/devbox.lock +++ b/devbox.lock @@ -103,6 +103,7 @@ }, "nodejs@20.12.2": { "last_modified": "2024-06-12T20:55:33Z", + "plugin_version": "0.0.2", "resolved": "github:NixOS/nixpkgs/a9858885e197f984d92d7fe64e9fff6b2e488d40#nodejs_20", "source": "devbox-search", "version": "20.12.2", @@ -123,6 +124,7 @@ }, "python@3.12.2": { "last_modified": "2024-04-02T02:53:36Z", + "plugin_version": "0.0.4", "resolved": "github:NixOS/nixpkgs/080a4a27f206d07724b88da096e27ef63401a504#python312", "source": "devbox-search", "version": "3.12.2", diff --git a/examples/base64png-editor-chrome-extension/README.md b/examples/base64png-editor-chrome-extension/README.md deleted file mode 100644 index 7eeceec694a..00000000000 --- a/examples/base64png-editor-chrome-extension/README.md +++ /dev/null @@ -1,68 +0,0 @@ - - -## Base64 PNG Editor - Chrome Extension - -You can read [here](https://blog.kie.org/2020/10/kogito-tooling-examples%e2%80%8a-%e2%80%8ahow-to-create-a-chrome-extension-for-a-custom-editor.html) a step-by-step tutorial of how this Chrome Extension was built. - -This package is the Chrome Extension, which runs the Base64 PNG Editor. - -### Running - -Install all dependencies and build the project on the **root** folder of this repository - -```shell script -pnpm build:prod -``` - -Open your Chrome browser on the `chrome://extension`, choose to Load Unpacked, and select this package `dist/` folder - -**Important**: In order to the extension works, it's necessary to run the command after you have build the application: - -``` -pnpm serve-envelope -``` - -It will run a server exposing your `dist/` folder on the `localhost:9000`. It's necessary to access your `localhost:9000`, and enable access to it. - -This step is required, so the extension can access the envelope located on `dist/envelope/index.html`. - ---- - -Apache KIE (incubating) is an effort undergoing incubation at The Apache Software -Foundation (ASF), sponsored by the name of Apache Incubator. Incubation is -required of all newly accepted projects until a further review indicates that -the infrastructure, communications, and decision making process have stabilized -in a manner consistent with other successful ASF projects. While incubation -status is not necessarily a reflection of the completeness or stability of the -code, it does indicate that the project has yet to be fully endorsed by the ASF. - -Some of the incubating project’s releases may not be fully compliant with ASF -policy. For example, releases may have incomplete or un-reviewed licensing -conditions. What follows is a list of known issues the project is currently -aware of (note that this list, by definition, is likely to be incomplete): - -- Hibernate, an LGPL project, is being used. Hibernate is in the process of - relicensing to ASL v2 -- Some files, particularly test files, and those not supporting comments, may - be missing the ASF Licensing Header - -If you are planning to incorporate this work into your product/project, please -be aware that you will need to conduct a thorough licensing review to determine -the overall implications of including this work. For the current status of this -project through the Apache Incubator visit: -https://incubator.apache.org/projects/kie.html diff --git a/examples/base64png-editor-vscode-extension/README.md b/examples/base64png-editor-vscode-extension/README.md deleted file mode 100644 index 74fc222be5f..00000000000 --- a/examples/base64png-editor-vscode-extension/README.md +++ /dev/null @@ -1,73 +0,0 @@ - - -## Base64 PNG Editor - Visual Studio Code Extension - -You can read [here](https://blog.kie.org/2020/10/kogito-tooling-examples%e2%80%8a-%e2%80%8ahow-to-create-a-vs-code-extension-for-the-custom-editor.html) a step-by-step tutorial of how this VS Code Extension was built. - -This package is the VS Code Extension, which runs the Base64 PNG Editor. - -### Pre requisites - -This example requires the VS Code version 1.46 or later. - -### Running - -Install all dependencies and build the project on the **root** folder of this repository - -```shell script -pnpm init -pnpm build:prod -``` - -- Debug mode - -```shell script -// open this package with visual studio code -code . -// press F5 and wait to start -``` - -- Installing VSIX - -The `pnpm build:prod` generate a vsix file on the `/dist` folder. Open your VS Code, and install it. - ---- - -Apache KIE (incubating) is an effort undergoing incubation at The Apache Software -Foundation (ASF), sponsored by the name of Apache Incubator. Incubation is -required of all newly accepted projects until a further review indicates that -the infrastructure, communications, and decision making process have stabilized -in a manner consistent with other successful ASF projects. While incubation -status is not necessarily a reflection of the completeness or stability of the -code, it does indicate that the project has yet to be fully endorsed by the ASF. - -Some of the incubating project’s releases may not be fully compliant with ASF -policy. For example, releases may have incomplete or un-reviewed licensing -conditions. What follows is a list of known issues the project is currently -aware of (note that this list, by definition, is likely to be incomplete): - -- Hibernate, an LGPL project, is being used. Hibernate is in the process of - relicensing to ASL v2 -- Some files, particularly test files, and those not supporting comments, may - be missing the ASF Licensing Header - -If you are planning to incorporate this work into your product/project, please -be aware that you will need to conduct a thorough licensing review to determine -the overall implications of including this work. For the current status of this -project through the Apache Incubator visit: -https://incubator.apache.org/projects/kie.html diff --git a/examples/base64png-editor-chrome-extension/LICENSE b/examples/bpmn-editor-classic-on-webapp/LICENSE similarity index 100% rename from examples/base64png-editor-chrome-extension/LICENSE rename to examples/bpmn-editor-classic-on-webapp/LICENSE diff --git a/examples/bpmn-editor-classic-on-webapp/README.md b/examples/bpmn-editor-classic-on-webapp/README.md new file mode 100644 index 00000000000..7e4c57406f7 --- /dev/null +++ b/examples/bpmn-editor-classic-on-webapp/README.md @@ -0,0 +1,44 @@ + + +## Example :: BPMN Editor (classic) on webapp + +--- + +Apache KIE (incubating) is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the name of Apache Incubator. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + +Some of the incubating project’s releases may not be fully compliant with ASF +policy. For example, releases may have incomplete or un-reviewed licensing +conditions. What follows is a list of known issues the project is currently +aware of (note that this list, by definition, is likely to be incomplete): + +- Hibernate, an LGPL project, is being used. Hibernate is in the process of + relicensing to ASL v2 +- Some files, particularly test files, and those not supporting comments, may + be missing the ASF Licensing Header + +If you are planning to incorporate this work into your product/project, please +be aware that you will need to conduct a thorough licensing review to determine +the overall implications of including this work. For the current status of this +project through the Apache Incubator visit: +https://incubator.apache.org/projects/kie.html diff --git a/examples/base64png-editor-chrome-extension/env/index.js b/examples/bpmn-editor-classic-on-webapp/env/index.js similarity index 92% rename from examples/base64png-editor-chrome-extension/env/index.js rename to examples/bpmn-editor-classic-on-webapp/env/index.js index ebd2df13706..dc44eebc90a 100644 --- a/examples/base64png-editor-chrome-extension/env/index.js +++ b/examples/bpmn-editor-classic-on-webapp/env/index.js @@ -23,10 +23,8 @@ module.exports = composeEnv([require("@kie-tools/root-env/env")], { vars: varsWithName({}), get env() { return { - exampleChromeExtension: { - envelope: { - port: 9101, - }, + bpmnEditorClassicOnWebappExample: { + port: 7771, }, }; }, diff --git a/examples/bpmn-editor-classic-on-webapp/package.json b/examples/bpmn-editor-classic-on-webapp/package.json new file mode 100644 index 00000000000..55e967df772 --- /dev/null +++ b/examples/bpmn-editor-classic-on-webapp/package.json @@ -0,0 +1,37 @@ +{ + "private": true, + "name": "@kie-tools-examples/bpmn-editor-classic-on-webapp", + "version": "0.0.0", + "license": "Apache-2.0", + "scripts": { + "build": "rimraf dist && webpack", + "build:dev": "run-script-if --bool \"$(build-env examples.build)\" --then \"pnpm build --env dev\"", + "build:prod": "run-script-if --bool \"$(build-env examples.build)\" --then \"pnpm build\"", + "start": "webpack serve --host 0.0.0.0 --env dev" + }, + "devDependencies": { + "@kie-tools-core/editor": "workspace:*", + "@kie-tools-core/envelope-bus": "workspace:*", + "@kie-tools-core/patternfly-base": "workspace:*", + "@kie-tools-core/react-hooks": "workspace:*", + "@kie-tools-core/webpack-base": "workspace:*", + "@kie-tools/kie-bc-editors": "workspace:*", + "@kie-tools/root-env": "workspace:*", + "@kie-tools/stunner-editors": "workspace:*", + "@kie-tools/tsconfig": "workspace:*", + "@patternfly/react-core": "^4.276.6", + "@patternfly/react-icons": "^4.93.6", + "@types/react": "^17.0.6", + "@types/react-dom": "^17.0.5", + "copy-webpack-plugin": "^11.0.0", + "process": "^0.11.10", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "rimraf": "^3.0.2", + "typescript": "^5.5.3", + "webpack": "^5.94.0", + "webpack-cli": "^4.10.0", + "webpack-dev-server": "^4.15.1", + "webpack-merge": "^5.9.0" + } +} diff --git a/examples/webapp/src/envelope/bpmn-editor.ts b/examples/bpmn-editor-classic-on-webapp/src/BpmnEditorClassicEnvelope.ts similarity index 100% rename from examples/webapp/src/envelope/bpmn-editor.ts rename to examples/bpmn-editor-classic-on-webapp/src/BpmnEditorClassicEnvelope.ts diff --git a/examples/webapp/src/Pages/KogitoEditors/BpmnPage.tsx b/examples/bpmn-editor-classic-on-webapp/src/BpmnEditorClassicPage.tsx similarity index 95% rename from examples/webapp/src/Pages/KogitoEditors/BpmnPage.tsx rename to examples/bpmn-editor-classic-on-webapp/src/BpmnEditorClassicPage.tsx index 2c1fe48431c..62e589d45c6 100644 --- a/examples/webapp/src/Pages/KogitoEditors/BpmnPage.tsx +++ b/examples/bpmn-editor-classic-on-webapp/src/BpmnEditorClassicPage.tsx @@ -17,8 +17,8 @@ * under the License. */ -import { ChannelType, EnvelopeContentType } from "@kie-tools-core/editor/dist/api"; import * as React from "react"; +import { ChannelType, EnvelopeContentType } from "@kie-tools-core/editor/dist/api"; import { EditorEnvelopeLocator, EnvelopeMapping } from "@kie-tools-core/editor/dist/api"; import { useMemo, useState } from "react"; import { Page } from "@patternfly/react-core/dist/js/components/Page"; @@ -26,7 +26,7 @@ import { EmbeddedEditor, useEditorRef } from "@kie-tools-core/editor/dist/embedd import { EmbeddedEditorFile } from "@kie-tools-core/editor/dist/channel"; import { Sidebar } from "./Sidebar"; -export function BpmnPage() { +export function BpmnEditorClassicPage() { /** * The reference of the Editor. It allows us to access/modify the Editor properties imperatively. */ @@ -53,8 +53,8 @@ export function BpmnPage() { new EnvelopeMapping({ type: "bpmn", filePathGlob: "**/*.bpmn?(2)", - resourcesPathPrefix: "../bpmn-editor/bpmn/", - envelopeContent: { type: EnvelopeContentType.PATH, path: "envelope/bpmn-editor.html" }, + resourcesPathPrefix: "../bpmn-editor-classic/", + envelopeContent: { type: EnvelopeContentType.PATH, path: "bpmn-editor-classic-envelope.html" }, }), ]); }, []); diff --git a/examples/webapp/src/Pages/KogitoEditors/Sidebar.tsx b/examples/bpmn-editor-classic-on-webapp/src/Sidebar.tsx similarity index 97% rename from examples/webapp/src/Pages/KogitoEditors/Sidebar.tsx rename to examples/bpmn-editor-classic-on-webapp/src/Sidebar.tsx index 87cefa5e8e3..477042a7dec 100644 --- a/examples/webapp/src/Pages/KogitoEditors/Sidebar.tsx +++ b/examples/bpmn-editor-classic-on-webapp/src/Sidebar.tsx @@ -54,9 +54,6 @@ interface Props { /** * A Sidebar component to enable edit the file name, create new files, open sample and open a file. - * - * @param props - * @constructor */ export function Sidebar({ editorEnvelopeLocator, editor, setFile, file, fileExtension, accept }: Props) { /** @@ -155,14 +152,14 @@ export function Sidebar({ editorEnvelopeLocator, editor, setFile, file, fileExte
- New Empty File + New empty file
- Open File + Open file {isDirty && (
-

File Edited!

+

File edited.

)} diff --git a/examples/bpmn-editor-classic-on-webapp/src/index.css b/examples/bpmn-editor-classic-on-webapp/src/index.css new file mode 100644 index 00000000000..7ec13a42536 --- /dev/null +++ b/examples/bpmn-editor-classic-on-webapp/src/index.css @@ -0,0 +1,76 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +.webapp--page-main-div { + display: flex; + height: 100%; +} + +.webapp--page-navigation { + background-color: rgb(24, 24, 24); + height: 100%; +} + +.webapp--page-navigation-title-div { + display: flex; + justify-content: center; + align-items: center; +} + +.webapp--page-navigation-title-h3 { + color: white; + padding: 20px; +} + +.webapp--page-kogito-editors-sidebar { + display: flex; +} + +.webapp--page-kogito-editors-sidebar--navigation { + background-color: rgb(24, 24, 24); + height: 100%; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item { + display: flex; + align-items: center; + width: 100%; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item-text-input { + width: 100px; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item-div { + width: 100%; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item-a { + color: white; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item-open-file { + position: absolute; + left: 0; + top: 0; + opacity: 0; + cursor: pointer; + width: 100%; + z-index: 999; +} diff --git a/examples/bpmn-editor-classic-on-webapp/src/index.tsx b/examples/bpmn-editor-classic-on-webapp/src/index.tsx new file mode 100644 index 00000000000..09cd977925d --- /dev/null +++ b/examples/bpmn-editor-classic-on-webapp/src/index.tsx @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import "@patternfly/react-core/dist/styles/base.css"; +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import { Brand } from "@patternfly/react-core/dist/js/components/Brand"; +import { Nav, NavItem, NavList } from "@patternfly/react-core/dist/js/components/Nav"; +import { Page, PageHeader } from "@patternfly/react-core/dist/js/components/Page"; +import { BpmnEditorClassicPage } from "./BpmnEditorClassicPage"; +import "./index.css"; + +ReactDOM.render( + } + topNav={ + + } + /> + } + > + + , + document.getElementById("app") +); diff --git a/examples/webapp/envelope/new-dmn-editor.html b/examples/bpmn-editor-classic-on-webapp/static/bpmn-editor-classic-envelope.html similarity index 95% rename from examples/webapp/envelope/new-dmn-editor.html rename to examples/bpmn-editor-classic-on-webapp/static/bpmn-editor-classic-envelope.html index 8fb767f3a41..dfdaa0439e4 100644 --- a/examples/webapp/envelope/new-dmn-editor.html +++ b/examples/bpmn-editor-classic-on-webapp/static/bpmn-editor-classic-envelope.html @@ -40,6 +40,6 @@
- + diff --git a/examples/webapp/static/examples/sample.bpmn b/examples/bpmn-editor-classic-on-webapp/static/examples/sample.bpmn similarity index 100% rename from examples/webapp/static/examples/sample.bpmn rename to examples/bpmn-editor-classic-on-webapp/static/examples/sample.bpmn diff --git a/examples/bpmn-editor-classic-on-webapp/static/index.html b/examples/bpmn-editor-classic-on-webapp/static/index.html new file mode 100644 index 00000000000..58736988ce6 --- /dev/null +++ b/examples/bpmn-editor-classic-on-webapp/static/index.html @@ -0,0 +1,32 @@ + + + + + + Apache KIE Tools Examples :: BPMN Editor (classic) on webapp + + + + + +
+ + + diff --git a/examples/webapp/static/logo.png b/examples/bpmn-editor-classic-on-webapp/static/logo.png similarity index 100% rename from examples/webapp/static/logo.png rename to examples/bpmn-editor-classic-on-webapp/static/logo.png diff --git a/examples/webapp/tsconfig.json b/examples/bpmn-editor-classic-on-webapp/tsconfig.json similarity index 100% rename from examples/webapp/tsconfig.json rename to examples/bpmn-editor-classic-on-webapp/tsconfig.json diff --git a/examples/webapp/webpack.config.js b/examples/bpmn-editor-classic-on-webapp/webpack.config.js similarity index 68% rename from examples/webapp/webpack.config.js rename to examples/bpmn-editor-classic-on-webapp/webpack.config.js index 0fbcd914a74..19573c7e16b 100644 --- a/examples/webapp/webpack.config.js +++ b/examples/bpmn-editor-classic-on-webapp/webpack.config.js @@ -30,12 +30,7 @@ module.exports = (webpackEnv) => [ merge(common(webpackEnv), { entry: { index: "./src/index.tsx", - "envelope/base64-editor": "./src/envelope/base64-editor.ts", - "envelope/dmn-editor": "./src/envelope/dmn-editor.ts", - "envelope/bpmn-editor": "./src/envelope/bpmn-editor.ts", - "envelope/new-dmn-editor": "./src/envelope/new-dmn-editor.ts", - "envelope/ping-pong-view-react-impl": "./src/envelope/ping-pong-view-react-impl.ts", - "envelope/todo-list-view": "./src/envelope/todo-list-view.ts", + "bpmn-editor-classic-envelope": "./src/BpmnEditorClassicEnvelope.ts", }, output: { publicPath: "/", @@ -46,18 +41,10 @@ module.exports = (webpackEnv) => [ plugins: [ new CopyPlugin({ patterns: [ - { from: "./envelope", to: "./envelope" }, { from: "./static", to: "." }, - { from: "../ping-pong-view-angular/dist/app", to: "./envelope/angular" }, - { from: stunnerEditors.dmnEditorPath(), to: "./dmn-editor/dmn", globOptions: { ignore: ["WEB-INF/**/*"] } }, { from: stunnerEditors.bpmnEditorPath(), - to: "./bpmn-editor/bpmn", - globOptions: { ignore: ["WEB-INF/**/*"] }, - }, - { - from: `${path.dirname(require.resolve("@kie-tools/dmn-editor/package.json"))}/dist`, - to: "./new-dmn-editor/dmn", + to: "./bpmn-editor-classic", globOptions: { ignore: ["WEB-INF/**/*"] }, }, ], @@ -71,7 +58,7 @@ module.exports = (webpackEnv) => [ historyApiFallback: false, static: [{ directory: path.join(__dirname, "./dist") }, { directory: path.join(__dirname, "./static") }], compress: true, - port: env.exampleWebapp.port, + port: env.bpmnEditorClassicOnWebappExample.port, }, ignoreWarnings: [/Failed to parse source map/], }), diff --git a/examples/commit-message-validation-service/Makefile b/examples/commit-message-validation-service/Makefile deleted file mode 100644 index 342fad533a2..00000000000 --- a/examples/commit-message-validation-service/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -METADATA_PATH := github.com/apache/incubator-kie-tools/examples/commit-message-validation-service/pkg/metadata -SET_COMMIT_MESSAGE_VALIDATION_SERVICE_PORT := $(METADATA_PATH).Port=$(shell build-env commitMessageValidationService.port) -SET_COMMIT_MESSAGE_VALIDATION_SERVICE_ENABLED_VALIDATORS := $(METADATA_PATH).Validators=$(shell build-env commitMessageValidationService.validators) -LDFLAGS := "-X $(SET_COMMIT_MESSAGE_VALIDATION_SERVICE_PORT) -X $(SET_COMMIT_MESSAGE_VALIDATION_SERVICE_ENABLED_VALIDATORS)" - -ARCH := $(shell uname -m) -ifeq ($(ARCH),x86_64) - GOARCH = amd64 -else - GOARCH = arm64 -endif - -darwin: - GOOS=darwin GOARCH=$(GOARCH) CGO_ENABLED=1 go build -ldflags $(LDFLAGS) -o dist/darwin/commit-message-validation-service main.go - -darwin-amd64: - GOOS=darwin GOARCH=amd64 go build -ldflags $(LDFLAGS) -o dist/darwin/commit-message-validation-service main.go - -darwin-arm64: - GOOS=darwin GOARCH=arm64 go build -ldflags $(LDFLAGS) -o dist/darwin/commit-message-validation-service main.go - -linux: - GOOS=linux GOARCH=amd64 go build -ldflags $(LDFLAGS) -o dist/linux/commit-message-validation-service main.go - -win32: - GOOS=windows GOARCH=amd64 go build -ldflags $(LDFLAGS) -o dist/win32/commit-message-validation-service.exe main.go - -start: - go run -ldflags $(LDFLAGS) main.go \ No newline at end of file diff --git a/examples/base64png-editor-vscode-extension/LICENSE b/examples/dmn-editor-classic-on-webapp/LICENSE similarity index 100% rename from examples/base64png-editor-vscode-extension/LICENSE rename to examples/dmn-editor-classic-on-webapp/LICENSE diff --git a/examples/dmn-editor-classic-on-webapp/README.md b/examples/dmn-editor-classic-on-webapp/README.md new file mode 100644 index 00000000000..2eb480788cb --- /dev/null +++ b/examples/dmn-editor-classic-on-webapp/README.md @@ -0,0 +1,44 @@ + + +## Example :: DMN Editor (classic) on webapp + +--- + +Apache KIE (incubating) is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the name of Apache Incubator. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + +Some of the incubating project’s releases may not be fully compliant with ASF +policy. For example, releases may have incomplete or un-reviewed licensing +conditions. What follows is a list of known issues the project is currently +aware of (note that this list, by definition, is likely to be incomplete): + +- Hibernate, an LGPL project, is being used. Hibernate is in the process of + relicensing to ASL v2 +- Some files, particularly test files, and those not supporting comments, may + be missing the ASF Licensing Header + +If you are planning to incorporate this work into your product/project, please +be aware that you will need to conduct a thorough licensing review to determine +the overall implications of including this work. For the current status of this +project through the Apache Incubator visit: +https://incubator.apache.org/projects/kie.html diff --git a/examples/dmn-editor-standalone-examples/env/index.js b/examples/dmn-editor-classic-on-webapp/env/index.js similarity index 94% rename from examples/dmn-editor-standalone-examples/env/index.js rename to examples/dmn-editor-classic-on-webapp/env/index.js index d0530a1d5ff..4ae65acc3c2 100644 --- a/examples/dmn-editor-standalone-examples/env/index.js +++ b/examples/dmn-editor-classic-on-webapp/env/index.js @@ -23,8 +23,8 @@ module.exports = composeEnv([require("@kie-tools/root-env/env")], { vars: varsWithName({}), get env() { return { - dmnEditorStandaloneExamples: { - port: 9102, + dmnEditorClassicOnWebappExample: { + port: 7772, }, }; }, diff --git a/examples/dmn-editor-classic-on-webapp/package.json b/examples/dmn-editor-classic-on-webapp/package.json new file mode 100644 index 00000000000..fc562961ddd --- /dev/null +++ b/examples/dmn-editor-classic-on-webapp/package.json @@ -0,0 +1,37 @@ +{ + "private": true, + "name": "@kie-tools-examples/dmn-editor-classic-on-webapp", + "version": "0.0.0", + "license": "Apache-2.0", + "scripts": { + "build": "rimraf dist && webpack", + "build:dev": "run-script-if --bool \"$(build-env examples.build)\" --then \"pnpm build --env dev\"", + "build:prod": "run-script-if --bool \"$(build-env examples.build)\" --then \"pnpm build\"", + "start": "webpack serve --host 0.0.0.0 --env dev" + }, + "devDependencies": { + "@kie-tools-core/editor": "workspace:*", + "@kie-tools-core/envelope-bus": "workspace:*", + "@kie-tools-core/patternfly-base": "workspace:*", + "@kie-tools-core/react-hooks": "workspace:*", + "@kie-tools-core/webpack-base": "workspace:*", + "@kie-tools/kie-bc-editors": "workspace:*", + "@kie-tools/root-env": "workspace:*", + "@kie-tools/stunner-editors": "workspace:*", + "@kie-tools/tsconfig": "workspace:*", + "@patternfly/react-core": "^4.276.6", + "@patternfly/react-icons": "^4.93.6", + "@types/react": "^17.0.6", + "@types/react-dom": "^17.0.5", + "copy-webpack-plugin": "^11.0.0", + "process": "^0.11.10", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "rimraf": "^3.0.2", + "typescript": "^5.5.3", + "webpack": "^5.94.0", + "webpack-cli": "^4.10.0", + "webpack-dev-server": "^4.15.1", + "webpack-merge": "^5.9.0" + } +} diff --git a/examples/webapp/src/envelope/dmn-editor.ts b/examples/dmn-editor-classic-on-webapp/src/DmnEditorClassicEnvelope.ts similarity index 100% rename from examples/webapp/src/envelope/dmn-editor.ts rename to examples/dmn-editor-classic-on-webapp/src/DmnEditorClassicEnvelope.ts diff --git a/examples/webapp/src/Pages/KogitoEditors/NewDmnPage.tsx b/examples/dmn-editor-classic-on-webapp/src/DmnEditorClassicPage.tsx similarity index 96% rename from examples/webapp/src/Pages/KogitoEditors/NewDmnPage.tsx rename to examples/dmn-editor-classic-on-webapp/src/DmnEditorClassicPage.tsx index 110ce017ed4..1a77fab1918 100644 --- a/examples/webapp/src/Pages/KogitoEditors/NewDmnPage.tsx +++ b/examples/dmn-editor-classic-on-webapp/src/DmnEditorClassicPage.tsx @@ -26,7 +26,7 @@ import { EmbeddedEditor, useEditorRef } from "@kie-tools-core/editor/dist/embedd import { EmbeddedEditorFile } from "@kie-tools-core/editor/dist/channel"; import { Sidebar } from "./Sidebar"; -export function NewDmnPage() { +export function DmnEditorClassicPage() { /** * The reference of the Editor. It allows us to access/modify the Editor properties imperatively. */ @@ -53,8 +53,8 @@ export function NewDmnPage() { new EnvelopeMapping({ type: "dmn", filePathGlob: "**/*.dmn", - resourcesPathPrefix: "../new-dmn-editor/dmn/", - envelopeContent: { type: EnvelopeContentType.PATH, path: "envelope/new-dmn-editor.html" }, + resourcesPathPrefix: "../dmn-editor-classic", + envelopeContent: { type: EnvelopeContentType.PATH, path: "dmn-editor-classic-envelope.html" }, }), ]); }, []); diff --git a/examples/dmn-editor-classic-on-webapp/src/Sidebar.tsx b/examples/dmn-editor-classic-on-webapp/src/Sidebar.tsx new file mode 100644 index 00000000000..477042a7dec --- /dev/null +++ b/examples/dmn-editor-classic-on-webapp/src/Sidebar.tsx @@ -0,0 +1,198 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as React from "react"; +import { EditorEnvelopeLocator } from "@kie-tools-core/editor/dist/api"; +import { useCallback, useRef, useState } from "react"; +import { Nav, NavItem, NavList } from "@patternfly/react-core/dist/js/components/Nav"; +import { TextInput } from "@patternfly/react-core/dist/js/components/TextInput"; +import { EmbeddedEditorRef, useDirtyState } from "@kie-tools-core/editor/dist/embedded"; +import { EmbeddedEditorFile } from "@kie-tools-core/editor/dist/channel"; + +function extractFileExtension(fileName: string) { + return fileName.match(/[.]/) + ? fileName + .split(".") + ?.pop() + ?.match(/[\w\d]+/) + ?.pop() + : undefined; +} + +function removeFileExtension(fileName: string) { + const fileExtension = extractFileExtension(fileName); + if (!fileExtension) { + return fileName; + } + return fileName.substr(0, fileName.length - fileExtension.length - 1); +} + +interface Props { + editor?: EmbeddedEditorRef; + editorEnvelopeLocator: EditorEnvelopeLocator; + file: EmbeddedEditorFile; + setFile: React.Dispatch; + fileExtension: string; + accept: string; +} + +/** + * A Sidebar component to enable edit the file name, create new files, open sample and open a file. + */ +export function Sidebar({ editorEnvelopeLocator, editor, setFile, file, fileExtension, accept }: Props) { + /** + * A state which indicates the Editor dirty state + */ + const isDirty = useDirtyState(editor!); + + const downloadRef = useRef(null); + const onDownload = useCallback(() => { + editor?.getStateControl().setSavedCommand(); + editor?.getContent().then((content) => { + if (downloadRef.current) { + const fileBlob = new Blob([content], { type: "text/plain" }); + downloadRef.current.href = URL.createObjectURL(fileBlob)!; + downloadRef.current.download = `${file.fileName}.${fileExtension}`; + downloadRef.current.click(); + } + }); + }, [editor, file.fileName, fileExtension]); + + const [fileName, setFileName] = useState(file.fileName); + const onChangeName = useCallback(() => { + setFile({ + ...file, + fileName, + }); + }, [file, fileName, setFile]); + + const onNewFile = useCallback(() => { + setFileName("new-file"); + setFile({ + isReadOnly: false, + fileExtension: fileExtension, + fileName: "new-file", + getFileContents: () => Promise.resolve(""), + normalizedPosixPathRelativeToTheWorkspaceRoot: `new-file.${fileExtension}`, + }); + }, [fileExtension, setFile]); + + const onOpenSample = useCallback(() => { + setFileName("sample"); + setFile({ + isReadOnly: false, + fileExtension: fileExtension, + fileName: "sample", + getFileContents: () => fetch(`examples/sample.${fileExtension}`).then((response) => response.text()), + normalizedPosixPathRelativeToTheWorkspaceRoot: `sample.${fileExtension}`, + }); + }, [fileExtension, setFile]); + + const inputRef = useRef(null); + const onOpenFile = useCallback( + (e: React.ChangeEvent) => { + if (!inputRef.current!.files) { + return; + } + + const currentFile = inputRef.current!.files![0]; + if (!editorEnvelopeLocator.hasMappingFor(currentFile.name)) { + return; + } + + setFileName(removeFileExtension(currentFile.name)); + setFile({ + isReadOnly: false, + fileExtension: extractFileExtension(currentFile.name)!, + fileName: removeFileExtension(currentFile.name), + normalizedPosixPathRelativeToTheWorkspaceRoot: currentFile.name, + getFileContents: () => + new Promise((resolve) => { + const reader = new FileReader(); + reader.onload = (event: any) => resolve(event.target.result as string); + reader.readAsText(currentFile); + }), + }); + }, + [editorEnvelopeLocator, setFile] + ); + + return ( +
+ + +
+ ); +} diff --git a/examples/dmn-editor-classic-on-webapp/src/index.css b/examples/dmn-editor-classic-on-webapp/src/index.css new file mode 100644 index 00000000000..7ec13a42536 --- /dev/null +++ b/examples/dmn-editor-classic-on-webapp/src/index.css @@ -0,0 +1,76 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +.webapp--page-main-div { + display: flex; + height: 100%; +} + +.webapp--page-navigation { + background-color: rgb(24, 24, 24); + height: 100%; +} + +.webapp--page-navigation-title-div { + display: flex; + justify-content: center; + align-items: center; +} + +.webapp--page-navigation-title-h3 { + color: white; + padding: 20px; +} + +.webapp--page-kogito-editors-sidebar { + display: flex; +} + +.webapp--page-kogito-editors-sidebar--navigation { + background-color: rgb(24, 24, 24); + height: 100%; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item { + display: flex; + align-items: center; + width: 100%; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item-text-input { + width: 100px; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item-div { + width: 100%; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item-a { + color: white; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item-open-file { + position: absolute; + left: 0; + top: 0; + opacity: 0; + cursor: pointer; + width: 100%; + z-index: 999; +} diff --git a/examples/dmn-editor-classic-on-webapp/src/index.tsx b/examples/dmn-editor-classic-on-webapp/src/index.tsx new file mode 100644 index 00000000000..321c05db1a2 --- /dev/null +++ b/examples/dmn-editor-classic-on-webapp/src/index.tsx @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import "@patternfly/react-core/dist/styles/base.css"; +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import { Brand } from "@patternfly/react-core/dist/js/components/Brand"; +import { Nav, NavItem, NavList } from "@patternfly/react-core/dist/js/components/Nav"; +import { Page, PageHeader } from "@patternfly/react-core/dist/js/components/Page"; +import { DmnEditorClassicPage } from "./DmnEditorClassicPage"; +import "./index.css"; + +ReactDOM.render( + } + topNav={ + + } + /> + } + > + + , + document.getElementById("app") +); diff --git a/examples/webapp/envelope/bpmn-editor.html b/examples/dmn-editor-classic-on-webapp/static/dmn-editor-classic-envelope.html similarity index 93% rename from examples/webapp/envelope/bpmn-editor.html rename to examples/dmn-editor-classic-on-webapp/static/dmn-editor-classic-envelope.html index 1f0536e4180..ade08305849 100644 --- a/examples/webapp/envelope/bpmn-editor.html +++ b/examples/dmn-editor-classic-on-webapp/static/dmn-editor-classic-envelope.html @@ -6,15 +6,15 @@ ~ to you under the Apache License, Version 2.0 (the ~ "License"); you may not use this file except in compliance ~ with the License. You may obtain a copy of the License at - ~ + ~ ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ + ~ ~ Unless required by applicable law or agreed to in writing, ~ software distributed under the License is distributed on an ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ~ KIND, either express or implied. See the License for the ~ specific language governing permissions and limitations - ~ under the License. + ~ under the License. --> @@ -40,6 +40,6 @@
- + diff --git a/examples/webapp/static/examples/sample.dmn b/examples/dmn-editor-classic-on-webapp/static/examples/sample.dmn similarity index 100% rename from examples/webapp/static/examples/sample.dmn rename to examples/dmn-editor-classic-on-webapp/static/examples/sample.dmn diff --git a/examples/dmn-editor-classic-on-webapp/static/index.html b/examples/dmn-editor-classic-on-webapp/static/index.html new file mode 100644 index 00000000000..0359da01a18 --- /dev/null +++ b/examples/dmn-editor-classic-on-webapp/static/index.html @@ -0,0 +1,32 @@ + + + + + + Apache KIE Tools Examples :: DMN Editor (classic) on webapp + + + + + +
+ + + diff --git a/examples/dmn-editor-classic-on-webapp/static/logo.png b/examples/dmn-editor-classic-on-webapp/static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..36915163541a161c99c557f0d6ed0b12b444aae6 GIT binary patch literal 30305 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 [ + merge(common(webpackEnv), { + entry: { + index: "./src/index.tsx", + "dmn-editor-classic-envelope": "./src/DmnEditorClassicEnvelope.ts", + }, + output: { + publicPath: "/", + }, + module: { + rules: [...patternflyBase.webpackModuleRules], + }, + plugins: [ + new CopyPlugin({ + patterns: [ + { from: "./static", to: "." }, + { + from: stunnerEditors.dmnEditorPath(), + to: "./dmn-editor-classic", + globOptions: { ignore: ["WEB-INF/**/*"] }, + }, + ], + }), + new ProvidePlugin({ + process: require.resolve("process/browser.js"), + Buffer: ["buffer", "Buffer"], + }), + ], + devServer: { + historyApiFallback: false, + static: [{ directory: path.join(__dirname, "./dist") }, { directory: path.join(__dirname, "./static") }], + compress: true, + port: env.dmnEditorClassicOnWebappExample.port, + }, + ignoreWarnings: [/Failed to parse source map/], + }), +]; diff --git a/examples/base64png-editor/LICENSE b/examples/dmn-editor-on-webapp/LICENSE similarity index 100% rename from examples/base64png-editor/LICENSE rename to examples/dmn-editor-on-webapp/LICENSE diff --git a/examples/dmn-editor-on-webapp/README.md b/examples/dmn-editor-on-webapp/README.md new file mode 100644 index 00000000000..c82bd3a197b --- /dev/null +++ b/examples/dmn-editor-on-webapp/README.md @@ -0,0 +1,44 @@ + + +## Example :: DMN Editor on webapp + +--- + +Apache KIE (incubating) is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the name of Apache Incubator. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + +Some of the incubating project’s releases may not be fully compliant with ASF +policy. For example, releases may have incomplete or un-reviewed licensing +conditions. What follows is a list of known issues the project is currently +aware of (note that this list, by definition, is likely to be incomplete): + +- Hibernate, an LGPL project, is being used. Hibernate is in the process of + relicensing to ASL v2 +- Some files, particularly test files, and those not supporting comments, may + be missing the ASF Licensing Header + +If you are planning to incorporate this work into your product/project, please +be aware that you will need to conduct a thorough licensing review to determine +the overall implications of including this work. For the current status of this +project through the Apache Incubator visit: +https://incubator.apache.org/projects/kie.html diff --git a/examples/webapp/env/index.js b/examples/dmn-editor-on-webapp/env/index.js similarity index 95% rename from examples/webapp/env/index.js rename to examples/dmn-editor-on-webapp/env/index.js index 231f5607654..1cbf79f0bb4 100644 --- a/examples/webapp/env/index.js +++ b/examples/dmn-editor-on-webapp/env/index.js @@ -23,8 +23,8 @@ module.exports = composeEnv([require("@kie-tools/root-env/env")], { vars: varsWithName({}), get env() { return { - exampleWebapp: { - port: 9100, + dmnEditorOnWebappExample: { + port: 7773, }, }; }, diff --git a/examples/dmn-editor-on-webapp/package.json b/examples/dmn-editor-on-webapp/package.json new file mode 100644 index 00000000000..d94ada66364 --- /dev/null +++ b/examples/dmn-editor-on-webapp/package.json @@ -0,0 +1,36 @@ +{ + "private": true, + "name": "@kie-tools-examples/dmn-editor-on-webapp", + "version": "0.0.0", + "license": "Apache-2.0", + "scripts": { + "build": "rimraf dist && webpack", + "build:dev": "run-script-if --bool \"$(build-env examples.build)\" --then \"pnpm build --env dev\"", + "build:prod": "run-script-if --bool \"$(build-env examples.build)\" --then \"pnpm build\"", + "start": "webpack serve --host 0.0.0.0 --env dev" + }, + "devDependencies": { + "@kie-tools-core/editor": "workspace:*", + "@kie-tools-core/envelope-bus": "workspace:*", + "@kie-tools-core/patternfly-base": "workspace:*", + "@kie-tools-core/react-hooks": "workspace:*", + "@kie-tools-core/webpack-base": "workspace:*", + "@kie-tools/dmn-editor": "workspace:*", + "@kie-tools/dmn-editor-envelope": "workspace:*", + "@kie-tools/root-env": "workspace:*", + "@kie-tools/tsconfig": "workspace:*", + "@patternfly/react-core": "^4.276.6", + "@patternfly/react-icons": "^4.93.6", + "@types/react": "^17.0.6", + "@types/react-dom": "^17.0.5", + "copy-webpack-plugin": "^11.0.0", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "rimraf": "^3.0.2", + "typescript": "^5.5.3", + "webpack": "^5.94.0", + "webpack-cli": "^4.10.0", + "webpack-dev-server": "^4.15.1", + "webpack-merge": "^5.9.0" + } +} diff --git a/examples/webapp/src/envelope/new-dmn-editor.ts b/examples/dmn-editor-on-webapp/src/DmnEditorEnvelope.ts similarity index 100% rename from examples/webapp/src/envelope/new-dmn-editor.ts rename to examples/dmn-editor-on-webapp/src/DmnEditorEnvelope.ts diff --git a/examples/webapp/src/Pages/KogitoEditors/DmnPage.tsx b/examples/dmn-editor-on-webapp/src/DmnEditorPage.tsx similarity index 96% rename from examples/webapp/src/Pages/KogitoEditors/DmnPage.tsx rename to examples/dmn-editor-on-webapp/src/DmnEditorPage.tsx index c9fccc2af52..23e5898b730 100644 --- a/examples/webapp/src/Pages/KogitoEditors/DmnPage.tsx +++ b/examples/dmn-editor-on-webapp/src/DmnEditorPage.tsx @@ -26,7 +26,7 @@ import { EmbeddedEditor, useEditorRef } from "@kie-tools-core/editor/dist/embedd import { EmbeddedEditorFile } from "@kie-tools-core/editor/dist/channel"; import { Sidebar } from "./Sidebar"; -export function DmnPage() { +export function DmnEditorPage() { /** * The reference of the Editor. It allows us to access/modify the Editor properties imperatively. */ @@ -53,8 +53,8 @@ export function DmnPage() { new EnvelopeMapping({ type: "dmn", filePathGlob: "**/*.dmn", - resourcesPathPrefix: "../dmn-editor/dmn/", - envelopeContent: { type: EnvelopeContentType.PATH, path: "envelope/dmn-editor.html" }, + resourcesPathPrefix: "../dmn-editor", + envelopeContent: { type: EnvelopeContentType.PATH, path: "dmn-editor-envelope.html" }, }), ]); }, []); diff --git a/examples/dmn-editor-on-webapp/src/Sidebar.tsx b/examples/dmn-editor-on-webapp/src/Sidebar.tsx new file mode 100644 index 00000000000..477042a7dec --- /dev/null +++ b/examples/dmn-editor-on-webapp/src/Sidebar.tsx @@ -0,0 +1,198 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as React from "react"; +import { EditorEnvelopeLocator } from "@kie-tools-core/editor/dist/api"; +import { useCallback, useRef, useState } from "react"; +import { Nav, NavItem, NavList } from "@patternfly/react-core/dist/js/components/Nav"; +import { TextInput } from "@patternfly/react-core/dist/js/components/TextInput"; +import { EmbeddedEditorRef, useDirtyState } from "@kie-tools-core/editor/dist/embedded"; +import { EmbeddedEditorFile } from "@kie-tools-core/editor/dist/channel"; + +function extractFileExtension(fileName: string) { + return fileName.match(/[.]/) + ? fileName + .split(".") + ?.pop() + ?.match(/[\w\d]+/) + ?.pop() + : undefined; +} + +function removeFileExtension(fileName: string) { + const fileExtension = extractFileExtension(fileName); + if (!fileExtension) { + return fileName; + } + return fileName.substr(0, fileName.length - fileExtension.length - 1); +} + +interface Props { + editor?: EmbeddedEditorRef; + editorEnvelopeLocator: EditorEnvelopeLocator; + file: EmbeddedEditorFile; + setFile: React.Dispatch; + fileExtension: string; + accept: string; +} + +/** + * A Sidebar component to enable edit the file name, create new files, open sample and open a file. + */ +export function Sidebar({ editorEnvelopeLocator, editor, setFile, file, fileExtension, accept }: Props) { + /** + * A state which indicates the Editor dirty state + */ + const isDirty = useDirtyState(editor!); + + const downloadRef = useRef(null); + const onDownload = useCallback(() => { + editor?.getStateControl().setSavedCommand(); + editor?.getContent().then((content) => { + if (downloadRef.current) { + const fileBlob = new Blob([content], { type: "text/plain" }); + downloadRef.current.href = URL.createObjectURL(fileBlob)!; + downloadRef.current.download = `${file.fileName}.${fileExtension}`; + downloadRef.current.click(); + } + }); + }, [editor, file.fileName, fileExtension]); + + const [fileName, setFileName] = useState(file.fileName); + const onChangeName = useCallback(() => { + setFile({ + ...file, + fileName, + }); + }, [file, fileName, setFile]); + + const onNewFile = useCallback(() => { + setFileName("new-file"); + setFile({ + isReadOnly: false, + fileExtension: fileExtension, + fileName: "new-file", + getFileContents: () => Promise.resolve(""), + normalizedPosixPathRelativeToTheWorkspaceRoot: `new-file.${fileExtension}`, + }); + }, [fileExtension, setFile]); + + const onOpenSample = useCallback(() => { + setFileName("sample"); + setFile({ + isReadOnly: false, + fileExtension: fileExtension, + fileName: "sample", + getFileContents: () => fetch(`examples/sample.${fileExtension}`).then((response) => response.text()), + normalizedPosixPathRelativeToTheWorkspaceRoot: `sample.${fileExtension}`, + }); + }, [fileExtension, setFile]); + + const inputRef = useRef(null); + const onOpenFile = useCallback( + (e: React.ChangeEvent) => { + if (!inputRef.current!.files) { + return; + } + + const currentFile = inputRef.current!.files![0]; + if (!editorEnvelopeLocator.hasMappingFor(currentFile.name)) { + return; + } + + setFileName(removeFileExtension(currentFile.name)); + setFile({ + isReadOnly: false, + fileExtension: extractFileExtension(currentFile.name)!, + fileName: removeFileExtension(currentFile.name), + normalizedPosixPathRelativeToTheWorkspaceRoot: currentFile.name, + getFileContents: () => + new Promise((resolve) => { + const reader = new FileReader(); + reader.onload = (event: any) => resolve(event.target.result as string); + reader.readAsText(currentFile); + }), + }); + }, + [editorEnvelopeLocator, setFile] + ); + + return ( + + ); +} diff --git a/examples/dmn-editor-on-webapp/src/index.css b/examples/dmn-editor-on-webapp/src/index.css new file mode 100644 index 00000000000..7ec13a42536 --- /dev/null +++ b/examples/dmn-editor-on-webapp/src/index.css @@ -0,0 +1,76 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +.webapp--page-main-div { + display: flex; + height: 100%; +} + +.webapp--page-navigation { + background-color: rgb(24, 24, 24); + height: 100%; +} + +.webapp--page-navigation-title-div { + display: flex; + justify-content: center; + align-items: center; +} + +.webapp--page-navigation-title-h3 { + color: white; + padding: 20px; +} + +.webapp--page-kogito-editors-sidebar { + display: flex; +} + +.webapp--page-kogito-editors-sidebar--navigation { + background-color: rgb(24, 24, 24); + height: 100%; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item { + display: flex; + align-items: center; + width: 100%; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item-text-input { + width: 100px; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item-div { + width: 100%; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item-a { + color: white; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item-open-file { + position: absolute; + left: 0; + top: 0; + opacity: 0; + cursor: pointer; + width: 100%; + z-index: 999; +} diff --git a/examples/dmn-editor-on-webapp/src/index.tsx b/examples/dmn-editor-on-webapp/src/index.tsx new file mode 100644 index 00000000000..0eabed85554 --- /dev/null +++ b/examples/dmn-editor-on-webapp/src/index.tsx @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import "@patternfly/react-core/dist/styles/base.css"; +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import { Brand } from "@patternfly/react-core/dist/js/components/Brand"; +import { Nav, NavItem, NavList } from "@patternfly/react-core/dist/js/components/Nav"; +import { Page, PageHeader } from "@patternfly/react-core/dist/js/components/Page"; +import { DmnEditorPage } from "./DmnEditorPage"; +import "./index.css"; + +ReactDOM.render( + } + topNav={ + + } + /> + } + > + + , + document.getElementById("app") +); diff --git a/examples/webapp/envelope/dmn-editor.html b/examples/dmn-editor-on-webapp/static/dmn-editor-envelope.html similarity index 96% rename from examples/webapp/envelope/dmn-editor.html rename to examples/dmn-editor-on-webapp/static/dmn-editor-envelope.html index 55cf5c6b5bd..627116b5315 100644 --- a/examples/webapp/envelope/dmn-editor.html +++ b/examples/dmn-editor-on-webapp/static/dmn-editor-envelope.html @@ -40,6 +40,6 @@
- + diff --git a/examples/dmn-editor-on-webapp/static/examples/sample.dmn b/examples/dmn-editor-on-webapp/static/examples/sample.dmn new file mode 100644 index 00000000000..45a458fbc4b --- /dev/null +++ b/examples/dmn-editor-on-webapp/static/examples/sample.dmn @@ -0,0 +1,857 @@ + + + + + + + Product_Type + + + number + + + number + + + number + + + + string + + "M","D","S" + + + + + number + + + Marital_Status + + + string + + "Unemployed","Employed","Self-employed","Student" + + + + boolean + + + + number + + + number + + + number + + + number + + + number + + + + + + Risk_Category + + + number + + + + + string + + + number + + + + string + + "Ineligible","Eligible" + + + + string + + "Decline","Bureau","Through" + + + + string + + "Full","Mini","None" + + + + string + + "Standard Loan","Special Loan" + + + + string + + "High","Medium","Low","Very Low","Decline" + + + + string + + "Poor","Bad","Fair","Good","Excellent" + + + + string + + "Insufficient","Sufficient" + + + + string + + "Sufficient","Insufficient" + + + + string + + "Not Qualified","Qualified" + + + + + number + + [300..850] + + + + + + string + + "Qualified","Not Qualified" + + + + string + + + + + + + + + + + + 0.36 + + + + + + + + + + + + + + + + + + + + + + + + PITI + + + + + (Requested Product.Amount*((Requested Product.Rate/100)/12))/(1-(1/(1+(Requested Product.Rate/100)/12)**-Requested Product.Term)) + + + + + + Applicant Data.Monthly.Tax + + + + + + Applicant Data.Monthly.Insurance + + + + + + Applicant Data.Monthly.Income + + + + + + + if Client PITI <= Lender Acceptable PITI() +then "Sufficient" +else "Insufficient" + + + + + + + + + + + + + + (pmt+tax+insurance)/income + + + + + + + + + + + + + + + + + + + + + + + + + DTI + + + + + Applicant Data.Monthly.Repayments + Applicant Data.Monthly.Expenses + + + + + + Applicant Data.Monthly.Income + + + + + + + if Client DTI <= Lender Acceptable DTI() +then "Sufficient" +else "Insufficient" + + + + + + + + + + + + + + Credit Score.FICO + + + + + + + >= 750 + + + "Excellent" + + + + + + + + [700..750) + + + "Good" + + + + + + + + [650..700) + + + "Fair" + + + + + + + + [600..650) + + + "Poor" + + + + + + + + < 600 + + + "Bad" + + + + + + + + + + + + + + + + + + + + + + + Credit Score Rating + + + + + Back End Ratio + + + + + Front End Ratio + + + + + + + + "Poor", "Bad" + + + - + + + - + + + "Not Qualified" + + + "Credit Score too low." + + + + + + + + - + + + "Insufficient" + + + "Sufficient" + + + "Not Qualified" + + + "Debt to income ratio is too high." + + + + + + + + - + + + "Sufficient" + + + "Insufficient" + + + "Not Qualified" + + + "Mortgage payment to income ratio is too high." + + + + + + + + - + + + "Insufficient" + + + "Insufficient" + + + "Not Qualified" + + + "Debt to income ratio is too high AND mortgage payment to income ratio is too high." + + + + + + + + "Fair", "Good", "Excellent" + + + "Sufficient" + + + "Sufficient" + + + "Qualified" + + + "The borrower has been successfully prequalified for the requested loan." + + + + + + + + + + + + + + + + + + + d/i + + + + + + + + + 0.28 + + + + + + + + + 209 + + + 50 + 209 + + + 50 + 100 + 1280 + + + 50 + 100 + 1110 + + + + 1110 + + + 1110 + + + 1110 + + + 1110 + + + 1280 + + + 300 + + + 50 + 300 + + + 50 + 100 + 802 + + + 50 + 100 + 632 + + + + 632 + + + 632 + + + 802 + + + 50 + 224 + 226 + 335 + + + 50 + 227 + 125 + 125 + 135 + 681 + 100 + + + 150 + + + 50 + 150 + + + 228 + + + 50 + 228 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/dmn-editor-on-webapp/static/index.html b/examples/dmn-editor-on-webapp/static/index.html new file mode 100644 index 00000000000..fc9a5e2e6f3 --- /dev/null +++ b/examples/dmn-editor-on-webapp/static/index.html @@ -0,0 +1,32 @@ + + + + + + Apache KIE Tools Examples :: DMN Editor on webapp + + + + + +
+ + + diff --git a/examples/dmn-editor-on-webapp/static/logo.png b/examples/dmn-editor-on-webapp/static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..36915163541a161c99c557f0d6ed0b12b444aae6 GIT binary patch literal 30305 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 [ + merge(common(webpackEnv), { + entry: { + index: "./src/index.tsx", + "dmn-editor-envelope": "./src/DmnEditorEnvelope.ts", + }, + output: { + publicPath: "/", + }, + module: { + rules: [...patternflyBase.webpackModuleRules], + }, + plugins: [ + new CopyPlugin({ + patterns: [ + { from: "./static", to: "." }, + { + from: `${path.dirname(require.resolve("@kie-tools/dmn-editor/package.json"))}/dist`, + to: "./dmn-editor", + globOptions: { ignore: ["WEB-INF/**/*"] }, + }, + ], + }), + ], + devServer: { + historyApiFallback: false, + static: [{ directory: path.join(__dirname, "./dist") }, { directory: path.join(__dirname, "./static") }], + compress: true, + port: env.dmnEditorOnWebappExample.port, + }, + ignoreWarnings: [/Failed to parse source map/], + }), +]; diff --git a/examples/dmn-editor-standalone-examples/README.md b/examples/dmn-editor-standalone-on-webapp/README.md similarity index 98% rename from examples/dmn-editor-standalone-examples/README.md rename to examples/dmn-editor-standalone-on-webapp/README.md index 039c312e3d8..8f01385b4e6 100644 --- a/examples/dmn-editor-standalone-examples/README.md +++ b/examples/dmn-editor-standalone-on-webapp/README.md @@ -15,12 +15,10 @@ under the License. --> -## DMN Editor Standalone Examples +## Example :: DMN Editor Standalone on webapp A series of examples on how to use the DMN Editor Standalone in different applications. -### Examples - - [State Control]("src/stateControl/index.ts"): Shows how to leverage the Editor API to undo/redo changes to a decision, get its contents and download an SVG of the diagram. - [Read Only]("src/readOnly/index.ts"): Loads the editor in "Read Only" mode, where a decision can be displayed and navigated but not changed. - [With Included Models]("src/withIncludedModels/index.ts"): Displays how Decisions can be imported into other Decisions as "Included Models", using the `resources` parameter from the DMN Editor. diff --git a/examples/dmn-editor-standalone-on-webapp/env/index.js b/examples/dmn-editor-standalone-on-webapp/env/index.js new file mode 100644 index 00000000000..6c377841010 --- /dev/null +++ b/examples/dmn-editor-standalone-on-webapp/env/index.js @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +const { varsWithName, composeEnv } = require("@kie-tools-scripts/build-env"); + +module.exports = composeEnv([require("@kie-tools/root-env/env")], { + vars: varsWithName({}), + get env() { + return { + dmnEditorStandaloneOnWebappExample: { + port: 7778, + }, + }; + }, +}); diff --git a/examples/dmn-editor-standalone-examples/package.json b/examples/dmn-editor-standalone-on-webapp/package.json similarity index 85% rename from examples/dmn-editor-standalone-examples/package.json rename to examples/dmn-editor-standalone-on-webapp/package.json index d451f0392eb..4b6aa87f7f9 100644 --- a/examples/dmn-editor-standalone-examples/package.json +++ b/examples/dmn-editor-standalone-on-webapp/package.json @@ -1,6 +1,6 @@ { "private": true, - "name": "@kie-tools-examples/dmn-editor-standalone-examples", + "name": "@kie-tools-examples/dmn-editor-standalone-on-webapp", "version": "0.0.0", "description": "", "license": "Apache-2.0", @@ -26,7 +26,6 @@ "@kie-tools/tsconfig": "workspace:*", "copy-webpack-plugin": "^11.0.0", "html-webpack-plugin": "^5.3.2", - "process": "^0.11.10", "raw-loader": "^4.0.2", "rimraf": "^3.0.2", "typescript": "^5.5.3", @@ -35,11 +34,5 @@ "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" - }, - "kieTools": { - "requiredPreinstalledCliCommands": [ - "java", - "mvn" - ] } } diff --git a/examples/dmn-editor-standalone-examples/src/fileLoader.ts b/examples/dmn-editor-standalone-on-webapp/src/fileLoader.ts similarity index 100% rename from examples/dmn-editor-standalone-examples/src/fileLoader.ts rename to examples/dmn-editor-standalone-on-webapp/src/fileLoader.ts diff --git a/examples/dmn-editor-standalone-examples/src/readOnly/index.html b/examples/dmn-editor-standalone-on-webapp/src/readOnly/index.html similarity index 100% rename from examples/dmn-editor-standalone-examples/src/readOnly/index.html rename to examples/dmn-editor-standalone-on-webapp/src/readOnly/index.html diff --git a/examples/dmn-editor-standalone-examples/src/readOnly/index.ts b/examples/dmn-editor-standalone-on-webapp/src/readOnly/index.ts similarity index 100% rename from examples/dmn-editor-standalone-examples/src/readOnly/index.ts rename to examples/dmn-editor-standalone-on-webapp/src/readOnly/index.ts diff --git a/examples/dmn-editor-standalone-examples/src/stateControl/index.html b/examples/dmn-editor-standalone-on-webapp/src/stateControl/index.html similarity index 100% rename from examples/dmn-editor-standalone-examples/src/stateControl/index.html rename to examples/dmn-editor-standalone-on-webapp/src/stateControl/index.html diff --git a/examples/dmn-editor-standalone-examples/src/stateControl/index.ts b/examples/dmn-editor-standalone-on-webapp/src/stateControl/index.ts similarity index 100% rename from examples/dmn-editor-standalone-examples/src/stateControl/index.ts rename to examples/dmn-editor-standalone-on-webapp/src/stateControl/index.ts diff --git a/examples/dmn-editor-standalone-examples/src/withIncludedModels/index.html b/examples/dmn-editor-standalone-on-webapp/src/withIncludedModels/index.html similarity index 100% rename from examples/dmn-editor-standalone-examples/src/withIncludedModels/index.html rename to examples/dmn-editor-standalone-on-webapp/src/withIncludedModels/index.html diff --git a/examples/dmn-editor-standalone-examples/src/withIncludedModels/index.ts b/examples/dmn-editor-standalone-on-webapp/src/withIncludedModels/index.ts similarity index 100% rename from examples/dmn-editor-standalone-examples/src/withIncludedModels/index.ts rename to examples/dmn-editor-standalone-on-webapp/src/withIncludedModels/index.ts diff --git a/examples/dmn-editor-standalone-examples/static/models/can-drive-types.dmn b/examples/dmn-editor-standalone-on-webapp/static/models/can-drive-types.dmn similarity index 100% rename from examples/dmn-editor-standalone-examples/static/models/can-drive-types.dmn rename to examples/dmn-editor-standalone-on-webapp/static/models/can-drive-types.dmn diff --git a/examples/dmn-editor-standalone-examples/static/models/can-drive.dmn b/examples/dmn-editor-standalone-on-webapp/static/models/can-drive.dmn similarity index 100% rename from examples/dmn-editor-standalone-examples/static/models/can-drive.dmn rename to examples/dmn-editor-standalone-on-webapp/static/models/can-drive.dmn diff --git a/examples/dmn-editor-standalone-examples/static/models/empty-drd.dmn b/examples/dmn-editor-standalone-on-webapp/static/models/empty-drd.dmn similarity index 100% rename from examples/dmn-editor-standalone-examples/static/models/empty-drd.dmn rename to examples/dmn-editor-standalone-on-webapp/static/models/empty-drd.dmn diff --git a/examples/dmn-editor-standalone-examples/static/models/empty.dmn b/examples/dmn-editor-standalone-on-webapp/static/models/empty.dmn similarity index 100% rename from examples/dmn-editor-standalone-examples/static/models/empty.dmn rename to examples/dmn-editor-standalone-on-webapp/static/models/empty.dmn diff --git a/examples/dmn-editor-standalone-examples/static/models/find-employees.dmn b/examples/dmn-editor-standalone-on-webapp/static/models/find-employees.dmn similarity index 100% rename from examples/dmn-editor-standalone-examples/static/models/find-employees.dmn rename to examples/dmn-editor-standalone-on-webapp/static/models/find-employees.dmn diff --git a/examples/dmn-editor-standalone-examples/static/models/loan-pre-qualification.dmn b/examples/dmn-editor-standalone-on-webapp/static/models/loan-pre-qualification.dmn similarity index 100% rename from examples/dmn-editor-standalone-examples/static/models/loan-pre-qualification.dmn rename to examples/dmn-editor-standalone-on-webapp/static/models/loan-pre-qualification.dmn diff --git a/examples/dmn-editor-standalone-examples/tsconfig.json b/examples/dmn-editor-standalone-on-webapp/tsconfig.json similarity index 100% rename from examples/dmn-editor-standalone-examples/tsconfig.json rename to examples/dmn-editor-standalone-on-webapp/tsconfig.json diff --git a/examples/dmn-editor-standalone-examples/webpack.config.js b/examples/dmn-editor-standalone-on-webapp/webpack.config.js similarity index 91% rename from examples/dmn-editor-standalone-examples/webpack.config.js rename to examples/dmn-editor-standalone-on-webapp/webpack.config.js index 88e671c525c..e3417e82a68 100644 --- a/examples/dmn-editor-standalone-examples/webpack.config.js +++ b/examples/dmn-editor-standalone-on-webapp/webpack.config.js @@ -22,7 +22,6 @@ const CopyWebpackPlugin = require("copy-webpack-plugin"); const common = require("@kie-tools-core/webpack-base/webpack.common.config"); const path = require("path"); const HtmlWebpackPlugin = require("html-webpack-plugin"); -const { ProvidePlugin } = require("webpack"); const { env } = require("./env"); module.exports = (webpackEnv) => @@ -55,10 +54,6 @@ module.exports = (webpackEnv) => chunks: ["with_included_models"], minify: false, }), - new ProvidePlugin({ - process: require.resolve("process/browser.js"), - Buffer: ["buffer", "Buffer"], - }), new CopyWebpackPlugin({ patterns: [{ from: "./static", to: "static" }], }), @@ -67,7 +62,7 @@ module.exports = (webpackEnv) => static: [{ directory: path.join(__dirname, "./dist") }], compress: true, https: false, - port: env.dmnEditorStandaloneExamples.port, + port: env.dmnEditorStandaloneOnWebappExample.port, client: { overlay: false, }, diff --git a/examples/kie-sandbox-commit-message-validation-service/Makefile b/examples/kie-sandbox-commit-message-validation-service/Makefile new file mode 100644 index 00000000000..b89540b8dc8 --- /dev/null +++ b/examples/kie-sandbox-commit-message-validation-service/Makefile @@ -0,0 +1,29 @@ +METADATA_PATH := github.com/apache/incubator-kie-tools/examples/kie-sandbox-commit-message-validation-service/pkg/metadata +SET_COMMIT_MESSAGE_VALIDATION_SERVICE_PORT := $(METADATA_PATH).Port=$(shell build-env kieSandboxCommitMessageValidationServiceExample.port) +SET_COMMIT_MESSAGE_VALIDATION_SERVICE_ENABLED_VALIDATORS := $(METADATA_PATH).Validators=$(shell build-env kieSandboxCommitMessageValidationServiceExample.validators) +LDFLAGS := "-X $(SET_COMMIT_MESSAGE_VALIDATION_SERVICE_PORT) -X $(SET_COMMIT_MESSAGE_VALIDATION_SERVICE_ENABLED_VALIDATORS)" + +ARCH := $(shell uname -m) +ifeq ($(ARCH),x86_64) + GOARCH = amd64 +else + GOARCH = arm64 +endif + +darwin: + GOOS=darwin GOARCH=$(GOARCH) CGO_ENABLED=1 go build -ldflags $(LDFLAGS) -o dist/darwin/commit-message-validation-service main.go + +darwin-amd64: + GOOS=darwin GOARCH=amd64 go build -ldflags $(LDFLAGS) -o dist/darwin/commit-message-validation-service main.go + +darwin-arm64: + GOOS=darwin GOARCH=arm64 go build -ldflags $(LDFLAGS) -o dist/darwin/commit-message-validation-service main.go + +linux: + GOOS=linux GOARCH=amd64 go build -ldflags $(LDFLAGS) -o dist/linux/commit-message-validation-service main.go + +win32: + GOOS=windows GOARCH=amd64 go build -ldflags $(LDFLAGS) -o dist/win32/commit-message-validation-service.exe main.go + +start: + go run -ldflags $(LDFLAGS) main.go \ No newline at end of file diff --git a/examples/commit-message-validation-service/README.md b/examples/kie-sandbox-commit-message-validation-service/README.md similarity index 98% rename from examples/commit-message-validation-service/README.md rename to examples/kie-sandbox-commit-message-validation-service/README.md index 0be24ec337a..35fc29ab4fe 100644 --- a/examples/commit-message-validation-service/README.md +++ b/examples/kie-sandbox-commit-message-validation-service/README.md @@ -15,7 +15,7 @@ under the License. --> -## Commit message validation service +## Example :: KIE Sandbox commit message validation service Provides a simple service to check for patterns in a commit message. diff --git a/examples/commit-message-validation-service/env/index.js b/examples/kie-sandbox-commit-message-validation-service/env/index.js similarity index 74% rename from examples/commit-message-validation-service/env/index.js rename to examples/kie-sandbox-commit-message-validation-service/env/index.js index fcc3cbe1dd7..8e0cda52f88 100644 --- a/examples/commit-message-validation-service/env/index.js +++ b/examples/kie-sandbox-commit-message-validation-service/env/index.js @@ -21,11 +21,11 @@ const { getOrDefault, varsWithName, composeEnv } = require("@kie-tools-scripts/b module.exports = composeEnv([require("@kie-tools/root-env/env")], { vars: varsWithName({ - EXAMPLE_COMMIT_MESSAGE_VALIDATION_SERVICE__port: { + KIE_TOOLS_EXAMPLE__KIE_SANDBOX_COMMIT_MESSAGE_VALIDATION_SERVICE__port: { default: "8090", description: "HTTP server port where the service will run at.", }, - EXAMPLE_COMMIT_MESSAGE_VALIDATION_SERVICE__validators: { + KIE_TOOLS_EXAMPLE__KIE_SANDBOX_COMMIT_MESSAGE_VALIDATION_SERVICE__validators: { default: "Length:5-72;IssuePrefix:kie-issues#*", description: "Enables and configures validators. The value is a list of `;` separated validators that are parameterized with anything after `:`.", @@ -33,9 +33,11 @@ module.exports = composeEnv([require("@kie-tools/root-env/env")], { }), get env() { return { - commitMessageValidationService: { - port: getOrDefault(this.vars.EXAMPLE_COMMIT_MESSAGE_VALIDATION_SERVICE__port), - validators: getOrDefault(this.vars.EXAMPLE_COMMIT_MESSAGE_VALIDATION_SERVICE__validators), + kieSandboxCommitMessageValidationServiceExample: { + port: getOrDefault(this.vars.KIE_TOOLS_EXAMPLE__KIE_SANDBOX_COMMIT_MESSAGE_VALIDATION_SERVICE__port), + validators: getOrDefault( + this.vars.KIE_TOOLS_EXAMPLE__KIE_SANDBOX_COMMIT_MESSAGE_VALIDATION_SERVICE__validators + ), }, }; }, diff --git a/examples/commit-message-validation-service/go.mod b/examples/kie-sandbox-commit-message-validation-service/go.mod similarity index 93% rename from examples/commit-message-validation-service/go.mod rename to examples/kie-sandbox-commit-message-validation-service/go.mod index 26e76a73b60..f03c6e132f8 100644 --- a/examples/commit-message-validation-service/go.mod +++ b/examples/kie-sandbox-commit-message-validation-service/go.mod @@ -1,4 +1,4 @@ -module github.com/apache/incubator-kie-tools/examples/commit-message-validation-service +module github.com/apache/incubator-kie-tools/examples/kie-sandbox-commit-message-validation-service go 1.21 diff --git a/examples/commit-message-validation-service/go.sum b/examples/kie-sandbox-commit-message-validation-service/go.sum similarity index 100% rename from examples/commit-message-validation-service/go.sum rename to examples/kie-sandbox-commit-message-validation-service/go.sum diff --git a/examples/commit-message-validation-service/main.go b/examples/kie-sandbox-commit-message-validation-service/main.go similarity index 85% rename from examples/commit-message-validation-service/main.go rename to examples/kie-sandbox-commit-message-validation-service/main.go index 5f096b9955b..43a43c2a916 100644 --- a/examples/commit-message-validation-service/main.go +++ b/examples/kie-sandbox-commit-message-validation-service/main.go @@ -26,8 +26,8 @@ import ( "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" - "github.com/apache/incubator-kie-tools/examples/commit-message-validation-service/pkg" - "github.com/apache/incubator-kie-tools/examples/commit-message-validation-service/pkg/metadata" + "github.com/apache/incubator-kie-tools/examples/kie-sandbox-commit-message-validation-service/pkg" + "github.com/apache/incubator-kie-tools/examples/kie-sandbox-commit-message-validation-service/pkg/metadata" ) func main() { diff --git a/examples/commit-message-validation-service/package.json b/examples/kie-sandbox-commit-message-validation-service/package.json similarity index 90% rename from examples/commit-message-validation-service/package.json rename to examples/kie-sandbox-commit-message-validation-service/package.json index 604a18eefca..918cd45dbdc 100644 --- a/examples/commit-message-validation-service/package.json +++ b/examples/kie-sandbox-commit-message-validation-service/package.json @@ -1,6 +1,6 @@ { "private": true, - "name": "@kie-tools-examples/commit-message-validation-service", + "name": "@kie-tools-examples/kie-sandbox-commit-message-validation-service", "version": "0.0.0", "description": "", "license": "Apache-2.0", @@ -24,7 +24,6 @@ "build:linux": "make linux", "build:win32": "make win32", "install": "go mod tidy", - "pack-app": "run-script-os", "start": "make start" }, "devDependencies": { diff --git a/examples/commit-message-validation-service/pkg/metadata/config.go b/examples/kie-sandbox-commit-message-validation-service/pkg/metadata/config.go similarity index 100% rename from examples/commit-message-validation-service/pkg/metadata/config.go rename to examples/kie-sandbox-commit-message-validation-service/pkg/metadata/config.go diff --git a/examples/commit-message-validation-service/pkg/validate.go b/examples/kie-sandbox-commit-message-validation-service/pkg/validate.go similarity index 88% rename from examples/commit-message-validation-service/pkg/validate.go rename to examples/kie-sandbox-commit-message-validation-service/pkg/validate.go index 094656e192b..632249d4b66 100644 --- a/examples/commit-message-validation-service/pkg/validate.go +++ b/examples/kie-sandbox-commit-message-validation-service/pkg/validate.go @@ -22,8 +22,8 @@ package pkg import ( "strings" - "github.com/apache/incubator-kie-tools/examples/commit-message-validation-service/pkg/metadata" - "github.com/apache/incubator-kie-tools/examples/commit-message-validation-service/pkg/validators" + "github.com/apache/incubator-kie-tools/examples/kie-sandbox-commit-message-validation-service/pkg/metadata" + "github.com/apache/incubator-kie-tools/examples/kie-sandbox-commit-message-validation-service/pkg/validators" ) var validatorsMap = map[string]validators.ValidationFunction{ diff --git a/examples/commit-message-validation-service/pkg/validators/issuePrefix.go b/examples/kie-sandbox-commit-message-validation-service/pkg/validators/issuePrefix.go similarity index 100% rename from examples/commit-message-validation-service/pkg/validators/issuePrefix.go rename to examples/kie-sandbox-commit-message-validation-service/pkg/validators/issuePrefix.go diff --git a/examples/commit-message-validation-service/pkg/validators/length.go b/examples/kie-sandbox-commit-message-validation-service/pkg/validators/length.go similarity index 100% rename from examples/commit-message-validation-service/pkg/validators/length.go rename to examples/kie-sandbox-commit-message-validation-service/pkg/validators/length.go diff --git a/examples/commit-message-validation-service/pkg/validators/validator.go b/examples/kie-sandbox-commit-message-validation-service/pkg/validators/validator.go similarity index 100% rename from examples/commit-message-validation-service/pkg/validators/validator.go rename to examples/kie-sandbox-commit-message-validation-service/pkg/validators/validator.go diff --git a/examples/ping-pong-view-react/LICENSE b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/LICENSE similarity index 100% rename from examples/ping-pong-view-react/LICENSE rename to examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/LICENSE diff --git a/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/README.md b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/README.md new file mode 100644 index 00000000000..eb9e78ff9c2 --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/README.md @@ -0,0 +1,44 @@ + + +## Example :: Micro-frontends Multiplying Architecture Base64 PNG Editor - Chrome Extension + +--- + +Apache KIE (incubating) is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the name of Apache Incubator. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + +Some of the incubating project’s releases may not be fully compliant with ASF +policy. For example, releases may have incomplete or un-reviewed licensing +conditions. What follows is a list of known issues the project is currently +aware of (note that this list, by definition, is likely to be incomplete): + +- Hibernate, an LGPL project, is being used. Hibernate is in the process of + relicensing to ASL v2 +- Some files, particularly test files, and those not supporting comments, may + be missing the ASF Licensing Header + +If you are planning to incorporate this work into your product/project, please +be aware that you will need to conduct a thorough licensing review to determine +the overall implications of including this work. For the current status of this +project through the Apache Incubator visit: +https://incubator.apache.org/projects/kie.html diff --git a/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/env/index.js b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/env/index.js new file mode 100644 index 00000000000..e17e5bf96f5 --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/env/index.js @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +const { varsWithName, composeEnv } = require("@kie-tools-scripts/build-env"); + +module.exports = composeEnv([require("@kie-tools/root-env/env")], { + vars: varsWithName({}), + get env() { + return { + microFrontendsMultiplyingArchitectureBase64PngEditorChromeExtension: { + base64PngEditorEnvelopeApp: { + port: 9101, + }, + }, + }; + }, +}); diff --git a/examples/base64png-editor-chrome-extension/package.json b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/package.json similarity index 86% rename from examples/base64png-editor-chrome-extension/package.json rename to examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/package.json index 9e13fd3c395..f012eea9617 100644 --- a/examples/base64png-editor-chrome-extension/package.json +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/package.json @@ -1,6 +1,6 @@ { "private": true, - "name": "@kie-tools-examples/base64png-editor-chrome-extension", + "name": "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension", "version": "0.0.0", "description": "", "license": "Apache-2.0", @@ -18,15 +18,13 @@ "build:prod": "run-script-if --bool \"$(build-env examples.build)\" --then \"pnpm build\"", "serve-envelope": "webpack-dev-server" }, - "dependencies": { + "devDependencies": { "@kie-tools-core/chrome-extension": "workspace:*", "@kie-tools-core/editor": "workspace:*", "@kie-tools-core/envelope-bus": "workspace:*", "@kie-tools-core/patternfly-base": "workspace:*", - "@kie-tools-examples/base64png-editor": "workspace:*" - }, - "devDependencies": { "@kie-tools-core/webpack-base": "workspace:*", + "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", "@types/chrome": "^0.0.193", diff --git a/examples/base64png-editor-chrome-extension/src/envelope/index.ts b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/src/Base64PngEditorEnvelope.ts similarity index 92% rename from examples/base64png-editor-chrome-extension/src/envelope/index.ts rename to examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/src/Base64PngEditorEnvelope.ts index bfc5c05ba4e..43024add70e 100644 --- a/examples/base64png-editor-chrome-extension/src/envelope/index.ts +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/src/Base64PngEditorEnvelope.ts @@ -18,7 +18,7 @@ */ import * as EditorEnvelope from "@kie-tools-core/editor/dist/envelope"; -import { Base64PngEditorFactory } from "@kie-tools-examples/base64png-editor"; +import { Base64PngEditorFactory } from "@kie-tools-examples//micro-frontends-multiplying-architecture-base64png-editor"; /** * Initialize the Envelope with some args. diff --git a/examples/base64png-editor-chrome-extension/src/contentscript.ts b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/src/contentscript.ts similarity index 82% rename from examples/base64png-editor-chrome-extension/src/contentscript.ts rename to examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/src/contentscript.ts index 97496e0f8fd..f628326d549 100644 --- a/examples/base64png-editor-chrome-extension/src/contentscript.ts +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/src/contentscript.ts @@ -32,15 +32,18 @@ const resourcesPathPrefix = process.env["WEBPACK_REPLACE__targetOrigin"]; * @params args.editorEnvelopeLocator.mapping A map associating a file extension with the respective envelope path and resources path. */ startExtension({ - name: "Kogito Base64 PNG React Editor", - extensionIconUrl: chrome.extension.getURL("/resources/kie_icon_rgb_fullcolor_default.svg"), - githubAuthTokenCookieName: "github-oauth-token-base64-editors", + name: "KIE Tools Example :: Micro-frontends Multiplying Architecutre Base64 PNG Editor", + extensionIconUrl: chrome.extension.getURL("/kie_icon_rgb_fullcolor_default.svg"), + githubAuthTokenCookieName: "github-oauth-token-base64--png-editors", editorEnvelopeLocator: new EditorEnvelopeLocator(window.location.origin, [ new EnvelopeMapping({ type: "base64png", filePathGlob: "**/*.base64png", resourcesPathPrefix: `${resourcesPathPrefix}/dist/`, - envelopeContent: { type: EnvelopeContentType.PATH, path: `${resourcesPathPrefix}/dist/envelope/index.html` }, + envelopeContent: { + type: EnvelopeContentType.PATH, + path: `${resourcesPathPrefix}/dist/base64png-editor-envelope.html`, + }, }), ]), }); diff --git a/examples/base64png-editor-chrome-extension/static/envelope/index.html b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/static/base64-png-editor-envelope.html similarity index 100% rename from examples/base64png-editor-chrome-extension/static/envelope/index.html rename to examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/static/base64-png-editor-envelope.html diff --git a/examples/base64png-editor-chrome-extension/static/resources/icon_128.png b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/static/icon_128.png similarity index 100% rename from examples/base64png-editor-chrome-extension/static/resources/icon_128.png rename to examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/static/icon_128.png diff --git a/examples/base64png-editor-chrome-extension/static/resources/kie_icon_rgb_fullcolor_default.svg b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/static/kie_icon_rgb_fullcolor_default.svg similarity index 100% rename from examples/base64png-editor-chrome-extension/static/resources/kie_icon_rgb_fullcolor_default.svg rename to examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/static/kie_icon_rgb_fullcolor_default.svg diff --git a/examples/base64png-editor-chrome-extension/static/manifest.json b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/static/manifest.json similarity index 59% rename from examples/base64png-editor-chrome-extension/static/manifest.json rename to examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/static/manifest.json index faa810d6e8b..ad398f180d6 100644 --- a/examples/base64png-editor-chrome-extension/static/manifest.json +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/static/manifest.json @@ -1,8 +1,8 @@ { - "name": "Kogito Base64 PNG Editor", + "name": "KIE Tools Example :: Base64 PNG Editor", "version": "0.0.0", "manifest_version": 2, - "description": "Kogito Base64 PNG Editor", + "description": "Micro-frontends Multiplying Architecture Editor", "content_scripts": [ { "run_at": "document_idle", @@ -11,7 +11,7 @@ "all_frames": true } ], - "icons": { "128": "resources/icon_128.png" }, - "web_accessible_resources": ["envelope/*", "resources/*"], + "icons": { "128": "./icon_128.png" }, + "web_accessible_resources": ["./*"], "permissions": ["https://*.github.com/*", "http://*.github.com/*"] } diff --git a/examples/base64png-editor-chrome-extension/tsconfig.json b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/tsconfig.json similarity index 100% rename from examples/base64png-editor-chrome-extension/tsconfig.json rename to examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/tsconfig.json diff --git a/examples/base64png-editor-chrome-extension/webpack.config.js b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/webpack.config.js similarity index 76% rename from examples/base64png-editor-chrome-extension/webpack.config.js rename to examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/webpack.config.js index 03d867152e0..85edcba0134 100644 --- a/examples/base64png-editor-chrome-extension/webpack.config.js +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/webpack.config.js @@ -27,28 +27,24 @@ const { EnvironmentPlugin } = require("webpack"); const { env } = require("./env"); module.exports = (webpackEnv) => { - const router_targetOrigin = `https://localhost:${env.exampleChromeExtension.envelope.port}`; + const router_targetOrigin = `https://localhost:${env.microFrontendsMultiplyingArchitectureBase64PngEditorChromeExtension.base64PngEditorEnvelopeApp.port}`; return merge(common(webpackEnv), { entry: { contentscript: "./src/contentscript.ts", - "envelope/index": "./src/envelope/index.ts", + "base64png-editor-envelope": "./src/Base64PngEditorEnvelope.ts", }, devServer: { compress: true, https: true, - port: env.exampleChromeExtension.envelope.port, + port: env.microFrontendsMultiplyingArchitectureBase64PngEditorChromeExtension.base64PngEditorEnvelopeApp.port, }, plugins: [ new CopyPlugin({ - patterns: [ - { from: "./static/manifest.json" }, - { from: "./static/resources", to: "./resources" }, - { from: "./static/envelope", to: "./envelope" }, - ], + patterns: [{ from: "./static/manifest.json" }, { from: "./static/", to: "." }], }), new ZipPlugin({ - filename: "kie_tools_examples_base64-chrome_extension_" + packageJson.version + ".zip", + filename: "kie_tools_examples_base64png-editor-chrome_extension_" + packageJson.version + ".zip", pathPrefix: "dist", }), new EnvironmentPlugin({ diff --git a/examples/ping-pong-view/LICENSE b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/LICENSE similarity index 100% rename from examples/ping-pong-view/LICENSE rename to examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/LICENSE diff --git a/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/README.md b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/README.md new file mode 100644 index 00000000000..47850248d72 --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/README.md @@ -0,0 +1,44 @@ + + +## Example :: Base64 PNG Editor on webapp + +--- + +Apache KIE (incubating) is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the name of Apache Incubator. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + +Some of the incubating project’s releases may not be fully compliant with ASF +policy. For example, releases may have incomplete or un-reviewed licensing +conditions. What follows is a list of known issues the project is currently +aware of (note that this list, by definition, is likely to be incomplete): + +- Hibernate, an LGPL project, is being used. Hibernate is in the process of + relicensing to ASL v2 +- Some files, particularly test files, and those not supporting comments, may + be missing the ASF Licensing Header + +If you are planning to incorporate this work into your product/project, please +be aware that you will need to conduct a thorough licensing review to determine +the overall implications of including this work. For the current status of this +project through the Apache Incubator visit: +https://incubator.apache.org/projects/kie.html diff --git a/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/env/index.js b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/env/index.js new file mode 100644 index 00000000000..734abe65e59 --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/env/index.js @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +const { varsWithName, composeEnv } = require("@kie-tools-scripts/build-env"); + +module.exports = composeEnv([require("@kie-tools/root-env/env")], { + vars: varsWithName({}), + get env() { + return { + microFrontendsMultiplyingArchitectureBase64PngEditorOnWebappExample: { + port: 7774, + }, + }; + }, +}); diff --git a/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/package.json b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/package.json new file mode 100644 index 00000000000..97c9b2036fd --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/package.json @@ -0,0 +1,35 @@ +{ + "private": true, + "name": "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp", + "version": "0.0.0", + "license": "Apache-2.0", + "scripts": { + "build": "rimraf dist && webpack", + "build:dev": "run-script-if --bool \"$(build-env examples.build)\" --then \"pnpm build --env dev\"", + "build:prod": "run-script-if --bool \"$(build-env examples.build)\" --then \"pnpm build\"", + "start": "webpack serve --host 0.0.0.0 --env dev" + }, + "devDependencies": { + "@kie-tools-core/editor": "workspace:*", + "@kie-tools-core/envelope-bus": "workspace:*", + "@kie-tools-core/patternfly-base": "workspace:*", + "@kie-tools-core/react-hooks": "workspace:*", + "@kie-tools-core/webpack-base": "workspace:*", + "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor": "workspace:*", + "@kie-tools/root-env": "workspace:*", + "@kie-tools/tsconfig": "workspace:*", + "@patternfly/react-core": "^4.276.6", + "@patternfly/react-icons": "^4.93.6", + "@types/react": "^17.0.6", + "@types/react-dom": "^17.0.5", + "copy-webpack-plugin": "^11.0.0", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "rimraf": "^3.0.2", + "typescript": "^5.5.3", + "webpack": "^5.94.0", + "webpack-cli": "^4.10.0", + "webpack-dev-server": "^4.15.1", + "webpack-merge": "^5.9.0" + } +} diff --git a/examples/webapp/src/envelope/base64-editor.ts b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src/Base64PngEditorEnvelope.ts similarity index 90% rename from examples/webapp/src/envelope/base64-editor.ts rename to examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src/Base64PngEditorEnvelope.ts index 203fb7eea98..1ddad5d725c 100644 --- a/examples/webapp/src/envelope/base64-editor.ts +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src/Base64PngEditorEnvelope.ts @@ -18,7 +18,7 @@ */ import * as EditorEnvelope from "@kie-tools-core/editor/dist/envelope"; -import { Base64PngEditorFactory } from "@kie-tools-examples/base64png-editor"; +import { Base64PngEditorFactory } from "@kie-tools-examples//micro-frontends-multiplying-architecture-base64png-editor"; EditorEnvelope.init({ container: document.getElementById("envelope-app")!, diff --git a/examples/webapp/src/Pages/Base64Png/Base64PngPage.tsx b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src/Base64PngEditorPage.tsx similarity index 92% rename from examples/webapp/src/Pages/Base64Png/Base64PngPage.tsx rename to examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src/Base64PngEditorPage.tsx index 5b4391ae4f1..5bc508dfcba 100644 --- a/examples/webapp/src/Pages/Base64Png/Base64PngPage.tsx +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src/Base64PngEditorPage.tsx @@ -27,10 +27,10 @@ import { EmbeddedEditorFile } from "@kie-tools-core/editor/dist/channel"; import { Base64PngGallery } from "./Base64PngGallery"; /** - * The Base64 PNG Page which contains the Base64 PNG Editor and a Gallery to open samples on the editor. + * The Base64 PNG Editor Page which contains the Base64 PNG Editor and a Gallery to open samples on the editor. * @constructor */ -export function Base64PngPage() { +export function Base64PngEditorPage() { /** * State that handles the file. It's important to type with the File type of the @kie-tools/dist/embedded. * It's initialized with an empty file with the base64png extension. The file is used by the EmbeddedEditor to set the content on the Editor. Updating the file will trigger a re-render on the Editor because the EmbeddedEditor will set updated content on the Editor. @@ -52,8 +52,8 @@ export function Base64PngPage() { new EnvelopeMapping({ type: "base64png", filePathGlob: "**/*.base64png", - resourcesPathPrefix: "envelope/", - envelopeContent: { type: EnvelopeContentType.PATH, path: "envelope/base64-editor.html" }, + resourcesPathPrefix: "", + envelopeContent: { type: EnvelopeContentType.PATH, path: "base64png-editor-envelope.html" }, }), ]), [] diff --git a/examples/webapp/src/Pages/Base64Png/Base64PngGallery.tsx b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src/Base64PngGallery.tsx similarity index 100% rename from examples/webapp/src/Pages/Base64Png/Base64PngGallery.tsx rename to examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src/Base64PngGallery.tsx diff --git a/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src/index.css b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src/index.css new file mode 100644 index 00000000000..054631e205c --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src/index.css @@ -0,0 +1,52 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +.webapp--page-main-div { + display: flex; + height: 100%; +} + +.webapp--page-navigation { + background-color: rgb(24, 24, 24); + height: 100%; +} + +.webapp--page-navigation-title-div { + display: flex; + justify-content: center; + align-items: center; +} + +.webapp--page-navigation-title-h3 { + color: white; + padding: 20px; +} + +.webapp--page-base64png-gallery--navigation-nav-item { + display: flex; + align-items: center; +} + +.webapp--page-base64png-gallery--navigation-nav-item:hover { + width: 200px; +} + +.webapp--page-base64png-gallery--navigation-nav-item-card { + width: 200px; +} diff --git a/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src/index.tsx b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src/index.tsx new file mode 100644 index 00000000000..34997761674 --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/src/index.tsx @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import "@patternfly/react-core/dist/styles/base.css"; +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import { Brand } from "@patternfly/react-core/dist/js/components/Brand"; +import { Nav, NavItem, NavList } from "@patternfly/react-core/dist/js/components/Nav"; +import { Page, PageHeader } from "@patternfly/react-core/dist/js/components/Page"; +import { Base64PngEditorPage } from "./Base64PngEditorPage"; +import "./index.css"; + +ReactDOM.render( + } + topNav={ + + } + /> + } + > + + , + document.getElementById("app") +); diff --git a/examples/webapp/envelope/base64-editor.html b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/base64-png-editor-envelope.html similarity index 95% rename from examples/webapp/envelope/base64-editor.html rename to examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/base64-png-editor-envelope.html index 2f636449b11..95aed75990b 100644 --- a/examples/webapp/envelope/base64-editor.html +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/base64-png-editor-envelope.html @@ -40,6 +40,6 @@
- + diff --git a/examples/webapp/static/examples/dorinha.base64png b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/examples/dorinha.base64png similarity index 100% rename from examples/webapp/static/examples/dorinha.base64png rename to examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/examples/dorinha.base64png diff --git a/examples/webapp/static/examples/luiz.base64png b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/examples/luiz.base64png similarity index 100% rename from examples/webapp/static/examples/luiz.base64png rename to examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/examples/luiz.base64png diff --git a/examples/webapp/static/examples/sample.base64png b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/examples/sample.base64png similarity index 100% rename from examples/webapp/static/examples/sample.base64png rename to examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/examples/sample.base64png diff --git a/examples/webapp/static/examples/tiago.base64png b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/examples/tiago.base64png similarity index 100% rename from examples/webapp/static/examples/tiago.base64png rename to examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/examples/tiago.base64png diff --git a/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/index.html b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/index.html new file mode 100644 index 00000000000..e3b2d0cacb1 --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/index.html @@ -0,0 +1,32 @@ + + + + + + Apache KIE Tools Examples :: Base64 PNG Editor on webapp + + + + + +
+ + + diff --git a/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/logo.png b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..36915163541a161c99c557f0d6ed0b12b444aae6 GIT binary patch literal 30305 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 [ + merge(common(webpackEnv), { + entry: { + index: "./src/index.tsx", + "base64png-editor-envelope": "./src/Base64PngEditorEnvelope.ts", + }, + output: { + publicPath: "/", + }, + module: { + rules: [...patternflyBase.webpackModuleRules], + }, + plugins: [ + new CopyPlugin({ + patterns: [{ from: "./static", to: "." }], + }), + ], + devServer: { + historyApiFallback: false, + static: [{ directory: path.join(__dirname, "./dist") }, { directory: path.join(__dirname, "./static") }], + compress: true, + port: env.microFrontendsMultiplyingArchitectureBase64PngEditorOnWebappExample.port, + }, + ignoreWarnings: [/Failed to parse source map/], + }), +]; diff --git a/examples/base64png-editor-vscode-extension/.vscodeignore b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/.vscodeignore similarity index 100% rename from examples/base64png-editor-vscode-extension/.vscodeignore rename to examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/.vscodeignore diff --git a/examples/todo-list-view-vscode-extension/LICENSE b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/LICENSE similarity index 100% rename from examples/todo-list-view-vscode-extension/LICENSE rename to examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/LICENSE diff --git a/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/README.md b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/README.md new file mode 100644 index 00000000000..b69039b0c8c --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/README.md @@ -0,0 +1,44 @@ + + +## Example :: Micro-frontends Multiplying Architecture Base64 PNG Editor - VS Code Extension + +--- + +Apache KIE (incubating) is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the name of Apache Incubator. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + +Some of the incubating project’s releases may not be fully compliant with ASF +policy. For example, releases may have incomplete or un-reviewed licensing +conditions. What follows is a list of known issues the project is currently +aware of (note that this list, by definition, is likely to be incomplete): + +- Hibernate, an LGPL project, is being used. Hibernate is in the process of + relicensing to ASL v2 +- Some files, particularly test files, and those not supporting comments, may + be missing the ASF Licensing Header + +If you are planning to incorporate this work into your product/project, please +be aware that you will need to conduct a thorough licensing review to determine +the overall implications of including this work. For the current status of this +project through the Apache Incubator visit: +https://incubator.apache.org/projects/kie.html diff --git a/examples/base64png-editor-vscode-extension/env/index.js b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/env/index.js similarity index 100% rename from examples/base64png-editor-vscode-extension/env/index.js rename to examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/env/index.js diff --git a/examples/base64png-editor-vscode-extension/package.json b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/package.json similarity index 72% rename from examples/base64png-editor-vscode-extension/package.json rename to examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/package.json index 6155b482575..b1f4b7e1394 100644 --- a/examples/base64png-editor-vscode-extension/package.json +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/package.json @@ -1,6 +1,6 @@ { "private": true, - "name": "kie-tools-examples-base64png-editor-vscode-extension", + "name": "kie-tools-examples-micro-frontends-multiplying-architecture-base64png-editor-vscode-extension", "version": "0.0.0", "description": "", "license": "Apache-2.0", @@ -19,18 +19,16 @@ "build:dev": "run-script-if --bool \"$(build-env examples.build)\" --then \"pnpm build --env dev\"", "build:prod": "run-script-if --bool \"$(build-env examples.build)\" --then \"pnpm build\" \"pnpm pack\"", "compile": "pnpm build --env dev", - "pack": "vsce package --no-dependencies -o ./dist/kie_tools_examples_base64_editor_vscode_extension_$npm_package_version.vsix", + "pack": "vsce package --no-dependencies -o ./dist/kie_tools_examples_base64_png_editor_vscode_extension_$npm_package_version.vsix", "watch": "export WEBPACK__sourceMaps=true; WEBPACK__minimize=false; webpack --env dev" }, - "dependencies": { + "devDependencies": { "@kie-tools-core/editor": "workspace:*", "@kie-tools-core/i18n": "workspace:*", "@kie-tools-core/patternfly-base": "workspace:*", "@kie-tools-core/vscode-extension": "workspace:*", - "@kie-tools-examples/base64png-editor": "workspace:*" - }, - "devDependencies": { "@kie-tools-core/webpack-base": "workspace:*", + "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", "@types/vscode": "1.67.0", @@ -43,16 +41,16 @@ "webpack-merge": "^5.9.0" }, "engines": { - "vscode": "^1.67.0" + "vscode": "^1.75.0" }, - "displayName": "Kogito Base64 PNG Editor", + "displayName": "KIE Tools Example :: Micro-frontends Multiplying Architecture :: Base64 PNG Editor", "categories": [ "Other" ], "contributes": { "commands": [ { - "command": "extension.kogito.createBase64Png", + "command": "extension.kie.tools.examples.base64PngEditor.createBase64Png", "icon": { "dark": "./static/kogito-logo-128x128.png", "light": "./static/kogito-logo-128x128.png" @@ -60,23 +58,23 @@ "title": "Create Base64 PNG" }, { - "command": "extension.kogito.getPreviewSvg", + "command": "extension.kie.tools.examples.base64PngEditor.getPreviewSvg", "icon": { "dark": "./static/svg-icon-dark.png", "light": "./static/svg-icon-light.png" }, - "title": "Save Preview SVG" + "title": "Base64 PNG Editor :: Save preview SVG" } ], "customEditors": [ { - "displayName": "Kogito Base64Png React Editor", + "displayName": "KIE Tools Example :: Base64 PNG Editor", "selector": [ { "filenamePattern": "*.base64png" } ], - "viewType": "kieKogitoWebviewBase64PNGEditor" + "viewType": "kieToolsExampleBase64PngEditor" } ], "languages": [ @@ -104,30 +102,26 @@ "menus": { "commandPalette": [ { - "command": "extension.kogito.createBase64Png", + "command": "extension.kie.tools.examples.base64PngEditor.createBase64Png", "when": "resourceLangId == png" }, { - "command": "extension.kogito.getPreviewSvg", + "command": "extension.kie.tools.examples.base64PngEditor.getPreviewSvg", "when": "resourceLangId == base64png" } ], "editor/title": [ { - "command": "extension.kogito.createBase64Png", + "command": "extension.kie.tools.examples.base64PngEditor.createBase64Png", "group": "navigation", "when": "resourceLangId == png" }, { - "command": "extension.kogito.getPreviewSvg", + "command": "extension.kie.tools.examples.base64PngEditor.getPreviewSvg", "group": "navigation", "when": "resourceLangId == base64png" } ] } - }, - "activationEvents": [ - "onCustomEditor:kieKogitoWebviewBase64PNGEditor", - "onCommand:extension.kogito.createBase64Png" - ] + } } diff --git a/examples/base64png-editor-vscode-extension/src/envelope/index.ts b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/src/Base64PngEditorEnvelope.ts similarity index 92% rename from examples/base64png-editor-vscode-extension/src/envelope/index.ts rename to examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/src/Base64PngEditorEnvelope.ts index 3dc6519bb84..7718be54708 100644 --- a/examples/base64png-editor-vscode-extension/src/envelope/index.ts +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/src/Base64PngEditorEnvelope.ts @@ -18,7 +18,7 @@ */ import * as EditorEnvelope from "@kie-tools-core/editor/dist/envelope"; -import { Base64PngEditorFactory } from "@kie-tools-examples/base64png-editor"; +import { Base64PngEditorFactory } from "@kie-tools-examples//micro-frontends-multiplying-architecture-base64png-editor"; declare global { export const acquireVsCodeApi: any; diff --git a/examples/base64png-editor-vscode-extension/src/extension.ts b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/src/extension.ts similarity index 73% rename from examples/base64png-editor-vscode-extension/src/extension.ts rename to examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/src/extension.ts index 46efb46d375..314e2a0706f 100644 --- a/examples/base64png-editor-vscode-extension/src/extension.ts +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/src/extension.ts @@ -39,15 +39,15 @@ export function activate(context: vscode.ExtensionContext) { KogitoVsCode.startExtension({ extensionName: "kie-tools-examples.base64png-editor-vscode-extension", context: context, - viewType: "kieKogitoWebviewBase64PNGEditor", - generateSvgCommandId: "extension.kogito.getPreviewSvg", + viewType: "kieToolsExampleBase64PngEditor", + generateSvgCommandId: "extension.kie.tools.examples.base64PngEditor.getPreviewSvg", silentlyGenerateSvgCommandId: "", editorEnvelopeLocator: new EditorEnvelopeLocator("vscode", [ new EnvelopeMapping({ type: "base64png", filePathGlob: "**/*.base64png", resourcesPathPrefix: "dist/", - envelopeContent: { type: EnvelopeContentType.PATH, path: "dist/envelope/index.js" }, + envelopeContent: { type: EnvelopeContentType.PATH, path: "dist/base64png-editor-envelope.js" }, }), ]), }); @@ -61,21 +61,24 @@ export function activate(context: vscode.ExtensionContext) { * * To use it, can click on the Kogito icon on the top right or use the VS Code command pallet. */ - vscode.commands.registerCommand("extension.kogito.createBase64Png", (file: { fsPath: string }) => { - const buffer = fs.readFileSync(file.fsPath); - const parsedPath = path.parse(file.fsPath); - const base64FileName = `${parsedPath.name}${parsedPath.ext}.base64png`; - const base64AbsoluteFsPath = path.join(parsedPath.dir, base64FileName); - fs.writeFileSync(base64AbsoluteFsPath, buffer.toString("base64")); + vscode.commands.registerCommand( + "extension.kie.tools.examples.base64PngEditor.createBase64Png", + (file: { fsPath: string }) => { + const buffer = fs.readFileSync(file.fsPath); + const parsedPath = path.parse(file.fsPath); + const base64FileName = `${parsedPath.name}${parsedPath.ext}.base64png`; + const base64AbsoluteFsPath = path.join(parsedPath.dir, base64FileName); + fs.writeFileSync(base64AbsoluteFsPath, buffer.toString("base64")); - vscode.window.showInformationMessage("Generated the Base64 file with success!", "Open").then((selected) => { - if (!selected) { - return; - } + vscode.window.showInformationMessage("Generated the Base64 file with success!", "Open").then((selected) => { + if (!selected) { + return; + } - vscode.commands.executeCommand("vscode.open", vscode.Uri.file(base64AbsoluteFsPath)); - }); - }) + vscode.commands.executeCommand("vscode.open", vscode.Uri.file(base64AbsoluteFsPath)); + }); + } + ) ); console.info("Extension is successfully setup."); diff --git a/examples/base64png-editor-vscode-extension/static/kogito-logo-128x128.png b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/static/kogito-logo-128x128.png similarity index 100% rename from examples/base64png-editor-vscode-extension/static/kogito-logo-128x128.png rename to examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/static/kogito-logo-128x128.png diff --git a/examples/base64png-editor-vscode-extension/static/svg-icon-dark.png b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/static/svg-icon-dark.png similarity index 100% rename from examples/base64png-editor-vscode-extension/static/svg-icon-dark.png rename to examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/static/svg-icon-dark.png diff --git a/examples/base64png-editor-vscode-extension/static/svg-icon-light.png b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/static/svg-icon-light.png similarity index 100% rename from examples/base64png-editor-vscode-extension/static/svg-icon-light.png rename to examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/static/svg-icon-light.png diff --git a/examples/base64png-editor-vscode-extension/tsconfig.json b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/tsconfig.json similarity index 100% rename from examples/base64png-editor-vscode-extension/tsconfig.json rename to examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/tsconfig.json diff --git a/examples/base64png-editor-vscode-extension/webpack.config.js b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/webpack.config.js similarity index 93% rename from examples/base64png-editor-vscode-extension/webpack.config.js rename to examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/webpack.config.js index 40755ee3aaf..171f6889bf6 100644 --- a/examples/base64png-editor-vscode-extension/webpack.config.js +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/webpack.config.js @@ -24,7 +24,7 @@ const { merge } = require("webpack-merge"); const commonConfig = (webpackEnv) => merge(common(webpackEnv), { output: { - library: "VsCodePackSimpleReact", + library: "Base64PngEditorEntrypoint", libraryTarget: "umd", umdNamedDefine: true, }, @@ -44,7 +44,7 @@ module.exports = (webpackEnv) => [ merge(commonConfig(webpackEnv), { target: "web", entry: { - "envelope/index": "./src/envelope/index.ts", + "base64png-editor-envelope": "./src/Base64PngEditorEnvelope.ts", }, module: { rules: [...patternflyBase.webpackModuleRules], diff --git a/examples/todo-list-view/LICENSE b/examples/micro-frontends-multiplying-architecture-base64png-editor/LICENSE similarity index 100% rename from examples/todo-list-view/LICENSE rename to examples/micro-frontends-multiplying-architecture-base64png-editor/LICENSE diff --git a/examples/base64png-editor/README.md b/examples/micro-frontends-multiplying-architecture-base64png-editor/README.md similarity index 91% rename from examples/base64png-editor/README.md rename to examples/micro-frontends-multiplying-architecture-base64png-editor/README.md index 8e0e6fb6397..775ac9f501d 100644 --- a/examples/base64png-editor/README.md +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor/README.md @@ -15,9 +15,7 @@ under the License. --> -# Base64 PNG Editor - -You can read [here](https://blog.kie.org/2020/10/kogito-tooling-examples%e2%80%8a-%e2%80%8ahow-to-create-a-custom-editor-in-a-react-application.html) a step-by-step tutorial of how this custom Editor was built. +## Example :: Micro-frontends Multiplying Architecture Base64 PNG Editor This package is a Custom Editor made with React, which enables you to edit a `.base64png` file. diff --git a/examples/base64png-editor/env/index.js b/examples/micro-frontends-multiplying-architecture-base64png-editor/env/index.js similarity index 100% rename from examples/base64png-editor/env/index.js rename to examples/micro-frontends-multiplying-architecture-base64png-editor/env/index.js diff --git a/examples/base64png-editor/package.json b/examples/micro-frontends-multiplying-architecture-base64png-editor/package.json similarity index 93% rename from examples/base64png-editor/package.json rename to examples/micro-frontends-multiplying-architecture-base64png-editor/package.json index 57aff01bf6b..5901012dc8a 100644 --- a/examples/base64png-editor/package.json +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor/package.json @@ -1,6 +1,6 @@ { "private": true, - "name": "@kie-tools-examples/base64png-editor", + "name": "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor", "version": "0.0.0", "license": "Apache-2.0", "homepage": "https://github.com/apache/incubator-kie-tools", diff --git a/examples/base64png-editor/src/styles.scss b/examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditor.scss similarity index 100% rename from examples/base64png-editor/src/styles.scss rename to examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditor.scss diff --git a/examples/base64png-editor/src/Base64PngEditor.tsx b/examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditor.tsx similarity index 99% rename from examples/base64png-editor/src/Base64PngEditor.tsx rename to examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditor.tsx index 2384e514167..2530789858d 100644 --- a/examples/base64png-editor/src/Base64PngEditor.tsx +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditor.tsx @@ -25,10 +25,10 @@ import { Nav, NavItem, NavList } from "@patternfly/react-core/dist/js/components import { Page } from "@patternfly/react-core/dist/js/components/Page"; import { Switch } from "@patternfly/react-core/dist/js/components/Switch"; import { Title } from "@patternfly/react-core/dist/js/components/Title"; -import CubesIcon from "@patternfly/react-icons/dist/js/icons/cubes-icon"; -import "./styles.scss"; +import { CubesIcon } from "@patternfly/react-icons/dist/js/icons/cubes-icon"; import { Base64PngEdit, Base64PngStateControl } from "./Base64PngStateControl"; import { KogitoEditorChannelApi } from "@kie-tools-core/editor/dist/api"; +import "./Base64PngEditor.scss"; const INITIAL_CONTRAST = "100"; const INITIAL_BRIGHTNESS = "100"; @@ -549,7 +549,7 @@ export const Base64PngEditor = React.forwardRef((props, forwar {stateControl.isDirty() && (
-

Image was Edited!

+

Image was edited.

)} diff --git a/examples/base64png-editor/src/Base64PngEditorFactory.ts b/examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditorFactory.ts similarity index 100% rename from examples/base64png-editor/src/Base64PngEditorFactory.ts rename to examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditorFactory.ts diff --git a/examples/base64png-editor/src/Base64PngEditorInterface.tsx b/examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditorInterface.tsx similarity index 100% rename from examples/base64png-editor/src/Base64PngEditorInterface.tsx rename to examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditorInterface.tsx diff --git a/examples/base64png-editor/src/Base64PngStateControl.ts b/examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngStateControl.ts similarity index 100% rename from examples/base64png-editor/src/Base64PngStateControl.ts rename to examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngStateControl.ts diff --git a/examples/base64png-editor/src/index.ts b/examples/micro-frontends-multiplying-architecture-base64png-editor/src/index.ts similarity index 100% rename from examples/base64png-editor/src/index.ts rename to examples/micro-frontends-multiplying-architecture-base64png-editor/src/index.ts diff --git a/examples/base64png-editor/tsconfig.json b/examples/micro-frontends-multiplying-architecture-base64png-editor/tsconfig.json similarity index 100% rename from examples/base64png-editor/tsconfig.json rename to examples/micro-frontends-multiplying-architecture-base64png-editor/tsconfig.json diff --git a/examples/ping-pong-view-angular/README.md b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/README.md similarity index 96% rename from examples/ping-pong-view-angular/README.md rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/README.md index 2c6cb73d7dc..9bb5e7db408 100644 --- a/examples/ping-pong-view-angular/README.md +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/README.md @@ -15,7 +15,7 @@ under the License. --> -# Ping-Pong View :: Angular implementation +## Example :: Micro-frontends Multiplying Architrecure Ping-Pong View - Angular implementation The Ping-Pong View is an interface that components can implement to be used inside a Ping-Pong View Envelope. diff --git a/examples/ping-pong-view-angular/angular.json b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/angular.json similarity index 100% rename from examples/ping-pong-view-angular/angular.json rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/angular.json diff --git a/examples/ping-pong-view-angular/env/index.js b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/env/index.js similarity index 100% rename from examples/ping-pong-view-angular/env/index.js rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/env/index.js diff --git a/examples/ping-pong-view-angular/lib/index.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/lib/index.ts similarity index 100% rename from examples/ping-pong-view-angular/lib/index.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/lib/index.ts diff --git a/examples/ping-pong-view-angular/package.json b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/package.json similarity index 89% rename from examples/ping-pong-view-angular/package.json rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/package.json index 00203a99c1b..ead7381b04b 100644 --- a/examples/ping-pong-view-angular/package.json +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/package.json @@ -1,6 +1,6 @@ { "private": true, - "name": "@kie-tools-examples/ping-pong-view-angular", + "name": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular", "version": "0.0.0", "license": "Apache-2.0", "keywords": [], @@ -35,7 +35,7 @@ "@angular/platform-browser-dynamic": "^18.1.2", "@kie-tools-core/envelope": "workspace:*", "@kie-tools-core/envelope-bus": "workspace:*", - "@kie-tools-examples/ping-pong-view": "workspace:*", + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view": "workspace:*", "rxjs": "^7.4.0", "zone.js": "^0.14.8" }, diff --git a/examples/ping-pong-view-angular/src/app/app.component.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/app/app.component.ts similarity index 100% rename from examples/ping-pong-view-angular/src/app/app.component.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/app/app.component.ts diff --git a/examples/ping-pong-view-angular/src/app/app.module.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/app/app.module.ts similarity index 100% rename from examples/ping-pong-view-angular/src/app/app.module.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/app/app.module.ts diff --git a/examples/ping-pong-view-angular/src/app/ping-pong/ping-pong-api.service.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/app/ping-pong/ping-pong-api.service.ts similarity index 94% rename from examples/ping-pong-view-angular/src/app/ping-pong/ping-pong-api.service.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/app/ping-pong/ping-pong-api.service.ts index 16a10b8c2cb..be45813b618 100644 --- a/examples/ping-pong-view-angular/src/app/ping-pong/ping-pong-api.service.ts +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/app/ping-pong/ping-pong-api.service.ts @@ -19,8 +19,11 @@ import { Injectable } from "@angular/core"; import { MessageBusClientApi } from "@kie-tools-core/envelope-bus/dist/api"; -import { PingPongChannelApi, PingPongInitArgs } from "@kie-tools-examples/ping-pong-view/dist/api"; -import { PingPongFactory } from "@kie-tools-examples/ping-pong-view/dist/envelope"; +import { + PingPongChannelApi, + PingPongInitArgs, +} from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view/dist/api"; +import { PingPongFactory } from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view/dist/envelope"; import { ReplaySubject, BehaviorSubject, Subject } from "rxjs"; declare global { diff --git a/examples/ping-pong-view-angular/src/app/ping-pong/ping-pong.component.css b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/app/ping-pong/ping-pong.component.css similarity index 100% rename from examples/ping-pong-view-angular/src/app/ping-pong/ping-pong.component.css rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/app/ping-pong/ping-pong.component.css diff --git a/examples/ping-pong-view-angular/src/app/ping-pong/ping-pong.component.html b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/app/ping-pong/ping-pong.component.html similarity index 100% rename from examples/ping-pong-view-angular/src/app/ping-pong/ping-pong.component.html rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/app/ping-pong/ping-pong.component.html diff --git a/examples/ping-pong-view-angular/src/app/ping-pong/ping-pong.component.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/app/ping-pong/ping-pong.component.ts similarity index 95% rename from examples/ping-pong-view-angular/src/app/ping-pong/ping-pong.component.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/app/ping-pong/ping-pong.component.ts index e3e871e7313..f07019dcfca 100644 --- a/examples/ping-pong-view-angular/src/app/ping-pong/ping-pong.component.ts +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/app/ping-pong/ping-pong.component.ts @@ -19,7 +19,7 @@ import { PingPongApiService, LogEntry } from "./ping-pong-api.service"; import { Component, Input, OnInit } from "@angular/core"; -import * as PingPongViewEnvelope from "@kie-tools-examples/ping-pong-view/dist/envelope"; +import * as PingPongViewEnvelope from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view/dist/envelope"; import { ContainerType } from "@kie-tools-core/envelope/dist/api"; import { Observable, scan } from "rxjs"; import { CommonModule } from "@angular/common"; diff --git a/examples/ping-pong-view-angular/src/app/web-component/web-component.component.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/app/web-component/web-component.component.ts similarity index 100% rename from examples/ping-pong-view-angular/src/app/web-component/web-component.component.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/app/web-component/web-component.component.ts diff --git a/examples/ping-pong-view-angular/src/app/web-component/web-component.main.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/app/web-component/web-component.main.ts similarity index 100% rename from examples/ping-pong-view-angular/src/app/web-component/web-component.main.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/app/web-component/web-component.main.ts diff --git a/examples/ping-pong-view-angular/src/assets/.gitkeep b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/assets/.gitkeep similarity index 100% rename from examples/ping-pong-view-angular/src/assets/.gitkeep rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/assets/.gitkeep diff --git a/examples/ping-pong-view-angular/src/environments/environment.prod.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/environments/environment.prod.ts similarity index 100% rename from examples/ping-pong-view-angular/src/environments/environment.prod.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/environments/environment.prod.ts diff --git a/examples/ping-pong-view-angular/src/environments/environment.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/environments/environment.ts similarity index 100% rename from examples/ping-pong-view-angular/src/environments/environment.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/environments/environment.ts diff --git a/examples/ping-pong-view-angular/src/favicon.ico b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/favicon.ico similarity index 100% rename from examples/ping-pong-view-angular/src/favicon.ico rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/favicon.ico diff --git a/examples/ping-pong-view-angular/src/index.html b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/index.html similarity index 100% rename from examples/ping-pong-view-angular/src/index.html rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/index.html diff --git a/examples/ping-pong-view-angular/src/main.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/main.ts similarity index 100% rename from examples/ping-pong-view-angular/src/main.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/main.ts diff --git a/examples/ping-pong-view-angular/src/polyfills.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/polyfills.ts similarity index 100% rename from examples/ping-pong-view-angular/src/polyfills.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/polyfills.ts diff --git a/examples/ping-pong-view-angular/src/styles.css b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/styles.css similarity index 100% rename from examples/ping-pong-view-angular/src/styles.css rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/styles.css diff --git a/examples/ping-pong-view-angular/src/test.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/test.ts similarity index 100% rename from examples/ping-pong-view-angular/src/test.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/src/test.ts diff --git a/examples/ping-pong-view-angular/tsconfig.app.json b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/tsconfig.app.json similarity index 100% rename from examples/ping-pong-view-angular/tsconfig.app.json rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/tsconfig.app.json diff --git a/examples/ping-pong-view-angular/tsconfig.json b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/tsconfig.json similarity index 100% rename from examples/ping-pong-view-angular/tsconfig.json rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/tsconfig.json diff --git a/examples/ping-pong-view-angular/tsconfig.lib.json b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/tsconfig.lib.json similarity index 100% rename from examples/ping-pong-view-angular/tsconfig.lib.json rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/tsconfig.lib.json diff --git a/examples/ping-pong-view-angular/tsconfig.wc.json b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/tsconfig.wc.json similarity index 100% rename from examples/ping-pong-view-angular/tsconfig.wc.json rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/tsconfig.wc.json diff --git a/examples/webapp/LICENSE b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/LICENSE similarity index 100% rename from examples/webapp/LICENSE rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/LICENSE diff --git a/examples/ping-pong-view-react/README.md b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/README.md similarity index 91% rename from examples/ping-pong-view-react/README.md rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/README.md index 92a9cc34192..5e7680dbcc3 100644 --- a/examples/ping-pong-view-react/README.md +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/README.md @@ -15,9 +15,7 @@ under the License. --> -# Ping-Pong View :: React implementation - -You can read [here](https://blog.kie.org/2020/10/kogito-tooling-examples-how-to-create-a-more-complex-custom-view.html) a step-by-step tutorial of how this custom View was built. +## Example :: Micro-frontends Multiplying Architrecure Ping-Pong View - React implementation The Ping-Pong View is an interface that components can implement to be used inside a Ping-Pong View Envelope. diff --git a/examples/ping-pong-view-react/env/index.js b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/env/index.js similarity index 100% rename from examples/ping-pong-view-react/env/index.js rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/env/index.js diff --git a/examples/ping-pong-view-react/package.json b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/package.json similarity index 86% rename from examples/ping-pong-view-react/package.json rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/package.json index 788b9573efd..5c7a1b111c0 100644 --- a/examples/ping-pong-view-react/package.json +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/package.json @@ -1,6 +1,6 @@ { "private": true, - "name": "@kie-tools-examples/ping-pong-view-react", + "name": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react", "version": "0.0.0", "license": "Apache-2.0", "homepage": "https://github.com/apache/incubator-kie-tools", @@ -25,7 +25,7 @@ "dependencies": { "@kie-tools-core/envelope": "workspace:*", "@kie-tools-core/envelope-bus": "workspace:*", - "@kie-tools-examples/ping-pong-view": "workspace:*" + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view": "workspace:*" }, "devDependencies": { "@kie-tools/root-env": "workspace:*", diff --git a/examples/ping-pong-view-react/src/PingPongEnvelopeView.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/src/PingPongEnvelopeView.tsx similarity index 93% rename from examples/ping-pong-view-react/src/PingPongEnvelopeView.tsx rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/src/PingPongEnvelopeView.tsx index a9f3492659e..038512b1e31 100644 --- a/examples/ping-pong-view-react/src/PingPongEnvelopeView.tsx +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/src/PingPongEnvelopeView.tsx @@ -19,7 +19,7 @@ import * as React from "react"; import { useEffect, useState } from "react"; -import * as PingPongViewEnvelope from "@kie-tools-examples/ping-pong-view/dist/envelope"; +import * as PingPongViewEnvelope from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view/dist/envelope"; import { PingPongReactImplFactory } from "."; import "./styles.css"; import { EnvelopeDivConfig, EnvelopeIFrameConfig } from "@kie-tools-core/envelope"; diff --git a/examples/ping-pong-view-react/src/PingPongReactImpl.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/src/PingPongReactImpl.tsx similarity index 96% rename from examples/ping-pong-view-react/src/PingPongReactImpl.tsx rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/src/PingPongReactImpl.tsx index 221dfbd3b60..5bb22863313 100644 --- a/examples/ping-pong-view-react/src/PingPongReactImpl.tsx +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/src/PingPongReactImpl.tsx @@ -19,7 +19,11 @@ import * as React from "react"; import { useCallback, useImperativeHandle, useLayoutEffect, useMemo, useState } from "react"; -import { PingPongApi, PingPongChannelApi, PingPongInitArgs } from "@kie-tools-examples/ping-pong-view/dist/api"; +import { + PingPongApi, + PingPongChannelApi, + PingPongInitArgs, +} from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view/dist/api"; import { MessageBusClientApi } from "@kie-tools-core/envelope-bus/dist/api"; import { useSubscription } from "@kie-tools-core/envelope-bus/dist/hooks"; diff --git a/examples/ping-pong-view-react/src/PingPongReactImplFactory.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/src/PingPongReactImplFactory.tsx similarity index 83% rename from examples/ping-pong-view-react/src/PingPongReactImplFactory.tsx rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/src/PingPongReactImplFactory.tsx index 3ae1f5c15f6..6ef2816c3b9 100644 --- a/examples/ping-pong-view-react/src/PingPongReactImplFactory.tsx +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/src/PingPongReactImplFactory.tsx @@ -20,8 +20,12 @@ import { MessageBusClientApi } from "@kie-tools-core/envelope-bus/dist/api"; import * as React from "react"; import { PingPongReactImpl } from "./PingPongReactImpl"; -import { PingPongFactory } from "@kie-tools-examples/ping-pong-view/dist/envelope"; -import { PingPongApi, PingPongChannelApi, PingPongInitArgs } from "@kie-tools-examples/ping-pong-view/dist/api"; +import { PingPongFactory } from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view/dist/envelope"; +import { + PingPongApi, + PingPongChannelApi, + PingPongInitArgs, +} from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view/dist/api"; export class PingPongReactImplFactory implements PingPongFactory { constructor(private setView: React.Dispatch>) {} diff --git a/examples/ping-pong-view-react/src/div/index.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/src/div/index.tsx similarity index 100% rename from examples/ping-pong-view-react/src/div/index.tsx rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/src/div/index.tsx diff --git a/examples/ping-pong-view-react/src/iframe/index.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/src/iframe/index.tsx similarity index 100% rename from examples/ping-pong-view-react/src/iframe/index.tsx rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/src/iframe/index.tsx diff --git a/examples/ping-pong-view-react/src/index.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/src/index.ts similarity index 100% rename from examples/ping-pong-view-react/src/index.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/src/index.ts diff --git a/examples/ping-pong-view-react/src/styles.css b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/src/styles.css similarity index 100% rename from examples/ping-pong-view-react/src/styles.css rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/src/styles.css diff --git a/examples/ping-pong-view-react/tsconfig.json b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/tsconfig.json similarity index 100% rename from examples/ping-pong-view-react/tsconfig.json rename to examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/tsconfig.json diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-view/LICENSE b/examples/micro-frontends-multiplying-architecture-ping-pong-view/LICENSE new file mode 100644 index 00000000000..261eeb9e9f8 --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-view/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/examples/ping-pong-view/README.md b/examples/micro-frontends-multiplying-architecture-ping-pong-view/README.md similarity index 96% rename from examples/ping-pong-view/README.md rename to examples/micro-frontends-multiplying-architecture-ping-pong-view/README.md index cd13dbc988b..60c30a000ad 100644 --- a/examples/ping-pong-view/README.md +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-view/README.md @@ -15,9 +15,7 @@ under the License. --> -# Ping-Pong View - -You can read [here](https://blog.kie.org/2020/10/kogito-tooling-examples-how-to-create-a-more-complex-custom-view.html) a step-by-step tutorial of how this custom View was built. +## Example :: Micro-frontends Multiplying Architrecure Ping-Pong View This package exposes the necessary files for you to create a Ping-Pong View Envelope with your Ping-Pong View implementation. diff --git a/examples/ping-pong-view/env/index.js b/examples/micro-frontends-multiplying-architecture-ping-pong-view/env/index.js similarity index 100% rename from examples/ping-pong-view/env/index.js rename to examples/micro-frontends-multiplying-architecture-ping-pong-view/env/index.js diff --git a/examples/ping-pong-view/package.json b/examples/micro-frontends-multiplying-architecture-ping-pong-view/package.json similarity index 92% rename from examples/ping-pong-view/package.json rename to examples/micro-frontends-multiplying-architecture-ping-pong-view/package.json index 4c200874954..1368c2348c7 100644 --- a/examples/ping-pong-view/package.json +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-view/package.json @@ -1,6 +1,6 @@ { "private": true, - "name": "@kie-tools-examples/ping-pong-view", + "name": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view", "version": "0.0.0", "license": "Apache-2.0", "homepage": "https://github.com/apache/incubator-kie-tools", diff --git a/examples/ping-pong-view/src/api/PingPongApi.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view/src/api/PingPongApi.ts similarity index 100% rename from examples/ping-pong-view/src/api/PingPongApi.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view/src/api/PingPongApi.ts diff --git a/examples/ping-pong-view/src/api/PingPongChannelApi.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view/src/api/PingPongChannelApi.ts similarity index 100% rename from examples/ping-pong-view/src/api/PingPongChannelApi.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view/src/api/PingPongChannelApi.ts diff --git a/examples/ping-pong-view/src/api/PingPongEnvelopeApi.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view/src/api/PingPongEnvelopeApi.ts similarity index 100% rename from examples/ping-pong-view/src/api/PingPongEnvelopeApi.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view/src/api/PingPongEnvelopeApi.ts diff --git a/examples/ping-pong-view/src/api/index.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view/src/api/index.ts similarity index 100% rename from examples/ping-pong-view/src/api/index.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view/src/api/index.ts diff --git a/examples/ping-pong-view/src/embedded/EmbeddedDivPingPong.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-view/src/embedded/EmbeddedDivPingPong.tsx similarity index 100% rename from examples/ping-pong-view/src/embedded/EmbeddedDivPingPong.tsx rename to examples/micro-frontends-multiplying-architecture-ping-pong-view/src/embedded/EmbeddedDivPingPong.tsx diff --git a/examples/ping-pong-view/src/embedded/EmbeddedIFramePingPong.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-view/src/embedded/EmbeddedIFramePingPong.tsx similarity index 100% rename from examples/ping-pong-view/src/embedded/EmbeddedIFramePingPong.tsx rename to examples/micro-frontends-multiplying-architecture-ping-pong-view/src/embedded/EmbeddedIFramePingPong.tsx diff --git a/examples/ping-pong-view/src/embedded/index.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view/src/embedded/index.ts similarity index 100% rename from examples/ping-pong-view/src/embedded/index.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view/src/embedded/index.ts diff --git a/examples/ping-pong-view/src/envelope/PingPongEnvelope.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view/src/envelope/PingPongEnvelope.ts similarity index 100% rename from examples/ping-pong-view/src/envelope/PingPongEnvelope.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view/src/envelope/PingPongEnvelope.ts diff --git a/examples/ping-pong-view/src/envelope/PingPongEnvelopeApiImpl.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view/src/envelope/PingPongEnvelopeApiImpl.ts similarity index 100% rename from examples/ping-pong-view/src/envelope/PingPongEnvelopeApiImpl.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view/src/envelope/PingPongEnvelopeApiImpl.ts diff --git a/examples/ping-pong-view/src/envelope/PingPongFactory.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view/src/envelope/PingPongFactory.ts similarity index 100% rename from examples/ping-pong-view/src/envelope/PingPongFactory.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view/src/envelope/PingPongFactory.ts diff --git a/examples/ping-pong-view/src/envelope/index.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-view/src/envelope/index.ts similarity index 100% rename from examples/ping-pong-view/src/envelope/index.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-view/src/envelope/index.ts diff --git a/examples/ping-pong-view/tsconfig.json b/examples/micro-frontends-multiplying-architecture-ping-pong-view/tsconfig.json similarity index 100% rename from examples/ping-pong-view/tsconfig.json rename to examples/micro-frontends-multiplying-architecture-ping-pong-view/tsconfig.json diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/LICENSE b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/LICENSE new file mode 100644 index 00000000000..261eeb9e9f8 --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/README.md b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/README.md new file mode 100644 index 00000000000..79cc244b26d --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/README.md @@ -0,0 +1,44 @@ + + +## Example :: Micro-frontends Multiplying Architrecure Ping-Pong Views on webapp + +--- + +Apache KIE (incubating) is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the name of Apache Incubator. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + +Some of the incubating project’s releases may not be fully compliant with ASF +policy. For example, releases may have incomplete or un-reviewed licensing +conditions. What follows is a list of known issues the project is currently +aware of (note that this list, by definition, is likely to be incomplete): + +- Hibernate, an LGPL project, is being used. Hibernate is in the process of + relicensing to ASL v2 +- Some files, particularly test files, and those not supporting comments, may + be missing the ASF Licensing Header + +If you are planning to incorporate this work into your product/project, please +be aware that you will need to conduct a thorough licensing review to determine +the overall implications of including this work. For the current status of this +project through the Apache Incubator visit: +https://incubator.apache.org/projects/kie.html diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/env/index.js b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/env/index.js new file mode 100644 index 00000000000..763d24de3ca --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/env/index.js @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +const { varsWithName, composeEnv } = require("@kie-tools-scripts/build-env"); + +module.exports = composeEnv([require("@kie-tools/root-env/env")], { + vars: varsWithName({}), + get env() { + return { + microFrontendsMultiplyingArchitecturePingPongViewsOnWebappExample: { + port: 7775, + }, + }; + }, +}); diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/package.json b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/package.json new file mode 100644 index 00000000000..38b02e7d72f --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/package.json @@ -0,0 +1,41 @@ +{ + "private": true, + "name": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp", + "version": "0.0.0", + "license": "Apache-2.0", + "scripts": { + "build": "rimraf dist && webpack", + "build:dev": "run-script-if --bool \"$(build-env examples.build)\" --then \"pnpm build --env dev\"", + "build:prod": "run-script-if --bool \"$(build-env examples.build)\" --then \"pnpm build\"", + "start": "webpack serve --host 0.0.0.0 --env dev" + }, + "devDependencies": { + "@kie-tools-core/editor": "workspace:*", + "@kie-tools-core/envelope-bus": "workspace:*", + "@kie-tools-core/patternfly-base": "workspace:*", + "@kie-tools-core/react-hooks": "workspace:*", + "@kie-tools-core/webpack-base": "workspace:*", + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view": "workspace:*", + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular": "workspace:*", + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react": "workspace:*", + "@kie-tools/root-env": "workspace:*", + "@kie-tools/stunner-editors": "workspace:*", + "@kie-tools/tsconfig": "workspace:*", + "@patternfly/react-core": "^4.276.6", + "@patternfly/react-icons": "^4.93.6", + "@types/react": "^17.0.6", + "@types/react-dom": "^17.0.5", + "@types/react-router": "^5.1.20", + "@types/react-router-dom": "^5.3.3", + "copy-webpack-plugin": "^11.0.0", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "react-router-dom": "^5.3.4", + "rimraf": "^3.0.2", + "typescript": "^5.5.3", + "webpack": "^5.94.0", + "webpack-cli": "^4.10.0", + "webpack-dev-server": "^4.15.1", + "webpack-merge": "^5.9.0" + } +} diff --git a/examples/webapp/src/Pages/PingPong/Angular/PingPongAngularDivViewsPage.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/Angular/PingPongAngularDivViewsPage.tsx similarity index 90% rename from examples/webapp/src/Pages/PingPong/Angular/PingPongAngularDivViewsPage.tsx rename to examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/Angular/PingPongAngularDivViewsPage.tsx index 9de39640915..4715ecc05a7 100644 --- a/examples/webapp/src/Pages/PingPong/Angular/PingPongAngularDivViewsPage.tsx +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/Angular/PingPongAngularDivViewsPage.tsx @@ -20,10 +20,10 @@ import * as React from "react"; import { useMemo, useRef } from "react"; import { Page, PageSection } from "@patternfly/react-core/dist/js/components/Page"; -import { EmbeddedDivPingPong } from "@kie-tools-examples/ping-pong-view/dist/embedded"; +import { EmbeddedDivPingPong } from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view/dist/embedded"; import { StatsSidebar } from "../StatsSidebar"; -import { pingPongEnvelopViewRenderDiv } from "@kie-tools-examples/ping-pong-view-angular/dist/wc/lib"; -import { PingPongApi } from "@kie-tools-examples/ping-pong-view/dist/api"; +import { pingPongEnvelopViewRenderDiv } from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/dist/wc/lib"; +import { PingPongApi } from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view/dist/api"; import { usePingPongApiCallbacks, usePingPongChannelApi } from "../hooks"; export function PingPongAngularDivViewsPage() { diff --git a/examples/webapp/src/Pages/PingPong/Angular/PingPongAngularIFrameViewsPage.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/Angular/PingPongAngularIFrameViewsPage.tsx similarity index 92% rename from examples/webapp/src/Pages/PingPong/Angular/PingPongAngularIFrameViewsPage.tsx rename to examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/Angular/PingPongAngularIFrameViewsPage.tsx index 26180942d9f..d212b1d61ff 100644 --- a/examples/webapp/src/Pages/PingPong/Angular/PingPongAngularIFrameViewsPage.tsx +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/Angular/PingPongAngularIFrameViewsPage.tsx @@ -20,8 +20,8 @@ import * as React from "react"; import { useMemo, useRef } from "react"; import { Page, PageSection } from "@patternfly/react-core/dist/js/components/Page"; -import { EmbeddedIFramePingPong } from "@kie-tools-examples/ping-pong-view/dist/embedded"; -import { PingPongApi } from "@kie-tools-examples/ping-pong-view/dist/api"; +import { EmbeddedIFramePingPong } from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view/dist/embedded"; +import { PingPongApi } from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view/dist/api"; import { StatsSidebar } from "../StatsSidebar"; import { usePingPongApiCallbacks, usePingPongChannelApi } from "../hooks"; diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/App.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/App.tsx new file mode 100644 index 00000000000..fa5cd075a67 --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/App.tsx @@ -0,0 +1,127 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import "@patternfly/react-core/dist/styles/base.css"; +import * as React from "react"; +import { useEffect, useState } from "react"; +import { Brand } from "@patternfly/react-core/dist/js/components/Brand"; +import { Nav, NavItem, NavList } from "@patternfly/react-core/dist/js/components/Nav"; +import { Page, PageHeader } from "@patternfly/react-core/dist/js/components/Page"; +import { HashRouter as Router, Link, Route, Switch } from "react-router-dom"; +import { PingPongReactIFrameViewsPage } from "./React/PingPongReactIFrameViewsPage"; +import { PingPongReactDivViewsPage } from "./React/PingPongReactDivViewsPage"; +import { PingPongAngularIFrameViewsPage } from "./Angular/PingPongAngularIFrameViewsPage"; +import { PingPongMixedViewsPage } from "./Mixed/PingPongMixedViewsPage"; +import { PingPongAngularDivViewsPage } from "./Angular/PingPongAngularDivViewsPage"; +import "./index.css"; + +enum Location { + PING_PONG_REACT_IFRAME_PAGES = "/page/ping-pong-react/iframe-pages", + PING_PONG_REACT_DIV_PAGES = "/page/ping-pong-react/div-pages", + PING_PONG_ANGULAR_IFRAME_PAGES = "/page/ping-pong-angular/iframe-pages", + PING_PONG_ANGULAR_DIV_PAGES = "/page/ping-pong-angular/div-pages", + PING_PONG_MIXED_PAGES = "/page/ping-pong-mixed", + HOME = "/", +} + +export function App() { + /** + * State which determines what is the current route. + */ + const [location, setLocation] = useState(Location.HOME); + + /** + * On the first render, the location state is determined by the current URL. + */ + useEffect(() => { + setLocation(window.location.hash.slice(1) as Location); //Remove trailing '#' from route to match the Location enum. + }, []); + + return ( + + } + topNav={ + + } + /> + } + > + + +

Select a page

+
+ + + + + + + + + + + + + + + +
+
+
+ ); +} diff --git a/examples/webapp/src/Pages/PingPong/Mixed/PingPongMixedViewsPage.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/Mixed/PingPongMixedViewsPage.tsx similarity index 88% rename from examples/webapp/src/Pages/PingPong/Mixed/PingPongMixedViewsPage.tsx rename to examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/Mixed/PingPongMixedViewsPage.tsx index 764f7feea52..30480ffdd9f 100644 --- a/examples/webapp/src/Pages/PingPong/Mixed/PingPongMixedViewsPage.tsx +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/Mixed/PingPongMixedViewsPage.tsx @@ -20,11 +20,14 @@ import * as React from "react"; import { useMemo, useRef } from "react"; import { Page, PageSection } from "@patternfly/react-core/dist/js/components/Page"; -import { EmbeddedDivPingPong, EmbeddedIFramePingPong } from "@kie-tools-examples/ping-pong-view/dist/embedded"; -import { PingPongApi } from "@kie-tools-examples/ping-pong-view/dist/api"; +import { + EmbeddedDivPingPong, + EmbeddedIFramePingPong, +} from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view/dist/embedded"; +import { PingPongApi } from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view/dist/api"; import { StatsSidebar } from "../StatsSidebar"; -import { pingPongEnvelopViewRenderDiv as renderReactDiv } from "@kie-tools-examples/ping-pong-view-react"; -import { pingPongEnvelopViewRenderDiv as renderAngularDiv } from "@kie-tools-examples/ping-pong-view-angular/dist/wc/lib"; +import { pingPongEnvelopViewRenderDiv as renderReactDiv } from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react"; +import { pingPongEnvelopViewRenderDiv as renderAngularDiv } from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/dist/wc/lib"; import { usePingPongApiCallbacks, usePingPongChannelApi } from "../hooks"; const reactEnvelopePath = "envelope/ping-pong-view-react-impl.html"; diff --git a/examples/webapp/src/envelope/ping-pong-view-react-impl.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/PingPongViewInReactEnvelope.ts similarity index 87% rename from examples/webapp/src/envelope/ping-pong-view-react-impl.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/PingPongViewInReactEnvelope.ts index 3a5835c60fb..8040a6c2129 100644 --- a/examples/webapp/src/envelope/ping-pong-view-react-impl.ts +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/PingPongViewInReactEnvelope.ts @@ -17,6 +17,6 @@ * under the License. */ -import { pingPongEnvelopViewRender } from "@kie-tools-examples/ping-pong-view-react"; +import { pingPongEnvelopViewRender } from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react"; pingPongEnvelopViewRender(document.getElementById("envelope-app")!); diff --git a/examples/webapp/src/Pages/PingPong/React/PingPongReactDivViewsPage.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/React/PingPongReactDivViewsPage.tsx similarity index 90% rename from examples/webapp/src/Pages/PingPong/React/PingPongReactDivViewsPage.tsx rename to examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/React/PingPongReactDivViewsPage.tsx index ab3a3ab97be..21b9845373a 100644 --- a/examples/webapp/src/Pages/PingPong/React/PingPongReactDivViewsPage.tsx +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/React/PingPongReactDivViewsPage.tsx @@ -20,9 +20,9 @@ import * as React from "react"; import { useMemo, useRef } from "react"; import { Page, PageSection } from "@patternfly/react-core/dist/js/components/Page"; -import { EmbeddedDivPingPong } from "@kie-tools-examples/ping-pong-view/dist/embedded"; -import { PingPongApi } from "@kie-tools-examples/ping-pong-view/dist/api"; -import { pingPongEnvelopViewRenderDiv } from "@kie-tools-examples/ping-pong-view-react"; +import { EmbeddedDivPingPong } from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view/dist/embedded"; +import { PingPongApi } from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view/dist/api"; +import { pingPongEnvelopViewRenderDiv } from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react"; import { StatsSidebar } from "../StatsSidebar"; import { usePingPongApiCallbacks, usePingPongChannelApi } from "../hooks"; diff --git a/examples/webapp/src/Pages/PingPong/React/PingPongReactIFrameViewsPage.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/React/PingPongReactIFrameViewsPage.tsx similarity index 92% rename from examples/webapp/src/Pages/PingPong/React/PingPongReactIFrameViewsPage.tsx rename to examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/React/PingPongReactIFrameViewsPage.tsx index caa3dc786bd..70051c95ff7 100644 --- a/examples/webapp/src/Pages/PingPong/React/PingPongReactIFrameViewsPage.tsx +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/React/PingPongReactIFrameViewsPage.tsx @@ -20,8 +20,8 @@ import * as React from "react"; import { useMemo, useRef } from "react"; import { Page, PageSection } from "@patternfly/react-core/dist/js/components/Page"; -import { EmbeddedIFramePingPong } from "@kie-tools-examples/ping-pong-view/dist/embedded"; -import { PingPongApi } from "@kie-tools-examples/ping-pong-view/dist/api"; +import { EmbeddedIFramePingPong } from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view/dist/embedded"; +import { PingPongApi } from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view/dist/api"; import { StatsSidebar } from "../StatsSidebar"; import { usePingPongApiCallbacks, usePingPongChannelApi } from "../hooks"; diff --git a/examples/webapp/src/Pages/PingPong/StatsSidebar.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/StatsSidebar.tsx similarity index 100% rename from examples/webapp/src/Pages/PingPong/StatsSidebar.tsx rename to examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/StatsSidebar.tsx diff --git a/examples/webapp/src/Pages/PingPong/hooks.ts b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/hooks.ts similarity index 93% rename from examples/webapp/src/Pages/PingPong/hooks.ts rename to examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/hooks.ts index 7e5ad5bcb19..756ea7894e2 100644 --- a/examples/webapp/src/Pages/PingPong/hooks.ts +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/hooks.ts @@ -18,7 +18,10 @@ */ import { useCallback, RefObject, useState, useMemo } from "react"; -import { PingPongApi, PingPongChannelApi } from "@kie-tools-examples/ping-pong-view/dist/api"; +import { + PingPongApi, + PingPongChannelApi, +} from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view/dist/api"; export function usePingPongApiCallbacks(refs: RefObject[]) { const onClearLogs = useCallback(() => { diff --git a/examples/webapp/static/resources/styles.css b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/index.css similarity index 100% rename from examples/webapp/static/resources/styles.css rename to examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/index.css diff --git a/examples/webapp/src/index.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/index.tsx similarity index 100% rename from examples/webapp/src/index.tsx rename to examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/index.tsx diff --git a/examples/webapp/static/index.html b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/static/index.html similarity index 100% rename from examples/webapp/static/index.html rename to examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/static/index.html diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/static/logo.png b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..36915163541a161c99c557f0d6ed0b12b444aae6 GIT binary patch literal 30305 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
- + diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/tsconfig.json b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/tsconfig.json new file mode 100644 index 00000000000..1b3b39a27fd --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "@kie-tools/tsconfig/tsconfig.esm.json", + "compilerOptions": { + "declaration": false, + "declarationMap": false, + "jsx": "react-jsx" + } +} diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/webpack.config.js b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/webpack.config.js new file mode 100644 index 00000000000..54b8e24586d --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/webpack.config.js @@ -0,0 +1,58 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +const path = require("path"); +const CopyPlugin = require("copy-webpack-plugin"); +const patternflyBase = require("@kie-tools-core/patternfly-base"); +const common = require("@kie-tools-core/webpack-base/webpack.common.config"); +const { merge } = require("webpack-merge"); +const { env } = require("./env"); + +module.exports = (webpackEnv) => [ + merge(common(webpackEnv), { + entry: { + index: "./src/index.tsx", + "ping-pong-view-in-react-envelope": "./src/PingPongViewInReactEnvelope.ts", + }, + output: { + publicPath: "/", + }, + module: { + rules: [...patternflyBase.webpackModuleRules], + }, + plugins: [ + new CopyPlugin({ + patterns: [ + { from: "./static", to: "." }, + { + from: `${path.dirname(require.resolve("@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/package.json"))}/dist/app`, + to: "./envelope/angular", + }, + ], + }), + ], + devServer: { + historyApiFallback: false, + static: [{ directory: path.join(__dirname, "./dist") }, { directory: path.join(__dirname, "./static") }], + compress: true, + port: env.microFrontendsMultiplyingArchitecturePingPongViewsOnWebappExample.port, + }, + ignoreWarnings: [/Failed to parse source map/], + }), +]; diff --git a/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/LICENSE b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/LICENSE new file mode 100644 index 00000000000..261eeb9e9f8 --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/README.md b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/README.md new file mode 100644 index 00000000000..89df9364c7e --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/README.md @@ -0,0 +1,44 @@ + + +## Example :: Micro-frontends Multiplying Architrecure 'To do' List View on webapp + +--- + +Apache KIE (incubating) is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the name of Apache Incubator. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + +Some of the incubating project’s releases may not be fully compliant with ASF +policy. For example, releases may have incomplete or un-reviewed licensing +conditions. What follows is a list of known issues the project is currently +aware of (note that this list, by definition, is likely to be incomplete): + +- Hibernate, an LGPL project, is being used. Hibernate is in the process of + relicensing to ASL v2 +- Some files, particularly test files, and those not supporting comments, may + be missing the ASF Licensing Header + +If you are planning to incorporate this work into your product/project, please +be aware that you will need to conduct a thorough licensing review to determine +the overall implications of including this work. For the current status of this +project through the Apache Incubator visit: +https://incubator.apache.org/projects/kie.html diff --git a/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/env/index.js b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/env/index.js new file mode 100644 index 00000000000..2f346ecb323 --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/env/index.js @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +const { varsWithName, composeEnv } = require("@kie-tools-scripts/build-env"); + +module.exports = composeEnv([require("@kie-tools/root-env/env")], { + vars: varsWithName({}), + get env() { + return { + microFrontendsMultiplyingArchitectureTodoListViewOnWebappExample: { + port: 7776, + }, + }; + }, +}); diff --git a/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/package.json b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/package.json new file mode 100644 index 00000000000..e147aa32fe8 --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/package.json @@ -0,0 +1,35 @@ +{ + "private": true, + "name": "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp", + "version": "0.0.0", + "license": "Apache-2.0", + "scripts": { + "build": "rimraf dist && webpack", + "build:dev": "run-script-if --bool \"$(build-env examples.build)\" --then \"pnpm build --env dev\"", + "build:prod": "run-script-if --bool \"$(build-env examples.build)\" --then \"pnpm build\"", + "start": "webpack serve --host 0.0.0.0 --env dev" + }, + "devDependencies": { + "@kie-tools-core/editor": "workspace:*", + "@kie-tools-core/envelope-bus": "workspace:*", + "@kie-tools-core/patternfly-base": "workspace:*", + "@kie-tools-core/react-hooks": "workspace:*", + "@kie-tools-core/webpack-base": "workspace:*", + "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view": "workspace:*", + "@kie-tools/root-env": "workspace:*", + "@kie-tools/tsconfig": "workspace:*", + "@patternfly/react-core": "^4.276.6", + "@patternfly/react-icons": "^4.93.6", + "@types/react": "^17.0.6", + "@types/react-dom": "^17.0.5", + "copy-webpack-plugin": "^11.0.0", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "rimraf": "^3.0.2", + "typescript": "^5.5.3", + "webpack": "^5.94.0", + "webpack-cli": "^4.10.0", + "webpack-dev-server": "^4.15.1", + "webpack-merge": "^5.9.0" + } +} diff --git a/examples/webapp/src/envelope/todo-list-view.ts b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/TodoListViewEnvelope.ts similarity index 88% rename from examples/webapp/src/envelope/todo-list-view.ts rename to examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/TodoListViewEnvelope.ts index 5b92a026811..c7776a6ec72 100644 --- a/examples/webapp/src/envelope/todo-list-view.ts +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/TodoListViewEnvelope.ts @@ -17,7 +17,7 @@ * under the License. */ -import * as TodoListViewEnvelope from "@kie-tools-examples/todo-list-view/dist/envelope"; +import * as TodoListViewEnvelope from "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view/dist/envelope"; TodoListViewEnvelope.init({ container: document.getElementById("envelope-app")!, diff --git a/examples/webapp/src/Pages/TodoList/TodoListViewPage.tsx b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/TodoListViewPage.tsx similarity index 95% rename from examples/webapp/src/Pages/TodoList/TodoListViewPage.tsx rename to examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/TodoListViewPage.tsx index eb2be6e84c5..37139dc8d5c 100644 --- a/examples/webapp/src/Pages/TodoList/TodoListViewPage.tsx +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/TodoListViewPage.tsx @@ -22,7 +22,10 @@ import { useCallback, useMemo, useRef, useState } from "react"; import { Nav, NavItem, NavList } from "@patternfly/react-core/dist/js/components/Nav"; import { Page, PageSection } from "@patternfly/react-core/dist/js/components/Page"; import { Title } from "@patternfly/react-core/dist/js/components/Title"; -import { EmbeddedTodoList, EmbeddedTodoListRef } from "@kie-tools-examples/todo-list-view/dist/embedded"; +import { + EmbeddedTodoList, + EmbeddedTodoListRef, +} from "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view/dist/embedded"; import { useStateAsSharedValue } from "@kie-tools-core/envelope-bus/dist/hooks"; export function TodoListViewPage() { diff --git a/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/index.css b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/index.css new file mode 100644 index 00000000000..768797f9603 --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/index.css @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +.webapp--page-main-div { + display: flex; + height: 100%; +} + +.webapp--page-navigation { + background-color: rgb(24, 24, 24); + height: 100%; +} + +.webapp--page-navigation-title-div { + display: flex; + justify-content: center; + align-items: center; +} + +.webapp--page-navigation-title-h3 { + color: white; + padding: 20px; +} + +.webapp--page-to-do-view { + display: flex; +} diff --git a/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/index.tsx b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/index.tsx new file mode 100644 index 00000000000..40e6d88f465 --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/index.tsx @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import "@patternfly/react-core/dist/styles/base.css"; +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import { Brand } from "@patternfly/react-core/dist/js/components/Brand"; +import { Nav, NavItem, NavList } from "@patternfly/react-core/dist/js/components/Nav"; +import { Page, PageHeader } from "@patternfly/react-core/dist/js/components/Page"; +import { TodoListViewPage } from "./TodoListViewPage"; +import "./index.css"; + +ReactDOM.render( + } + topNav={ + + } + /> + } + > + + , + document.getElementById("app") +); diff --git a/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/static/index.html b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/static/index.html new file mode 100644 index 00000000000..03773a31f26 --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/static/index.html @@ -0,0 +1,32 @@ + + + + + + Apache KIE Tools Examples + + + + + +
+ + + diff --git a/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/static/logo.png b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..36915163541a161c99c557f0d6ed0b12b444aae6 GIT binary patch literal 30305 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
- + diff --git a/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/tsconfig.json b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/tsconfig.json new file mode 100644 index 00000000000..1b3b39a27fd --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "@kie-tools/tsconfig/tsconfig.esm.json", + "compilerOptions": { + "declaration": false, + "declarationMap": false, + "jsx": "react-jsx" + } +} diff --git a/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/webpack.config.js b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/webpack.config.js new file mode 100644 index 00000000000..c345fdad97c --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/webpack.config.js @@ -0,0 +1,52 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +const path = require("path"); +const CopyPlugin = require("copy-webpack-plugin"); +const patternflyBase = require("@kie-tools-core/patternfly-base"); +const common = require("@kie-tools-core/webpack-base/webpack.common.config"); +const { merge } = require("webpack-merge"); +const { env } = require("./env"); + +module.exports = (webpackEnv) => [ + merge(common(webpackEnv), { + entry: { + index: "./src/index.tsx", + "todo-list-view-envelope": "./src/TodoListViewEnvelope.ts", + }, + output: { + publicPath: "/", + }, + module: { + rules: [...patternflyBase.webpackModuleRules], + }, + plugins: [ + new CopyPlugin({ + patterns: [{ from: "./static", to: "." }], + }), + ], + devServer: { + historyApiFallback: false, + static: [{ directory: path.join(__dirname, "./dist") }, { directory: path.join(__dirname, "./static") }], + compress: true, + port: env.microFrontendsMultiplyingArchitectureTodoListViewOnWebappExample.port, + }, + ignoreWarnings: [/Failed to parse source map/], + }), +]; diff --git a/examples/todo-list-view-vscode-extension/.vscodeignore b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/.vscodeignore similarity index 100% rename from examples/todo-list-view-vscode-extension/.vscodeignore rename to examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/.vscodeignore diff --git a/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/LICENSE b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/LICENSE new file mode 100644 index 00000000000..261eeb9e9f8 --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/examples/todo-list-view-vscode-extension/README.md b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/README.md similarity index 87% rename from examples/todo-list-view-vscode-extension/README.md rename to examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/README.md index 3bdb42224c2..346cea26668 100644 --- a/examples/todo-list-view-vscode-extension/README.md +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/README.md @@ -15,17 +15,9 @@ under the License. --> -# 'To do' list View :: VS Code Extension +## Example :: Micro-frontends Multiplying Architrecure 'To do' List View - VS Code Extension -You can read [here](https://blog.kie.org/2020/10/kogito-tooling-examples%e2%80%8a-%e2%80%8ahow-to-create-a-vs-code-extension-for-a-custom-view.html) a step-by-step tutorial of how this VS Code Extension was built. - -This package provides a VS Code Extension containing a 'To do' list View. - -### Pre requisites - -This example requires the VS Code version 1.46 or later. - -This extensions has the following commands: +This package provides a VS Code Extension containing a 'To do' list View and the following commands: 1. `TODO: Open list` - Opens a Webview with the 'To do' list View. diff --git a/examples/todo-list-view-vscode-extension/env/index.js b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/env/index.js similarity index 100% rename from examples/todo-list-view-vscode-extension/env/index.js rename to examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/env/index.js diff --git a/examples/todo-list-view-vscode-extension/package.json b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/package.json similarity index 86% rename from examples/todo-list-view-vscode-extension/package.json rename to examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/package.json index 95347523c2e..c24964eb1c5 100644 --- a/examples/todo-list-view-vscode-extension/package.json +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/package.json @@ -1,6 +1,6 @@ { "private": true, - "name": "kie-tools-examples-todo-list-view-vscode-extension", + "name": "kie-tools-examples-micro-frontends-multuplying-architecture-todo-list-view-vscode-extension", "version": "0.0.0", "description": "", "license": "Apache-2.0", @@ -22,14 +22,12 @@ "pack": "vsce package --no-dependencies -o ./dist/kie_tools_examples_todo_list_view_$npm_package_version.vsix", "watch": "export WEBPACK__sourceMaps=true; WEBPACK__minimize=false; webpack --env dev" }, - "dependencies": { - "@kie-tools-core/envelope-bus": "workspace:*", - "@kie-tools-core/vscode-extension": "workspace:*", - "@kie-tools-examples/todo-list-view": "workspace:*" - }, "devDependencies": { + "@kie-tools-core/envelope-bus": "workspace:*", "@kie-tools-core/patternfly-base": "workspace:*", + "@kie-tools-core/vscode-extension": "workspace:*", "@kie-tools-core/webpack-base": "workspace:*", + "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view": "workspace:*", "@kie-tools/root-env": "workspace:*", "@kie-tools/tsconfig": "workspace:*", "@types/vscode": "1.67.0", @@ -42,9 +40,9 @@ "webpack-merge": "^5.9.0" }, "engines": { - "vscode": "^1.67.0" + "vscode": "^1.75.0" }, - "displayName": "Todo List View :: Kogito Examples ", + "displayName": "KIE Tools Example :: Micro-frontends Multiplying Architecture :: Todo List View ", "categories": [ "Other" ], diff --git a/examples/todo-list-view-vscode-extension/src/envelope/index.ts b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/src/TodoListViewEnvelope.ts similarity index 90% rename from examples/todo-list-view-vscode-extension/src/envelope/index.ts rename to examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/src/TodoListViewEnvelope.ts index d859540535c..ca22ee63bb5 100644 --- a/examples/todo-list-view-vscode-extension/src/envelope/index.ts +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/src/TodoListViewEnvelope.ts @@ -17,7 +17,7 @@ * under the License. */ -import * as TodoListViewEnvelope from "@kie-tools-examples/todo-list-view/dist/envelope"; +import * as TodoListViewEnvelope from "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view/dist/envelope"; declare global { export const acquireVsCodeApi: any; diff --git a/examples/todo-list-view-vscode-extension/src/extension.ts b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/src/extension.ts similarity index 92% rename from examples/todo-list-view-vscode-extension/src/extension.ts rename to examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/src/extension.ts index 7236658fa95..9dfb0516b56 100644 --- a/examples/todo-list-view-vscode-extension/src/extension.ts +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/src/extension.ts @@ -18,8 +18,8 @@ */ import * as vscode from "vscode"; -import { TodoListWebview } from "@kie-tools-examples/todo-list-view/dist/vscode"; -import { TodoListEnvelopeApi } from "@kie-tools-examples/todo-list-view/dist/api"; +import { TodoListWebview } from "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view/dist/vscode"; +import { TodoListEnvelopeApi } from "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view/dist/api"; import { MessageBusClientApi, SharedValueProvider } from "@kie-tools-core/envelope-bus/dist/api"; const OPEN_TODO_LIST_VIEW_COMMAND_ID = "kie-tools-examples.todo-list-view"; @@ -37,7 +37,7 @@ export function activate(context: vscode.ExtensionContext) { const todoListWebview = new TodoListWebview( context, { - envelopePath: "dist/envelope/index.js", + envelopePath: "dist/todo-list-view-envelope.js", title: "//TODO", // This is displayed as the title of the Webview tab. targetOrigin: "vscode", }, diff --git a/examples/todo-list-view-vscode-extension/tsconfig.json b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/tsconfig.json similarity index 100% rename from examples/todo-list-view-vscode-extension/tsconfig.json rename to examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/tsconfig.json diff --git a/examples/todo-list-view-vscode-extension/webpack.config.js b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/webpack.config.js similarity index 93% rename from examples/todo-list-view-vscode-extension/webpack.config.js rename to examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/webpack.config.js index 40755ee3aaf..e7853c3dcd7 100644 --- a/examples/todo-list-view-vscode-extension/webpack.config.js +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/webpack.config.js @@ -24,7 +24,7 @@ const { merge } = require("webpack-merge"); const commonConfig = (webpackEnv) => merge(common(webpackEnv), { output: { - library: "VsCodePackSimpleReact", + library: "TodoListViewEntrypoint", libraryTarget: "umd", umdNamedDefine: true, }, @@ -44,7 +44,7 @@ module.exports = (webpackEnv) => [ merge(commonConfig(webpackEnv), { target: "web", entry: { - "envelope/index": "./src/envelope/index.ts", + "todo-list-view-envelope": "./src/TodoListViewEnvelope.ts", }, module: { rules: [...patternflyBase.webpackModuleRules], diff --git a/examples/micro-frontends-multiplying-architecture-todo-list-view/LICENSE b/examples/micro-frontends-multiplying-architecture-todo-list-view/LICENSE new file mode 100644 index 00000000000..261eeb9e9f8 --- /dev/null +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/examples/todo-list-view/README.md b/examples/micro-frontends-multiplying-architecture-todo-list-view/README.md similarity index 93% rename from examples/todo-list-view/README.md rename to examples/micro-frontends-multiplying-architecture-todo-list-view/README.md index 551cb698426..b421baf73af 100644 --- a/examples/todo-list-view/README.md +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view/README.md @@ -15,9 +15,7 @@ under the License. --> -# 'To do' list View - -You can read [here](https://blog.kie.org/2020/10/kogito-tooling-examples-how-to-create-a-custom-view.html) a step-by-step tutorial of how this custom View was built. +## Example :: Micro-frontends Multiplying Architrecure 'To do' List View This package exposes the necessary files for you to create a 'To do' list Envelope. diff --git a/examples/todo-list-view/env/index.js b/examples/micro-frontends-multiplying-architecture-todo-list-view/env/index.js similarity index 100% rename from examples/todo-list-view/env/index.js rename to examples/micro-frontends-multiplying-architecture-todo-list-view/env/index.js diff --git a/examples/todo-list-view/package.json b/examples/micro-frontends-multiplying-architecture-todo-list-view/package.json similarity index 93% rename from examples/todo-list-view/package.json rename to examples/micro-frontends-multiplying-architecture-todo-list-view/package.json index 40f71db6d94..2881c7b89e7 100644 --- a/examples/todo-list-view/package.json +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view/package.json @@ -1,6 +1,6 @@ { "private": true, - "name": "@kie-tools-examples/todo-list-view", + "name": "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view", "version": "0.0.0", "license": "Apache-2.0", "homepage": "https://github.com/apache/incubator-kie-tools", diff --git a/examples/todo-list-view/src/api/TodoListApi.ts b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/api/TodoListApi.ts similarity index 100% rename from examples/todo-list-view/src/api/TodoListApi.ts rename to examples/micro-frontends-multiplying-architecture-todo-list-view/src/api/TodoListApi.ts diff --git a/examples/todo-list-view/src/api/TodoListChannelApi.ts b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/api/TodoListChannelApi.ts similarity index 100% rename from examples/todo-list-view/src/api/TodoListChannelApi.ts rename to examples/micro-frontends-multiplying-architecture-todo-list-view/src/api/TodoListChannelApi.ts diff --git a/examples/todo-list-view/src/api/TodoListEnvelopeApi.ts b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/api/TodoListEnvelopeApi.ts similarity index 100% rename from examples/todo-list-view/src/api/TodoListEnvelopeApi.ts rename to examples/micro-frontends-multiplying-architecture-todo-list-view/src/api/TodoListEnvelopeApi.ts diff --git a/examples/todo-list-view/src/api/index.ts b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/api/index.ts similarity index 100% rename from examples/todo-list-view/src/api/index.ts rename to examples/micro-frontends-multiplying-architecture-todo-list-view/src/api/index.ts diff --git a/examples/todo-list-view/src/embedded/EmbeddedTodoList.tsx b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/embedded/EmbeddedTodoList.tsx similarity index 100% rename from examples/todo-list-view/src/embedded/EmbeddedTodoList.tsx rename to examples/micro-frontends-multiplying-architecture-todo-list-view/src/embedded/EmbeddedTodoList.tsx diff --git a/examples/todo-list-view/src/embedded/index.ts b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/embedded/index.ts similarity index 100% rename from examples/todo-list-view/src/embedded/index.ts rename to examples/micro-frontends-multiplying-architecture-todo-list-view/src/embedded/index.ts diff --git a/examples/todo-list-view/src/envelope/TodoListEnvelope.tsx b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelope.tsx similarity index 100% rename from examples/todo-list-view/src/envelope/TodoListEnvelope.tsx rename to examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelope.tsx diff --git a/examples/todo-list-view/src/envelope/TodoListEnvelopeApiImpl.ts b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelopeApiImpl.ts similarity index 100% rename from examples/todo-list-view/src/envelope/TodoListEnvelopeApiImpl.ts rename to examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelopeApiImpl.ts diff --git a/examples/todo-list-view/src/envelope/TodoListEnvelopeContext.ts b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelopeContext.ts similarity index 100% rename from examples/todo-list-view/src/envelope/TodoListEnvelopeContext.ts rename to examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelopeContext.ts diff --git a/examples/todo-list-view/src/envelope/TodoListEnvelopeView.tsx b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelopeView.tsx similarity index 100% rename from examples/todo-list-view/src/envelope/TodoListEnvelopeView.tsx rename to examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelopeView.tsx diff --git a/examples/todo-list-view/src/envelope/index.ts b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/index.ts similarity index 100% rename from examples/todo-list-view/src/envelope/index.ts rename to examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/index.ts diff --git a/examples/todo-list-view/src/envelope/styles.scss b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/styles.scss similarity index 100% rename from examples/todo-list-view/src/envelope/styles.scss rename to examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/styles.scss diff --git a/examples/todo-list-view/src/vscode/TodoListWebview.ts b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/vscode/TodoListWebview.ts similarity index 100% rename from examples/todo-list-view/src/vscode/TodoListWebview.ts rename to examples/micro-frontends-multiplying-architecture-todo-list-view/src/vscode/TodoListWebview.ts diff --git a/examples/todo-list-view/src/vscode/index.ts b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/vscode/index.ts similarity index 100% rename from examples/todo-list-view/src/vscode/index.ts rename to examples/micro-frontends-multiplying-architecture-todo-list-view/src/vscode/index.ts diff --git a/examples/todo-list-view/tsconfig.json b/examples/micro-frontends-multiplying-architecture-todo-list-view/tsconfig.json similarity index 100% rename from examples/todo-list-view/tsconfig.json rename to examples/micro-frontends-multiplying-architecture-todo-list-view/tsconfig.json diff --git a/examples/serverless-workflow-editor-standalone-on-webapp/LICENSE b/examples/serverless-workflow-editor-standalone-on-webapp/LICENSE new file mode 100644 index 00000000000..261eeb9e9f8 --- /dev/null +++ b/examples/serverless-workflow-editor-standalone-on-webapp/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/examples/serverless-workflow-editor-standalone-on-webapp/README.md b/examples/serverless-workflow-editor-standalone-on-webapp/README.md new file mode 100644 index 00000000000..2d89319927f --- /dev/null +++ b/examples/serverless-workflow-editor-standalone-on-webapp/README.md @@ -0,0 +1,44 @@ + + +## Example :: Serverless Workflow Editor Standalone on webapp + +--- + +Apache KIE (incubating) is an effort undergoing incubation at The Apache Software +Foundation (ASF), sponsored by the name of Apache Incubator. Incubation is +required of all newly accepted projects until a further review indicates that +the infrastructure, communications, and decision making process have stabilized +in a manner consistent with other successful ASF projects. While incubation +status is not necessarily a reflection of the completeness or stability of the +code, it does indicate that the project has yet to be fully endorsed by the ASF. + +Some of the incubating project’s releases may not be fully compliant with ASF +policy. For example, releases may have incomplete or un-reviewed licensing +conditions. What follows is a list of known issues the project is currently +aware of (note that this list, by definition, is likely to be incomplete): + +- Hibernate, an LGPL project, is being used. Hibernate is in the process of + relicensing to ASL v2 +- Some files, particularly test files, and those not supporting comments, may + be missing the ASF Licensing Header + +If you are planning to incorporate this work into your product/project, please +be aware that you will need to conduct a thorough licensing review to determine +the overall implications of including this work. For the current status of this +project through the Apache Incubator visit: +https://incubator.apache.org/projects/kie.html diff --git a/examples/serverless-workflow-editor-standalone-on-webapp/env/index.js b/examples/serverless-workflow-editor-standalone-on-webapp/env/index.js new file mode 100644 index 00000000000..b5fd0a5ef3d --- /dev/null +++ b/examples/serverless-workflow-editor-standalone-on-webapp/env/index.js @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +const { varsWithName, composeEnv } = require("@kie-tools-scripts/build-env"); + +module.exports = composeEnv([require("@kie-tools/root-env/env")], { + vars: varsWithName({}), + get env() { + return { + serverlessWorkflowEditorStandaloneOnWebappExample: { + port: 7777, + }, + }; + }, +}); diff --git a/examples/webapp/package.json b/examples/serverless-workflow-editor-standalone-on-webapp/package.json similarity index 61% rename from examples/webapp/package.json rename to examples/serverless-workflow-editor-standalone-on-webapp/package.json index 93bda30443c..5aa31ee8b28 100644 --- a/examples/webapp/package.json +++ b/examples/serverless-workflow-editor-standalone-on-webapp/package.json @@ -1,6 +1,6 @@ { "private": true, - "name": "@kie-tools-examples/webapp", + "name": "@kie-tools-examples/serverless-workflow-editor-standalone-on-webapp", "version": "0.0.0", "license": "Apache-2.0", "scripts": { @@ -9,40 +9,24 @@ "build:prod": "run-script-if --bool \"$(build-env examples.build)\" --then \"pnpm build\"", "start": "webpack serve --host 0.0.0.0 --env dev" }, - "dependencies": { + "devDependencies": { "@kie-tools-core/editor": "workspace:*", "@kie-tools-core/envelope-bus": "workspace:*", - "@kie-tools-core/monaco-editor": "workspace:*", "@kie-tools-core/patternfly-base": "workspace:*", "@kie-tools-core/react-hooks": "workspace:*", - "@kie-tools-examples/base64png-editor": "workspace:*", - "@kie-tools-examples/ping-pong-view": "workspace:*", - "@kie-tools-examples/ping-pong-view-angular": "workspace:*", - "@kie-tools-examples/ping-pong-view-react": "workspace:*", - "@kie-tools-examples/todo-list-view": "workspace:*", - "@kie-tools/dmn-editor": "workspace:*", - "@kie-tools/dmn-editor-envelope": "workspace:*", - "@kie-tools/dmn-editor-standalone": "workspace:*", - "@kie-tools/kie-bc-editors": "workspace:*", - "@kie-tools/kie-editors-standalone": "workspace:*", - "@kie-tools/serverless-workflow-standalone-editor": "workspace:*", - "@patternfly/react-core": "^4.276.6", - "@patternfly/react-icons": "^4.93.6", - "monaco-editor": "^0.39.0", - "react": "^17.0.2", - "react-dom": "^17.0.2" - }, - "devDependencies": { "@kie-tools-core/webpack-base": "workspace:*", "@kie-tools/root-env": "workspace:*", - "@kie-tools/stunner-editors": "workspace:*", + "@kie-tools/serverless-workflow-standalone-editor": "workspace:*", "@kie-tools/tsconfig": "workspace:*", + "@patternfly/react-core": "^4.276.6", + "@patternfly/react-icons": "^4.93.6", "@types/react": "^17.0.6", "@types/react-dom": "^17.0.5", "@types/react-router": "^5.1.20", "@types/react-router-dom": "^5.3.3", "copy-webpack-plugin": "^11.0.0", - "process": "^0.11.10", + "react": "^17.0.2", + "react-dom": "^17.0.2", "react-router-dom": "^5.3.4", "rimraf": "^3.0.2", "typescript": "^5.5.3", diff --git a/examples/serverless-workflow-editor-standalone-on-webapp/src/App.tsx b/examples/serverless-workflow-editor-standalone-on-webapp/src/App.tsx new file mode 100644 index 00000000000..794685ec417 --- /dev/null +++ b/examples/serverless-workflow-editor-standalone-on-webapp/src/App.tsx @@ -0,0 +1,109 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import "@patternfly/react-core/dist/styles/base.css"; +import * as React from "react"; +import { useEffect, useState } from "react"; +import { Brand } from "@patternfly/react-core/dist/js/components/Brand"; +import { Nav, NavItem, NavList } from "@patternfly/react-core/dist/js/components/Nav"; +import { Page, PageHeader } from "@patternfly/react-core/dist/js/components/Page"; +import { HashRouter as Router, Link, Route, Switch } from "react-router-dom"; +import { SwfStandaloneEditorPage } from "./Pages/SwfStandaloneEditorPage"; +import { SwfStandaloneDiagramOnlyEditorPage } from "./Pages/SwfStandaloneDiagramOnlyEditorPage"; +import { SwfStandaloneTextOnlyEditorPage } from "./Pages/SwfStandaloneTextOnlyEditorPage"; +import "./index.css"; + +enum Location { + SWF_STANDALONE_EDITOR = "/page/swf-standalone-editor", + SWF_STANDALONE_EDITOR_DIAGRAM_ONLY = "/page/swf-standalone-editor-diagram-only", + SWF_STANDALONE_EDITOR_TEXT_ONLY = "/page/swf-standalone-editor-text-only", + HOME = "/", +} + +export function App() { + /** + * State which determines what is the current route. + */ + const [location, setLocation] = useState(Location.HOME); + + /** + * On the first render, the location state is determined by the current URL. + */ + useEffect(() => { + setLocation(window.location.hash.slice(1) as Location); //Remove trailing '#' from route to match the Location enum. + }, []); + + return ( + + } + topNav={ + + } + /> + } + > + + +

Select a page

+
+ + + + + + + + + +
+
+
+ ); +} diff --git a/examples/webapp/src/Pages/StandaloneEditors/SwfEditorEmptyState.tsx b/examples/serverless-workflow-editor-standalone-on-webapp/src/Pages/SwfEditorEmptyState.tsx similarity index 100% rename from examples/webapp/src/Pages/StandaloneEditors/SwfEditorEmptyState.tsx rename to examples/serverless-workflow-editor-standalone-on-webapp/src/Pages/SwfEditorEmptyState.tsx diff --git a/examples/webapp/src/Pages/StandaloneEditors/SwfStandaloneDiagramOnlyEditorPage.tsx b/examples/serverless-workflow-editor-standalone-on-webapp/src/Pages/SwfStandaloneDiagramOnlyEditorPage.tsx similarity index 100% rename from examples/webapp/src/Pages/StandaloneEditors/SwfStandaloneDiagramOnlyEditorPage.tsx rename to examples/serverless-workflow-editor-standalone-on-webapp/src/Pages/SwfStandaloneDiagramOnlyEditorPage.tsx diff --git a/examples/webapp/src/Pages/StandaloneEditors/SwfStandaloneEditorPage.tsx b/examples/serverless-workflow-editor-standalone-on-webapp/src/Pages/SwfStandaloneEditorPage.tsx similarity index 100% rename from examples/webapp/src/Pages/StandaloneEditors/SwfStandaloneEditorPage.tsx rename to examples/serverless-workflow-editor-standalone-on-webapp/src/Pages/SwfStandaloneEditorPage.tsx diff --git a/examples/webapp/src/Pages/StandaloneEditors/SwfStandaloneTextOnlyEditorPage.tsx b/examples/serverless-workflow-editor-standalone-on-webapp/src/Pages/SwfStandaloneTextOnlyEditorPage.tsx similarity index 100% rename from examples/webapp/src/Pages/StandaloneEditors/SwfStandaloneTextOnlyEditorPage.tsx rename to examples/serverless-workflow-editor-standalone-on-webapp/src/Pages/SwfStandaloneTextOnlyEditorPage.tsx diff --git a/examples/serverless-workflow-editor-standalone-on-webapp/src/index.css b/examples/serverless-workflow-editor-standalone-on-webapp/src/index.css new file mode 100644 index 00000000000..7ec13a42536 --- /dev/null +++ b/examples/serverless-workflow-editor-standalone-on-webapp/src/index.css @@ -0,0 +1,76 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +.webapp--page-main-div { + display: flex; + height: 100%; +} + +.webapp--page-navigation { + background-color: rgb(24, 24, 24); + height: 100%; +} + +.webapp--page-navigation-title-div { + display: flex; + justify-content: center; + align-items: center; +} + +.webapp--page-navigation-title-h3 { + color: white; + padding: 20px; +} + +.webapp--page-kogito-editors-sidebar { + display: flex; +} + +.webapp--page-kogito-editors-sidebar--navigation { + background-color: rgb(24, 24, 24); + height: 100%; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item { + display: flex; + align-items: center; + width: 100%; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item-text-input { + width: 100px; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item-div { + width: 100%; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item-a { + color: white; +} + +.webapp--page-kogito-editors-sidebar--navigation-nav-item-open-file { + position: absolute; + left: 0; + top: 0; + opacity: 0; + cursor: pointer; + width: 100%; + z-index: 999; +} diff --git a/examples/serverless-workflow-editor-standalone-on-webapp/src/index.tsx b/examples/serverless-workflow-editor-standalone-on-webapp/src/index.tsx new file mode 100644 index 00000000000..d9918f08397 --- /dev/null +++ b/examples/serverless-workflow-editor-standalone-on-webapp/src/index.tsx @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import { App } from "./App"; + +ReactDOM.render(, document.getElementById("app")); diff --git a/examples/serverless-workflow-editor-standalone-on-webapp/static/index.html b/examples/serverless-workflow-editor-standalone-on-webapp/static/index.html new file mode 100644 index 00000000000..710038bc576 --- /dev/null +++ b/examples/serverless-workflow-editor-standalone-on-webapp/static/index.html @@ -0,0 +1,32 @@ + + + + + + Apache KIE Tools Examples :: Serverless Workflow Editor Standalone on webapp + + + + + +
+ + + diff --git a/examples/serverless-workflow-editor-standalone-on-webapp/static/logo.png b/examples/serverless-workflow-editor-standalone-on-webapp/static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..36915163541a161c99c557f0d6ed0b12b444aae6 GIT binary patch literal 30305 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 [ + merge(common(webpackEnv), { + entry: { + index: "./src/index.tsx", + }, + output: { + publicPath: "/", + }, + module: { + rules: [...patternflyBase.webpackModuleRules], + }, + plugins: [ + new CopyPlugin({ + patterns: [{ from: "./static", to: "." }], + }), + ], + devServer: { + historyApiFallback: false, + static: [{ directory: path.join(__dirname, "./dist") }, { directory: path.join(__dirname, "./static") }], + compress: true, + port: env.serverlessWorkflowEditorStandaloneOnWebappExample.port, + }, + ignoreWarnings: [/Failed to parse source map/], + }), +]; diff --git a/examples/webapp/README.md b/examples/webapp/README.md deleted file mode 100644 index 8f76c0719d9..00000000000 --- a/examples/webapp/README.md +++ /dev/null @@ -1,88 +0,0 @@ - - -## Webapp Example - -You can read [here](https://blog.kie.org/2020/10/kogito-tooling-examples%e2%80%8a-%e2%80%8ahow-to-integrate-a-custom-editor-an-existing-editors-and-custom-views.html) a step-by-step tutorial of how create this WebApp. - -This is a Web application example that shows how to integrate an Embedded Editor [1] or an Embedded Envelope [2] - -1. The Embedded Editor enables you to use your Custom Editors or even to use the available Kogito Editor (BPMN and DMN) -1. The Embedded Envelope gives you more flexibility to create any kind of application, in this example we bring two custom Views. - -## Details - -To get more the details please take a look on each implementation: - -- [Base64 PNG Editor]("src/Pages/Base64Png/Base64PngPage.tsx") -- [BPMN Editor]("src/Pages/KogitoEditors/BpmnPage.tsx") -- [DMN Editor]("src/Pages/KogitoEditors/DmnPage.tsx") -- ['To-do' list View]("src/Pages/TodoList/TodoListViewPage.tsx") -- [Ping-Pong View]("src/Pages/PingPong/PingPongViewsPage.tsx") - -## Setup - -### Initialize - -To install all dependencies it's necessary to execute the following command on the root folder of the project: - -```shell script -pnpm init -``` - -### Build - -To build the webapp execute one of the following commands on the root folder of the project: - -```shell script -KIE_TOOLS_BUILD__buildExamples=true pnpm -F @kie-tools-examples/webapp... build:dev -KIE_TOOLS_BUILD__buildExamples=true pnpm -F @kie-tools-examples/webapp... build:prod -``` - -### Run - -To start the webapp execute the following command on the root folder of the project: - -```shell script -pnpm -F @kie-tools-examples/webapp start -``` - ---- - -Apache KIE (incubating) is an effort undergoing incubation at The Apache Software -Foundation (ASF), sponsored by the name of Apache Incubator. Incubation is -required of all newly accepted projects until a further review indicates that -the infrastructure, communications, and decision making process have stabilized -in a manner consistent with other successful ASF projects. While incubation -status is not necessarily a reflection of the completeness or stability of the -code, it does indicate that the project has yet to be fully endorsed by the ASF. - -Some of the incubating project’s releases may not be fully compliant with ASF -policy. For example, releases may have incomplete or un-reviewed licensing -conditions. What follows is a list of known issues the project is currently -aware of (note that this list, by definition, is likely to be incomplete): - -- Hibernate, an LGPL project, is being used. Hibernate is in the process of - relicensing to ASL v2 -- Some files, particularly test files, and those not supporting comments, may - be missing the ASF Licensing Header - -If you are planning to incorporate this work into your product/project, please -be aware that you will need to conduct a thorough licensing review to determine -the overall implications of including this work. For the current status of this -project through the Apache Incubator visit: -https://incubator.apache.org/projects/kie.html diff --git a/examples/webapp/src/App.tsx b/examples/webapp/src/App.tsx deleted file mode 100644 index 6b652416ede..00000000000 --- a/examples/webapp/src/App.tsx +++ /dev/null @@ -1,223 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import "@patternfly/react-core/dist/styles/base.css"; -import * as React from "react"; -import { useEffect, useState } from "react"; -import { Brand } from "@patternfly/react-core/dist/js/components/Brand"; -import { Nav, NavItem, NavList } from "@patternfly/react-core/dist/js/components/Nav"; -import { Page, PageHeader } from "@patternfly/react-core/dist/js/components/Page"; -import { HashRouter as Router, Link, Route, Switch } from "react-router-dom"; -import { Base64PngPage } from "./Pages/Base64Png/Base64PngPage"; -import { BpmnPage } from "./Pages/KogitoEditors/BpmnPage"; -import { DmnPage } from "./Pages/KogitoEditors/DmnPage"; -import { TodoListViewPage } from "./Pages/TodoList/TodoListViewPage"; -import { PingPongReactIFrameViewsPage } from "./Pages/PingPong/React/PingPongReactIFrameViewsPage"; -import { PingPongReactDivViewsPage } from "./Pages/PingPong/React/PingPongReactDivViewsPage"; -import { Home } from "./Home"; -import "../static/resources/styles.css"; -import { DmnStandaloneEditorPage } from "./Pages/StandaloneEditors/DmnStandaloneEditorPage"; -import { NewDmnStandaloneEditorPage } from "./Pages/StandaloneEditors/NewDmnStandaloneEditorPage"; -import { SwfStandaloneEditorPage } from "./Pages/StandaloneEditors/SwfStandaloneEditorPage"; -import { PingPongAngularIFrameViewsPage } from "./Pages/PingPong/Angular/PingPongAngularIFrameViewsPage"; -import { PingPongMixedViewsPage } from "./Pages/PingPong/Mixed/PingPongMixedViewsPage"; -import { PingPongAngularDivViewsPage } from "./Pages/PingPong/Angular/PingPongAngularDivViewsPage"; -import { SwfStandaloneDiagramOnlyEditorPage } from "./Pages/StandaloneEditors/SwfStandaloneDiagramOnlyEditorPage"; -import { SwfStandaloneTextOnlyEditorPage } from "./Pages/StandaloneEditors/SwfStandaloneTextOnlyEditorPage"; -import { NewDmnPage } from "./Pages/KogitoEditors/NewDmnPage"; - -enum Location { - BPMN = "/editor/bpmn", - DMN = "/editor/dmn", - NEW_DMN = "/editor/new-dmn", - BASE46PNG = "/editor/base64png", - TODO_LIST = "/page/todo-list", - PING_PONG_REACT_IFRAME_PAGES = "/page/ping-pong-react/iframe-pages", - PING_PONG_REACT_DIV_PAGES = "/page/ping-pong-react/div-pages", - PING_PONG_ANGULAR_IFRAME_PAGES = "/page/ping-pong-angular/iframe-pages", - PING_PONG_ANGULAR_DIV_PAGES = "/page/ping-pong-angular/div-pages", - PING_PONG_MIXED_PAGES = "/page/ping-pong-mixed", - DMN_STANDALONE_EDITOR = "/page/dmn-standalone-editor", - NEW_DMN_STANDALONE_EDITOR = "/page/new-dmn-standalone-editor", - SWF_STANDALONE_EDITOR = "/page/swf-standalone-editor", - SWF_STANDALONE_EDITOR_DIAGRAM_ONLY = "/page/swf-standalone-editor-diagram-only", - SWF_STANDALONE_EDITOR_TEXT_ONLY = "/page/swf-standalone-editor-text-only", - HOME = "/", -} - -export function App() { - /** - * State which determines what is the current route. - */ - const [location, setLocation] = useState(Location.HOME); - - /** - * On the first render, the location state is determined by the current URL. - */ - useEffect(() => { - setLocation(window.location.hash.slice(1) as Location); //Remove trailing '#' from route to match the Location enum. - }); - - return ( - - } - topNav={ - - } - /> - } - > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ); -} diff --git a/examples/webapp/src/Home.tsx b/examples/webapp/src/Home.tsx deleted file mode 100644 index 863b656037c..00000000000 --- a/examples/webapp/src/Home.tsx +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import * as React from "react"; -import { Page, PageSection } from "@patternfly/react-core/dist/js/components/Page"; -import { Text, TextContent } from "@patternfly/react-core/dist/js/components/Text"; - -export function Home() { - return ( - - - - Welcome to Apache KIE Tools Examples - - To understand what's in this webapp, please refer to the project -
{"README"} - on GitHub. - - - - - ); -} diff --git a/examples/webapp/src/Pages/StandaloneEditors/DmnStandaloneEditorPage.tsx b/examples/webapp/src/Pages/StandaloneEditors/DmnStandaloneEditorPage.tsx deleted file mode 100644 index 2f801e3568f..00000000000 --- a/examples/webapp/src/Pages/StandaloneEditors/DmnStandaloneEditorPage.tsx +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import * as React from "react"; -import { useEffect, useRef } from "react"; -import { Page } from "@patternfly/react-core/dist/js/components/Page"; -import * as DmnEditor from "@kie-tools/kie-editors-standalone/dist/dmn"; - -export function DmnStandaloneEditorPage() { - const dmnEditorContainer = useRef(null); - const unsavedChanges = useRef(null); - const undo = useRef(null); - const redo = useRef(null); - const download = useRef(null); - const downloadSvg = useRef(null); - - useEffect(() => { - const editor = DmnEditor.open({ - container: dmnEditorContainer.current!, - initialContent: Promise.resolve(""), - readOnly: false, - }); - - undo.current?.addEventListener("click", () => { - editor.undo(); - }); - - redo.current?.addEventListener("click", () => { - editor.redo(); - }); - - download.current?.addEventListener("click", () => { - editor.getContent().then((content) => { - const elem = window.document.createElement("a"); - elem.href = "data:text/plain;charset=utf-8," + encodeURIComponent(content); - elem.download = "model.dmn"; - document.body.appendChild(elem); - elem.click(); - document.body.removeChild(elem); - editor.markAsSaved(); - }); - }); - - downloadSvg.current?.addEventListener("click", () => { - editor.getPreview().then((svgContent) => { - const elem = window.document.createElement("a"); - elem.href = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(svgContent!); - elem.download = "model.svg"; - document.body.appendChild(elem); - elem.click(); - document.body.removeChild(elem); - }); - }); - - editor.subscribeToContentChanges((isDirty) => { - if (isDirty) { - unsavedChanges.current!.style.display = ""; - } else { - unsavedChanges.current!.style.display = "none"; - } - }); - }, []); - - return ( - -
- - - - - - File contains unsaved changes. - -
-
- - ); -} diff --git a/examples/webapp/src/Pages/StandaloneEditors/NewDmnStandaloneEditorPage.tsx b/examples/webapp/src/Pages/StandaloneEditors/NewDmnStandaloneEditorPage.tsx deleted file mode 100644 index 37ef2b81f12..00000000000 --- a/examples/webapp/src/Pages/StandaloneEditors/NewDmnStandaloneEditorPage.tsx +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import * as React from "react"; -import { useCallback, useRef } from "react"; -import { Page } from "@patternfly/react-core/dist/js/components/Page"; -import { useCancelableEffect } from "@kie-tools-core/react-hooks/dist/useCancelableEffect"; -import * as NewDmnEditor from "@kie-tools/dmn-editor-standalone/dist"; - -export function NewDmnStandaloneEditorPage() { - const dmnEditorContainer = useRef(null); - const unsavedChanges = useRef(null); - const undo = useRef(null); - const redo = useRef(null); - const download = useRef(null); - const downloadSvg = useRef(null); - - useCancelableEffect( - useCallback(({ canceled }) => { - if (canceled.get()) { - return; - } - const editor = NewDmnEditor.open({ - container: dmnEditorContainer.current!, - initialContent: Promise.resolve(""), - readOnly: false, - }); - - undo.current?.addEventListener("click", () => { - editor.undo(); - }); - - redo.current?.addEventListener("click", () => { - editor.redo(); - }); - - download.current?.addEventListener("click", () => { - editor.getContent().then((content) => { - const elem = window.document.createElement("a"); - elem.href = "data:text/plain;charset=utf-8," + encodeURIComponent(content); - elem.download = "model.dmn"; - document.body.appendChild(elem); - elem.click(); - document.body.removeChild(elem); - editor.markAsSaved(); - }); - }); - - downloadSvg.current?.addEventListener("click", () => { - editor.getPreview().then((svgContent) => { - const elem = window.document.createElement("a"); - elem.href = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(svgContent!); - elem.download = "model.svg"; - document.body.appendChild(elem); - elem.click(); - document.body.removeChild(elem); - }); - }); - - editor.subscribeToContentChanges((isDirty) => { - if (isDirty) { - unsavedChanges.current!.style.display = ""; - } else { - unsavedChanges.current!.style.display = "none"; - } - }); - }, []) - ); - - return ( - -
- - - - - - File contains unsaved changes. - -
-
- - ); -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 217fdd48396..2bfa05a9adb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -233,45 +233,793 @@ importers: specifier: ^5.9.0 version: 5.9.0 + examples/bpmn-editor-classic-on-webapp: + devDependencies: + '@kie-tools-core/editor': + specifier: workspace:* + version: link:../../packages/editor + '@kie-tools-core/envelope-bus': + specifier: workspace:* + version: link:../../packages/envelope-bus + '@kie-tools-core/patternfly-base': + specifier: workspace:* + version: link:../../packages/patternfly-base + '@kie-tools-core/react-hooks': + specifier: workspace:* + version: link:../../packages/react-hooks + '@kie-tools-core/webpack-base': + specifier: workspace:* + version: link:../../packages/webpack-base + '@kie-tools/kie-bc-editors': + specifier: workspace:* + version: link:../../packages/kie-bc-editors + '@kie-tools/root-env': + specifier: workspace:* + version: link:../../packages/root-env + '@kie-tools/stunner-editors': + specifier: workspace:* + version: link:../../packages/stunner-editors + '@kie-tools/tsconfig': + specifier: workspace:* + version: link:../../packages/tsconfig + '@patternfly/react-core': + specifier: ^4.276.6 + version: 4.276.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@patternfly/react-icons': + specifier: ^4.93.6 + version: 4.93.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@types/react': + specifier: ^17.0.6 + version: 17.0.21 + '@types/react-dom': + specifier: ^17.0.5 + version: 17.0.8 + copy-webpack-plugin: + specifier: ^11.0.0 + version: 11.0.0(webpack@5.94.0(webpack-cli@4.10.0)) + process: + specifier: ^0.11.10 + version: 0.11.10 + react: + specifier: ^17.0.2 + version: 17.0.2 + react-dom: + specifier: ^17.0.2 + version: 17.0.2(react@17.0.2) + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + typescript: + specifier: ^5.5.3 + version: 5.5.3 + webpack: + specifier: ^5.94.0 + version: 5.94.0(webpack-cli@4.10.0) + webpack-cli: + specifier: ^4.10.0 + version: 4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0) + webpack-dev-server: + specifier: ^4.15.1 + version: 4.15.1(webpack-cli@4.10.0)(webpack@5.94.0) + webpack-merge: + specifier: ^5.9.0 + version: 5.10.0 + examples/commit-message-validation-service: devDependencies: '@kie-tools/root-env': specifier: workspace:* version: link:../../packages/root-env - cross-env: - specifier: ^7.0.3 - version: 7.0.3 - run-script-os: - specifier: ^1.1.6 - version: 1.1.6 + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + run-script-os: + specifier: ^1.1.6 + version: 1.1.6 + + examples/dmn-editor-classic-on-webapp: + devDependencies: + '@kie-tools-core/editor': + specifier: workspace:* + version: link:../../packages/editor + '@kie-tools-core/envelope-bus': + specifier: workspace:* + version: link:../../packages/envelope-bus + '@kie-tools-core/patternfly-base': + specifier: workspace:* + version: link:../../packages/patternfly-base + '@kie-tools-core/react-hooks': + specifier: workspace:* + version: link:../../packages/react-hooks + '@kie-tools-core/webpack-base': + specifier: workspace:* + version: link:../../packages/webpack-base + '@kie-tools/kie-bc-editors': + specifier: workspace:* + version: link:../../packages/kie-bc-editors + '@kie-tools/root-env': + specifier: workspace:* + version: link:../../packages/root-env + '@kie-tools/stunner-editors': + specifier: workspace:* + version: link:../../packages/stunner-editors + '@kie-tools/tsconfig': + specifier: workspace:* + version: link:../../packages/tsconfig + '@patternfly/react-core': + specifier: ^4.276.6 + version: 4.276.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@patternfly/react-icons': + specifier: ^4.93.6 + version: 4.93.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@types/react': + specifier: ^17.0.6 + version: 17.0.21 + '@types/react-dom': + specifier: ^17.0.5 + version: 17.0.8 + copy-webpack-plugin: + specifier: ^11.0.0 + version: 11.0.0(webpack@5.94.0(webpack-cli@4.10.0)) + process: + specifier: ^0.11.10 + version: 0.11.10 + react: + specifier: ^17.0.2 + version: 17.0.2 + react-dom: + specifier: ^17.0.2 + version: 17.0.2(react@17.0.2) + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + typescript: + specifier: ^5.5.3 + version: 5.5.3 + webpack: + specifier: ^5.94.0 + version: 5.94.0(webpack-cli@4.10.0) + webpack-cli: + specifier: ^4.10.0 + version: 4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0) + webpack-dev-server: + specifier: ^4.15.1 + version: 4.15.1(webpack-cli@4.10.0)(webpack@5.94.0) + webpack-merge: + specifier: ^5.9.0 + version: 5.10.0 + + examples/dmn-editor-on-webapp: + devDependencies: + '@kie-tools-core/editor': + specifier: workspace:* + version: link:../../packages/editor + '@kie-tools-core/envelope-bus': + specifier: workspace:* + version: link:../../packages/envelope-bus + '@kie-tools-core/patternfly-base': + specifier: workspace:* + version: link:../../packages/patternfly-base + '@kie-tools-core/react-hooks': + specifier: workspace:* + version: link:../../packages/react-hooks + '@kie-tools-core/webpack-base': + specifier: workspace:* + version: link:../../packages/webpack-base + '@kie-tools/dmn-editor': + specifier: workspace:* + version: link:../../packages/dmn-editor + '@kie-tools/dmn-editor-envelope': + specifier: workspace:* + version: link:../../packages/dmn-editor-envelope + '@kie-tools/root-env': + specifier: workspace:* + version: link:../../packages/root-env + '@kie-tools/tsconfig': + specifier: workspace:* + version: link:../../packages/tsconfig + '@patternfly/react-core': + specifier: ^4.276.6 + version: 4.276.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@patternfly/react-icons': + specifier: ^4.93.6 + version: 4.93.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@types/react': + specifier: ^17.0.6 + version: 17.0.21 + '@types/react-dom': + specifier: ^17.0.5 + version: 17.0.8 + copy-webpack-plugin: + specifier: ^11.0.0 + version: 11.0.0(webpack@5.94.0(webpack-cli@4.10.0)) + react: + specifier: ^17.0.2 + version: 17.0.2 + react-dom: + specifier: ^17.0.2 + version: 17.0.2(react@17.0.2) + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + typescript: + specifier: ^5.5.3 + version: 5.5.3 + webpack: + specifier: ^5.94.0 + version: 5.94.0(webpack-cli@4.10.0) + webpack-cli: + specifier: ^4.10.0 + version: 4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0) + webpack-dev-server: + specifier: ^4.15.1 + version: 4.15.1(webpack-cli@4.10.0)(webpack@5.94.0) + webpack-merge: + specifier: ^5.9.0 + version: 5.10.0 + + examples/dmn-editor-standalone-examples: + dependencies: + '@kie-tools/dmn-editor-standalone': + specifier: workspace:* + version: link:../../packages/dmn-editor-standalone + devDependencies: + '@kie-tools-core/webpack-base': + specifier: workspace:* + version: link:../../packages/webpack-base + '@kie-tools/root-env': + specifier: workspace:* + version: link:../../packages/root-env + '@kie-tools/tsconfig': + specifier: workspace:* + version: link:../../packages/tsconfig + copy-webpack-plugin: + specifier: ^11.0.0 + version: 11.0.0(webpack@5.94.0(webpack-cli@4.10.0)) + html-webpack-plugin: + specifier: ^5.3.2 + version: 5.5.3(webpack@5.94.0(webpack-cli@4.10.0)) + process: + specifier: ^0.11.10 + version: 0.11.10 + raw-loader: + specifier: ^4.0.2 + version: 4.0.2(webpack@5.94.0(webpack-cli@4.10.0)) + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + typescript: + specifier: ^5.5.3 + version: 5.5.3 + webpack: + specifier: ^5.94.0 + version: 5.94.0(webpack-cli@4.10.0) + webpack-bundle-analyzer: + specifier: ^4.10.2 + version: 4.10.2 + webpack-cli: + specifier: ^4.10.0 + version: 4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0) + webpack-dev-server: + specifier: ^4.15.1 + version: 4.15.1(webpack-cli@4.10.0)(webpack@5.94.0) + webpack-merge: + specifier: ^5.9.0 + version: 5.10.0 + + examples/dmn-editor-standalone-on-webapp: + dependencies: + '@kie-tools/dmn-editor-standalone': + specifier: workspace:* + version: link:../../packages/dmn-editor-standalone + devDependencies: + '@kie-tools-core/webpack-base': + specifier: workspace:* + version: link:../../packages/webpack-base + '@kie-tools/root-env': + specifier: workspace:* + version: link:../../packages/root-env + '@kie-tools/tsconfig': + specifier: workspace:* + version: link:../../packages/tsconfig + copy-webpack-plugin: + specifier: ^11.0.0 + version: 11.0.0(webpack@5.94.0(webpack-cli@4.10.0)) + html-webpack-plugin: + specifier: ^5.3.2 + version: 5.5.3(webpack@5.94.0(webpack-cli@4.10.0)) + raw-loader: + specifier: ^4.0.2 + version: 4.0.2(webpack@5.94.0(webpack-cli@4.10.0)) + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + typescript: + specifier: ^5.5.3 + version: 5.5.3 + webpack: + specifier: ^5.94.0 + version: 5.94.0(webpack-cli@4.10.0) + webpack-bundle-analyzer: + specifier: ^4.10.2 + version: 4.10.2 + webpack-cli: + specifier: ^4.10.0 + version: 4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0) + webpack-dev-server: + specifier: ^4.15.1 + version: 4.15.1(webpack-cli@4.10.0)(webpack@5.94.0) + webpack-merge: + specifier: ^5.9.0 + version: 5.10.0 + + examples/drools-process-usertasks-quarkus-example: + dependencies: + '@kie-tools/jbpm-quarkus-devui': + specifier: workspace:* + version: link:../../packages/jbpm-quarkus-devui + '@kie-tools/maven-base': + specifier: workspace:* + version: link:../../packages/maven-base + devDependencies: + '@kie-tools/root-env': + specifier: workspace:* + version: link:../../packages/root-env + run-script-os: + specifier: ^1.1.6 + version: 1.1.6 + + examples/jbpm-compact-architecture-example: + dependencies: + '@kie-tools/jbpm-quarkus-devui': + specifier: workspace:* + version: link:../../packages/jbpm-quarkus-devui + '@kie-tools/maven-base': + specifier: workspace:* + version: link:../../packages/maven-base + devDependencies: + '@kie-tools/kogito-management-console': + specifier: workspace:* + version: link:../../packages/kogito-management-console + '@kie-tools/root-env': + specifier: workspace:* + version: link:../../packages/root-env + run-script-os: + specifier: ^1.1.6 + version: 1.1.6 + + examples/kie-sandbox-commit-message-validation-service: + devDependencies: + '@kie-tools/root-env': + specifier: workspace:* + version: link:../../packages/root-env + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + run-script-os: + specifier: ^1.1.6 + version: 1.1.6 + + examples/micro-frontends-multiplying-architecture-base64png-editor: + dependencies: + '@kie-tools-core/editor': + specifier: workspace:* + version: link:../../packages/editor + '@kie-tools-core/notifications': + specifier: workspace:* + version: link:../../packages/notifications + '@kie-tools-core/patternfly-base': + specifier: workspace:* + version: link:../../packages/patternfly-base + '@kie-tools-core/workspace': + specifier: workspace:* + version: link:../../packages/workspace + '@patternfly/react-core': + specifier: ^4.276.6 + version: 4.276.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@patternfly/react-icons': + specifier: ^4.93.6 + version: 4.93.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + react: + specifier: '>=17.0.2 <19.0.0' + version: 17.0.2 + react-dom: + specifier: '>=17.0.2 <19.0.0' + version: 17.0.2(react@17.0.2) + devDependencies: + '@kie-tools/root-env': + specifier: workspace:* + version: link:../../packages/root-env + '@kie-tools/tsconfig': + specifier: workspace:* + version: link:../../packages/tsconfig + '@types/react': + specifier: ^17.0.6 + version: 17.0.21 + '@types/react-dom': + specifier: ^17.0.5 + version: 17.0.8 + copyfiles: + specifier: ^2.4.1 + version: 2.4.1 + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + typescript: + specifier: ^5.5.3 + version: 5.5.3 + + examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension: + devDependencies: + '@kie-tools-core/chrome-extension': + specifier: workspace:* + version: link:../../packages/chrome-extension + '@kie-tools-core/editor': + specifier: workspace:* + version: link:../../packages/editor + '@kie-tools-core/envelope-bus': + specifier: workspace:* + version: link:../../packages/envelope-bus + '@kie-tools-core/patternfly-base': + specifier: workspace:* + version: link:../../packages/patternfly-base + '@kie-tools-core/webpack-base': + specifier: workspace:* + version: link:../../packages/webpack-base + '@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor': + specifier: workspace:* + version: link:../micro-frontends-multiplying-architecture-base64png-editor + '@kie-tools/root-env': + specifier: workspace:* + version: link:../../packages/root-env + '@kie-tools/tsconfig': + specifier: workspace:* + version: link:../../packages/tsconfig + '@types/chrome': + specifier: ^0.0.193 + version: 0.0.193 + copy-webpack-plugin: + specifier: ^11.0.0 + version: 11.0.0(webpack@5.94.0(webpack-cli@4.10.0)) + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + typescript: + specifier: ^5.5.3 + version: 5.5.3 + webpack: + specifier: ^5.94.0 + version: 5.94.0(webpack-cli@4.10.0) + webpack-cli: + specifier: ^4.10.0 + version: 4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0) + webpack-dev-server: + specifier: ^4.15.1 + version: 4.15.1(webpack-cli@4.10.0)(webpack@5.94.0) + webpack-merge: + specifier: ^5.9.0 + version: 5.10.0 + zip-webpack-plugin: + specifier: ^4.0.1 + version: 4.0.1(webpack-sources@3.2.3)(webpack@5.94.0(webpack-cli@4.10.0)) + + examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp: + devDependencies: + '@kie-tools-core/editor': + specifier: workspace:* + version: link:../../packages/editor + '@kie-tools-core/envelope-bus': + specifier: workspace:* + version: link:../../packages/envelope-bus + '@kie-tools-core/patternfly-base': + specifier: workspace:* + version: link:../../packages/patternfly-base + '@kie-tools-core/react-hooks': + specifier: workspace:* + version: link:../../packages/react-hooks + '@kie-tools-core/webpack-base': + specifier: workspace:* + version: link:../../packages/webpack-base + '@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor': + specifier: workspace:* + version: link:../micro-frontends-multiplying-architecture-base64png-editor + '@kie-tools/root-env': + specifier: workspace:* + version: link:../../packages/root-env + '@kie-tools/tsconfig': + specifier: workspace:* + version: link:../../packages/tsconfig + '@patternfly/react-core': + specifier: ^4.276.6 + version: 4.276.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@patternfly/react-icons': + specifier: ^4.93.6 + version: 4.93.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@types/react': + specifier: ^17.0.6 + version: 17.0.21 + '@types/react-dom': + specifier: ^17.0.5 + version: 17.0.8 + copy-webpack-plugin: + specifier: ^11.0.0 + version: 11.0.0(webpack@5.94.0(webpack-cli@4.10.0)) + react: + specifier: ^17.0.2 + version: 17.0.2 + react-dom: + specifier: ^17.0.2 + version: 17.0.2(react@17.0.2) + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + typescript: + specifier: ^5.5.3 + version: 5.5.3 + webpack: + specifier: ^5.94.0 + version: 5.94.0(webpack-cli@4.10.0) + webpack-cli: + specifier: ^4.10.0 + version: 4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0) + webpack-dev-server: + specifier: ^4.15.1 + version: 4.15.1(webpack-cli@4.10.0)(webpack@5.94.0) + webpack-merge: + specifier: ^5.9.0 + version: 5.10.0 + + examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension: + devDependencies: + '@kie-tools-core/editor': + specifier: workspace:* + version: link:../../packages/editor + '@kie-tools-core/i18n': + specifier: workspace:* + version: link:../../packages/i18n + '@kie-tools-core/patternfly-base': + specifier: workspace:* + version: link:../../packages/patternfly-base + '@kie-tools-core/vscode-extension': + specifier: workspace:* + version: link:../../packages/vscode-extension + '@kie-tools-core/webpack-base': + specifier: workspace:* + version: link:../../packages/webpack-base + '@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor': + specifier: workspace:* + version: link:../micro-frontends-multiplying-architecture-base64png-editor + '@kie-tools/root-env': + specifier: workspace:* + version: link:../../packages/root-env + '@kie-tools/tsconfig': + specifier: workspace:* + version: link:../../packages/tsconfig + '@types/vscode': + specifier: 1.67.0 + version: 1.67.0 + '@vscode/vsce': + specifier: ^2.22.0 + version: 2.22.0 + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + typescript: + specifier: ^5.5.3 + version: 5.5.3 + webpack: + specifier: ^5.94.0 + version: 5.94.0(webpack-cli@4.10.0) + webpack-cli: + specifier: ^4.10.0 + version: 4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0) + webpack-dev-server: + specifier: ^4.15.1 + version: 4.15.1(webpack-cli@4.10.0)(webpack@5.94.0) + webpack-merge: + specifier: ^5.9.0 + version: 5.10.0 + + examples/micro-frontends-multiplying-architecture-ping-pong-view: + dependencies: + '@kie-tools-core/envelope': + specifier: workspace:* + version: link:../../packages/envelope + '@kie-tools-core/envelope-bus': + specifier: workspace:* + version: link:../../packages/envelope-bus + react: + specifier: '>=17.0.2 <19.0.0' + version: 17.0.2 + react-dom: + specifier: '>=17.0.2 <19.0.0' + version: 17.0.2(react@17.0.2) + devDependencies: + '@kie-tools/root-env': + specifier: workspace:* + version: link:../../packages/root-env + '@kie-tools/tsconfig': + specifier: workspace:* + version: link:../../packages/tsconfig + '@types/react': + specifier: ^17.0.6 + version: 17.0.21 + '@types/react-dom': + specifier: ^17.0.5 + version: 17.0.8 + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + typescript: + specifier: ^5.5.3 + version: 5.5.3 + + examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular: + dependencies: + '@angular/common': + specifier: ^18.1.2 + version: 18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8))(rxjs@7.8.1) + '@angular/compiler': + specifier: ^18.1.2 + version: 18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)) + '@angular/core': + specifier: ^18.1.2 + version: 18.1.3(rxjs@7.8.1)(zone.js@0.14.8) + '@angular/elements': + specifier: ^18.1.2 + version: 18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8))(rxjs@7.8.1) + '@angular/platform-browser': + specifier: ^18.1.2 + version: 18.1.3(@angular/common@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8))(rxjs@7.8.1))(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)) + '@angular/platform-browser-dynamic': + specifier: ^18.1.2 + version: 18.1.3(@angular/common@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8))(rxjs@7.8.1))(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)))(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8))(@angular/platform-browser@18.1.3(@angular/common@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8))(rxjs@7.8.1))(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8))) + '@kie-tools-core/envelope': + specifier: workspace:* + version: link:../../packages/envelope + '@kie-tools-core/envelope-bus': + specifier: workspace:* + version: link:../../packages/envelope-bus + '@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view': + specifier: workspace:* + version: link:../micro-frontends-multiplying-architecture-ping-pong-view + rxjs: + specifier: ^7.4.0 + version: 7.8.1 + zone.js: + specifier: ^0.14.8 + version: 0.14.8 + devDependencies: + '@angular-devkit/build-angular': + specifier: ^18.1.2 + version: 18.1.3(@angular/compiler-cli@18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)))(typescript@5.5.3))(@types/node@22.5.2)(chokidar@3.6.0)(html-webpack-plugin@5.5.3(webpack@5.94.0))(jest-environment-jsdom@29.7.0)(jest@29.7.0(@types/node@22.5.2))(karma@6.4.2)(stylus@0.59.0)(typescript@5.5.3) + '@angular/cli': + specifier: ^18.1.2 + version: 18.1.3(chokidar@3.6.0) + '@angular/compiler-cli': + specifier: ^18.1.2 + version: 18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)))(typescript@5.5.3) + '@kie-tools/root-env': + specifier: workspace:* + version: link:../../packages/root-env + '@kie-tools/tsconfig': + specifier: workspace:* + version: link:../../packages/tsconfig + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + typescript: + specifier: ^5.5.3 + version: 5.5.3 + webpack: + specifier: ^5.94.0 + version: 5.94.0 - examples/dmn-editor-standalone-examples: + examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react: dependencies: - '@kie-tools/dmn-editor-standalone': + '@kie-tools-core/envelope': specifier: workspace:* - version: link:../../packages/dmn-editor-standalone + version: link:../../packages/envelope + '@kie-tools-core/envelope-bus': + specifier: workspace:* + version: link:../../packages/envelope-bus + '@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view': + specifier: workspace:* + version: link:../micro-frontends-multiplying-architecture-ping-pong-view + react: + specifier: '>=17.0.2 <19.0.0' + version: 17.0.2 + react-dom: + specifier: '>=17.0.2 <19.0.0' + version: 17.0.2(react@17.0.2) + devDependencies: + '@kie-tools/root-env': + specifier: workspace:* + version: link:../../packages/root-env + '@kie-tools/tsconfig': + specifier: workspace:* + version: link:../../packages/tsconfig + '@types/react': + specifier: ^17.0.6 + version: 17.0.21 + '@types/react-dom': + specifier: ^17.0.5 + version: 17.0.8 + copyfiles: + specifier: ^2.4.1 + version: 2.4.1 + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + typescript: + specifier: ^5.5.3 + version: 5.5.3 + + examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp: devDependencies: + '@kie-tools-core/editor': + specifier: workspace:* + version: link:../../packages/editor + '@kie-tools-core/envelope-bus': + specifier: workspace:* + version: link:../../packages/envelope-bus + '@kie-tools-core/patternfly-base': + specifier: workspace:* + version: link:../../packages/patternfly-base + '@kie-tools-core/react-hooks': + specifier: workspace:* + version: link:../../packages/react-hooks '@kie-tools-core/webpack-base': specifier: workspace:* version: link:../../packages/webpack-base + '@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view': + specifier: workspace:* + version: link:../micro-frontends-multiplying-architecture-ping-pong-view + '@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular': + specifier: workspace:* + version: link:../micro-frontends-multiplying-architecture-ping-pong-view-in-angular + '@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react': + specifier: workspace:* + version: link:../micro-frontends-multiplying-architecture-ping-pong-view-in-react '@kie-tools/root-env': specifier: workspace:* version: link:../../packages/root-env + '@kie-tools/stunner-editors': + specifier: workspace:* + version: link:../../packages/stunner-editors '@kie-tools/tsconfig': specifier: workspace:* version: link:../../packages/tsconfig + '@patternfly/react-core': + specifier: ^4.276.6 + version: 4.276.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@patternfly/react-icons': + specifier: ^4.93.6 + version: 4.93.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@types/react': + specifier: ^17.0.6 + version: 17.0.21 + '@types/react-dom': + specifier: ^17.0.5 + version: 17.0.8 + '@types/react-router': + specifier: ^5.1.20 + version: 5.1.20 + '@types/react-router-dom': + specifier: ^5.3.3 + version: 5.3.3 copy-webpack-plugin: specifier: ^11.0.0 version: 11.0.0(webpack@5.94.0(webpack-cli@4.10.0)) - html-webpack-plugin: - specifier: ^5.3.2 - version: 5.5.3(webpack@5.94.0(webpack-cli@4.10.0)) - process: - specifier: ^0.11.10 - version: 0.11.10 - raw-loader: - specifier: ^4.0.2 - version: 4.0.2(webpack@5.94.0(webpack-cli@4.10.0)) + react: + specifier: ^17.0.2 + version: 17.0.2 + react-dom: + specifier: ^17.0.2 + version: 17.0.2(react@17.0.2) + react-router-dom: + specifier: ^5.3.4 + version: 5.3.4(react@17.0.2) rimraf: specifier: ^3.0.2 version: 3.0.2 @@ -281,12 +1029,9 @@ importers: webpack: specifier: ^5.94.0 version: 5.94.0(webpack-cli@4.10.0) - webpack-bundle-analyzer: - specifier: ^4.10.2 - version: 4.10.2 webpack-cli: specifier: ^4.10.0 - version: 4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0) + version: 4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0) webpack-dev-server: specifier: ^4.15.1 version: 4.15.1(webpack-cli@4.10.0)(webpack@5.94.0) @@ -294,40 +1039,159 @@ importers: specifier: ^5.9.0 version: 5.10.0 - examples/drools-process-usertasks-quarkus-example: + examples/micro-frontends-multiplying-architecture-todo-list-view: dependencies: - '@kie-tools/jbpm-quarkus-devui': + '@kie-tools-core/envelope': specifier: workspace:* - version: link:../../packages/jbpm-quarkus-devui - '@kie-tools/maven-base': + version: link:../../packages/envelope + '@kie-tools-core/envelope-bus': specifier: workspace:* - version: link:../../packages/maven-base + version: link:../../packages/envelope-bus + react: + specifier: '>=17.0.2 <19.0.0' + version: 17.0.2 + react-dom: + specifier: '>=17.0.2 <19.0.0' + version: 17.0.2(react@17.0.2) devDependencies: '@kie-tools/root-env': specifier: workspace:* version: link:../../packages/root-env - run-script-os: - specifier: ^1.1.6 - version: 1.1.6 + '@kie-tools/tsconfig': + specifier: workspace:* + version: link:../../packages/tsconfig + '@types/react': + specifier: ^17.0.6 + version: 17.0.21 + '@types/react-dom': + specifier: ^17.0.5 + version: 17.0.8 + '@types/vscode': + specifier: 1.67.0 + version: 1.67.0 + copyfiles: + specifier: ^2.4.1 + version: 2.4.1 + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + typescript: + specifier: ^5.5.3 + version: 5.5.3 - examples/jbpm-compact-architecture-example: - dependencies: - '@kie-tools/jbpm-quarkus-devui': + examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp: + devDependencies: + '@kie-tools-core/editor': specifier: workspace:* - version: link:../../packages/jbpm-quarkus-devui - '@kie-tools/maven-base': + version: link:../../packages/editor + '@kie-tools-core/envelope-bus': specifier: workspace:* - version: link:../../packages/maven-base + version: link:../../packages/envelope-bus + '@kie-tools-core/patternfly-base': + specifier: workspace:* + version: link:../../packages/patternfly-base + '@kie-tools-core/react-hooks': + specifier: workspace:* + version: link:../../packages/react-hooks + '@kie-tools-core/webpack-base': + specifier: workspace:* + version: link:../../packages/webpack-base + '@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view': + specifier: workspace:* + version: link:../micro-frontends-multiplying-architecture-todo-list-view + '@kie-tools/root-env': + specifier: workspace:* + version: link:../../packages/root-env + '@kie-tools/tsconfig': + specifier: workspace:* + version: link:../../packages/tsconfig + '@patternfly/react-core': + specifier: ^4.276.6 + version: 4.276.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@patternfly/react-icons': + specifier: ^4.93.6 + version: 4.93.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@types/react': + specifier: ^17.0.6 + version: 17.0.21 + '@types/react-dom': + specifier: ^17.0.5 + version: 17.0.8 + copy-webpack-plugin: + specifier: ^11.0.0 + version: 11.0.0(webpack@5.94.0(webpack-cli@4.10.0)) + react: + specifier: ^17.0.2 + version: 17.0.2 + react-dom: + specifier: ^17.0.2 + version: 17.0.2(react@17.0.2) + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + typescript: + specifier: ^5.5.3 + version: 5.5.3 + webpack: + specifier: ^5.94.0 + version: 5.94.0(webpack-cli@4.10.0) + webpack-cli: + specifier: ^4.10.0 + version: 4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0) + webpack-dev-server: + specifier: ^4.15.1 + version: 4.15.1(webpack-cli@4.10.0)(webpack@5.94.0) + webpack-merge: + specifier: ^5.9.0 + version: 5.10.0 + + examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension: devDependencies: - '@kie-tools/kogito-management-console': + '@kie-tools-core/envelope-bus': specifier: workspace:* - version: link:../../packages/kogito-management-console + version: link:../../packages/envelope-bus + '@kie-tools-core/patternfly-base': + specifier: workspace:* + version: link:../../packages/patternfly-base + '@kie-tools-core/vscode-extension': + specifier: workspace:* + version: link:../../packages/vscode-extension + '@kie-tools-core/webpack-base': + specifier: workspace:* + version: link:../../packages/webpack-base + '@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view': + specifier: workspace:* + version: link:../micro-frontends-multiplying-architecture-todo-list-view '@kie-tools/root-env': specifier: workspace:* version: link:../../packages/root-env - run-script-os: - specifier: ^1.1.6 - version: 1.1.6 + '@kie-tools/tsconfig': + specifier: workspace:* + version: link:../../packages/tsconfig + '@types/vscode': + specifier: 1.67.0 + version: 1.67.0 + '@vscode/vsce': + specifier: ^2.22.0 + version: 2.22.0 + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + typescript: + specifier: ^5.5.3 + version: 5.5.3 + webpack: + specifier: ^5.94.0 + version: 5.94.0(webpack-cli@4.10.0) + webpack-cli: + specifier: ^4.10.0 + version: 4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0) + webpack-dev-server: + specifier: ^4.15.1 + version: 4.15.1(webpack-cli@4.10.0)(webpack@5.94.0) + webpack-merge: + specifier: ^5.9.0 + version: 5.10.0 examples/ping-pong-view: dependencies: @@ -464,6 +1328,81 @@ importers: specifier: ^5.5.3 version: 5.5.3 + examples/serverless-workflow-editor-standalone-on-webapp: + devDependencies: + '@kie-tools-core/editor': + specifier: workspace:* + version: link:../../packages/editor + '@kie-tools-core/envelope-bus': + specifier: workspace:* + version: link:../../packages/envelope-bus + '@kie-tools-core/patternfly-base': + specifier: workspace:* + version: link:../../packages/patternfly-base + '@kie-tools-core/react-hooks': + specifier: workspace:* + version: link:../../packages/react-hooks + '@kie-tools-core/webpack-base': + specifier: workspace:* + version: link:../../packages/webpack-base + '@kie-tools/root-env': + specifier: workspace:* + version: link:../../packages/root-env + '@kie-tools/serverless-workflow-standalone-editor': + specifier: workspace:* + version: link:../../packages/serverless-workflow-standalone-editor + '@kie-tools/tsconfig': + specifier: workspace:* + version: link:../../packages/tsconfig + '@patternfly/react-core': + specifier: ^4.276.6 + version: 4.276.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@patternfly/react-icons': + specifier: ^4.93.6 + version: 4.93.6(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@types/react': + specifier: ^17.0.6 + version: 17.0.21 + '@types/react-dom': + specifier: ^17.0.5 + version: 17.0.8 + '@types/react-router': + specifier: ^5.1.20 + version: 5.1.20 + '@types/react-router-dom': + specifier: ^5.3.3 + version: 5.3.3 + copy-webpack-plugin: + specifier: ^11.0.0 + version: 11.0.0(webpack@5.94.0(webpack-cli@4.10.0)) + react: + specifier: ^17.0.2 + version: 17.0.2 + react-dom: + specifier: ^17.0.2 + version: 17.0.2(react@17.0.2) + react-router-dom: + specifier: ^5.3.4 + version: 5.3.4(react@17.0.2) + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + typescript: + specifier: ^5.5.3 + version: 5.5.3 + webpack: + specifier: ^5.94.0 + version: 5.94.0(webpack-cli@4.10.0) + webpack-cli: + specifier: ^4.10.0 + version: 4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0) + webpack-dev-server: + specifier: ^4.15.1 + version: 4.15.1(webpack-cli@4.10.0)(webpack@5.94.0) + webpack-merge: + specifier: ^5.9.0 + version: 5.10.0 + examples/sonataflow-greeting-quarkus-example: dependencies: '@kie-tools/maven-base': @@ -680,21 +1619,21 @@ importers: '@kie-tools-core/react-hooks': specifier: workspace:* version: link:../../packages/react-hooks - '@kie-tools-examples/base64png-editor': + '@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor': specifier: workspace:* - version: link:../base64png-editor - '@kie-tools-examples/ping-pong-view': + version: link:../micro-frontends-multiplying-architecture-base64png-editor + '@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view': specifier: workspace:* - version: link:../ping-pong-view - '@kie-tools-examples/ping-pong-view-angular': + version: link:../micro-frontends-multiplying-architecture-ping-pong-view + '@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular': specifier: workspace:* - version: link:../ping-pong-view-angular - '@kie-tools-examples/ping-pong-view-react': + version: link:../micro-frontends-multiplying-architecture-ping-pong-view-in-angular + '@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react': specifier: workspace:* - version: link:../ping-pong-view-react - '@kie-tools-examples/todo-list-view': + version: link:../micro-frontends-multiplying-architecture-ping-pong-view-in-react + '@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view': specifier: workspace:* - version: link:../todo-list-view + version: link:../micro-frontends-multiplying-architecture-todo-list-view '@kie-tools/dmn-editor': specifier: workspace:* version: link:../../packages/dmn-editor @@ -3294,7 +4233,7 @@ importers: version: 7.6.13(react@17.0.2) '@storybook/addon-webpack5-compiler-babel': specifier: ^3.0.3 - version: 3.0.3(webpack@5.94.0(webpack-cli@4.10.0)) + version: 3.0.3(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)) '@storybook/blocks': specifier: ^7.3.2 version: 7.6.13(@types/react-dom@17.0.8)(@types/react@17.0.21)(encoding@0.1.13)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) @@ -3309,7 +4248,7 @@ importers: version: 7.6.13(encoding@0.1.13)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.5.3) '@storybook/react-webpack5': specifier: ^7.3.2 - version: 7.6.13(@babel/core@7.23.0)(@types/webpack@4.41.39)(encoding@0.1.13)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(type-fest@4.26.1)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4) + version: 7.6.13(@babel/core@7.23.0)(@swc/core@1.3.92)(@types/webpack@4.41.39)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(type-fest@4.26.1)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4) '@types/d3-drag': specifier: ^3.0.3 version: 3.0.7 @@ -3339,7 +4278,7 @@ importers: version: 8.3.0 copy-webpack-plugin: specifier: ^11.0.0 - version: 11.0.0(webpack@5.94.0(webpack-cli@4.10.0)) + version: 11.0.0(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)) copyfiles: specifier: ^2.4.1 version: 2.4.1 @@ -3351,16 +4290,16 @@ importers: version: 1.1.9 file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@5.94.0(webpack-cli@4.10.0)) + version: 6.2.0(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)) jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.5.3)) + version: 29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@20.14.2)(typescript@5.5.3)) jest-junit: specifier: ^16.0.0 version: 16.0.0 jest-when: specifier: ^3.6.0 - version: 3.6.0(jest@29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.5.3))) + version: 3.6.0(jest@29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@20.14.2)(typescript@5.5.3))) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -3378,13 +4317,13 @@ importers: version: 7.6.13(encoding@0.1.13) ts-jest: specifier: ^29.1.5 - version: 29.1.5(@babel/core@7.23.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.0))(jest@29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.5.3)))(typescript@5.5.3) + version: 29.1.5(@babel/core@7.23.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.0))(esbuild@0.18.20)(jest@29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@20.14.2)(typescript@5.5.3)))(typescript@5.5.3) typescript: specifier: ^5.5.3 version: 5.5.3 webpack: specifier: ^5.94.0 - version: 5.94.0(webpack-cli@4.10.0) + version: 5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0) webpack-cli: specifier: ^4.10.0 version: 4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0) @@ -3550,7 +4489,7 @@ importers: version: 7.6.13(react@17.0.2) '@storybook/addon-webpack5-compiler-babel': specifier: ^3.0.3 - version: 3.0.3(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)) + version: 3.0.3(webpack@5.94.0(webpack-cli@4.10.0)) '@storybook/blocks': specifier: ^7.3.2 version: 7.6.13(@types/react-dom@17.0.8)(@types/react@17.0.21)(encoding@0.1.13)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) @@ -3565,7 +4504,7 @@ importers: version: 7.6.13(encoding@0.1.13)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.5.3) '@storybook/react-webpack5': specifier: ^7.3.2 - version: 7.6.13(@babel/core@7.23.9)(@swc/core@1.3.92)(@types/webpack@4.41.39)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(type-fest@4.26.1)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4) + version: 7.6.13(@babel/core@7.23.9)(@types/webpack@4.41.39)(encoding@0.1.13)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(type-fest@4.26.1)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4) '@types/jest-when': specifier: ^3.5.5 version: 3.5.5 @@ -3598,7 +4537,7 @@ importers: version: 9.5.1 html-webpack-plugin: specifier: ^5.3.2 - version: 5.5.3(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)) + version: 5.5.3(webpack@5.94.0(webpack-cli@4.10.0)) junit-report-merger: specifier: ^4.0.0 version: 4.0.0 @@ -3619,7 +4558,7 @@ importers: version: 0.11.10 raw-loader: specifier: ^4.0.2 - version: 4.0.2(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)) + version: 4.0.2(webpack@5.94.0(webpack-cli@4.10.0)) react: specifier: ^17.0.2 version: 17.0.2 @@ -3640,7 +4579,7 @@ importers: version: 5.5.3 webpack: specifier: ^5.94.0 - version: 5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0) + version: 5.94.0(webpack-cli@4.10.0) webpack-bundle-analyzer: specifier: ^4.10.2 version: 4.10.2 @@ -19123,9 +20062,6 @@ packages: '@types/estree@0.0.51': resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} - '@types/estree@1.0.1': - resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} - '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} @@ -19312,9 +20248,6 @@ packages: '@types/node@20.14.2': resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} - '@types/node@22.0.2': - resolution: {integrity: sha512-yPL6DyFwY5PiMVEwymNeqUTKsDczQBJ/5T7W/46RwLU/VH+AA8aT5TZkvBviLKLbbm0hlfftEkGrNzfRk/fofQ==} - '@types/node@22.5.2': resolution: {integrity: sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg==} @@ -19965,10 +20898,6 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} - agent-base@7.1.0: - resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} - engines: {node: '>= 14'} - agent-base@7.1.1: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} @@ -20740,11 +21669,6 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - browserslist@4.23.2: - resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - browserslist@4.23.3: resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -20914,9 +21838,6 @@ packages: caniuse-lite@1.0.30001600: resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==} - caniuse-lite@1.0.30001646: - resolution: {integrity: sha512-dRg00gudiBDDTmUhClSdv3hqRfpbOnU28IpI1T6PBTLWa+kOj0681C8uML3PifYfREuBrVjDGhL3adYpBT6spw==} - caniuse-lite@1.0.30001655: resolution: {integrity: sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==} @@ -21012,10 +21933,6 @@ packages: resolution: {integrity: sha512-pVLljQ29SAx8KIv5tSa9sIf8GrEsAZdPJoeWOmY3/nrIzFmE+EryNNHvDkddGod0cmAFTv+GmPG0uvzxi2NWsA==} hasBin: true - chrome-trace-event@1.0.2: - resolution: {integrity: sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==} - engines: {node: '>=6.0'} - chrome-trace-event@1.0.4: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} @@ -21081,10 +21998,6 @@ packages: resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} engines: {node: '>=18'} - cli-spinners@2.6.0: - resolution: {integrity: sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==} - engines: {node: '>=6'} - cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} @@ -21488,6 +22401,7 @@ packages: critters@0.0.24: resolution: {integrity: sha512-Oyqew0FGM0wYUSNqR0L6AteO5MpMoUU0rhKRieXeiKs+PmRTxiJMyaunYB2KF6fQ3dzChXKCpbFOEJx3OQ1v/Q==} + deprecated: Ownership of Critters has moved to the Nuxt team, who will be maintaining the project going forward. If you'd like to keep using Critters, please switch to the actively-maintained fork at https://github.com/danielroe/beasties cross-env@7.0.3: resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} @@ -22314,9 +23228,6 @@ packages: electron-to-chromium@1.5.13: resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==} - electron-to-chromium@1.5.4: - resolution: {integrity: sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA==} - elkjs@0.8.2: resolution: {integrity: sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==} @@ -23690,9 +24601,6 @@ packages: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} engines: {node: '>=12'} - html-entities@2.3.2: - resolution: {integrity: sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==} - html-entities@2.5.2: resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==} @@ -23827,10 +24735,6 @@ packages: resolution: {integrity: sha512-ONsE3+yfZF2caH5+bJlcddtWqNI3Gvs5A38+ngvljxaBiRXRswym2c7yf8UAeFpRFKjFNHIFEHqR/OLAWJzyiA==} engines: {node: '>= 14'} - https-proxy-agent@7.0.2: - resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} - engines: {node: '>= 14'} - https-proxy-agent@7.0.5: resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} engines: {node: '>= 14'} @@ -25076,10 +25980,6 @@ packages: resolution: {integrity: sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==} engines: {node: '>=8'} - loader-runner@4.2.0: - resolution: {integrity: sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==} - engines: {node: '>=6.11.5'} - loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} @@ -25264,10 +26164,6 @@ packages: magic-string@0.30.10: resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} - magic-string@0.30.7: - resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} - engines: {node: '>=12'} - make-dir@1.3.0: resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} engines: {node: '>=4'} @@ -27783,9 +28679,6 @@ packages: rfc4648@1.5.2: resolution: {integrity: sha512-tLOizhR6YGovrEBLatX1sdcuhoSCXddw3mqNVAcKxGJ+J0hFeJ+SjeWCv5UPA/WU3YzWPPuCVYgXBKZUPGpKtg==} - rfdc@1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} - rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} @@ -27795,14 +28688,17 @@ packages: rimraf@2.5.4: resolution: {integrity: sha512-Lw7SHMjssciQb/rRz7JyPIy9+bbUshEucPoLRvWqy09vC5zQixl8Uet+Zl+SROBB/JMWHJRdCk1qdxNWHNMvlQ==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rimraf@2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rimraf@2.7.1: resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rimraf@3.0.2: @@ -29209,9 +30105,6 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - undici-types@6.11.1: - resolution: {integrity: sha512-mIDEX2ek50x0OlRgxryxsenE5XaQD4on5U2inY7RApK3SOJpofyw7uW2AyfMKkhAxXIceo2DeWGVGwyvng1GNQ==} - undici-types@6.19.8: resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} @@ -30351,6 +31244,96 @@ snapshots: - utf-8-validate - webpack-cli + '@angular-devkit/build-angular@18.1.3(@angular/compiler-cli@18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)))(typescript@5.5.3))(@types/node@22.5.2)(chokidar@3.6.0)(html-webpack-plugin@5.5.3(webpack@5.94.0))(jest-environment-jsdom@29.7.0)(jest@29.7.0(@types/node@22.5.2))(karma@6.4.2)(stylus@0.59.0)(typescript@5.5.3)': + dependencies: + '@ampproject/remapping': 2.3.0 + '@angular-devkit/architect': 0.1801.3(chokidar@3.6.0) + '@angular-devkit/build-webpack': 0.1801.3(chokidar@3.6.0)(webpack-dev-server@5.0.4(webpack@5.94.0))(webpack@5.92.1(esbuild@0.21.5)) + '@angular-devkit/core': 18.1.3(chokidar@3.6.0) + '@angular/build': 18.1.3(@angular/compiler-cli@18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)))(typescript@5.5.3))(@types/node@22.5.2)(chokidar@3.6.0)(less@4.2.0)(postcss@8.4.38)(stylus@0.59.0)(terser@5.29.2)(typescript@5.5.3) + '@angular/compiler-cli': 18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)))(typescript@5.5.3) + '@babel/core': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/plugin-transform-async-generator-functions': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.24.7) + '@babel/preset-env': 7.24.7(@babel/core@7.24.7) + '@babel/runtime': 7.24.7 + '@discoveryjs/json-ext': 0.5.7 + '@ngtools/webpack': 18.1.3(@angular/compiler-cli@18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)))(typescript@5.5.3))(typescript@5.5.3)(webpack@5.92.1(esbuild@0.21.5)) + '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.3.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.6)(stylus@0.59.0)(terser@5.29.2)) + ansi-colors: 4.1.3 + autoprefixer: 10.4.19(postcss@8.4.38) + babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.92.1(esbuild@0.21.5)) + browserslist: 4.23.3 + copy-webpack-plugin: 12.0.2(webpack@5.92.1(esbuild@0.21.5)) + critters: 0.0.24 + css-loader: 7.1.2(webpack@5.92.1(esbuild@0.21.5)) + esbuild-wasm: 0.21.5 + fast-glob: 3.3.2 + http-proxy-middleware: 3.0.0 + https-proxy-agent: 7.0.5 + istanbul-lib-instrument: 6.0.2 + jsonc-parser: 3.3.1 + karma-source-map-support: 1.4.0 + less: 4.2.0 + less-loader: 12.2.0(less@4.2.0)(webpack@5.92.1(esbuild@0.21.5)) + license-webpack-plugin: 4.0.2(webpack@5.92.1(esbuild@0.21.5)) + loader-utils: 3.3.1 + magic-string: 0.30.10 + mini-css-extract-plugin: 2.9.0(webpack@5.92.1(esbuild@0.21.5)) + mrmime: 2.0.0 + open: 10.1.0 + ora: 5.4.1 + parse5-html-rewriting-stream: 7.0.0 + picomatch: 4.0.2 + piscina: 4.6.1 + postcss: 8.4.38 + postcss-loader: 8.1.1(postcss@8.4.38)(typescript@5.5.3)(webpack@5.92.1(esbuild@0.21.5)) + resolve-url-loader: 5.0.0 + rxjs: 7.8.1 + sass: 1.77.6 + sass-loader: 14.2.1(sass@1.77.6)(webpack@5.92.1(esbuild@0.21.5)) + semver: 7.6.2 + source-map-loader: 5.0.0(webpack@5.92.1(esbuild@0.21.5)) + source-map-support: 0.5.21 + terser: 5.29.2 + tree-kill: 1.2.2 + tslib: 2.6.3 + typescript: 5.5.3 + undici: 6.19.2 + vite: 5.3.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.6)(stylus@0.59.0)(terser@5.29.2) + watchpack: 2.4.1 + webpack: 5.92.1(esbuild@0.21.5) + webpack-dev-middleware: 7.2.1(webpack@5.92.1(esbuild@0.21.5)) + webpack-dev-server: 5.0.4(webpack@5.92.1(esbuild@0.21.5)) + webpack-merge: 5.10.0 + webpack-subresource-integrity: 5.1.0(html-webpack-plugin@5.5.3(webpack@5.94.0))(webpack@5.92.1(esbuild@0.21.5)) + optionalDependencies: + esbuild: 0.21.5 + jest: 29.7.0(@types/node@22.5.2) + jest-environment-jsdom: 29.7.0 + karma: 6.4.2 + transitivePeerDependencies: + - '@rspack/core' + - '@swc/core' + - '@types/node' + - bufferutil + - chokidar + - debug + - html-webpack-plugin + - lightningcss + - node-sass + - sass-embedded + - stylus + - sugarss + - supports-color + - uglify-js + - utf-8-validate + - webpack-cli + '@angular-devkit/build-webpack@0.1801.3(chokidar@3.6.0)(webpack-dev-server@5.0.4(webpack@5.94.0))(webpack@5.92.1(esbuild@0.21.5))': dependencies: '@angular-devkit/architect': 0.1801.3(chokidar@3.6.0) @@ -30424,6 +31407,49 @@ snapshots: - supports-color - terser + '@angular/build@18.1.3(@angular/compiler-cli@18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)))(typescript@5.5.3))(@types/node@22.5.2)(chokidar@3.6.0)(less@4.2.0)(postcss@8.4.38)(stylus@0.59.0)(terser@5.29.2)(typescript@5.5.3)': + dependencies: + '@ampproject/remapping': 2.3.0 + '@angular-devkit/architect': 0.1801.3(chokidar@3.6.0) + '@angular/compiler-cli': 18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)))(typescript@5.5.3) + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.24.7) + '@inquirer/confirm': 3.1.11 + '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.3.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.6)(stylus@0.59.0)(terser@5.29.2)) + ansi-colors: 4.1.3 + browserslist: 4.23.3 + critters: 0.0.24 + esbuild: 0.21.5 + fast-glob: 3.3.2 + https-proxy-agent: 7.0.5 + lmdb: 3.0.12 + magic-string: 0.30.10 + mrmime: 2.0.0 + ora: 5.4.1 + parse5-html-rewriting-stream: 7.0.0 + picomatch: 4.0.2 + piscina: 4.6.1 + rollup: 4.18.0 + sass: 1.77.6 + semver: 7.6.2 + typescript: 5.5.3 + undici: 6.19.2 + vite: 5.3.2(@types/node@22.5.2)(less@4.2.0)(sass@1.77.6)(stylus@0.59.0)(terser@5.29.2) + watchpack: 2.4.1 + optionalDependencies: + less: 4.2.0 + postcss: 8.4.38 + transitivePeerDependencies: + - '@types/node' + - chokidar + - lightningcss + - stylus + - sugarss + - supports-color + - terser + '@angular/cli@18.1.3(chokidar@3.6.0)': dependencies: '@angular-devkit/architect': 0.1801.3(chokidar@3.6.0) @@ -30454,6 +31480,12 @@ snapshots: rxjs: 7.5.2 tslib: 2.6.2 + '@angular/common@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8))(rxjs@7.8.1)': + dependencies: + '@angular/core': 18.1.3(rxjs@7.8.1)(zone.js@0.14.8) + rxjs: 7.8.1 + tslib: 2.7.0 + '@angular/compiler-cli@18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.5.2)(zone.js@0.14.8)))(typescript@5.5.3)': dependencies: '@angular/compiler': 18.1.3(@angular/core@18.1.3(rxjs@7.5.2)(zone.js@0.14.8)) @@ -30469,24 +31501,57 @@ snapshots: transitivePeerDependencies: - supports-color + '@angular/compiler-cli@18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)))(typescript@5.5.3)': + dependencies: + '@angular/compiler': 18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)) + '@babel/core': 7.24.9 + '@jridgewell/sourcemap-codec': 1.4.15 + chokidar: 3.6.0 + convert-source-map: 1.7.0 + reflect-metadata: 0.2.2 + semver: 7.6.3 + tslib: 2.7.0 + typescript: 5.5.3 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + '@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.5.2)(zone.js@0.14.8))': dependencies: tslib: 2.6.2 optionalDependencies: '@angular/core': 18.1.3(rxjs@7.5.2)(zone.js@0.14.8) + '@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8))': + dependencies: + tslib: 2.7.0 + optionalDependencies: + '@angular/core': 18.1.3(rxjs@7.8.1)(zone.js@0.14.8) + '@angular/core@18.1.3(rxjs@7.5.2)(zone.js@0.14.8)': dependencies: rxjs: 7.5.2 tslib: 2.6.2 zone.js: 0.14.8 + '@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)': + dependencies: + rxjs: 7.8.1 + tslib: 2.7.0 + zone.js: 0.14.8 + '@angular/elements@18.1.3(@angular/core@18.1.3(rxjs@7.5.2)(zone.js@0.14.8))(rxjs@7.5.2)': dependencies: '@angular/core': 18.1.3(rxjs@7.5.2)(zone.js@0.14.8) rxjs: 7.5.2 tslib: 2.6.2 + '@angular/elements@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8))(rxjs@7.8.1)': + dependencies: + '@angular/core': 18.1.3(rxjs@7.8.1)(zone.js@0.14.8) + rxjs: 7.8.1 + tslib: 2.7.0 + '@angular/platform-browser-dynamic@18.1.3(@angular/common@18.1.3(@angular/core@18.1.3(rxjs@7.5.2)(zone.js@0.14.8))(rxjs@7.5.2))(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.5.2)(zone.js@0.14.8)))(@angular/core@18.1.3(rxjs@7.5.2)(zone.js@0.14.8))(@angular/platform-browser@18.1.3(@angular/common@18.1.3(@angular/core@18.1.3(rxjs@7.5.2)(zone.js@0.14.8))(rxjs@7.5.2))(@angular/core@18.1.3(rxjs@7.5.2)(zone.js@0.14.8)))': dependencies: '@angular/common': 18.1.3(@angular/core@18.1.3(rxjs@7.5.2)(zone.js@0.14.8))(rxjs@7.5.2) @@ -30495,12 +31560,26 @@ snapshots: '@angular/platform-browser': 18.1.3(@angular/common@18.1.3(@angular/core@18.1.3(rxjs@7.5.2)(zone.js@0.14.8))(rxjs@7.5.2))(@angular/core@18.1.3(rxjs@7.5.2)(zone.js@0.14.8)) tslib: 2.6.2 + '@angular/platform-browser-dynamic@18.1.3(@angular/common@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8))(rxjs@7.8.1))(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)))(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8))(@angular/platform-browser@18.1.3(@angular/common@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8))(rxjs@7.8.1))(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)))': + dependencies: + '@angular/common': 18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8))(rxjs@7.8.1) + '@angular/compiler': 18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)) + '@angular/core': 18.1.3(rxjs@7.8.1)(zone.js@0.14.8) + '@angular/platform-browser': 18.1.3(@angular/common@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8))(rxjs@7.8.1))(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)) + tslib: 2.7.0 + '@angular/platform-browser@18.1.3(@angular/common@18.1.3(@angular/core@18.1.3(rxjs@7.5.2)(zone.js@0.14.8))(rxjs@7.5.2))(@angular/core@18.1.3(rxjs@7.5.2)(zone.js@0.14.8))': dependencies: '@angular/common': 18.1.3(@angular/core@18.1.3(rxjs@7.5.2)(zone.js@0.14.8))(rxjs@7.5.2) '@angular/core': 18.1.3(rxjs@7.5.2)(zone.js@0.14.8) tslib: 2.6.2 + '@angular/platform-browser@18.1.3(@angular/common@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8))(rxjs@7.8.1))(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8))': + dependencies: + '@angular/common': 18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8))(rxjs@7.8.1) + '@angular/core': 18.1.3(rxjs@7.8.1)(zone.js@0.14.8) + tslib: 2.7.0 + '@apidevtools/json-schema-ref-parser@9.0.6': dependencies: '@jsdevtools/ono': 7.1.3 @@ -30745,11 +31824,11 @@ snapshots: '@ardatan/relay-compiler@12.0.0(encoding@0.1.13)(graphql@14.3.1)': dependencies: '@babel/core': 7.24.9 - '@babel/generator': 7.23.6 - '@babel/parser': 7.23.9 + '@babel/generator': 7.25.0 + '@babel/parser': 7.25.3 '@babel/runtime': 7.24.7 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 + '@babel/traverse': 7.25.3 + '@babel/types': 7.25.2 babel-preset-fbjs: 3.4.0(@babel/core@7.24.9) chalk: 4.1.2 fb-watchman: 2.0.1 @@ -30976,7 +32055,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.7 - '@babel/generator': 7.24.7 + '@babel/generator': 7.25.0 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.24.7) '@babel/helpers': 7.25.0 @@ -30985,7 +32064,7 @@ snapshots: '@babel/traverse': 7.25.3 '@babel/types': 7.25.2 convert-source-map: 2.0.0 - debug: 4.3.5 + debug: 4.3.6 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -31111,7 +32190,7 @@ snapshots: dependencies: '@babel/compat-data': 7.23.5 '@babel/helper-validator-option': 7.23.5 - browserslist: 4.23.0 + browserslist: 4.23.3 lru-cache: 5.1.1 semver: 6.3.1 @@ -31119,7 +32198,7 @@ snapshots: dependencies: '@babel/compat-data': 7.23.5 '@babel/helper-validator-option': 7.23.5 - browserslist: 4.23.0 + browserslist: 4.23.3 lru-cache: 5.1.1 semver: 6.3.1 @@ -31134,66 +32213,66 @@ snapshots: '@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-replace-supers': 7.22.20(@babel/core@7.16.12) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-split-export-declaration': 7.24.7 semver: 6.3.1 '@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.18.10)': dependencies: '@babel/core': 7.18.10 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-replace-supers': 7.22.20(@babel/core@7.18.10) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-split-export-declaration': 7.24.7 semver: 6.3.1 '@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.0)': dependencies: '@babel/core': 7.23.0 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.0) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-split-export-declaration': 7.24.7 semver: 6.3.1 '@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-split-export-declaration': 7.24.7 semver: 6.3.1 '@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.9) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-split-export-declaration': 7.24.7 semver: 6.3.1 '@babel/helper-create-class-features-plugin@7.25.0(@babel/core@7.24.7)': @@ -31225,56 +32304,56 @@ snapshots: '@babel/helper-create-regexp-features-plugin@7.21.8(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 regexpu-core: 5.3.2 semver: 6.3.1 '@babel/helper-create-regexp-features-plugin@7.21.8(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 regexpu-core: 5.3.2 semver: 6.3.1 '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 regexpu-core: 5.3.2 semver: 6.3.1 '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.18.10)': dependencies: '@babel/core': 7.18.10 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 regexpu-core: 5.3.2 semver: 6.3.1 '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.0)': dependencies: '@babel/core': 7.23.0 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 regexpu-core: 5.3.2 semver: 6.3.1 '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 regexpu-core: 5.3.2 semver: 6.3.1 '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 regexpu-core: 5.3.2 semver: 6.3.1 '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 regexpu-core: 5.3.2 semver: 6.3.1 @@ -31331,8 +32410,8 @@ snapshots: '@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.23.0)': dependencies: '@babel/core': 7.23.0 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 debug: 4.3.6 lodash.debounce: 4.0.8 resolve: 1.22.8 @@ -31415,7 +32494,7 @@ snapshots: '@babel/helper-member-expression-to-functions@7.23.0': dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.25.2 '@babel/helper-member-expression-to-functions@7.24.8': dependencies: @@ -31467,7 +32546,7 @@ snapshots: '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-split-export-declaration': 7.24.7 '@babel/helper-validator-identifier': 7.22.20 '@babel/helper-module-transforms@7.23.3(@babel/core@7.16.12)': @@ -31476,7 +32555,7 @@ snapshots: '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-split-export-declaration': 7.24.7 '@babel/helper-validator-identifier': 7.22.20 '@babel/helper-module-transforms@7.23.3(@babel/core@7.18.10)': @@ -31485,7 +32564,7 @@ snapshots: '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-split-export-declaration': 7.24.7 '@babel/helper-validator-identifier': 7.22.20 '@babel/helper-module-transforms@7.23.3(@babel/core@7.23.0)': @@ -31494,7 +32573,7 @@ snapshots: '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-split-export-declaration': 7.24.7 '@babel/helper-validator-identifier': 7.22.20 '@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9)': @@ -31503,7 +32582,7 @@ snapshots: '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-split-export-declaration': 7.24.7 '@babel/helper-validator-identifier': 7.22.20 '@babel/helper-module-transforms@7.23.3(@babel/core@7.24.9)': @@ -31512,7 +32591,7 @@ snapshots: '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-split-export-declaration': 7.24.7 '@babel/helper-validator-identifier': 7.22.20 '@babel/helper-module-transforms@7.25.2(@babel/core@7.24.7)': @@ -31554,7 +32633,7 @@ snapshots: '@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 '@babel/types': 7.23.9 @@ -31562,7 +32641,7 @@ snapshots: '@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 '@babel/types': 7.23.9 @@ -31570,21 +32649,21 @@ snapshots: '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.18.10)': dependencies: '@babel/core': 7.18.10 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.0)': dependencies: '@babel/core': 7.23.0 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 @@ -31718,8 +32797,8 @@ snapshots: '@babel/helper-wrap-function@7.22.20': dependencies: '@babel/helper-function-name': 7.23.0 - '@babel/template': 7.23.9 - '@babel/types': 7.23.9 + '@babel/template': 7.25.0 + '@babel/types': 7.25.2 '@babel/helper-wrap-function@7.25.0': dependencies: @@ -33287,38 +34366,38 @@ snapshots: '@babel/plugin-transform-classes@7.22.15(@babel/core@7.23.0)': dependencies: '@babel/core': 7.23.0 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.0) - '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-split-export-declaration': 7.24.7 globals: 11.12.0 '@babel/plugin-transform-classes@7.23.8(@babel/core@7.23.0)': dependencies: '@babel/core': 7.23.0 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.0) - '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-split-export-declaration': 7.24.7 globals: 11.12.0 '@babel/plugin-transform-classes@7.23.8(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) - '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-split-export-declaration': 7.24.7 globals: 11.12.0 '@babel/plugin-transform-classes@7.25.0(@babel/core@7.24.7)': @@ -34582,7 +35661,7 @@ snapshots: '@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.23.0)': dependencies: '@babel/core': 7.23.0 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.0) '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.0) @@ -34590,7 +35669,7 @@ snapshots: '@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.0)': dependencies: '@babel/core': 7.23.0 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.0) '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.0) @@ -34598,7 +35677,7 @@ snapshots: '@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) @@ -34778,7 +35857,7 @@ snapshots: '@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.16.12) @@ -34787,7 +35866,7 @@ snapshots: '@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.18.10)': dependencies: '@babel/core': 7.18.10 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.18.10) @@ -34796,7 +35875,7 @@ snapshots: '@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.23.0)': dependencies: '@babel/core': 7.23.0 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.0) @@ -34805,7 +35884,7 @@ snapshots: '@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.9) @@ -34814,7 +35893,7 @@ snapshots: '@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.24.9) @@ -34841,31 +35920,31 @@ snapshots: '@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.18.10)': dependencies: '@babel/core': 7.18.10 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.23.0)': dependencies: '@babel/core': 7.23.0 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.24.9)': dependencies: '@babel/core': 7.24.9 - '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-transform-regenerator@7.17.9(@babel/core@7.16.12)': @@ -36342,11 +37421,11 @@ snapshots: '@babel/traverse@7.23.0': dependencies: '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 + '@babel/generator': 7.25.0 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-split-export-declaration': 7.24.7 '@babel/parser': 7.23.9 '@babel/types': 7.23.9 debug: 4.3.6 @@ -36357,11 +37436,11 @@ snapshots: '@babel/traverse@7.23.9': dependencies: '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 + '@babel/generator': 7.25.0 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-split-export-declaration': 7.24.7 '@babel/parser': 7.23.9 '@babel/types': 7.23.9 debug: 4.3.5 @@ -36902,7 +37981,7 @@ snapshots: '@graphql-tools/utils': 9.2.1(graphql@14.3.1) '@whatwg-node/fetch': 0.8.8 graphql: 14.3.1 - tslib: 2.6.2 + tslib: 2.7.0 transitivePeerDependencies: - encoding @@ -36911,7 +37990,7 @@ snapshots: '@graphql-tools/utils': 9.2.1(graphql@14.3.1) dataloader: 2.2.2 graphql: 14.3.1 - tslib: 2.6.2 + tslib: 2.7.0 value-or-promise: 1.0.12 '@graphql-tools/code-file-loader@7.3.23(@babel/core@7.23.9)(graphql@14.3.1)': @@ -36934,18 +38013,18 @@ snapshots: '@graphql-tools/utils': 9.2.1(graphql@14.3.1) dataloader: 2.2.2 graphql: 14.3.1 - tslib: 2.6.2 + tslib: 2.7.0 value-or-promise: 1.0.12 '@graphql-tools/executor-graphql-ws@0.0.14(graphql@14.3.1)': dependencies: '@graphql-tools/utils': 9.2.1(graphql@14.3.1) '@repeaterjs/repeater': 3.0.4 - '@types/ws': 8.5.5 + '@types/ws': 8.5.12 graphql: 14.3.1 graphql-ws: 5.12.1(graphql@14.3.1) isomorphic-ws: 5.0.0(ws@8.13.0) - tslib: 2.6.2 + tslib: 2.7.0 ws: 8.13.0 transitivePeerDependencies: - bufferutil @@ -36960,7 +38039,7 @@ snapshots: extract-files: 11.0.0 graphql: 14.3.1 meros: 1.3.0(@types/node@22.5.2) - tslib: 2.6.2 + tslib: 2.7.0 value-or-promise: 1.0.12 transitivePeerDependencies: - '@types/node' @@ -36968,10 +38047,10 @@ snapshots: '@graphql-tools/executor-legacy-ws@0.0.11(graphql@14.3.1)': dependencies: '@graphql-tools/utils': 9.2.1(graphql@14.3.1) - '@types/ws': 8.5.5 + '@types/ws': 8.5.12 graphql: 14.3.1 isomorphic-ws: 5.0.0(ws@8.13.0) - tslib: 2.6.2 + tslib: 2.7.0 ws: 8.13.0 transitivePeerDependencies: - bufferutil @@ -36983,7 +38062,7 @@ snapshots: '@graphql-typed-document-node/core': 3.2.0(graphql@14.3.1) '@repeaterjs/repeater': 3.0.4 graphql: 14.3.1 - tslib: 2.6.2 + tslib: 2.7.0 value-or-promise: 1.0.12 '@graphql-tools/git-loader@7.3.0(@babel/core@7.23.9)(graphql@14.3.1)': @@ -37021,7 +38100,7 @@ snapshots: '@graphql-tools/utils': 9.2.1(graphql@14.3.1) globby: 11.1.0 graphql: 14.3.1 - tslib: 2.6.2 + tslib: 2.7.0 unixify: 1.0.0 '@graphql-tools/graphql-tag-pluck@7.5.2(@babel/core@7.23.9)(graphql@14.3.1)': @@ -37042,14 +38121,14 @@ snapshots: '@graphql-tools/utils': 9.2.1(graphql@14.3.1) graphql: 14.3.1 resolve-from: 5.0.0 - tslib: 2.6.2 + tslib: 2.7.0 '@graphql-tools/json-file-loader@7.4.18(graphql@14.3.1)': dependencies: '@graphql-tools/utils': 9.2.1(graphql@14.3.1) globby: 11.1.0 graphql: 14.3.1 - tslib: 2.6.2 + tslib: 2.7.0 unixify: 1.0.0 '@graphql-tools/load@7.8.14(graphql@14.3.1)': @@ -37058,19 +38137,19 @@ snapshots: '@graphql-tools/utils': 9.2.1(graphql@14.3.1) graphql: 14.3.1 p-limit: 3.1.0 - tslib: 2.6.2 + tslib: 2.7.0 '@graphql-tools/merge@8.3.1(graphql@14.3.1)': dependencies: '@graphql-tools/utils': 8.9.0(graphql@14.3.1) graphql: 14.3.1 - tslib: 2.6.2 + tslib: 2.7.0 '@graphql-tools/merge@8.4.2(graphql@14.3.1)': dependencies: '@graphql-tools/utils': 9.2.1(graphql@14.3.1) graphql: 14.3.1 - tslib: 2.6.2 + tslib: 2.7.0 '@graphql-tools/mock@8.7.20(graphql@14.3.1)': dependencies: @@ -37078,12 +38157,12 @@ snapshots: '@graphql-tools/utils': 9.2.1(graphql@14.3.1) fast-json-stable-stringify: 2.1.0 graphql: 14.3.1 - tslib: 2.6.2 + tslib: 2.7.0 '@graphql-tools/optimize@1.4.0(graphql@14.3.1)': dependencies: graphql: 14.3.1 - tslib: 2.6.2 + tslib: 2.7.0 '@graphql-tools/prisma-loader@7.2.72(@types/node@22.5.2)(encoding@0.1.13)(graphql@14.3.1)': dependencies: @@ -37104,7 +38183,7 @@ snapshots: json-stable-stringify: 1.0.2 lodash: 4.17.21 scuid: 1.1.0 - tslib: 2.6.2 + tslib: 2.7.0 yaml-ast-parser: 0.0.43 transitivePeerDependencies: - '@types/node' @@ -37118,7 +38197,7 @@ snapshots: '@ardatan/relay-compiler': 12.0.0(encoding@0.1.13)(graphql@14.3.1) '@graphql-tools/utils': 9.2.1(graphql@14.3.1) graphql: 14.3.1 - tslib: 2.6.2 + tslib: 2.7.0 transitivePeerDependencies: - encoding - supports-color @@ -37128,7 +38207,7 @@ snapshots: '@graphql-tools/merge': 8.3.1(graphql@14.3.1) '@graphql-tools/utils': 8.9.0(graphql@14.3.1) graphql: 14.3.1 - tslib: 2.6.2 + tslib: 2.7.0 value-or-promise: 1.0.11 '@graphql-tools/schema@9.0.19(graphql@14.3.1)': @@ -37136,7 +38215,7 @@ snapshots: '@graphql-tools/merge': 8.4.2(graphql@14.3.1) '@graphql-tools/utils': 9.2.1(graphql@14.3.1) graphql: 14.3.1 - tslib: 2.6.2 + tslib: 2.7.0 value-or-promise: 1.0.12 '@graphql-tools/url-loader@7.17.18(@types/node@22.5.2)(encoding@0.1.13)(graphql@14.3.1)': @@ -37152,7 +38231,7 @@ snapshots: '@whatwg-node/fetch': 0.8.8 graphql: 14.3.1 isomorphic-ws: 5.0.0(ws@8.18.0) - tslib: 2.6.2 + tslib: 2.7.0 value-or-promise: 1.0.12 ws: 8.18.0 transitivePeerDependencies: @@ -37164,18 +38243,18 @@ snapshots: '@graphql-tools/utils@8.13.1(graphql@14.3.1)': dependencies: graphql: 14.3.1 - tslib: 2.6.2 + tslib: 2.7.0 '@graphql-tools/utils@8.9.0(graphql@14.3.1)': dependencies: graphql: 14.3.1 - tslib: 2.6.2 + tslib: 2.7.0 '@graphql-tools/utils@9.2.1(graphql@14.3.1)': dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@14.3.1) graphql: 14.3.1 - tslib: 2.6.2 + tslib: 2.7.0 '@graphql-tools/wrap@9.4.2(graphql@14.3.1)': dependencies: @@ -37183,7 +38262,7 @@ snapshots: '@graphql-tools/schema': 9.0.19(graphql@14.3.1) '@graphql-tools/utils': 9.2.1(graphql@14.3.1) graphql: 14.3.1 - tslib: 2.6.2 + tslib: 2.7.0 value-or-promise: 1.0.12 '@graphql-typed-document-node/core@3.2.0(graphql@14.3.1)': @@ -37249,7 +38328,7 @@ snapshots: '@inquirer/figures': 1.0.5 '@inquirer/type': 1.5.1 '@types/mute-stream': 0.0.4 - '@types/node': 22.0.2 + '@types/node': 22.5.2 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-spinners: 2.9.2 @@ -37671,7 +38750,7 @@ snapshots: '@jest/source-map@29.6.3': dependencies: - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.25 callsites: 3.1.0 graceful-fs: 4.2.11 @@ -37773,8 +38852,8 @@ snapshots: '@jridgewell/source-map@0.3.3': dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/source-map@0.3.6': dependencies: @@ -37802,21 +38881,21 @@ snapshots: '@jsdevtools/ono@7.1.3': {} - '@jsonjoy.com/base64@1.1.2(tslib@2.6.3)': + '@jsonjoy.com/base64@1.1.2(tslib@2.7.0)': dependencies: - tslib: 2.6.3 + tslib: 2.7.0 - '@jsonjoy.com/json-pack@1.0.4(tslib@2.6.3)': + '@jsonjoy.com/json-pack@1.0.4(tslib@2.7.0)': dependencies: - '@jsonjoy.com/base64': 1.1.2(tslib@2.6.3) - '@jsonjoy.com/util': 1.3.0(tslib@2.6.3) + '@jsonjoy.com/base64': 1.1.2(tslib@2.7.0) + '@jsonjoy.com/util': 1.3.0(tslib@2.7.0) hyperdyperid: 1.2.0 - thingies: 1.21.0(tslib@2.6.3) - tslib: 2.6.3 + thingies: 1.21.0(tslib@2.7.0) + tslib: 2.7.0 - '@jsonjoy.com/util@1.3.0(tslib@2.6.3)': + '@jsonjoy.com/util@1.3.0(tslib@2.7.0)': dependencies: - tslib: 2.6.3 + tslib: 2.7.0 '@juggle/resize-observer@3.4.0': {} @@ -37859,7 +38938,7 @@ snapshots: dependencies: ajv: 8.17.1 ajv-formats: 2.1.1(ajv@8.17.1) - tslib: 2.6.2 + tslib: 2.7.0 '@leichtgewicht/ip-codec@2.0.4': {} @@ -37897,7 +38976,7 @@ snapshots: '@motionone/easing': 10.15.1 '@motionone/types': 10.15.1 '@motionone/utils': 10.15.1 - tslib: 2.6.2 + tslib: 2.7.0 '@motionone/dom@10.16.2': dependencies: @@ -37906,18 +38985,18 @@ snapshots: '@motionone/types': 10.15.1 '@motionone/utils': 10.15.1 hey-listen: 1.0.8 - tslib: 2.6.2 + tslib: 2.7.0 '@motionone/easing@10.15.1': dependencies: '@motionone/utils': 10.15.1 - tslib: 2.6.2 + tslib: 2.7.0 '@motionone/generators@10.15.1': dependencies: '@motionone/types': 10.15.1 '@motionone/utils': 10.15.1 - tslib: 2.6.2 + tslib: 2.7.0 '@motionone/types@10.15.1': {} @@ -37925,7 +39004,7 @@ snapshots: dependencies: '@motionone/types': 10.15.1 hey-listen: 1.0.8 - tslib: 2.6.2 + tslib: 2.7.0 '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3': optional: true @@ -37957,6 +39036,12 @@ snapshots: typescript: 5.5.3 webpack: 5.92.1(esbuild@0.21.5) + '@ngtools/webpack@18.1.3(@angular/compiler-cli@18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)))(typescript@5.5.3))(typescript@5.5.3)(webpack@5.92.1(esbuild@0.21.5))': + dependencies: + '@angular/compiler-cli': 18.1.3(@angular/compiler@18.1.3(@angular/core@18.1.3(rxjs@7.8.1)(zone.js@0.14.8)))(typescript@5.5.3) + typescript: 5.5.3 + webpack: 5.92.1(esbuild@0.21.5) + '@nice-move/prettier-plugin-package-json@0.8.0(prettier@3.3.2)': dependencies: prettier: 3.3.2 @@ -37975,9 +39060,9 @@ snapshots: '@npmcli/agent@2.2.2': dependencies: - agent-base: 7.1.0 + agent-base: 7.1.1 http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.5 lru-cache: 10.4.2 socks-proxy-agent: 8.0.4 transitivePeerDependencies: @@ -38001,7 +39086,7 @@ snapshots: proc-log: 4.2.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.6.2 + semver: 7.6.3 which: 4.0.0 transitivePeerDependencies: - bluebird @@ -38026,7 +39111,7 @@ snapshots: json-parse-even-better-errors: 3.0.2 normalize-package-data: 6.0.2 proc-log: 4.2.0 - semver: 7.6.2 + semver: 7.6.3 transitivePeerDependencies: - bluebird @@ -38245,18 +39330,18 @@ snapshots: dependencies: asn1js: 3.0.5 pvtsutils: 1.3.5 - tslib: 2.6.2 + tslib: 2.7.0 '@peculiar/json-schema@1.1.12': dependencies: - tslib: 2.6.2 + tslib: 2.7.0 '@peculiar/webcrypto@1.4.3': dependencies: '@peculiar/asn1-schema': 2.3.6 '@peculiar/json-schema': 1.1.12 pvtsutils: 1.3.5 - tslib: 2.6.2 + tslib: 2.7.0 webcrypto-core: 1.7.7 '@pkgjs/parseargs@0.11.0': @@ -38273,7 +39358,7 @@ snapshots: core-js-pure: 3.33.0 error-stack-parser: 2.1.4 find-up: 5.0.0 - html-entities: 2.3.2 + html-entities: 2.5.2 loader-utils: 2.0.4 react-refresh: 0.11.0 schema-utils: 3.3.0 @@ -38292,7 +39377,7 @@ snapshots: core-js-pure: 3.33.0 error-stack-parser: 2.1.4 find-up: 5.0.0 - html-entities: 2.3.2 + html-entities: 2.5.2 loader-utils: 2.0.4 react-refresh: 0.11.0 schema-utils: 3.3.0 @@ -38310,7 +39395,7 @@ snapshots: core-js-pure: 3.33.0 error-stack-parser: 2.1.4 find-up: 5.0.0 - html-entities: 2.3.2 + html-entities: 2.5.2 loader-utils: 2.0.4 react-refresh: 0.14.0 schema-utils: 3.3.0 @@ -38329,7 +39414,7 @@ snapshots: core-js-pure: 3.33.0 error-stack-parser: 2.1.4 find-up: 5.0.0 - html-entities: 2.3.2 + html-entities: 2.5.2 loader-utils: 2.0.4 react-refresh: 0.14.0 schema-utils: 3.3.0 @@ -39515,7 +40600,7 @@ snapshots: '@readme/better-ajv-errors@1.6.0(ajv@8.17.1)': dependencies: '@babel/code-frame': 7.23.5 - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.7 '@humanwhocodes/momoa': 2.0.4 ajv: 8.17.1 chalk: 4.1.2 @@ -40115,7 +41200,7 @@ snapshots: process: 0.11.10 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) - semver: 7.5.4 + semver: 7.6.3 style-loader: 3.3.3(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)) swc-loader: 0.2.3(@swc/core@1.3.92)(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)) terser-webpack-plugin: 5.3.10(@swc/core@1.3.92)(esbuild@0.18.20)(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)) @@ -40175,7 +41260,7 @@ snapshots: process: 0.11.10 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) - semver: 7.5.4 + semver: 7.6.3 style-loader: 3.3.3(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)) swc-loader: 0.2.3(@swc/core@1.3.92)(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)) terser-webpack-plugin: 5.3.10(@swc/core@1.3.92)(esbuild@0.18.20)(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)) @@ -40199,7 +41284,7 @@ snapshots: - uglify-js - webpack-cli - '@storybook/builder-webpack5@7.6.13(encoding@0.1.13)(esbuild@0.18.20)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))': + '@storybook/builder-webpack5@7.6.13(encoding@0.1.13)(esbuild@0.18.20)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))': dependencies: '@babel/core': 7.24.9 '@storybook/channels': 7.6.13 @@ -40224,10 +41309,10 @@ snapshots: fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.5.3)(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)) fs-extra: 11.1.1 html-webpack-plugin: 5.5.3(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)) - magic-string: 0.30.7 + magic-string: 0.30.10 path-browserify: 1.0.1 process: 0.11.10 - semver: 7.5.4 + semver: 7.6.3 style-loader: 3.3.3(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)) swc-loader: 0.2.3(@swc/core@1.3.92)(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)) terser-webpack-plugin: 5.3.10(@swc/core@1.3.92)(esbuild@0.18.20)(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)) @@ -40249,6 +41334,56 @@ snapshots: - uglify-js - webpack-cli + '@storybook/builder-webpack5@7.6.13(encoding@0.1.13)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))': + dependencies: + '@babel/core': 7.24.9 + '@storybook/channels': 7.6.13 + '@storybook/client-logger': 7.6.13 + '@storybook/core-common': 7.6.13(encoding@0.1.13) + '@storybook/core-events': 7.6.13 + '@storybook/core-webpack': 7.6.13(encoding@0.1.13) + '@storybook/node-logger': 7.6.13 + '@storybook/preview': 7.6.13 + '@storybook/preview-api': 7.6.13 + '@swc/core': 1.3.92 + '@types/node': 18.17.18 + '@types/semver': 7.5.2 + babel-loader: 9.1.3(@babel/core@7.24.9)(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))) + browser-assert: 1.2.1 + case-sensitive-paths-webpack-plugin: 2.4.0 + cjs-module-lexer: 1.2.3 + constants-browserify: 1.0.0 + css-loader: 6.7.1(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))) + es-module-lexer: 1.4.1 + express: 4.21.1 + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.5.3)(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))) + fs-extra: 11.1.1 + html-webpack-plugin: 5.5.3(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))) + magic-string: 0.30.10 + path-browserify: 1.0.1 + process: 0.11.10 + semver: 7.6.3 + style-loader: 3.3.3(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))) + swc-loader: 0.2.3(@swc/core@1.3.92)(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))) + terser-webpack-plugin: 5.3.10(@swc/core@1.3.92)(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))) + ts-dedent: 2.2.0 + url: 0.11.3 + util: 0.12.5 + util-deprecate: 1.0.2 + webpack: 5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0)) + webpack-dev-middleware: 6.1.1(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))) + webpack-hot-middleware: 2.25.4 + webpack-virtual-modules: 0.5.0 + optionalDependencies: + typescript: 5.5.3 + transitivePeerDependencies: + - '@swc/helpers' + - encoding + - esbuild + - supports-color + - uglify-js + - webpack-cli + '@storybook/builder-webpack5@7.6.13(encoding@0.1.13)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))': dependencies: '@babel/core': 7.24.9 @@ -40274,10 +41409,10 @@ snapshots: fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.5.3)(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))) fs-extra: 11.1.1 html-webpack-plugin: 5.5.3(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))) - magic-string: 0.30.7 + magic-string: 0.30.10 path-browserify: 1.0.1 process: 0.11.10 - semver: 7.5.4 + semver: 7.6.3 style-loader: 3.3.3(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))) swc-loader: 0.2.3(@swc/core@1.3.92)(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))) terser-webpack-plugin: 5.3.10(@swc/core@1.3.92)(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))) @@ -40354,7 +41489,7 @@ snapshots: prompts: 2.4.2 puppeteer-core: 2.1.1 read-pkg-up: 7.0.1 - semver: 7.5.4 + semver: 7.6.3 simple-update-notifier: 2.0.0 strip-json-comments: 3.1.1 tempy: 1.0.1 @@ -40403,7 +41538,7 @@ snapshots: prompts: 2.4.2 puppeteer-core: 2.1.1 read-pkg-up: 7.0.1 - semver: 7.5.4 + semver: 7.6.3 simple-update-notifier: 2.0.0 strip-json-comments: 3.1.1 tempy: 1.0.1 @@ -40452,7 +41587,7 @@ snapshots: prompts: 2.4.2 puppeteer-core: 2.1.1 read-pkg-up: 7.0.1 - semver: 7.5.4 + semver: 7.6.3 strip-json-comments: 3.1.1 tempy: 1.0.1 ts-dedent: 2.2.0 @@ -40480,7 +41615,7 @@ snapshots: dependencies: '@babel/core': 7.24.9 '@babel/preset-env': 7.24.7(@babel/core@7.24.9) - '@babel/types': 7.23.9 + '@babel/types': 7.25.2 '@storybook/csf': 0.1.2 '@storybook/csf-tools': 7.4.6 '@storybook/node-logger': 7.4.6 @@ -40499,7 +41634,7 @@ snapshots: dependencies: '@babel/core': 7.24.9 '@babel/preset-env': 7.24.7(@babel/core@7.24.9) - '@babel/types': 7.23.9 + '@babel/types': 7.25.2 '@storybook/csf': 0.1.2 '@storybook/csf-tools': 7.6.13 '@storybook/node-logger': 7.6.13 @@ -40844,7 +41979,7 @@ snapshots: '@storybook/csf-tools@7.4.6': dependencies: - '@babel/generator': 7.23.6 + '@babel/generator': 7.25.0 '@babel/parser': 7.23.9 '@babel/traverse': 7.23.9 '@babel/types': 7.23.9 @@ -40858,10 +41993,10 @@ snapshots: '@storybook/csf-tools@7.6.13': dependencies: - '@babel/generator': 7.23.6 - '@babel/parser': 7.23.9 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 + '@babel/generator': 7.25.0 + '@babel/parser': 7.25.3 + '@babel/traverse': 7.25.3 + '@babel/types': 7.25.2 '@storybook/csf': 0.1.2 '@storybook/types': 7.6.13 fs-extra: 11.2.0 @@ -40989,7 +42124,7 @@ snapshots: react: 17.0.2 react-dom: 17.0.2(react@17.0.2) react-refresh: 0.11.0 - semver: 7.5.4 + semver: 7.6.3 webpack: 5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0) optionalDependencies: '@babel/core': 7.16.12 @@ -41026,7 +42161,7 @@ snapshots: react: 17.0.2 react-dom: 17.0.2(react@17.0.2) react-refresh: 0.11.0 - semver: 7.5.4 + semver: 7.6.3 webpack: 5.94.0(esbuild@0.18.20) optionalDependencies: '@babel/core': 7.23.9 @@ -41059,12 +42194,12 @@ snapshots: '@types/semver': 7.5.2 babel-plugin-add-react-displayname: 0.0.5 fs-extra: 11.1.1 - magic-string: 0.30.7 + magic-string: 0.30.10 react: 17.0.2 react-docgen: 7.0.3 react-dom: 17.0.2(react@17.0.2) react-refresh: 0.14.0 - semver: 7.5.4 + semver: 7.6.3 webpack: 5.94.0(webpack-cli@4.10.0) optionalDependencies: '@babel/core': 7.18.10 @@ -41083,27 +42218,27 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/preset-react-webpack@7.6.13(@babel/core@7.23.0)(@types/webpack@4.41.39)(encoding@0.1.13)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(type-fest@4.26.1)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4)': + '@storybook/preset-react-webpack@7.6.13(@babel/core@7.23.0)(@swc/core@1.3.92)(@types/webpack@4.41.39)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(type-fest@4.26.1)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4)': dependencies: '@babel/preset-flow': 7.22.15(@babel/core@7.23.0) '@babel/preset-react': 7.22.15(@babel/core@7.23.0) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(@types/webpack@4.41.39)(react-refresh@0.14.0)(type-fest@4.26.1)(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4)(webpack@5.94.0(webpack-cli@4.10.0)) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(@types/webpack@4.41.39)(react-refresh@0.14.0)(type-fest@4.26.1)(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4)(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)) '@storybook/core-webpack': 7.6.13(encoding@0.1.13) '@storybook/docs-tools': 7.6.13(encoding@0.1.13) '@storybook/node-logger': 7.6.13 '@storybook/react': 7.6.13(encoding@0.1.13)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.5.3) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.5.3)(webpack@5.94.0(webpack-cli@4.10.0)) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.5.3)(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)) '@types/node': 18.17.18 '@types/semver': 7.5.2 babel-plugin-add-react-displayname: 0.0.5 fs-extra: 11.1.1 - magic-string: 0.30.7 + magic-string: 0.30.10 react: 17.0.2 react-docgen: 7.0.3 react-dom: 17.0.2(react@17.0.2) react-refresh: 0.14.0 - semver: 7.5.4 - webpack: 5.94.0(webpack-cli@4.10.0) + semver: 7.6.3 + webpack: 5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0) optionalDependencies: '@babel/core': 7.23.0 typescript: 5.5.3 @@ -41121,27 +42256,27 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/preset-react-webpack@7.6.13(@babel/core@7.23.9)(@swc/core@1.3.92)(@types/webpack@4.41.39)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(type-fest@4.26.1)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4)': + '@storybook/preset-react-webpack@7.6.13(@babel/core@7.23.9)(@types/webpack@4.41.39)(encoding@0.1.13)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(type-fest@4.26.1)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4)': dependencies: '@babel/preset-flow': 7.22.15(@babel/core@7.23.9) '@babel/preset-react': 7.22.15(@babel/core@7.23.9) - '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(@types/webpack@4.41.39)(react-refresh@0.14.0)(type-fest@4.26.1)(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4)(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(@types/webpack@4.41.39)(react-refresh@0.14.0)(type-fest@4.26.1)(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4)(webpack@5.94.0(webpack-cli@4.10.0)) '@storybook/core-webpack': 7.6.13(encoding@0.1.13) '@storybook/docs-tools': 7.6.13(encoding@0.1.13) '@storybook/node-logger': 7.6.13 '@storybook/react': 7.6.13(encoding@0.1.13)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.5.3) - '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.5.3)(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.5.3)(webpack@5.94.0(webpack-cli@4.10.0)) '@types/node': 18.17.18 '@types/semver': 7.5.2 babel-plugin-add-react-displayname: 0.0.5 fs-extra: 11.1.1 - magic-string: 0.30.7 + magic-string: 0.30.10 react: 17.0.2 react-docgen: 7.0.3 react-dom: 17.0.2(react@17.0.2) react-refresh: 0.14.0 - semver: 7.5.4 - webpack: 5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0) + semver: 7.6.3 + webpack: 5.94.0(webpack-cli@4.10.0) optionalDependencies: '@babel/core': 7.23.9 typescript: 5.5.3 @@ -41203,9 +42338,9 @@ snapshots: endent: 2.1.0 find-cache-dir: 3.3.1 flat-cache: 3.0.4 - micromatch: 4.0.5 + micromatch: 4.0.8 react-docgen-typescript: 2.2.2(typescript@5.5.3) - tslib: 2.6.2 + tslib: 2.7.0 typescript: 5.5.3 webpack: 5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0) transitivePeerDependencies: @@ -41217,9 +42352,9 @@ snapshots: endent: 2.1.0 find-cache-dir: 3.3.1 flat-cache: 3.0.4 - micromatch: 4.0.5 + micromatch: 4.0.8 react-docgen-typescript: 2.2.2(typescript@5.5.3) - tslib: 2.6.2 + tslib: 2.7.0 typescript: 5.5.3 webpack: 5.94.0(esbuild@0.18.20) transitivePeerDependencies: @@ -41231,9 +42366,9 @@ snapshots: endent: 2.1.0 find-cache-dir: 3.3.1 flat-cache: 3.0.4 - micromatch: 4.0.5 + micromatch: 4.0.8 react-docgen-typescript: 2.2.2(typescript@5.5.3) - tslib: 2.6.2 + tslib: 2.7.0 typescript: 5.5.3 webpack: 5.94.0(webpack-cli@4.10.0) transitivePeerDependencies: @@ -41331,10 +42466,10 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/react-webpack5@7.6.13(@babel/core@7.23.0)(@types/webpack@4.41.39)(encoding@0.1.13)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(type-fest@4.26.1)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4)': + '@storybook/react-webpack5@7.6.13(@babel/core@7.23.0)(@swc/core@1.3.92)(@types/webpack@4.41.39)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(type-fest@4.26.1)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4)': dependencies: - '@storybook/builder-webpack5': 7.6.13(encoding@0.1.13)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0)) - '@storybook/preset-react-webpack': 7.6.13(@babel/core@7.23.0)(@types/webpack@4.41.39)(encoding@0.1.13)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(type-fest@4.26.1)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4) + '@storybook/builder-webpack5': 7.6.13(encoding@0.1.13)(esbuild@0.18.20)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0)) + '@storybook/preset-react-webpack': 7.6.13(@babel/core@7.23.0)(@swc/core@1.3.92)(@types/webpack@4.41.39)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(type-fest@4.26.1)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4) '@storybook/react': 7.6.13(encoding@0.1.13)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.5.3) '@types/node': 18.17.18 react: 17.0.2 @@ -41357,10 +42492,10 @@ snapshots: - webpack-hot-middleware - webpack-plugin-serve - '@storybook/react-webpack5@7.6.13(@babel/core@7.23.9)(@swc/core@1.3.92)(@types/webpack@4.41.39)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(type-fest@4.26.1)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4)': + '@storybook/react-webpack5@7.6.13(@babel/core@7.23.9)(@types/webpack@4.41.39)(encoding@0.1.13)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(type-fest@4.26.1)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4)': dependencies: - '@storybook/builder-webpack5': 7.6.13(encoding@0.1.13)(esbuild@0.18.20)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0)) - '@storybook/preset-react-webpack': 7.6.13(@babel/core@7.23.9)(@swc/core@1.3.92)(@types/webpack@4.41.39)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(type-fest@4.26.1)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4) + '@storybook/builder-webpack5': 7.6.13(encoding@0.1.13)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0)) + '@storybook/preset-react-webpack': 7.6.13(@babel/core@7.23.9)(@types/webpack@4.41.39)(encoding@0.1.13)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(type-fest@4.26.1)(typescript@5.5.3)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))(webpack-dev-server@4.15.1(webpack-cli@4.10.0)(webpack@5.94.0))(webpack-hot-middleware@2.25.4) '@storybook/react': 7.6.13(encoding@0.1.13)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)(typescript@5.5.3) '@types/node': 18.17.18 react: 17.0.2 @@ -41623,7 +42758,7 @@ snapshots: '@svgr/hast-util-to-babel-ast@6.2.1': dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.25.2 entities: 3.0.1 '@svgr/plugin-jsx@6.2.1(@svgr/core@6.2.1)': @@ -41721,7 +42856,7 @@ snapshots: '@testing-library/dom@8.20.1': dependencies: '@babel/code-frame': 7.23.5 - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.7 '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 @@ -41818,7 +42953,7 @@ snapshots: '@types/babel__generator@7.6.1': dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.25.2 '@types/babel__standalone@7.1.7': dependencies: @@ -41826,12 +42961,12 @@ snapshots: '@types/babel__template@7.0.2': dependencies: - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 + '@babel/parser': 7.25.3 + '@babel/types': 7.25.2 '@types/babel__traverse@7.20.5': dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.25.2 '@types/body-parser@1.19.2': dependencies: @@ -42058,17 +43193,15 @@ snapshots: '@types/eslint-scope@3.7.3': dependencies: '@types/eslint': 7.2.10 - '@types/estree': 1.0.1 + '@types/estree': 1.0.5 '@types/eslint@7.2.10': dependencies: - '@types/estree': 1.0.1 + '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 '@types/estree@0.0.51': {} - '@types/estree@1.0.1': {} - '@types/estree@1.0.5': {} '@types/express-serve-static-core@4.17.31': @@ -42281,10 +43414,6 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/node@22.0.2': - dependencies: - undici-types: 6.11.1 - '@types/node@22.5.2': dependencies: undici-types: 6.19.8 @@ -42578,7 +43707,7 @@ snapshots: debug: 4.3.6 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.4 + semver: 7.6.3 tsutils: 3.21.0(typescript@5.5.3) optionalDependencies: typescript: 5.5.3 @@ -42595,7 +43724,7 @@ snapshots: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.3) eslint: 8.52.0 eslint-scope: 5.1.1 - semver: 7.5.4 + semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript @@ -42893,7 +44022,7 @@ snapshots: '@types/node': 22.5.2 '@whatwg-node/events': 0.0.2 busboy: 1.6.0 - tslib: 2.6.2 + tslib: 2.7.0 '@whatwg-node/node-fetch@0.3.6': dependencies: @@ -42901,7 +44030,7 @@ snapshots: busboy: 1.6.0 fast-querystring: 1.1.2 fast-url-parser: 1.1.3 - tslib: 2.6.2 + tslib: 2.7.0 '@wojtekmaj/date-utils@1.5.0': {} @@ -43050,7 +44179,7 @@ snapshots: '@yarnpkg/esbuild-plugin-pnp@3.0.0-rc.15(esbuild@0.18.20)': dependencies: esbuild: 0.18.20 - tslib: 2.6.2 + tslib: 2.7.0 '@yarnpkg/extensions@1.1.0-rc.6(@yarnpkg/core@4.0.0-rc.50(typanion@3.9.0))': dependencies: @@ -43194,13 +44323,9 @@ snapshots: acorn-globals@7.0.1: dependencies: - acorn: 8.10.0 + acorn: 8.12.1 acorn-walk: 8.2.0 - acorn-import-attributes@1.9.5(acorn@8.10.0): - dependencies: - acorn: 8.10.0 - acorn-import-attributes@1.9.5(acorn@8.12.1): dependencies: acorn: 8.12.1 @@ -43242,12 +44367,6 @@ snapshots: transitivePeerDependencies: - supports-color - agent-base@7.1.0: - dependencies: - debug: 4.3.6 - transitivePeerDependencies: - - supports-color - agent-base@7.1.1: dependencies: debug: 4.3.6 @@ -43589,7 +44708,7 @@ snapshots: aria-hidden@1.2.3: dependencies: - tslib: 2.6.2 + tslib: 2.7.0 aria-query@5.1.3: dependencies: @@ -43716,7 +44835,7 @@ snapshots: dependencies: pvtsutils: 1.3.5 pvutils: 1.1.3 - tslib: 2.6.2 + tslib: 2.7.0 assert-plus@1.0.0: {} @@ -43734,7 +44853,7 @@ snapshots: ast-types@0.14.2: dependencies: - tslib: 2.6.2 + tslib: 2.7.0 ast-types@0.15.2: dependencies: @@ -43742,7 +44861,7 @@ snapshots: ast-types@0.16.1: dependencies: - tslib: 2.6.2 + tslib: 2.7.0 astral-regex@2.0.0: {} @@ -43776,11 +44895,11 @@ snapshots: autoprefixer@10.4.19(postcss@8.4.38): dependencies: - browserslist: 4.23.0 - caniuse-lite: 1.0.30001600 + browserslist: 4.23.3 + caniuse-lite: 1.0.30001655 fraction.js: 4.3.7 normalize-range: 0.1.2 - picocolors: 1.0.0 + picocolors: 1.1.0 postcss: 8.4.38 postcss-value-parser: 4.2.0 @@ -43968,6 +45087,13 @@ snapshots: schema-utils: 4.2.0 webpack: 5.94.0(@swc/core@1.3.92)(esbuild@0.18.20) + babel-loader@9.1.3(@babel/core@7.24.9)(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))): + dependencies: + '@babel/core': 7.24.9 + find-cache-dir: 4.0.0 + schema-utils: 4.2.0 + webpack: 5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0)) + babel-loader@9.1.3(@babel/core@7.24.9)(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))): dependencies: '@babel/core': 7.24.9 @@ -44006,8 +45132,8 @@ snapshots: babel-plugin-jest-hoist@25.5.0: dependencies: - '@babel/template': 7.23.9 - '@babel/types': 7.23.9 + '@babel/template': 7.25.0 + '@babel/types': 7.25.2 '@types/babel__traverse': 7.20.5 babel-plugin-jest-hoist@29.6.3: @@ -44680,13 +45806,6 @@ snapshots: node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) - browserslist@4.23.2: - dependencies: - caniuse-lite: 1.0.30001646 - electron-to-chromium: 1.5.4 - node-releases: 2.0.14 - update-browserslist-db: 1.1.0(browserslist@4.23.2) - browserslist@4.23.3: dependencies: caniuse-lite: 1.0.30001655 @@ -44834,7 +45953,7 @@ snapshots: minipass-pipeline: 1.2.4 p-map: 4.0.0 ssri: 10.0.6 - tar: 6.2.0 + tar: 6.2.1 unique-filename: 3.0.0 cache-base@1.0.1: @@ -44909,7 +46028,7 @@ snapshots: camel-case@4.1.2: dependencies: pascal-case: 3.1.2 - tslib: 2.6.2 + tslib: 2.7.0 camelcase@4.1.0: {} @@ -44930,14 +46049,12 @@ snapshots: caniuse-lite@1.0.30001600: {} - caniuse-lite@1.0.30001646: {} - caniuse-lite@1.0.30001655: {} capital-case@1.0.4: dependencies: no-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.7.0 upper-case-first: 2.0.2 capture-exit@2.0.0: @@ -45019,7 +46136,7 @@ snapshots: path-case: 3.0.4 sentence-case: 3.0.4 snake-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.7.0 char-regex@1.0.2: {} @@ -45049,7 +46166,7 @@ snapshots: htmlparser2: 6.1.0 parse5: 6.0.1 parse5-htmlparser2-tree-adapter: 6.0.1 - tslib: 2.6.2 + tslib: 2.7.0 chevrotain@7.1.1: dependencies: @@ -45097,10 +46214,6 @@ snapshots: - bufferutil - utf-8-validate - chrome-trace-event@1.0.2: - dependencies: - tslib: 1.14.1 - chrome-trace-event@1.0.4: {} ci-info@2.0.0: {} @@ -45156,8 +46269,6 @@ snapshots: dependencies: restore-cursor: 5.1.0 - cli-spinners@2.6.0: {} - cli-spinners@2.9.2: {} cli-table3@0.6.1: @@ -45407,7 +46518,7 @@ snapshots: constant-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.7.0 upper-case: 2.0.2 constants-browserify@1.0.0: {} @@ -45518,11 +46629,11 @@ snapshots: core-js-compat@3.33.0: dependencies: - browserslist: 4.23.0 + browserslist: 4.23.3 core-js-compat@3.35.1: dependencies: - browserslist: 4.23.0 + browserslist: 4.23.3 core-js-compat@3.37.1: dependencies: @@ -45824,36 +46935,48 @@ snapshots: dependencies: icss-utils: 5.1.0(postcss@8.4.38) postcss: 8.4.38 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.38) - postcss-modules-local-by-default: 4.0.0(postcss@8.4.38) - postcss-modules-scope: 3.0.0(postcss@8.4.38) + postcss-modules-extract-imports: 3.1.0(postcss@8.4.38) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.38) + postcss-modules-scope: 3.2.0(postcss@8.4.38) postcss-modules-values: 4.0.0(postcss@8.4.38) postcss-value-parser: 4.2.0 - semver: 7.6.2 + semver: 7.6.3 webpack: 5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0) css-loader@6.7.1(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)): dependencies: icss-utils: 5.1.0(postcss@8.4.38) postcss: 8.4.38 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.38) - postcss-modules-local-by-default: 4.0.0(postcss@8.4.38) - postcss-modules-scope: 3.0.0(postcss@8.4.38) + postcss-modules-extract-imports: 3.1.0(postcss@8.4.38) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.38) + postcss-modules-scope: 3.2.0(postcss@8.4.38) postcss-modules-values: 4.0.0(postcss@8.4.38) postcss-value-parser: 4.2.0 - semver: 7.6.2 + semver: 7.6.3 webpack: 5.94.0(@swc/core@1.3.92)(esbuild@0.18.20) + css-loader@6.7.1(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))): + dependencies: + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.38) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.38) + postcss-modules-scope: 3.2.0(postcss@8.4.38) + postcss-modules-values: 4.0.0(postcss@8.4.38) + postcss-value-parser: 4.2.0 + semver: 7.6.3 + webpack: 5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0)) + css-loader@6.7.1(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))): dependencies: icss-utils: 5.1.0(postcss@8.4.38) postcss: 8.4.38 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.38) - postcss-modules-local-by-default: 4.0.0(postcss@8.4.38) - postcss-modules-scope: 3.0.0(postcss@8.4.38) + postcss-modules-extract-imports: 3.1.0(postcss@8.4.38) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.38) + postcss-modules-scope: 3.2.0(postcss@8.4.38) postcss-modules-values: 4.0.0(postcss@8.4.38) postcss-value-parser: 4.2.0 - semver: 7.6.2 + semver: 7.6.3 webpack: 5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0)) css-loader@7.1.2(webpack@5.92.1(esbuild@0.21.5)): @@ -45865,7 +46988,7 @@ snapshots: postcss-modules-scope: 3.2.0(postcss@8.4.38) postcss-modules-values: 4.0.0(postcss@8.4.38) postcss-value-parser: 4.2.0 - semver: 7.6.2 + semver: 7.6.3 optionalDependencies: webpack: 5.92.1(esbuild@0.21.5) @@ -46691,7 +47814,7 @@ snapshots: dot-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.7.0 dotenv-expand@10.0.0: {} @@ -46751,8 +47874,6 @@ snapshots: electron-to-chromium@1.5.13: {} - electron-to-chromium@1.5.4: {} - elkjs@0.8.2: {} elkjs@0.9.1: {} @@ -47436,7 +48557,7 @@ snapshots: estree-to-babel@3.2.1: dependencies: - '@babel/traverse': 7.23.9 + '@babel/traverse': 7.25.3 '@babel/types': 7.25.2 c8: 7.14.0 transitivePeerDependencies: @@ -47845,11 +48966,11 @@ snapshots: file-selector@0.2.4: dependencies: - tslib: 2.6.2 + tslib: 2.7.0 file-selector@0.4.0: dependencies: - tslib: 2.6.2 + tslib: 2.7.0 file-system-cache@2.3.0: dependencies: @@ -48035,9 +49156,9 @@ snapshots: optionalDependencies: debug: 4.3.4 - follow-redirects@1.15.6(debug@4.3.5): + follow-redirects@1.15.6(debug@4.3.6): optionalDependencies: - debug: 4.3.5 + debug: 4.3.6 for-each@0.3.3: dependencies: @@ -48059,9 +49180,9 @@ snapshots: fork-ts-checker-webpack-plugin@8.0.0(typescript@5.5.3)(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)): dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.7 chalk: 4.1.2 - chokidar: 3.5.3 + chokidar: 3.6.0 cosmiconfig: 7.0.1 deepmerge: 4.2.2 fs-extra: 10.1.0 @@ -48069,16 +49190,16 @@ snapshots: minimatch: 3.1.2 node-abort-controller: 3.1.1 schema-utils: 3.3.0 - semver: 7.5.4 + semver: 7.6.3 tapable: 2.2.1 typescript: 5.5.3 webpack: 5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0) fork-ts-checker-webpack-plugin@8.0.0(typescript@5.5.3)(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)): dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.7 chalk: 4.1.2 - chokidar: 3.5.3 + chokidar: 3.6.0 cosmiconfig: 7.0.1 deepmerge: 4.2.2 fs-extra: 10.1.0 @@ -48086,16 +49207,33 @@ snapshots: minimatch: 3.1.2 node-abort-controller: 3.1.1 schema-utils: 3.3.0 - semver: 7.5.4 + semver: 7.6.3 tapable: 2.2.1 typescript: 5.5.3 webpack: 5.94.0(@swc/core@1.3.92)(esbuild@0.18.20) + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.5.3)(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))): + dependencies: + '@babel/code-frame': 7.24.7 + chalk: 4.1.2 + chokidar: 3.6.0 + cosmiconfig: 7.0.1 + deepmerge: 4.2.2 + fs-extra: 10.1.0 + memfs: 3.5.1 + minimatch: 3.1.2 + node-abort-controller: 3.1.1 + schema-utils: 3.3.0 + semver: 7.6.3 + tapable: 2.2.1 + typescript: 5.5.3 + webpack: 5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0)) + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.5.3)(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))): dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.7 chalk: 4.1.2 - chokidar: 3.5.3 + chokidar: 3.6.0 cosmiconfig: 7.0.1 deepmerge: 4.2.2 fs-extra: 10.1.0 @@ -48103,7 +49241,7 @@ snapshots: minimatch: 3.1.2 node-abort-controller: 3.1.1 schema-utils: 3.3.0 - semver: 7.5.4 + semver: 7.6.3 tapable: 2.2.1 typescript: 5.5.3 webpack: 5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0)) @@ -48323,11 +49461,11 @@ snapshots: dependencies: colorette: 2.0.20 defu: 6.1.2 - https-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.5 mri: 1.2.0 node-fetch-native: 1.4.0 pathe: 1.1.1 - tar: 6.2.0 + tar: 6.2.1 transitivePeerDependencies: - supports-color @@ -48417,7 +49555,7 @@ snapshots: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.11 + fast-glob: 3.3.2 ignore: 5.2.0 merge2: 1.4.1 slash: 3.0.0 @@ -48516,7 +49654,7 @@ snapshots: jiti: 1.17.1 minimatch: 4.2.3 string-env-interpolation: 1.0.1 - tslib: 2.6.2 + tslib: 2.7.0 transitivePeerDependencies: - '@types/node' - bufferutil @@ -48538,7 +49676,7 @@ snapshots: graphql-tag@2.12.6(graphql@14.3.1): dependencies: graphql: 14.3.1 - tslib: 2.6.2 + tslib: 2.7.0 graphql-ws@5.12.1(graphql@14.3.1): dependencies: @@ -48648,7 +49786,7 @@ snapshots: header-case@2.0.4: dependencies: capital-case: 1.0.4 - tslib: 2.6.2 + tslib: 2.7.0 heatmap.js@2.0.5: {} @@ -48707,8 +49845,6 @@ snapshots: dependencies: whatwg-encoding: 2.0.0 - html-entities@2.3.2: {} - html-entities@2.5.2: {} html-escaper@2.0.2: {} @@ -48731,7 +49867,7 @@ snapshots: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.19.3 + terser: 5.31.6 html-replace-webpack-plugin@2.6.0: {} @@ -48773,6 +49909,15 @@ snapshots: tapable: 2.2.1 webpack: 5.94.0(@swc/core@1.3.92)(esbuild@0.18.20) + html-webpack-plugin@5.5.3(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))): + dependencies: + '@types/html-minifier-terser': 6.1.0 + html-minifier-terser: 6.1.0 + lodash: 4.17.21 + pretty-error: 4.0.0 + tapable: 2.2.1 + webpack: 5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0)) + html-webpack-plugin@5.5.3(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))): dependencies: '@types/html-minifier-terser': 6.1.0 @@ -48876,14 +50021,14 @@ snapshots: http-proxy-agent@6.1.1: dependencies: - agent-base: 7.1.0 + agent-base: 7.1.1 debug: 4.3.6 transitivePeerDependencies: - supports-color http-proxy-agent@7.0.2: dependencies: - agent-base: 7.1.0 + agent-base: 7.1.1 debug: 4.3.6 transitivePeerDependencies: - supports-color @@ -48903,11 +50048,11 @@ snapshots: http-proxy-middleware@3.0.0: dependencies: '@types/http-proxy': 1.17.14 - debug: 4.3.5 - http-proxy: 1.18.1(debug@4.3.5) + debug: 4.3.6 + http-proxy: 1.18.1(debug@4.3.6) is-glob: 4.0.3 is-plain-obj: 3.0.0 - micromatch: 4.0.5 + micromatch: 4.0.8 transitivePeerDependencies: - supports-color @@ -48919,10 +50064,10 @@ snapshots: transitivePeerDependencies: - debug - http-proxy@1.18.1(debug@4.3.5): + http-proxy@1.18.1(debug@4.3.6): dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.6(debug@4.3.5) + follow-redirects: 1.15.6(debug@4.3.6) requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -48975,22 +50120,15 @@ snapshots: https-proxy-agent@6.2.1: dependencies: - agent-base: 7.1.0 - debug: 4.3.6 - transitivePeerDependencies: - - supports-color - - https-proxy-agent@7.0.2: - dependencies: - agent-base: 7.1.0 + agent-base: 7.1.1 debug: 4.3.6 transitivePeerDependencies: - supports-color https-proxy-agent@7.0.5: dependencies: - agent-base: 7.1.0 - debug: 4.3.5 + agent-base: 7.1.1 + debug: 4.3.6 transitivePeerDependencies: - supports-color @@ -49295,7 +50433,7 @@ snapshots: is-lower-case@2.0.2: dependencies: - tslib: 2.6.2 + tslib: 2.7.0 is-map@2.0.2: {} @@ -49387,7 +50525,7 @@ snapshots: is-upper-case@2.0.2: dependencies: - tslib: 2.6.2 + tslib: 2.7.0 is-weakmap@2.0.1: {} @@ -49469,7 +50607,7 @@ snapshots: istanbul-lib-instrument@5.1.0: dependencies: '@babel/core': 7.24.9 - '@babel/parser': 7.23.9 + '@babel/parser': 7.25.3 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.1 @@ -49479,10 +50617,10 @@ snapshots: istanbul-lib-instrument@6.0.2: dependencies: '@babel/core': 7.24.9 - '@babel/parser': 7.23.9 + '@babel/parser': 7.25.3 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 - semver: 7.6.2 + semver: 7.6.3 transitivePeerDependencies: - supports-color @@ -50069,12 +51207,12 @@ snapshots: jest-serializer: 25.5.0 jest-util: 25.5.0 jest-worker: 25.5.0 - micromatch: 4.0.5 + micromatch: 4.0.8 sane: 4.1.0 walker: 1.0.8 which: 2.0.2 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 transitivePeerDependencies: - supports-color @@ -50218,7 +51356,7 @@ snapshots: jest-snapshot@29.7.0: dependencies: '@babel/core': 7.24.9 - '@babel/generator': 7.23.6 + '@babel/generator': 7.25.0 '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.24.9) '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.24.9) '@babel/types': 7.23.9 @@ -50236,7 +51374,7 @@ snapshots: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.5.4 + semver: 7.6.3 transitivePeerDependencies: - supports-color @@ -50283,10 +51421,6 @@ snapshots: dependencies: jest: 29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@20.14.2)(typescript@5.5.3)) - jest-when@3.6.0(jest@29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.5.3))): - dependencies: - jest: 29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.5.3)) - jest-when@3.6.0(jest@29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@22.5.2)(typescript@5.5.3))): dependencies: jest: 29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@22.5.2)(typescript@5.5.3)) @@ -50466,7 +51600,7 @@ snapshots: jscodeshift@0.15.1(@babel/preset-env@7.24.7(@babel/core@7.24.9)): dependencies: '@babel/core': 7.24.9 - '@babel/parser': 7.23.9 + '@babel/parser': 7.25.3 '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.24.9) '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.24.9) '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.24.9) @@ -50479,7 +51613,7 @@ snapshots: chalk: 4.1.2 flow-parser: 0.218.0 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.8 neo-async: 2.6.2 node-dir: 0.1.17 recast: 0.23.4 @@ -50956,7 +52090,7 @@ snapshots: dependencies: copy-anything: 2.0.3 parse-node-version: 1.0.1 - tslib: 2.6.3 + tslib: 2.7.0 optionalDependencies: errno: 0.1.8 graceful-fs: 4.2.11 @@ -51003,7 +52137,7 @@ snapshots: colorette: 2.0.20 log-update: 4.0.0 p-map: 4.0.0 - rfdc: 1.3.0 + rfdc: 1.4.1 rxjs: 7.8.1 through: 2.3.8 wrap-ansi: 7.0.0 @@ -51016,7 +52150,7 @@ snapshots: colorette: 2.0.20 log-update: 4.0.0 p-map: 4.0.0 - rfdc: 1.3.0 + rfdc: 1.4.1 rxjs: 7.8.1 through: 2.3.8 wrap-ansi: 7.0.0 @@ -51029,7 +52163,7 @@ snapshots: colorette: 2.0.20 log-update: 4.0.0 p-map: 4.0.0 - rfdc: 1.3.0 + rfdc: 1.4.1 rxjs: 7.8.1 through: 2.3.8 wrap-ansi: 7.0.0 @@ -51067,8 +52201,6 @@ snapshots: strip-bom: 4.0.0 type-fest: 0.6.0 - loader-runner@4.2.0: {} - loader-runner@4.3.0: {} loader-utils@2.0.2: @@ -51182,7 +52314,7 @@ snapshots: date-format: 4.0.3 debug: 4.3.6 flatted: 3.2.4 - rfdc: 1.3.0 + rfdc: 1.4.1 streamroller: 3.0.2 transitivePeerDependencies: - supports-color @@ -51201,11 +52333,11 @@ snapshots: lower-case-first@2.0.2: dependencies: - tslib: 2.6.2 + tslib: 2.7.0 lower-case@2.0.2: dependencies: - tslib: 2.6.2 + tslib: 2.7.0 lowercase-keys@2.0.0: {} @@ -51238,10 +52370,6 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - magic-string@0.30.7: - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - make-dir@1.3.0: dependencies: pify: 3.0.0 @@ -51391,10 +52519,10 @@ snapshots: memfs@4.11.1: dependencies: - '@jsonjoy.com/json-pack': 1.0.4(tslib@2.6.3) - '@jsonjoy.com/util': 1.3.0(tslib@2.6.3) - tree-dump: 1.0.2(tslib@2.6.3) - tslib: 2.6.3 + '@jsonjoy.com/json-pack': 1.0.4(tslib@2.7.0) + '@jsonjoy.com/util': 1.3.0(tslib@2.7.0) + tree-dump: 1.0.2(tslib@2.7.0) + tslib: 2.7.0 memoize-one@5.2.1: {} @@ -51835,11 +52963,11 @@ snapshots: no-case@3.0.4: dependencies: lower-case: 2.0.2 - tslib: 2.6.2 + tslib: 2.7.0 node-abi@3.43.0: dependencies: - semver: 7.5.4 + semver: 7.6.3 node-abort-controller@3.1.1: {} @@ -52087,7 +53215,7 @@ snapshots: npm-install-checks@6.3.0: dependencies: - semver: 7.6.2 + semver: 7.6.3 npm-normalize-package-bin@1.0.1: {} @@ -52097,7 +53225,7 @@ snapshots: dependencies: hosted-git-info: 7.0.2 proc-log: 4.2.0 - semver: 7.6.2 + semver: 7.6.3 validate-npm-package-name: 5.0.1 npm-packlist@3.0.0: @@ -52116,7 +53244,7 @@ snapshots: npm-install-checks: 6.3.0 npm-normalize-package-bin: 3.0.1 npm-package-arg: 11.0.2 - semver: 7.6.2 + semver: 7.6.3 npm-registry-fetch@17.1.0: dependencies: @@ -52328,7 +53456,7 @@ snapshots: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.6.0 + cli-spinners: 2.9.2 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 @@ -52451,7 +53579,7 @@ snapshots: promise-retry: 2.0.1 sigstore: 2.3.1 ssri: 10.0.6 - tar: 6.2.0 + tar: 6.2.1 transitivePeerDependencies: - bluebird - supports-color @@ -52463,7 +53591,7 @@ snapshots: param-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.7.0 parent-module@1.0.1: dependencies: @@ -52485,7 +53613,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.1.6 @@ -52527,7 +53655,7 @@ snapshots: pascal-case@3.1.2: dependencies: no-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.7.0 pascalcase@0.1.1: {} @@ -52554,7 +53682,7 @@ snapshots: path-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.7.0 path-exists@3.0.0: {} @@ -52592,7 +53720,7 @@ snapshots: path-scurry@1.10.1: dependencies: lru-cache: 10.4.2 - minipass: 7.0.2 + minipass: 7.1.2 path-scurry@1.11.1: dependencies: @@ -52703,7 +53831,7 @@ snapshots: https-proxy-agent: 5.0.1 node-fetch: 2.6.11(encoding@0.1.13) progress: 2.0.3 - semver: 7.5.4 + semver: 7.6.3 tar-fs: 2.1.1 yargs: 16.2.0 transitivePeerDependencies: @@ -52754,7 +53882,7 @@ snapshots: polished@4.2.2: dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.7 popper.js@1.16.1: {} @@ -52811,7 +53939,7 @@ snapshots: cosmiconfig: 9.0.0(typescript@5.5.3) jiti: 1.21.6 postcss: 8.4.38 - semver: 7.6.2 + semver: 7.6.3 optionalDependencies: webpack: 5.92.1(esbuild@0.21.5) transitivePeerDependencies: @@ -52861,10 +53989,6 @@ snapshots: dependencies: postcss: 8.4.12 - postcss-modules-extract-imports@3.0.0(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-modules-extract-imports@3.1.0(postcss@8.4.38): dependencies: postcss: 8.4.38 @@ -52876,13 +54000,6 @@ snapshots: postcss-selector-parser: 6.0.16 postcss-value-parser: 4.2.0 - postcss-modules-local-by-default@4.0.0(postcss@8.4.38): - dependencies: - icss-utils: 5.1.0(postcss@8.4.38) - postcss: 8.4.38 - postcss-selector-parser: 6.0.16 - postcss-value-parser: 4.2.0 - postcss-modules-local-by-default@4.0.5(postcss@8.4.38): dependencies: icss-utils: 5.1.0(postcss@8.4.38) @@ -52895,11 +54012,6 @@ snapshots: postcss: 8.4.12 postcss-selector-parser: 6.0.16 - postcss-modules-scope@3.0.0(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-selector-parser: 6.0.16 - postcss-modules-scope@3.2.0(postcss@8.4.38): dependencies: postcss: 8.4.38 @@ -53004,7 +54116,7 @@ snapshots: postcss@8.4.38: dependencies: nanoid: 3.3.7 - picocolors: 1.0.0 + picocolors: 1.1.0 source-map-js: 1.2.0 postinstall-postinstall@2.1.0: {} @@ -53232,7 +54344,7 @@ snapshots: pvtsutils@1.3.5: dependencies: - tslib: 2.6.2 + tslib: 2.7.0 pvutils@1.1.3: {} @@ -53302,12 +54414,6 @@ snapshots: iconv-lite: 0.4.24 unpipe: 1.0.0 - raw-loader@4.0.2(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)): - dependencies: - loader-utils: 2.0.4 - schema-utils: 3.3.0 - webpack: 5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0) - raw-loader@4.0.2(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0)): dependencies: loader-utils: 2.0.4 @@ -53469,7 +54575,7 @@ snapshots: react-docgen@5.4.3: dependencies: '@babel/core': 7.24.9 - '@babel/generator': 7.23.6 + '@babel/generator': 7.25.0 '@babel/runtime': 7.24.7 ast-types: 0.14.2 commander: 2.20.3 @@ -53484,8 +54590,8 @@ snapshots: react-docgen@7.0.3: dependencies: '@babel/core': 7.24.9 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 + '@babel/traverse': 7.25.3 + '@babel/types': 7.25.2 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.5 '@types/doctrine': 0.0.9 @@ -53540,7 +54646,7 @@ snapshots: react-error-boundary@3.1.3(react@17.0.2): dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.7 react: 17.0.2 react-error-boundary@4.0.13(react@17.0.2): @@ -53654,7 +54760,7 @@ snapshots: dependencies: react: 17.0.2 react-style-singleton: 2.2.1(@types/react@17.0.21)(react@17.0.2) - tslib: 2.6.2 + tslib: 2.7.0 optionalDependencies: '@types/react': 17.0.21 @@ -53663,7 +54769,7 @@ snapshots: react: 17.0.2 react-remove-scroll-bar: 2.3.4(@types/react@17.0.21)(react@17.0.2) react-style-singleton: 2.2.1(@types/react@17.0.21)(react@17.0.2) - tslib: 2.6.2 + tslib: 2.7.0 use-callback-ref: 1.3.0(@types/react@17.0.21)(react@17.0.2) use-sidecar: 1.1.2(@types/react@17.0.21)(react@17.0.2) optionalDependencies: @@ -53733,7 +54839,7 @@ snapshots: get-nonce: 1.0.1 invariant: 2.2.4 react: 17.0.2 - tslib: 2.6.2 + tslib: 2.7.0 optionalDependencies: '@types/react': 17.0.21 @@ -53769,7 +54875,7 @@ snapshots: react-textarea-autosize@8.3.3(@types/react@17.0.21)(react@17.0.2): dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.7 react: 17.0.2 use-composed-ref: 1.2.1(react@17.0.2) use-latest: 1.2.0(@types/react@17.0.21)(react@17.0.2) @@ -53948,7 +55054,7 @@ snapshots: ast-types: 0.16.1 esprima: 4.0.1 source-map: 0.6.1 - tslib: 2.6.2 + tslib: 2.7.0 rechoir@0.6.2: dependencies: @@ -54209,8 +55315,6 @@ snapshots: rfc4648@1.5.2: {} - rfdc@1.3.0: {} - rfdc@1.4.1: {} right-pad@1.0.1: {} @@ -54311,7 +55415,7 @@ snapshots: rxjs@7.8.1: dependencies: - tslib: 2.6.3 + tslib: 2.7.0 safe-array-concat@1.0.1: dependencies: @@ -54557,7 +55661,7 @@ snapshots: sentence-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.7.0 upper-case-first: 2.0.2 serialize-javascript@6.0.1: @@ -54737,7 +55841,7 @@ snapshots: simple-update-notifier@2.0.0: dependencies: - semver: 7.5.4 + semver: 7.6.3 sirv@2.0.4: dependencies: @@ -54786,7 +55890,7 @@ snapshots: snake-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.7.0 snapdragon-node@2.1.1: dependencies: @@ -54968,7 +56072,7 @@ snapshots: sponge-case@1.0.1: dependencies: - tslib: 2.6.2 + tslib: 2.7.0 sprintf-js@1.0.3: {} @@ -55271,6 +56375,10 @@ snapshots: dependencies: webpack: 5.94.0(@swc/core@1.3.92)(esbuild@0.18.20) + style-loader@3.3.3(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))): + dependencies: + webpack: 5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0)) + style-loader@3.3.3(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))): dependencies: webpack: 5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0)) @@ -55304,7 +56412,7 @@ snapshots: mime: 2.6.0 qs: 6.13.0 readable-stream: 3.6.0 - semver: 7.5.4 + semver: 7.6.3 transitivePeerDependencies: - supports-color @@ -55368,7 +56476,7 @@ snapshots: swap-case@2.0.2: dependencies: - tslib: 2.6.2 + tslib: 2.7.0 swc-loader@0.2.3(@swc/core@1.3.92)(webpack@5.94.0(@swc/core@1.3.92)(esbuild@0.18.20)(webpack-cli@4.10.0)): dependencies: @@ -55380,6 +56488,11 @@ snapshots: '@swc/core': 1.3.92 webpack: 5.94.0(@swc/core@1.3.92)(esbuild@0.18.20) + swc-loader@0.2.3(@swc/core@1.3.92)(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))): + dependencies: + '@swc/core': 1.3.92 + webpack: 5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0)) + swc-loader@0.2.3(@swc/core@1.3.92)(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))): dependencies: '@swc/core': 1.3.92 @@ -55530,6 +56643,17 @@ snapshots: '@swc/core': 1.3.92 esbuild: 0.18.20 + terser-webpack-plugin@5.3.10(@swc/core@1.3.92)(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.2 + terser: 5.31.6 + webpack: 5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0)) + optionalDependencies: + '@swc/core': 1.3.92 + terser-webpack-plugin@5.3.10(@swc/core@1.3.92)(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))): dependencies: '@jridgewell/trace-mapping': 0.3.25 @@ -55617,8 +56741,8 @@ snapshots: terser@5.29.2: dependencies: - '@jridgewell/source-map': 0.3.3 - acorn: 8.10.0 + '@jridgewell/source-map': 0.3.6 + acorn: 8.12.1 commander: 2.20.3 source-map-support: 0.5.21 @@ -55643,9 +56767,9 @@ snapshots: text-table@0.2.0: {} - thingies@1.21.0(tslib@2.6.3): + thingies@1.21.0(tslib@2.7.0): dependencies: - tslib: 2.6.3 + tslib: 2.7.0 throttleit@1.0.0: {} @@ -55687,7 +56811,7 @@ snapshots: title-case@3.0.3: dependencies: - tslib: 2.6.2 + tslib: 2.7.0 tmp@0.0.33: dependencies: @@ -55758,9 +56882,9 @@ snapshots: transformation-matrix@2.16.1: {} - tree-dump@1.0.2(tslib@2.6.3): + tree-dump@1.0.2(tslib@2.7.0): dependencies: - tslib: 2.6.3 + tslib: 2.7.0 tree-kill@1.2.2: {} @@ -55872,11 +56996,11 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.18.10) - ts-jest@29.1.5(@babel/core@7.23.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.0))(jest@29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.5.3)))(typescript@5.5.3): + ts-jest@29.1.5(@babel/core@7.23.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.0))(esbuild@0.18.20)(jest@29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@20.14.2)(typescript@5.5.3)))(typescript@5.5.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.5.3)) + jest: 29.7.0(@types/node@20.14.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@20.14.2)(typescript@5.5.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -55889,6 +57013,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.23.0) + esbuild: 0.18.20 ts-jest@29.1.5(@babel/core@7.23.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.0))(jest@29.7.0(@types/node@22.5.2)(node-notifier@8.0.2)(ts-node@10.9.2(@swc/core@1.3.92)(@types/node@22.5.2)(typescript@5.5.3)))(typescript@5.5.3): dependencies: @@ -56361,8 +57486,6 @@ snapshots: undici-types@5.26.5: {} - undici-types@6.11.1: {} - undici-types@6.19.8: {} undici@5.28.4: @@ -56481,7 +57604,7 @@ snapshots: unplugin@1.5.0: dependencies: acorn: 8.12.1 - chokidar: 3.5.3 + chokidar: 3.6.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.5.0 @@ -56504,12 +57627,6 @@ snapshots: dependencies: browserslist: 4.23.0 escalade: 3.2.0 - picocolors: 1.0.1 - - update-browserslist-db@1.1.0(browserslist@4.23.2): - dependencies: - browserslist: 4.23.2 - escalade: 3.2.0 picocolors: 1.1.0 update-browserslist-db@1.1.0(browserslist@4.23.3): @@ -56527,11 +57644,11 @@ snapshots: upper-case-first@2.0.2: dependencies: - tslib: 2.6.2 + tslib: 2.7.0 upper-case@2.0.2: dependencies: - tslib: 2.6.2 + tslib: 2.7.0 uri-js@4.4.1: dependencies: @@ -56587,7 +57704,7 @@ snapshots: use-callback-ref@1.3.0(@types/react@17.0.21)(react@17.0.2): dependencies: react: 17.0.2 - tslib: 2.6.2 + tslib: 2.7.0 optionalDependencies: '@types/react': 17.0.21 @@ -56618,7 +57735,7 @@ snapshots: dependencies: detect-node-es: 1.1.0 react: 17.0.2 - tslib: 2.6.2 + tslib: 2.7.0 optionalDependencies: '@types/react': 17.0.21 @@ -56652,7 +57769,7 @@ snapshots: v8-to-istanbul@9.1.3: dependencies: - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.25 '@types/istanbul-lib-coverage': 2.0.1 convert-source-map: 2.0.0 @@ -56930,7 +58047,7 @@ snapshots: vscode-json-languageservice@4.1.8: dependencies: - jsonc-parser: 3.2.0 + jsonc-parser: 3.3.1 vscode-languageserver-textdocument: 1.0.7 vscode-languageserver-types: 3.17.2 vscode-nls: 5.2.0 @@ -57027,7 +58144,7 @@ snapshots: '@peculiar/json-schema': 1.1.12 asn1js: 3.0.5 pvtsutils: 1.3.5 - tslib: 2.6.2 + tslib: 2.7.0 webidl-conversions@3.0.1: {} @@ -57065,7 +58182,7 @@ snapshots: interpret: 2.2.0 rechoir: 0.7.0 webpack: 5.94.0(webpack-cli@4.10.0) - webpack-merge: 5.9.0 + webpack-merge: 5.10.0 optionalDependencies: webpack-bundle-analyzer: 4.10.2 webpack-dev-server: 4.15.1(webpack-cli@4.10.0)(webpack@5.94.0) @@ -57084,7 +58201,7 @@ snapshots: interpret: 2.2.0 rechoir: 0.7.0 webpack: 5.94.0(webpack-cli@4.10.0) - webpack-merge: 5.9.0 + webpack-merge: 5.10.0 optionalDependencies: webpack-dev-server: 4.15.1(webpack-cli@4.10.0)(webpack@5.94.0) @@ -57102,7 +58219,7 @@ snapshots: interpret: 2.2.0 rechoir: 0.7.0 webpack: 5.94.0(webpack-cli@4.10.0) - webpack-merge: 5.9.0 + webpack-merge: 5.10.0 webpack-dev-middleware@5.3.3(webpack@5.94.0(webpack-cli@4.10.0)): dependencies: @@ -57142,6 +58259,16 @@ snapshots: optionalDependencies: webpack: 5.94.0(@swc/core@1.3.92)(esbuild@0.18.20) + webpack-dev-middleware@6.1.1(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))): + dependencies: + colorette: 2.0.20 + memfs: 3.5.1 + mime-types: 2.1.35 + range-parser: 1.2.1 + schema-utils: 4.2.0 + optionalDependencies: + webpack: 5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0)) + webpack-dev-middleware@6.1.1(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0))): dependencies: colorette: 2.0.20 @@ -57156,7 +58283,7 @@ snapshots: dependencies: colorette: 2.0.20 memfs: 4.11.1 - mime-types: 2.1.34 + mime-types: 2.1.35 on-finished: 2.4.1 range-parser: 1.2.1 schema-utils: 4.2.0 @@ -57287,7 +58414,7 @@ snapshots: webpack-hot-middleware@2.25.4: dependencies: ansi-html-community: 0.0.8 - html-entities: 2.3.2 + html-entities: 2.5.2 strip-ansi: 6.0.1 webpack-merge@4.2.2: @@ -57325,24 +58452,24 @@ snapshots: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 - acorn: 8.10.0 - acorn-import-attributes: 1.9.5(acorn@8.10.0) - browserslist: 4.23.2 - chrome-trace-event: 1.0.2 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) + browserslist: 4.23.3 + chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.1 - es-module-lexer: 1.4.1 + es-module-lexer: 1.5.4 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 json-parse-even-better-errors: 2.3.1 - loader-runner: 4.2.0 - mime-types: 2.1.34 + loader-runner: 4.3.0 + mime-types: 2.1.35 neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 terser-webpack-plugin: 5.3.10(esbuild@0.21.5)(webpack@5.92.1(esbuild@0.21.5)) - watchpack: 2.4.1 + watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -57441,6 +58568,38 @@ snapshots: - esbuild - uglify-js + webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0)): + dependencies: + '@types/estree': 1.0.5 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/wasm-edit': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) + browserslist: 4.23.3 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.17.1 + es-module-lexer: 1.5.4 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.10(@swc/core@1.3.92)(webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0))) + watchpack: 2.4.2 + webpack-sources: 3.2.3 + optionalDependencies: + webpack-cli: 4.10.0(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.94.0) + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + webpack@5.94.0(@swc/core@1.3.92)(webpack-cli@4.10.0(webpack-dev-server@4.15.1)(webpack@5.94.0)): dependencies: '@types/estree': 1.0.5 diff --git a/repo/graph.dot b/repo/graph.dot index 3e22c2ef251..62a26b77aed 100644 --- a/repo/graph.dot +++ b/repo/graph.dot @@ -10,35 +10,44 @@ digraph G { "@kie-tools-scripts/update-kogito-version" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; "@kie-tools-scripts/update-stream-name" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; "@kie-tools-scripts/update-version" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; - "@kie-tools-examples/base64png-editor" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; - "@kie-tools-core/editor" [ color = "purple", fontcolor = "purple", style = "rounded" ]; - "@kie-tools-examples/base64png-editor-chrome-extension" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; - "@kie-tools-core/chrome-extension" [ color = "purple", fontcolor = "purple", style = "rounded" ]; - "@kie-tools-core/webpack-base" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; - "kie-tools-examples-base64png-editor-vscode-extension" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; - "@kie-tools-core/vscode-extension" [ color = "purple", fontcolor = "purple", style = "rounded" ]; - "@kie-tools-examples/commit-message-validation-service" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; - "@kie-tools/root-env" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; - "@kie-tools-examples/dmn-editor-standalone-examples" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; + "@kie-tools-examples/bpmn-editor-classic-on-webapp" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; + "@kie-tools-core/react-hooks" [ color = "purple", fontcolor = "purple", style = "rounded" ]; + "@kie-tools/kie-bc-editors" [ color = "blue", fontcolor = "blue", style = "rounded" ]; + "@kie-tools/stunner-editors" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; + "@kie-tools-examples/dmn-editor-classic-on-webapp" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; + "@kie-tools-examples/dmn-editor-on-webapp" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; + "@kie-tools/dmn-editor-envelope" [ color = "blue", fontcolor = "blue", style = "rounded" ]; + "@kie-tools-examples/dmn-editor-standalone-on-webapp" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; "@kie-tools/dmn-editor-standalone" [ color = "blue", fontcolor = "blue", style = "rounded" ]; "@kie-tools-examples/drools-process-usertasks-quarkus-example" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; "@kie-tools/jbpm-quarkus-devui" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; "@kie-tools-examples/jbpm-compact-architecture-example" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; "@kie-tools/kogito-management-console" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; - "@kie-tools-examples/ping-pong-view" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; + "@kie-tools-examples/kie-sandbox-commit-message-validation-service" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; + "@kie-tools/root-env" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; + "@kie-tools-core/editor" [ color = "purple", fontcolor = "purple", style = "rounded" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; + "@kie-tools-core/chrome-extension" [ color = "purple", fontcolor = "purple", style = "rounded" ]; + "@kie-tools-core/webpack-base" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; + "kie-tools-examples-micro-frontends-multiplying-architecture-base64png-editor-vscode-extension" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; + "@kie-tools-core/vscode-extension" [ color = "purple", fontcolor = "purple", style = "rounded" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; "@kie-tools-core/envelope" [ color = "purple", fontcolor = "purple", style = "rounded" ]; - "@kie-tools-examples/ping-pong-view-angular" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; - "@kie-tools-examples/ping-pong-view-react" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; + "kie-tools-examples-micro-frontends-multuplying-architecture-todo-list-view-vscode-extension" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; + "@kie-tools-examples/serverless-workflow-editor-standalone-on-webapp" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; + "@kie-tools/serverless-workflow-standalone-editor" [ color = "blue", fontcolor = "blue", style = "rounded" ]; "@kie-tools-examples/sonataflow-greeting-quarkus-example" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; "@kie-tools/sonataflow-quarkus-devui" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; - "@kie-tools-examples/todo-list-view" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; - "kie-tools-examples-todo-list-view-vscode-extension" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; "@kie-tools-examples/uniforms-patternfly" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; "@kie-tools-core/patternfly-base" [ color = "purple", fontcolor = "purple", style = "rounded" ]; "@kie-tools/uniforms-patternfly" [ color = "blue", fontcolor = "blue", style = "rounded" ]; - "@kie-tools-examples/webapp" [ color = "orange", fontcolor = "orange", style = "dashed, rounded" ]; - "@kie-tools/kie-editors-standalone" [ color = "blue", fontcolor = "blue", style = "rounded" ]; - "@kie-tools/serverless-workflow-standalone-editor" [ color = "blue", fontcolor = "blue", style = "rounded" ]; "@kie-tools/boxed-expression-component" [ color = "blue", fontcolor = "blue", style = "rounded" ]; "@kie-tools-core/operating-system" [ color = "purple", fontcolor = "purple", style = "rounded" ]; "@kie-tools/feel-input-component" [ color = "blue", fontcolor = "blue", style = "rounded" ]; @@ -48,8 +57,6 @@ digraph G { "@kie-tools/xml-parser-ts-codegen" [ color = "blue", fontcolor = "blue", style = "rounded" ]; "bpmn-vscode-extension" [ color = "blue", fontcolor = "blue", style = "rounded" ]; "@kie-tools/form-code-generator-vscode-command" [ color = "blue", fontcolor = "blue", style = "rounded" ]; - "@kie-tools/kie-bc-editors" [ color = "blue", fontcolor = "blue", style = "rounded" ]; - "@kie-tools/stunner-editors" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; "@kie-tools/vscode-java-code-completion-extension-plugin" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; "chrome-extension-pack-kogito-kie-editors" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; "@kie-tools/chrome-extension-test-helper" [ color = "blue", fontcolor = "blue", style = "rounded" ]; @@ -97,9 +104,7 @@ digraph G { "@kie-tools/dev-deployment-kogito-quarkus-blank-app-image" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; "@kie-tools/maven-m2-repo-via-http-image" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; "@kie-tools/dmn-editor" [ color = "blue", fontcolor = "blue", style = "rounded" ]; - "@kie-tools-core/react-hooks" [ color = "purple", fontcolor = "purple", style = "rounded" ]; "@kie-tools/pmml-editor-marshaller" [ color = "blue", fontcolor = "blue", style = "rounded" ]; - "@kie-tools/dmn-editor-envelope" [ color = "blue", fontcolor = "blue", style = "rounded" ]; "@kie-tools/dmn-feel-antlr4-parser" [ color = "blue", fontcolor = "blue", style = "rounded" ]; "@kie-tools/dmn-marshaller" [ color = "blue", fontcolor = "blue", style = "rounded" ]; "@kie-tools/dmn-language-service" [ color = "blue", fontcolor = "blue", style = "rounded" ]; @@ -131,6 +136,7 @@ digraph G { "kie-editors-dev-vscode-extension" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; "@kie-tools/pmml-editor" [ color = "blue", fontcolor = "blue", style = "rounded" ]; "@kie-tools/vscode-extension-common-test-helpers" [ color = "blue", fontcolor = "blue", style = "rounded" ]; + "@kie-tools/kie-editors-standalone" [ color = "blue", fontcolor = "blue", style = "rounded" ]; "@kie-tools/kie-sandbox-distribution" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; "@kie-tools/kie-sandbox-extended-services-image" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; "@kie-tools/kie-sandbox-webapp-image" [ color = "black", fontcolor = "black", style = "dashed, rounded" ]; @@ -213,36 +219,50 @@ digraph G { "kie-tools-root" -> "@kie-tools-scripts/update-kogito-version" [ style = "dashed", color = "black" ]; "kie-tools-root" -> "@kie-tools-scripts/update-stream-name" [ style = "dashed", color = "black" ]; "kie-tools-root" -> "@kie-tools-scripts/update-version" [ style = "dashed", color = "black" ]; - "@kie-tools-examples/base64png-editor" -> "@kie-tools-core/editor" [ style = "solid", color = "orange" ]; - "@kie-tools-examples/base64png-editor-chrome-extension" -> "@kie-tools-core/chrome-extension" [ style = "solid", color = "orange" ]; - "@kie-tools-examples/base64png-editor-chrome-extension" -> "@kie-tools-examples/base64png-editor" [ style = "solid", color = "orange" ]; - "@kie-tools-examples/base64png-editor-chrome-extension" -> "@kie-tools-core/webpack-base" [ style = "dashed", color = "orange" ]; - "kie-tools-examples-base64png-editor-vscode-extension" -> "@kie-tools-core/vscode-extension" [ style = "solid", color = "orange" ]; - "kie-tools-examples-base64png-editor-vscode-extension" -> "@kie-tools-examples/base64png-editor" [ style = "solid", color = "orange" ]; - "kie-tools-examples-base64png-editor-vscode-extension" -> "@kie-tools-core/webpack-base" [ style = "dashed", color = "orange" ]; - "@kie-tools-examples/commit-message-validation-service" -> "@kie-tools/root-env" [ style = "dashed", color = "orange" ]; - "@kie-tools-examples/dmn-editor-standalone-examples" -> "@kie-tools/dmn-editor-standalone" [ style = "solid", color = "orange" ]; + "@kie-tools-examples/bpmn-editor-classic-on-webapp" -> "@kie-tools-core/react-hooks" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/bpmn-editor-classic-on-webapp" -> "@kie-tools/kie-bc-editors" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/bpmn-editor-classic-on-webapp" -> "@kie-tools/stunner-editors" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/dmn-editor-classic-on-webapp" -> "@kie-tools-core/react-hooks" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/dmn-editor-classic-on-webapp" -> "@kie-tools/kie-bc-editors" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/dmn-editor-classic-on-webapp" -> "@kie-tools/stunner-editors" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/dmn-editor-on-webapp" -> "@kie-tools/dmn-editor-envelope" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/dmn-editor-standalone-on-webapp" -> "@kie-tools/dmn-editor-standalone" [ style = "solid", color = "orange" ]; "@kie-tools-examples/drools-process-usertasks-quarkus-example" -> "@kie-tools/jbpm-quarkus-devui" [ style = "solid", color = "orange" ]; "@kie-tools-examples/jbpm-compact-architecture-example" -> "@kie-tools/jbpm-quarkus-devui" [ style = "solid", color = "orange" ]; "@kie-tools-examples/jbpm-compact-architecture-example" -> "@kie-tools/kogito-management-console" [ style = "dashed", color = "orange" ]; - "@kie-tools-examples/ping-pong-view" -> "@kie-tools-core/envelope" [ style = "solid", color = "orange" ]; - "@kie-tools-examples/ping-pong-view-angular" -> "@kie-tools-examples/ping-pong-view" [ style = "solid", color = "orange" ]; - "@kie-tools-examples/ping-pong-view-react" -> "@kie-tools-examples/ping-pong-view" [ style = "solid", color = "orange" ]; + "@kie-tools-examples/kie-sandbox-commit-message-validation-service" -> "@kie-tools/root-env" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor" -> "@kie-tools-core/editor" [ style = "solid", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension" -> "@kie-tools-core/chrome-extension" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension" -> "@kie-tools-core/webpack-base" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension" -> "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp" -> "@kie-tools-core/react-hooks" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp" -> "@kie-tools-core/webpack-base" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp" -> "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor" [ style = "dashed", color = "orange" ]; + "kie-tools-examples-micro-frontends-multiplying-architecture-base64png-editor-vscode-extension" -> "@kie-tools-core/vscode-extension" [ style = "dashed", color = "orange" ]; + "kie-tools-examples-micro-frontends-multiplying-architecture-base64png-editor-vscode-extension" -> "@kie-tools-core/webpack-base" [ style = "dashed", color = "orange" ]; + "kie-tools-examples-micro-frontends-multiplying-architecture-base64png-editor-vscode-extension" -> "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view" -> "@kie-tools-core/envelope" [ style = "solid", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular" -> "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view" [ style = "solid", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react" -> "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view" [ style = "solid", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp" -> "@kie-tools-core/editor" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp" -> "@kie-tools-core/react-hooks" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp" -> "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp" -> "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp" -> "@kie-tools/stunner-editors" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view" -> "@kie-tools-core/envelope" [ style = "solid", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp" -> "@kie-tools-core/editor" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp" -> "@kie-tools-core/react-hooks" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp" -> "@kie-tools-core/webpack-base" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp" -> "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view" [ style = "dashed", color = "orange" ]; + "kie-tools-examples-micro-frontends-multuplying-architecture-todo-list-view-vscode-extension" -> "@kie-tools-core/vscode-extension" [ style = "dashed", color = "orange" ]; + "kie-tools-examples-micro-frontends-multuplying-architecture-todo-list-view-vscode-extension" -> "@kie-tools-core/webpack-base" [ style = "dashed", color = "orange" ]; + "kie-tools-examples-micro-frontends-multuplying-architecture-todo-list-view-vscode-extension" -> "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/serverless-workflow-editor-standalone-on-webapp" -> "@kie-tools-core/react-hooks" [ style = "dashed", color = "orange" ]; + "@kie-tools-examples/serverless-workflow-editor-standalone-on-webapp" -> "@kie-tools/serverless-workflow-standalone-editor" [ style = "dashed", color = "orange" ]; "@kie-tools-examples/sonataflow-greeting-quarkus-example" -> "@kie-tools/sonataflow-quarkus-devui" [ style = "solid", color = "orange" ]; - "@kie-tools-examples/todo-list-view" -> "@kie-tools-core/envelope" [ style = "solid", color = "orange" ]; - "kie-tools-examples-todo-list-view-vscode-extension" -> "@kie-tools-core/vscode-extension" [ style = "solid", color = "orange" ]; - "kie-tools-examples-todo-list-view-vscode-extension" -> "@kie-tools-examples/todo-list-view" [ style = "solid", color = "orange" ]; - "kie-tools-examples-todo-list-view-vscode-extension" -> "@kie-tools-core/webpack-base" [ style = "dashed", color = "orange" ]; "@kie-tools-examples/uniforms-patternfly" -> "@kie-tools-core/patternfly-base" [ style = "solid", color = "orange" ]; "@kie-tools-examples/uniforms-patternfly" -> "@kie-tools/uniforms-patternfly" [ style = "solid", color = "orange" ]; "@kie-tools-examples/uniforms-patternfly" -> "@kie-tools-core/webpack-base" [ style = "dashed", color = "orange" ]; - "@kie-tools-examples/webapp" -> "@kie-tools-examples/base64png-editor" [ style = "solid", color = "orange" ]; - "@kie-tools-examples/webapp" -> "@kie-tools-examples/ping-pong-view-angular" [ style = "solid", color = "orange" ]; - "@kie-tools-examples/webapp" -> "@kie-tools-examples/ping-pong-view-react" [ style = "solid", color = "orange" ]; - "@kie-tools-examples/webapp" -> "@kie-tools-examples/todo-list-view" [ style = "solid", color = "orange" ]; - "@kie-tools-examples/webapp" -> "@kie-tools/dmn-editor-standalone" [ style = "solid", color = "orange" ]; - "@kie-tools-examples/webapp" -> "@kie-tools/kie-editors-standalone" [ style = "solid", color = "orange" ]; - "@kie-tools-examples/webapp" -> "@kie-tools/serverless-workflow-standalone-editor" [ style = "solid", color = "orange" ]; "@kie-tools/boxed-expression-component" -> "@kie-tools-core/operating-system" [ style = "solid", color = "blue" ]; "@kie-tools/boxed-expression-component" -> "@kie-tools/feel-input-component" [ style = "solid", color = "blue" ]; "@kie-tools/boxed-expression-component" -> "@kie-tools/playwright-base" [ style = "dashed", color = "blue" ]; diff --git a/repo/graph.json b/repo/graph.json index 0f3378f7b52..8eb6e7ad616 100644 --- a/repo/graph.json +++ b/repo/graph.json @@ -11,23 +11,23 @@ { "id": "@kie-tools-scripts/update-version" }, { "id": "@kie-tools-scripts/build-env" }, { "id": "@kie-tools/tsconfig" }, - { "id": "@kie-tools-examples/base64png-editor" }, - { "id": "@kie-tools-core/editor" }, - { "id": "@kie-tools-core/envelope" }, - { "id": "@kie-tools-core/keyboard-shortcuts" }, - { "id": "@kie-tools-core/notifications" }, - { "id": "@kie-tools-core/patternfly-base" }, - { "id": "@kie-tools-examples/base64png-editor-chrome-extension" }, - { "id": "@kie-tools-core/chrome-extension" }, - { "id": "@kie-tools-core/webpack-base" }, + { "id": "@kie-tools-examples/bpmn-editor-classic-on-webapp" }, + { "id": "@kie-tools-core/react-hooks" }, + { "id": "@kie-tools/kie-bc-editors" }, + { "id": "@kie-tools/stunner-editors" }, + { "id": "@kie-tools/eslint" }, { "id": "@kie-tools/root-env" }, - { "id": "kie-tools-examples-base64png-editor-vscode-extension" }, - { "id": "@kie-tools-core/vscode-extension" }, + { "id": "@kie-tools-core/editor" }, { "id": "@kie-tools-core/vscode-java-code-completion" }, - { "id": "@kie-tools-examples/commit-message-validation-service" }, - { "id": "@kie-tools-examples/dmn-editor-standalone-examples" }, - { "id": "@kie-tools/dmn-editor-standalone" }, + { "id": "@kie-tools/dmn-language-service" }, + { "id": "@kie-tools/pmml-editor-marshaller" }, + { "id": "@kie-tools/stunner-editors-dmn-loader" }, + { "id": "@kie-tools-examples/dmn-editor-classic-on-webapp" }, + { "id": "@kie-tools-examples/dmn-editor-on-webapp" }, { "id": "@kie-tools/dmn-editor-envelope" }, + { "id": "@kie-tools/dmn-editor" }, + { "id": "@kie-tools-examples/dmn-editor-standalone-on-webapp" }, + { "id": "@kie-tools/dmn-editor-standalone" }, { "id": "@kie-tools-examples/drools-process-usertasks-quarkus-example" }, { "id": "@kie-tools/jbpm-quarkus-devui" }, { "id": "@kie-tools/maven-base" }, @@ -37,32 +37,67 @@ { "id": "@kie-tools/image-builder" }, { "id": "@kie-tools/image-env-to-json" }, { "id": "@kie-tools/runtime-tools-management-console-webapp" }, - { "id": "@kie-tools-examples/ping-pong-view" }, + { + "id": "@kie-tools-examples/kie-sandbox-commit-message-validation-service" + }, + { + "id": "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor" + }, + { "id": "@kie-tools-core/envelope" }, + { "id": "@kie-tools-core/keyboard-shortcuts" }, + { "id": "@kie-tools-core/notifications" }, + { "id": "@kie-tools-core/patternfly-base" }, + { + "id": "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension" + }, + { "id": "@kie-tools-core/chrome-extension" }, + { "id": "@kie-tools-core/webpack-base" }, + { + "id": "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp" + }, + { + "id": "kie-tools-examples-micro-frontends-multiplying-architecture-base64png-editor-vscode-extension" + }, + { "id": "@kie-tools-core/vscode-extension" }, + { + "id": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view" + }, { "id": "@kie-tools-core/envelope-bus" }, - { "id": "@kie-tools-examples/ping-pong-view-angular" }, - { "id": "@kie-tools-examples/ping-pong-view-react" }, + { + "id": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular" + }, + { + "id": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react" + }, + { + "id": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp" + }, + { + "id": "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view" + }, + { + "id": "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp" + }, + { + "id": "kie-tools-examples-micro-frontends-multuplying-architecture-todo-list-view-vscode-extension" + }, + { + "id": "@kie-tools-examples/serverless-workflow-editor-standalone-on-webapp" + }, + { "id": "@kie-tools/serverless-workflow-standalone-editor" }, + { "id": "@kie-tools/serverless-workflow-combined-editor" }, { "id": "@kie-tools-examples/sonataflow-greeting-quarkus-example" }, { "id": "@kie-tools/sonataflow-quarkus-devui" }, { "id": "@kie-tools/serverless-workflow-dev-ui-webapp" }, - { "id": "@kie-tools-examples/todo-list-view" }, - { "id": "kie-tools-examples-todo-list-view-vscode-extension" }, { "id": "@kie-tools-examples/uniforms-patternfly" }, { "id": "@kie-tools/uniforms-patternfly" }, - { "id": "@kie-tools/eslint" }, { "id": "@kie-tools/jest-base" }, - { "id": "@kie-tools-examples/webapp" }, - { "id": "@kie-tools/kie-editors-standalone" }, - { "id": "@kie-tools/serverless-workflow-standalone-editor" }, - { "id": "@kie-tools/kie-bc-editors" }, - { "id": "@kie-tools/stunner-editors" }, - { "id": "@kie-tools/serverless-workflow-combined-editor" }, { "id": "@kie-tools/boxed-expression-component" }, { "id": "@kie-tools-core/operating-system" }, { "id": "@kie-tools/feel-input-component" }, { "id": "@kie-tools/playwright-base" }, { "id": "@kie-tools/storybook-base" }, { "id": "@kie-tools-core/monaco-editor" }, - { "id": "@kie-tools/dmn-language-service" }, { "id": "@kie-tools/i18n-common-dictionary" }, { "id": "@kie-tools/bpmn-marshaller" }, { "id": "@kie-tools/xml-parser-ts-codegen" }, @@ -71,8 +106,6 @@ { "id": "@kie-tools/form-code-generator-vscode-command" }, { "id": "@kie-tools/vscode-java-code-completion-extension-plugin" }, { "id": "@kie-tools/jbpm-form-code-generator-themes" }, - { "id": "@kie-tools/pmml-editor-marshaller" }, - { "id": "@kie-tools/stunner-editors-dmn-loader" }, { "id": "chrome-extension-pack-kogito-kie-editors" }, { "id": "@kie-tools/chrome-extension-test-helper" }, { "id": "chrome-extension-serverless-workflow-editor" }, @@ -102,7 +135,6 @@ { "id": "@kie-tools/dashbuilder-viewer" }, { "id": "@kie-tools/dashbuilder-viewer-deployment-webapp" }, { "id": "@kie-tools-core/workspaces-git-fs" }, - { "id": "@kie-tools-core/react-hooks" }, { "id": "@kie-tools-core/workspace" }, { "id": "@kie-tools/kie-sandbox-fs" }, { "id": "@kie-tools-core/i18n" }, @@ -118,7 +150,6 @@ { "id": "@kie-tools/dev-deployment-kogito-quarkus-blank-app" }, { "id": "@kie-tools/dev-deployment-kogito-quarkus-blank-app-image" }, { "id": "@kie-tools/maven-m2-repo-via-http-image" }, - { "id": "@kie-tools/dmn-editor" }, { "id": "@kie-tools/dmn-feel-antlr4-parser" }, { "id": "@kie-tools/dmn-marshaller" }, { "id": "@kie-tools/dmn-marshaller-backend-compatibility-tester" }, @@ -141,6 +172,7 @@ { "id": "kie-editors-dev-vscode-extension" }, { "id": "@kie-tools/pmml-editor" }, { "id": "@kie-tools/vscode-extension-common-test-helpers" }, + { "id": "@kie-tools/kie-editors-standalone" }, { "id": "@kie-tools/kie-sandbox-distribution" }, { "id": "@kie-tools/kie-sandbox-extended-services-image" }, { "id": "@kie-tools/kie-sandbox-webapp-image" }, @@ -260,137 +292,147 @@ "weight": 1 }, { - "source": "@kie-tools-examples/base64png-editor", - "target": "@kie-tools-core/editor", + "source": "@kie-tools-examples/bpmn-editor-classic-on-webapp", + "target": "@kie-tools-core/react-hooks", "weight": 1 }, { - "source": "@kie-tools-core/editor", - "target": "@kie-tools-core/envelope", + "source": "@kie-tools-examples/bpmn-editor-classic-on-webapp", + "target": "@kie-tools/kie-bc-editors", "weight": 1 }, { - "source": "@kie-tools-core/editor", - "target": "@kie-tools-core/keyboard-shortcuts", + "source": "@kie-tools-examples/bpmn-editor-classic-on-webapp", + "target": "@kie-tools/stunner-editors", "weight": 1 }, { - "source": "@kie-tools-core/editor", - "target": "@kie-tools-core/notifications", + "source": "@kie-tools-core/react-hooks", + "target": "@kie-tools/eslint", "weight": 1 }, { - "source": "@kie-tools-core/editor", - "target": "@kie-tools-core/patternfly-base", + "source": "@kie-tools-core/react-hooks", + "target": "@kie-tools/root-env", "weight": 1 }, { - "source": "@kie-tools-core/envelope", - "target": "@kie-tools-core/envelope-bus", + "source": "@kie-tools-core/react-hooks", + "target": "@kie-tools/tsconfig", "weight": 1 }, { - "source": "@kie-tools-core/keyboard-shortcuts", - "target": "@kie-tools-core/envelope-bus", + "source": "@kie-tools/kie-bc-editors", + "target": "@kie-tools-core/editor", "weight": 1 }, { - "source": "@kie-tools-core/keyboard-shortcuts", - "target": "@kie-tools-core/operating-system", + "source": "@kie-tools/kie-bc-editors", + "target": "@kie-tools-core/vscode-java-code-completion", "weight": 1 }, { - "source": "@kie-tools-core/notifications", - "target": "@kie-tools-core/i18n", + "source": "@kie-tools/kie-bc-editors", + "target": "@kie-tools/dmn-language-service", "weight": 1 }, { - "source": "@kie-tools-core/notifications", - "target": "@kie-tools-core/workspace", + "source": "@kie-tools/kie-bc-editors", + "target": "@kie-tools/pmml-editor-marshaller", "weight": 1 }, { - "source": "@kie-tools-core/patternfly-base", - "target": "@kie-tools/root-env", + "source": "@kie-tools/stunner-editors", + "target": "@kie-tools/stunner-editors-dmn-loader", "weight": 1 }, { - "source": "@kie-tools-examples/base64png-editor-chrome-extension", - "target": "@kie-tools-core/chrome-extension", + "source": "@kie-tools-core/editor", + "target": "@kie-tools-core/envelope", "weight": 1 }, { - "source": "@kie-tools-examples/base64png-editor-chrome-extension", - "target": "@kie-tools-examples/base64png-editor", + "source": "@kie-tools-core/editor", + "target": "@kie-tools-core/keyboard-shortcuts", "weight": 1 }, { - "source": "@kie-tools-examples/base64png-editor-chrome-extension", - "target": "@kie-tools-core/webpack-base", + "source": "@kie-tools-core/editor", + "target": "@kie-tools-core/notifications", "weight": 1 }, { - "source": "@kie-tools-core/chrome-extension", - "target": "@kie-tools-core/editor", + "source": "@kie-tools-core/editor", + "target": "@kie-tools-core/patternfly-base", "weight": 1 }, { - "source": "@kie-tools-core/webpack-base", + "source": "@kie-tools-core/vscode-java-code-completion", + "target": "@kie-tools/eslint", + "weight": 1 + }, + { + "source": "@kie-tools-core/vscode-java-code-completion", "target": "@kie-tools/root-env", "weight": 1 }, { - "source": "kie-tools-examples-base64png-editor-vscode-extension", - "target": "@kie-tools-core/vscode-extension", + "source": "@kie-tools-core/vscode-java-code-completion", + "target": "@kie-tools/tsconfig", "weight": 1 }, { - "source": "kie-tools-examples-base64png-editor-vscode-extension", - "target": "@kie-tools-examples/base64png-editor", + "source": "@kie-tools/dmn-language-service", + "target": "@kie-tools/dmn-feel-antlr4-parser", "weight": 1 }, { - "source": "kie-tools-examples-base64png-editor-vscode-extension", - "target": "@kie-tools-core/webpack-base", + "source": "@kie-tools/dmn-language-service", + "target": "@kie-tools-core/switch-expression-ts", "weight": 1 }, { - "source": "@kie-tools-core/vscode-extension", - "target": "@kie-tools-core/editor", + "source": "@kie-tools/pmml-editor-marshaller", + "target": "@kie-tools/eslint", "weight": 1 }, { - "source": "@kie-tools-core/vscode-extension", - "target": "@kie-tools-core/vscode-java-code-completion", + "source": "@kie-tools/pmml-editor-marshaller", + "target": "@kie-tools/jest-base", "weight": 1 }, { - "source": "@kie-tools-core/vscode-java-code-completion", - "target": "@kie-tools/eslint", + "source": "@kie-tools/pmml-editor-marshaller", + "target": "@kie-tools/tsconfig", "weight": 1 }, { - "source": "@kie-tools-core/vscode-java-code-completion", - "target": "@kie-tools/root-env", + "source": "@kie-tools/stunner-editors-dmn-loader", + "target": "@kie-tools/boxed-expression-component", "weight": 1 }, { - "source": "@kie-tools-core/vscode-java-code-completion", - "target": "@kie-tools/tsconfig", + "source": "@kie-tools/stunner-editors-dmn-loader", + "target": "@kie-tools/import-java-classes-component", "weight": 1 }, { - "source": "@kie-tools-examples/commit-message-validation-service", - "target": "@kie-tools/root-env", + "source": "@kie-tools-examples/dmn-editor-classic-on-webapp", + "target": "@kie-tools-core/react-hooks", "weight": 1 }, { - "source": "@kie-tools-examples/dmn-editor-standalone-examples", - "target": "@kie-tools/dmn-editor-standalone", + "source": "@kie-tools-examples/dmn-editor-classic-on-webapp", + "target": "@kie-tools/kie-bc-editors", "weight": 1 }, { - "source": "@kie-tools/dmn-editor-standalone", + "source": "@kie-tools-examples/dmn-editor-classic-on-webapp", + "target": "@kie-tools/stunner-editors", + "weight": 1 + }, + { + "source": "@kie-tools-examples/dmn-editor-on-webapp", "target": "@kie-tools/dmn-editor-envelope", "weight": 1 }, @@ -404,6 +446,31 @@ "target": "@kie-tools/dmn-editor", "weight": 1 }, + { + "source": "@kie-tools/dmn-editor", + "target": "@kie-tools-core/react-hooks", + "weight": 1 + }, + { + "source": "@kie-tools/dmn-editor", + "target": "@kie-tools/boxed-expression-component", + "weight": 1 + }, + { + "source": "@kie-tools/dmn-editor", + "target": "@kie-tools/pmml-editor-marshaller", + "weight": 1 + }, + { + "source": "@kie-tools-examples/dmn-editor-standalone-on-webapp", + "target": "@kie-tools/dmn-editor-standalone", + "weight": 1 + }, + { + "source": "@kie-tools/dmn-editor-standalone", + "target": "@kie-tools/dmn-editor-envelope", + "weight": 1 + }, { "source": "@kie-tools-examples/drools-process-usertasks-quarkus-example", "target": "@kie-tools/jbpm-quarkus-devui", @@ -490,193 +557,218 @@ "weight": 1 }, { - "source": "@kie-tools-examples/ping-pong-view", - "target": "@kie-tools-core/envelope", + "source": "@kie-tools-examples/kie-sandbox-commit-message-validation-service", + "target": "@kie-tools/root-env", "weight": 1 }, { - "source": "@kie-tools-core/envelope-bus", - "target": "@kie-tools/eslint", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor", + "target": "@kie-tools-core/editor", "weight": 1 }, { - "source": "@kie-tools-core/envelope-bus", - "target": "@kie-tools/jest-base", + "source": "@kie-tools-core/envelope", + "target": "@kie-tools-core/envelope-bus", "weight": 1 }, { - "source": "@kie-tools-core/envelope-bus", - "target": "@kie-tools/tsconfig", + "source": "@kie-tools-core/keyboard-shortcuts", + "target": "@kie-tools-core/envelope-bus", "weight": 1 }, { - "source": "@kie-tools-examples/ping-pong-view-angular", - "target": "@kie-tools-examples/ping-pong-view", + "source": "@kie-tools-core/keyboard-shortcuts", + "target": "@kie-tools-core/operating-system", "weight": 1 }, { - "source": "@kie-tools-examples/ping-pong-view-react", - "target": "@kie-tools-examples/ping-pong-view", + "source": "@kie-tools-core/notifications", + "target": "@kie-tools-core/i18n", "weight": 1 }, { - "source": "@kie-tools-examples/sonataflow-greeting-quarkus-example", - "target": "@kie-tools/sonataflow-quarkus-devui", + "source": "@kie-tools-core/notifications", + "target": "@kie-tools-core/workspace", "weight": 1 }, { - "source": "@kie-tools/sonataflow-quarkus-devui", - "target": "@kie-tools/serverless-workflow-dev-ui-webapp", + "source": "@kie-tools-core/patternfly-base", + "target": "@kie-tools/root-env", "weight": 1 }, { - "source": "@kie-tools/serverless-workflow-dev-ui-webapp", - "target": "@kie-tools/runtime-tools-shared-webapp-components", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension", + "target": "@kie-tools-core/chrome-extension", "weight": 1 }, { - "source": "@kie-tools/serverless-workflow-dev-ui-webapp", - "target": "@kie-tools/runtime-tools-swf-webapp-components", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension", + "target": "@kie-tools-core/webpack-base", "weight": 1 }, { - "source": "@kie-tools/serverless-workflow-dev-ui-webapp", - "target": "@kie-tools/serverless-workflow-dev-ui-monitoring-webapp", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension", + "target": "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor", "weight": 1 }, { - "source": "@kie-tools/serverless-workflow-dev-ui-webapp", - "target": "@kie-tools/sonataflow-dev-app", + "source": "@kie-tools-core/chrome-extension", + "target": "@kie-tools-core/editor", "weight": 1 }, { - "source": "@kie-tools-examples/todo-list-view", - "target": "@kie-tools-core/envelope", + "source": "@kie-tools-core/webpack-base", + "target": "@kie-tools/root-env", "weight": 1 }, { - "source": "kie-tools-examples-todo-list-view-vscode-extension", - "target": "@kie-tools-core/vscode-extension", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp", + "target": "@kie-tools-core/react-hooks", "weight": 1 }, { - "source": "kie-tools-examples-todo-list-view-vscode-extension", - "target": "@kie-tools-examples/todo-list-view", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp", + "target": "@kie-tools-core/webpack-base", "weight": 1 }, { - "source": "kie-tools-examples-todo-list-view-vscode-extension", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp", + "target": "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor", + "weight": 1 + }, + { + "source": "kie-tools-examples-micro-frontends-multiplying-architecture-base64png-editor-vscode-extension", + "target": "@kie-tools-core/vscode-extension", + "weight": 1 + }, + { + "source": "kie-tools-examples-micro-frontends-multiplying-architecture-base64png-editor-vscode-extension", "target": "@kie-tools-core/webpack-base", "weight": 1 }, { - "source": "@kie-tools-examples/uniforms-patternfly", - "target": "@kie-tools-core/patternfly-base", + "source": "kie-tools-examples-micro-frontends-multiplying-architecture-base64png-editor-vscode-extension", + "target": "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor", "weight": 1 }, { - "source": "@kie-tools-examples/uniforms-patternfly", - "target": "@kie-tools/uniforms-patternfly", + "source": "@kie-tools-core/vscode-extension", + "target": "@kie-tools-core/editor", "weight": 1 }, { - "source": "@kie-tools-examples/uniforms-patternfly", - "target": "@kie-tools-core/webpack-base", + "source": "@kie-tools-core/vscode-extension", + "target": "@kie-tools-core/vscode-java-code-completion", "weight": 1 }, { - "source": "@kie-tools/uniforms-patternfly", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view", + "target": "@kie-tools-core/envelope", + "weight": 1 + }, + { + "source": "@kie-tools-core/envelope-bus", "target": "@kie-tools/eslint", "weight": 1 }, { - "source": "@kie-tools/uniforms-patternfly", + "source": "@kie-tools-core/envelope-bus", "target": "@kie-tools/jest-base", "weight": 1 }, { - "source": "@kie-tools/uniforms-patternfly", + "source": "@kie-tools-core/envelope-bus", "target": "@kie-tools/tsconfig", "weight": 1 }, { - "source": "@kie-tools/jest-base", - "target": "@kie-tools/root-env", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular", + "target": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view", "weight": 1 }, { - "source": "@kie-tools-examples/webapp", - "target": "@kie-tools-examples/base64png-editor", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react", + "target": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view", "weight": 1 }, { - "source": "@kie-tools-examples/webapp", - "target": "@kie-tools-examples/ping-pong-view-angular", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp", + "target": "@kie-tools-core/editor", "weight": 1 }, { - "source": "@kie-tools-examples/webapp", - "target": "@kie-tools-examples/ping-pong-view-react", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp", + "target": "@kie-tools-core/react-hooks", "weight": 1 }, { - "source": "@kie-tools-examples/webapp", - "target": "@kie-tools-examples/todo-list-view", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp", + "target": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular", "weight": 1 }, { - "source": "@kie-tools-examples/webapp", - "target": "@kie-tools/dmn-editor-standalone", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp", + "target": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react", "weight": 1 }, { - "source": "@kie-tools-examples/webapp", - "target": "@kie-tools/kie-editors-standalone", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp", + "target": "@kie-tools/stunner-editors", "weight": 1 }, { - "source": "@kie-tools-examples/webapp", - "target": "@kie-tools/serverless-workflow-standalone-editor", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view", + "target": "@kie-tools-core/envelope", "weight": 1 }, { - "source": "@kie-tools/kie-editors-standalone", - "target": "@kie-tools/kie-bc-editors", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp", + "target": "@kie-tools-core/editor", "weight": 1 }, { - "source": "@kie-tools/kie-editors-standalone", - "target": "@kie-tools/stunner-editors", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp", + "target": "@kie-tools-core/react-hooks", "weight": 1 }, { - "source": "@kie-tools/serverless-workflow-standalone-editor", - "target": "@kie-tools/serverless-workflow-combined-editor", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp", + "target": "@kie-tools-core/webpack-base", "weight": 1 }, { - "source": "@kie-tools/kie-bc-editors", - "target": "@kie-tools-core/editor", + "source": "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp", + "target": "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view", "weight": 1 }, { - "source": "@kie-tools/kie-bc-editors", - "target": "@kie-tools-core/vscode-java-code-completion", + "source": "kie-tools-examples-micro-frontends-multuplying-architecture-todo-list-view-vscode-extension", + "target": "@kie-tools-core/vscode-extension", "weight": 1 }, { - "source": "@kie-tools/kie-bc-editors", - "target": "@kie-tools/dmn-language-service", + "source": "kie-tools-examples-micro-frontends-multuplying-architecture-todo-list-view-vscode-extension", + "target": "@kie-tools-core/webpack-base", "weight": 1 }, { - "source": "@kie-tools/kie-bc-editors", - "target": "@kie-tools/pmml-editor-marshaller", + "source": "kie-tools-examples-micro-frontends-multuplying-architecture-todo-list-view-vscode-extension", + "target": "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view", "weight": 1 }, { - "source": "@kie-tools/stunner-editors", - "target": "@kie-tools/stunner-editors-dmn-loader", + "source": "@kie-tools-examples/serverless-workflow-editor-standalone-on-webapp", + "target": "@kie-tools-core/react-hooks", + "weight": 1 + }, + { + "source": "@kie-tools-examples/serverless-workflow-editor-standalone-on-webapp", + "target": "@kie-tools/serverless-workflow-standalone-editor", + "weight": 1 + }, + { + "source": "@kie-tools/serverless-workflow-standalone-editor", + "target": "@kie-tools/serverless-workflow-combined-editor", "weight": 1 }, { @@ -689,6 +781,71 @@ "target": "@kie-tools/serverless-workflow-text-editor", "weight": 1 }, + { + "source": "@kie-tools-examples/sonataflow-greeting-quarkus-example", + "target": "@kie-tools/sonataflow-quarkus-devui", + "weight": 1 + }, + { + "source": "@kie-tools/sonataflow-quarkus-devui", + "target": "@kie-tools/serverless-workflow-dev-ui-webapp", + "weight": 1 + }, + { + "source": "@kie-tools/serverless-workflow-dev-ui-webapp", + "target": "@kie-tools/runtime-tools-shared-webapp-components", + "weight": 1 + }, + { + "source": "@kie-tools/serverless-workflow-dev-ui-webapp", + "target": "@kie-tools/runtime-tools-swf-webapp-components", + "weight": 1 + }, + { + "source": "@kie-tools/serverless-workflow-dev-ui-webapp", + "target": "@kie-tools/serverless-workflow-dev-ui-monitoring-webapp", + "weight": 1 + }, + { + "source": "@kie-tools/serverless-workflow-dev-ui-webapp", + "target": "@kie-tools/sonataflow-dev-app", + "weight": 1 + }, + { + "source": "@kie-tools-examples/uniforms-patternfly", + "target": "@kie-tools-core/patternfly-base", + "weight": 1 + }, + { + "source": "@kie-tools-examples/uniforms-patternfly", + "target": "@kie-tools/uniforms-patternfly", + "weight": 1 + }, + { + "source": "@kie-tools-examples/uniforms-patternfly", + "target": "@kie-tools-core/webpack-base", + "weight": 1 + }, + { + "source": "@kie-tools/uniforms-patternfly", + "target": "@kie-tools/eslint", + "weight": 1 + }, + { + "source": "@kie-tools/uniforms-patternfly", + "target": "@kie-tools/jest-base", + "weight": 1 + }, + { + "source": "@kie-tools/uniforms-patternfly", + "target": "@kie-tools/tsconfig", + "weight": 1 + }, + { + "source": "@kie-tools/jest-base", + "target": "@kie-tools/root-env", + "weight": 1 + }, { "source": "@kie-tools/boxed-expression-component", "target": "@kie-tools-core/operating-system", @@ -784,16 +941,6 @@ "target": "@kie-tools/tsconfig", "weight": 1 }, - { - "source": "@kie-tools/dmn-language-service", - "target": "@kie-tools/dmn-feel-antlr4-parser", - "weight": 1 - }, - { - "source": "@kie-tools/dmn-language-service", - "target": "@kie-tools-core/switch-expression-ts", - "weight": 1 - }, { "source": "@kie-tools/i18n-common-dictionary", "target": "@kie-tools-core/i18n", @@ -869,31 +1016,6 @@ "target": "@kie-tools/form-code-generator-patternfly-theme", "weight": 1 }, - { - "source": "@kie-tools/pmml-editor-marshaller", - "target": "@kie-tools/eslint", - "weight": 1 - }, - { - "source": "@kie-tools/pmml-editor-marshaller", - "target": "@kie-tools/jest-base", - "weight": 1 - }, - { - "source": "@kie-tools/pmml-editor-marshaller", - "target": "@kie-tools/tsconfig", - "weight": 1 - }, - { - "source": "@kie-tools/stunner-editors-dmn-loader", - "target": "@kie-tools/boxed-expression-component", - "weight": 1 - }, - { - "source": "@kie-tools/stunner-editors-dmn-loader", - "target": "@kie-tools/import-java-classes-component", - "weight": 1 - }, { "source": "chrome-extension-pack-kogito-kie-editors", "target": "@kie-tools-core/chrome-extension", @@ -1299,21 +1421,6 @@ "target": "@kie-tools/kie-sandbox-fs", "weight": 1 }, - { - "source": "@kie-tools-core/react-hooks", - "target": "@kie-tools/eslint", - "weight": 1 - }, - { - "source": "@kie-tools-core/react-hooks", - "target": "@kie-tools/root-env", - "weight": 1 - }, - { - "source": "@kie-tools-core/react-hooks", - "target": "@kie-tools/tsconfig", - "weight": 1 - }, { "source": "@kie-tools-core/workspace", "target": "@kie-tools-core/operating-system", @@ -1459,21 +1566,6 @@ "target": "@kie-tools/root-env", "weight": 1 }, - { - "source": "@kie-tools/dmn-editor", - "target": "@kie-tools-core/react-hooks", - "weight": 1 - }, - { - "source": "@kie-tools/dmn-editor", - "target": "@kie-tools/boxed-expression-component", - "weight": 1 - }, - { - "source": "@kie-tools/dmn-editor", - "target": "@kie-tools/pmml-editor-marshaller", - "weight": 1 - }, { "source": "@kie-tools/dmn-feel-antlr4-parser", "target": "@kie-tools/dmn-marshaller", @@ -1744,6 +1836,16 @@ "target": "@kie-tools/tsconfig", "weight": 1 }, + { + "source": "@kie-tools/kie-editors-standalone", + "target": "@kie-tools/kie-bc-editors", + "weight": 1 + }, + { + "source": "@kie-tools/kie-editors-standalone", + "target": "@kie-tools/stunner-editors", + "weight": 1 + }, { "source": "@kie-tools/kie-sandbox-distribution", "target": "@kie-tools/cors-proxy-image", @@ -2563,24 +2665,69 @@ }, "serializedPackagesLocationByName": [ ["kie-tools-root", ""], - ["@kie-tools-examples/base64png-editor", "examples/base64png-editor"], - ["@kie-tools-examples/base64png-editor-chrome-extension", "examples/base64png-editor-chrome-extension"], - ["kie-tools-examples-base64png-editor-vscode-extension", "examples/base64png-editor-vscode-extension"], - ["@kie-tools-examples/commit-message-validation-service", "examples/commit-message-validation-service"], - ["@kie-tools-examples/dmn-editor-standalone-examples", "examples/dmn-editor-standalone-examples"], + ["@kie-tools-examples/bpmn-editor-classic-on-webapp", "examples/bpmn-editor-classic-on-webapp"], + ["@kie-tools-examples/dmn-editor-classic-on-webapp", "examples/dmn-editor-classic-on-webapp"], + ["@kie-tools-examples/dmn-editor-on-webapp", "examples/dmn-editor-on-webapp"], + ["@kie-tools-examples/dmn-editor-standalone-on-webapp", "examples/dmn-editor-standalone-on-webapp"], [ "@kie-tools-examples/drools-process-usertasks-quarkus-example", "examples/drools-process-usertasks-quarkus-example" ], ["@kie-tools-examples/jbpm-compact-architecture-example", "examples/jbpm-compact-architecture-example"], - ["@kie-tools-examples/ping-pong-view", "examples/ping-pong-view"], - ["@kie-tools-examples/ping-pong-view-angular", "examples/ping-pong-view-angular"], - ["@kie-tools-examples/ping-pong-view-react", "examples/ping-pong-view-react"], + [ + "@kie-tools-examples/kie-sandbox-commit-message-validation-service", + "examples/kie-sandbox-commit-message-validation-service" + ], + [ + "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor", + "examples/micro-frontends-multiplying-architecture-base64png-editor" + ], + [ + "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension", + "examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension" + ], + [ + "@kie-tools-examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp", + "examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp" + ], + [ + "kie-tools-examples-micro-frontends-multiplying-architecture-base64png-editor-vscode-extension", + "examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension" + ], + [ + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view", + "examples/micro-frontends-multiplying-architecture-ping-pong-view" + ], + [ + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular", + "examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular" + ], + [ + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react", + "examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react" + ], + [ + "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp", + "examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp" + ], + [ + "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view", + "examples/micro-frontends-multiplying-architecture-todo-list-view" + ], + [ + "@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp", + "examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp" + ], + [ + "kie-tools-examples-micro-frontends-multuplying-architecture-todo-list-view-vscode-extension", + "examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension" + ], + [ + "@kie-tools-examples/serverless-workflow-editor-standalone-on-webapp", + "examples/serverless-workflow-editor-standalone-on-webapp" + ], ["@kie-tools-examples/sonataflow-greeting-quarkus-example", "examples/sonataflow-greeting-quarkus-example"], - ["@kie-tools-examples/todo-list-view", "examples/todo-list-view"], - ["kie-tools-examples-todo-list-view-vscode-extension", "examples/todo-list-view-vscode-extension"], ["@kie-tools-examples/uniforms-patternfly", "examples/uniforms-patternfly"], - ["@kie-tools-examples/webapp", "examples/webapp"], ["@kie-tools/boxed-expression-component", "packages/boxed-expression-component"], ["@kie-tools/bpmn-marshaller", "packages/bpmn-marshaller"], ["bpmn-vscode-extension", "packages/bpmn-vscode-extension"], From 9ac1e4bf13e3ab780dfd830274ff6ee6fa9fb5dd Mon Sep 17 00:00:00 2001 From: Tiago Bento Date: Sun, 3 Nov 2024 20:47:24 -0500 Subject: [PATCH 02/36] .. --- .../src/Angular/PingPongAngularIFrameViewsPage.tsx | 2 +- .../src/App.tsx | 10 +++++----- .../src/Mixed/PingPongMixedViewsPage.tsx | 4 ++-- .../src/React/PingPongReactIFrameViewsPage.tsx | 2 +- .../webpack.config.js | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/Angular/PingPongAngularIFrameViewsPage.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/Angular/PingPongAngularIFrameViewsPage.tsx index d212b1d61ff..e433f8de905 100644 --- a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/Angular/PingPongAngularIFrameViewsPage.tsx +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/Angular/PingPongAngularIFrameViewsPage.tsx @@ -25,7 +25,7 @@ import { PingPongApi } from "@kie-tools-examples/micro-frontends-multiplying-arc import { StatsSidebar } from "../StatsSidebar"; import { usePingPongApiCallbacks, usePingPongChannelApi } from "../hooks"; -const envelopePath = "envelope/angular/index.html"; +const envelopePath = "ping-pong-view-in-angular-envelope/index.html"; export function PingPongAngularIFrameViewsPage() { const { pingsCount, pongsCount, lastPing, lastPong, apiImpl } = usePingPongChannelApi(); diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/App.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/App.tsx index fa5cd075a67..2d33ff591a1 100644 --- a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/App.tsx +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/App.tsx @@ -69,31 +69,31 @@ export function App() { itemId={Location.PING_PONG_REACT_IFRAME_PAGES} isActive={location === Location.PING_PONG_REACT_IFRAME_PAGES} > - Ping-Pong View in React inside IFrame + React + IFrames - Ping-Pong View in React inside Div + React + Divs - Ping-Pong View in Angular inside IFrame + Angular + IFrames - Ping-Pong View in Angular inside Div + Angular + Divs - Ping-Pong Views Mixed + All mixed diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/Mixed/PingPongMixedViewsPage.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/Mixed/PingPongMixedViewsPage.tsx index 30480ffdd9f..cfc86741372 100644 --- a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/Mixed/PingPongMixedViewsPage.tsx +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/Mixed/PingPongMixedViewsPage.tsx @@ -30,8 +30,8 @@ import { pingPongEnvelopViewRenderDiv as renderReactDiv } from "@kie-tools-examp import { pingPongEnvelopViewRenderDiv as renderAngularDiv } from "@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/dist/wc/lib"; import { usePingPongApiCallbacks, usePingPongChannelApi } from "../hooks"; -const reactEnvelopePath = "envelope/ping-pong-view-react-impl.html"; -const angularEnvelopePath = "envelope/angular/index.html"; +const reactEnvelopePath = "ping-pong-view-in-react-envelope.html"; +const angularEnvelopePath = "ping-pong-view-in-angular-envelope/index.html"; export function PingPongMixedViewsPage() { const { pingsCount, pongsCount, lastPing, lastPong, apiImpl } = usePingPongChannelApi(); diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/React/PingPongReactIFrameViewsPage.tsx b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/React/PingPongReactIFrameViewsPage.tsx index 70051c95ff7..4367355483b 100644 --- a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/React/PingPongReactIFrameViewsPage.tsx +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/src/React/PingPongReactIFrameViewsPage.tsx @@ -25,7 +25,7 @@ import { PingPongApi } from "@kie-tools-examples/micro-frontends-multiplying-arc import { StatsSidebar } from "../StatsSidebar"; import { usePingPongApiCallbacks, usePingPongChannelApi } from "../hooks"; -const reactEnvelopePath = "envelope/ping-pong-view-react-impl.html"; +const reactEnvelopePath = "ping-pong-view-in-react-envelope.html"; export function PingPongReactIFrameViewsPage() { const { pingsCount, pongsCount, lastPing, lastPong, apiImpl } = usePingPongChannelApi(); diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/webpack.config.js b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/webpack.config.js index 54b8e24586d..839e4e73c07 100644 --- a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/webpack.config.js +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/webpack.config.js @@ -42,7 +42,7 @@ module.exports = (webpackEnv) => [ { from: "./static", to: "." }, { from: `${path.dirname(require.resolve("@kie-tools-examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/package.json"))}/dist/app`, - to: "./envelope/angular", + to: "./ping-pong-view-in-angular-envelope", }, ], }), From c5353ce9d217297f51953b874adf54996367e3c0 Mon Sep 17 00:00:00 2001 From: Tiago Bento Date: Sun, 3 Nov 2024 20:51:45 -0500 Subject: [PATCH 03/36] .. --- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- examples/uniforms-patternfly/README.md | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/README.md b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/README.md index eb9e78ff9c2..a5c24f189db 100644 --- a/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/README.md +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architecture Base64 PNG Editor - Chrome Extension +## Example :: Micro-frontends Multiplying Architecture :: Base64 PNG Editor Chrome Extension --- diff --git a/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/README.md b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/README.md index 47850248d72..9ee9e8ede38 100644 --- a/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/README.md +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Base64 PNG Editor on webapp +## Example :: Micro-frontends Multiplying Architecture :: Base64 PNG Editor on webapp --- diff --git a/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/README.md b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/README.md index b69039b0c8c..5cb61326627 100644 --- a/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/README.md +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architecture Base64 PNG Editor - VS Code Extension +## Example :: Micro-frontends Multiplying Architecture :: Base64 PNG Editor VS Code Extension --- diff --git a/examples/micro-frontends-multiplying-architecture-base64png-editor/README.md b/examples/micro-frontends-multiplying-architecture-base64png-editor/README.md index 775ac9f501d..7c0a179cebc 100644 --- a/examples/micro-frontends-multiplying-architecture-base64png-editor/README.md +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architecture Base64 PNG Editor +## Example :: Micro-frontends Multiplying Architecture :: Base64 PNG Editor This package is a Custom Editor made with React, which enables you to edit a `.base64png` file. diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/README.md b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/README.md index 9bb5e7db408..89bb1762ac5 100644 --- a/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/README.md +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architrecure Ping-Pong View - Angular implementation +## Example :: Micro-frontends Multiplying Architecture :: Ping-Pong View - Angular implementation The Ping-Pong View is an interface that components can implement to be used inside a Ping-Pong View Envelope. diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/README.md b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/README.md index 5e7680dbcc3..b02ebf800f2 100644 --- a/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/README.md +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architrecure Ping-Pong View - React implementation +## Example :: Micro-frontends Multiplying Architecture :: Ping-Pong View - React implementation The Ping-Pong View is an interface that components can implement to be used inside a Ping-Pong View Envelope. diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-view/README.md b/examples/micro-frontends-multiplying-architecture-ping-pong-view/README.md index 60c30a000ad..e46f32e0d11 100644 --- a/examples/micro-frontends-multiplying-architecture-ping-pong-view/README.md +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-view/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architrecure Ping-Pong View +## Example :: Micro-frontends Multiplying Architecture :: Ping-Pong View This package exposes the necessary files for you to create a Ping-Pong View Envelope with your Ping-Pong View implementation. diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/README.md b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/README.md index 79cc244b26d..de316de8842 100644 --- a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/README.md +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architrecure Ping-Pong Views on webapp +## Example :: Micro-frontends Multiplying Architecture :: Ping-Pong Views on webapp --- diff --git a/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/README.md b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/README.md index 89df9364c7e..6d5ee92d31a 100644 --- a/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/README.md +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architrecure 'To do' List View on webapp +## Example :: Micro-frontends Multiplying Architecture :: 'To do' List View on webapp --- diff --git a/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/README.md b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/README.md index 346cea26668..499ab7e9e6f 100644 --- a/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/README.md +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architrecure 'To do' List View - VS Code Extension +## Example :: Micro-frontends Multiplying Architecture :: 'To do' List View VS Code Extension This package provides a VS Code Extension containing a 'To do' list View and the following commands: diff --git a/examples/micro-frontends-multiplying-architecture-todo-list-view/README.md b/examples/micro-frontends-multiplying-architecture-todo-list-view/README.md index b421baf73af..04af5f3f7b6 100644 --- a/examples/micro-frontends-multiplying-architecture-todo-list-view/README.md +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architrecure 'To do' List View +## Example :: Micro-frontends Multiplying Architecture :: 'To do' List View This package exposes the necessary files for you to create a 'To do' list Envelope. diff --git a/examples/uniforms-patternfly/README.md b/examples/uniforms-patternfly/README.md index 738e4f751b4..1b0ccc4a816 100644 --- a/examples/uniforms-patternfly/README.md +++ b/examples/uniforms-patternfly/README.md @@ -15,7 +15,7 @@ under the License. --> -## @kie-tools-examples/uniforms-patternfly +## Example :: Uniforms PatternFly --- From cdb1d20fe27d608bc9f8f4fd0dd730f4fa9e4857 Mon Sep 17 00:00:00 2001 From: Tiago Bento Date: Sun, 3 Nov 2024 20:52:40 -0500 Subject: [PATCH 04/36] .. --- examples/bpmn-editor-classic-on-webapp/README.md | 2 +- examples/dmn-editor-classic-on-webapp/README.md | 2 +- examples/dmn-editor-on-webapp/README.md | 2 +- examples/dmn-editor-standalone-on-webapp/README.md | 2 +- .../kie-sandbox-commit-message-validation-service/README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../serverless-workflow-editor-standalone-on-webapp/README.md | 2 +- examples/uniforms-patternfly/README.md | 2 +- 18 files changed, 18 insertions(+), 18 deletions(-) diff --git a/examples/bpmn-editor-classic-on-webapp/README.md b/examples/bpmn-editor-classic-on-webapp/README.md index 7e4c57406f7..e0c653df42a 100644 --- a/examples/bpmn-editor-classic-on-webapp/README.md +++ b/examples/bpmn-editor-classic-on-webapp/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: BPMN Editor (classic) on webapp +# Example :: BPMN Editor (classic) on webapp --- diff --git a/examples/dmn-editor-classic-on-webapp/README.md b/examples/dmn-editor-classic-on-webapp/README.md index 2eb480788cb..ff82e035c03 100644 --- a/examples/dmn-editor-classic-on-webapp/README.md +++ b/examples/dmn-editor-classic-on-webapp/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: DMN Editor (classic) on webapp +# Example :: DMN Editor (classic) on webapp --- diff --git a/examples/dmn-editor-on-webapp/README.md b/examples/dmn-editor-on-webapp/README.md index c82bd3a197b..8f1f8aa8f60 100644 --- a/examples/dmn-editor-on-webapp/README.md +++ b/examples/dmn-editor-on-webapp/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: DMN Editor on webapp +# Example :: DMN Editor on webapp --- diff --git a/examples/dmn-editor-standalone-on-webapp/README.md b/examples/dmn-editor-standalone-on-webapp/README.md index 8f01385b4e6..90a75dc0bf1 100644 --- a/examples/dmn-editor-standalone-on-webapp/README.md +++ b/examples/dmn-editor-standalone-on-webapp/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: DMN Editor Standalone on webapp +# Example :: DMN Editor Standalone on webapp A series of examples on how to use the DMN Editor Standalone in different applications. diff --git a/examples/kie-sandbox-commit-message-validation-service/README.md b/examples/kie-sandbox-commit-message-validation-service/README.md index 35fc29ab4fe..94faa080367 100644 --- a/examples/kie-sandbox-commit-message-validation-service/README.md +++ b/examples/kie-sandbox-commit-message-validation-service/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: KIE Sandbox commit message validation service +# Example :: KIE Sandbox commit message validation service Provides a simple service to check for patterns in a commit message. diff --git a/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/README.md b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/README.md index a5c24f189db..817a8b95df6 100644 --- a/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/README.md +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-chrome-extension/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architecture :: Base64 PNG Editor Chrome Extension +# Example :: Micro-frontends Multiplying Architecture :: Base64 PNG Editor Chrome Extension --- diff --git a/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/README.md b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/README.md index 9ee9e8ede38..884826bf08d 100644 --- a/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/README.md +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-on-webapp/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architecture :: Base64 PNG Editor on webapp +# Example :: Micro-frontends Multiplying Architecture :: Base64 PNG Editor on webapp --- diff --git a/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/README.md b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/README.md index 5cb61326627..c1ebdd1ad13 100644 --- a/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/README.md +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor-vscode-extension/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architecture :: Base64 PNG Editor VS Code Extension +# Example :: Micro-frontends Multiplying Architecture :: Base64 PNG Editor VS Code Extension --- diff --git a/examples/micro-frontends-multiplying-architecture-base64png-editor/README.md b/examples/micro-frontends-multiplying-architecture-base64png-editor/README.md index 7c0a179cebc..4ee227904d6 100644 --- a/examples/micro-frontends-multiplying-architecture-base64png-editor/README.md +++ b/examples/micro-frontends-multiplying-architecture-base64png-editor/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architecture :: Base64 PNG Editor +# Example :: Micro-frontends Multiplying Architecture :: Base64 PNG Editor This package is a Custom Editor made with React, which enables you to edit a `.base64png` file. diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/README.md b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/README.md index 89bb1762ac5..16ec2c49d91 100644 --- a/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/README.md +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-angular/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architecture :: Ping-Pong View - Angular implementation +# Example :: Micro-frontends Multiplying Architecture :: Ping-Pong View - Angular implementation The Ping-Pong View is an interface that components can implement to be used inside a Ping-Pong View Envelope. diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/README.md b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/README.md index b02ebf800f2..c9a9c38cde6 100644 --- a/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/README.md +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-view-in-react/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architecture :: Ping-Pong View - React implementation +# Example :: Micro-frontends Multiplying Architecture :: Ping-Pong View - React implementation The Ping-Pong View is an interface that components can implement to be used inside a Ping-Pong View Envelope. diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-view/README.md b/examples/micro-frontends-multiplying-architecture-ping-pong-view/README.md index e46f32e0d11..e95e1ee14d6 100644 --- a/examples/micro-frontends-multiplying-architecture-ping-pong-view/README.md +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-view/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architecture :: Ping-Pong View +# Example :: Micro-frontends Multiplying Architecture :: Ping-Pong View This package exposes the necessary files for you to create a Ping-Pong View Envelope with your Ping-Pong View implementation. diff --git a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/README.md b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/README.md index de316de8842..2248229a5db 100644 --- a/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/README.md +++ b/examples/micro-frontends-multiplying-architecture-ping-pong-views-on-webapp/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architecture :: Ping-Pong Views on webapp +# Example :: Micro-frontends Multiplying Architecture :: Ping-Pong Views on webapp --- diff --git a/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/README.md b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/README.md index 6d5ee92d31a..8ae063d8e5e 100644 --- a/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/README.md +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architecture :: 'To do' List View on webapp +# Example :: Micro-frontends Multiplying Architecture :: 'To do' List View on webapp --- diff --git a/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/README.md b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/README.md index 499ab7e9e6f..6ca47e0f286 100644 --- a/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/README.md +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view-vscode-extension/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architecture :: 'To do' List View VS Code Extension +# Example :: Micro-frontends Multiplying Architecture :: 'To do' List View VS Code Extension This package provides a VS Code Extension containing a 'To do' list View and the following commands: diff --git a/examples/micro-frontends-multiplying-architecture-todo-list-view/README.md b/examples/micro-frontends-multiplying-architecture-todo-list-view/README.md index 04af5f3f7b6..c40e929ee4e 100644 --- a/examples/micro-frontends-multiplying-architecture-todo-list-view/README.md +++ b/examples/micro-frontends-multiplying-architecture-todo-list-view/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Micro-frontends Multiplying Architecture :: 'To do' List View +# Example :: Micro-frontends Multiplying Architecture :: 'To do' List View This package exposes the necessary files for you to create a 'To do' list Envelope. diff --git a/examples/serverless-workflow-editor-standalone-on-webapp/README.md b/examples/serverless-workflow-editor-standalone-on-webapp/README.md index 2d89319927f..5307706f7f8 100644 --- a/examples/serverless-workflow-editor-standalone-on-webapp/README.md +++ b/examples/serverless-workflow-editor-standalone-on-webapp/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Serverless Workflow Editor Standalone on webapp +# Example :: Serverless Workflow Editor Standalone on webapp --- diff --git a/examples/uniforms-patternfly/README.md b/examples/uniforms-patternfly/README.md index 1b0ccc4a816..3ec56f3edba 100644 --- a/examples/uniforms-patternfly/README.md +++ b/examples/uniforms-patternfly/README.md @@ -15,7 +15,7 @@ under the License. --> -## Example :: Uniforms PatternFly +# Example :: Uniforms PatternFly --- From 0ba6171b834ce838735d27260c14fa282b1efc0e Mon Sep 17 00:00:00 2001 From: Tiago Bento Date: Sun, 3 Nov 2024 20:57:16 -0500 Subject: [PATCH 05/36] .. --- .../src/Pages/SwfStandaloneDiagramOnlyEditorPage.tsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/examples/serverless-workflow-editor-standalone-on-webapp/src/Pages/SwfStandaloneDiagramOnlyEditorPage.tsx b/examples/serverless-workflow-editor-standalone-on-webapp/src/Pages/SwfStandaloneDiagramOnlyEditorPage.tsx index 3352a83658c..4343ca9fa5f 100644 --- a/examples/serverless-workflow-editor-standalone-on-webapp/src/Pages/SwfStandaloneDiagramOnlyEditorPage.tsx +++ b/examples/serverless-workflow-editor-standalone-on-webapp/src/Pages/SwfStandaloneDiagramOnlyEditorPage.tsx @@ -37,9 +37,8 @@ export const SwfStandaloneDiagramOnlyEditorPage = () => { const [editor, setEditor] = useState(); const onSetContent = useCallback((normalizedPosixPathRelativeToTheWorkspaceRoot: string, content: string) => { - const match = /\.sw\.(json|yaml)$/.exec(normalizedPosixPathRelativeToTheWorkspaceRoot.toLowerCase()); - const dotExtension = match ? match[0] : extname(normalizedPosixPathRelativeToTheWorkspaceRoot); - const extension = dotExtension.slice(1); + const match = /\.sw\.(json|yaml|yml)$/.exec(normalizedPosixPathRelativeToTheWorkspaceRoot.toLowerCase()); + const extension = match ? match[1] : extname(normalizedPosixPathRelativeToTheWorkspaceRoot); const editorApi = SwfEditor.open({ container: swfEditorContainer.current!, From 842335e70e47a9cdba82b651ca11eb66557b98f9 Mon Sep 17 00:00:00 2001 From: Tiago Bento Date: Sun, 3 Nov 2024 20:57:54 -0500 Subject: [PATCH 06/36] .. --- .../src/App.tsx | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/examples/serverless-workflow-editor-standalone-on-webapp/src/App.tsx b/examples/serverless-workflow-editor-standalone-on-webapp/src/App.tsx index 794685ec417..1a9d89d898d 100644 --- a/examples/serverless-workflow-editor-standalone-on-webapp/src/App.tsx +++ b/examples/serverless-workflow-editor-standalone-on-webapp/src/App.tsx @@ -71,17 +71,13 @@ export function App() { itemId={Location.SWF_STANDALONE_EDITOR_DIAGRAM_ONLY} isActive={location === Location.SWF_STANDALONE_EDITOR_DIAGRAM_ONLY} > - - Serverless Workflow Editor Standalone - Diagram only - + Diagram only - - Serverless Workflow Editor Standalone - Text only - + Text only From 92603c2b9340a7c28d2f506c849187fe72c7bb82 Mon Sep 17 00:00:00 2001 From: Tiago Bento Date: Sun, 3 Nov 2024 21:12:08 -0500 Subject: [PATCH 07/36] .. --- .../ci/partitions/partition1.txt | 2 +- _intellij-project/.idea/misc.xml | 2 +- _intellij-project/.idea/modules.xml | 2 +- .../README.md | 17 +++++------------ .../env/index.js | 0 .../install.js | 0 .../package.json | 7 ++----- .../pom.xml | 6 +++--- .../sonataflow-greeting-quarkus-example.iml | 0 .../src/main/resources/application.properties | 0 .../src/main/resources/jsongreet.sw.json | 0 .../src/main/resources/yamlgreet.sw.yml | 0 .../org/kie/kogito/examples/GreetRestIT.java | 0 pnpm-lock.yaml | 2 +- repo/graph.dot | 4 ++-- repo/graph.json | 6 +++--- 16 files changed, 19 insertions(+), 29 deletions(-) rename examples/{sonataflow-greeting-quarkus-example => sonataflow-greeting}/README.md (92%) rename examples/{sonataflow-greeting-quarkus-example => sonataflow-greeting}/env/index.js (100%) rename examples/{sonataflow-greeting-quarkus-example => sonataflow-greeting}/install.js (100%) rename examples/{sonataflow-greeting-quarkus-example => sonataflow-greeting}/package.json (81%) rename examples/{sonataflow-greeting-quarkus-example => sonataflow-greeting}/pom.xml (96%) rename examples/{sonataflow-greeting-quarkus-example => sonataflow-greeting}/sonataflow-greeting-quarkus-example.iml (100%) rename examples/{sonataflow-greeting-quarkus-example => sonataflow-greeting}/src/main/resources/application.properties (100%) rename examples/{sonataflow-greeting-quarkus-example => sonataflow-greeting}/src/main/resources/jsongreet.sw.json (100%) rename examples/{sonataflow-greeting-quarkus-example => sonataflow-greeting}/src/main/resources/yamlgreet.sw.yml (100%) rename examples/{sonataflow-greeting-quarkus-example => sonataflow-greeting}/src/test/java/org/kie/kogito/examples/GreetRestIT.java (100%) diff --git a/.github/supporting-files/ci/partitions/partition1.txt b/.github/supporting-files/ci/partitions/partition1.txt index 3875ae132b2..717676af4ef 100644 --- a/.github/supporting-files/ci/partitions/partition1.txt +++ b/.github/supporting-files/ci/partitions/partition1.txt @@ -1,4 +1,4 @@ -@kie-tools-examples/sonataflow-greeting-quarkus-example +@kie-tools-examples/sonataflow-greeting @kie-tools-examples/serverless-workflow-editor-standalone-on-webapp @kie-tools/serverless-logic-web-tools-swf-builder-image @kie-tools/serverless-logic-web-tools diff --git a/_intellij-project/.idea/misc.xml b/_intellij-project/.idea/misc.xml index ba7d67621f7..c265eabc838 100644 --- a/_intellij-project/.idea/misc.xml +++ b/_intellij-project/.idea/misc.xml @@ -15,7 +15,7 @@
+ + +