From 355f20a42c838d4a321d8fab5bd944c6940b4646 Mon Sep 17 00:00:00 2001 From: Martyn Janes Date: Tue, 11 Jul 2023 12:25:30 +0200 Subject: [PATCH 01/12] Simplify the container starter --- .eslintrc.js | 149 +- .../create-window-js/LICENSE.md | 2 +- .../create-window-js/package.json | 6 +- .../use-launch-external-process-js/LICENSE.md | 2 +- .../package.json | 6 +- .../use-window-options-js/LICENSE.md | 2 +- .../use-window-options-js/package.json | 6 +- how-to/common/LICENSE.md | 6 - how-to/common/client/src/index.ts | 1 - how-to/common/client/tsconfig.json | 15 - how-to/common/client/webpack.config.js | 24 - how-to/common/package.json | 35 - .../public/components/fin-toggle-class.js | 112 - .../public/components/fin-toggle-class.md | 26 - how-to/common/scripts/kill.mjs | 23 - how-to/common/scripts/launch.mjs | 83 - .../client}/types/fin.d.ts | 0 .../public/common}/images/icon-blue.png | Bin .../common/images/style}/test-image.webp | Bin .../public/common}/style/app.css | 16 +- .../public/common}/style/style.html | 7 +- .../public/favicon.ico | Bin 0 -> 108568 bytes .../scripts/dos.mjs | 73 + .../scripts/kill.mjs | 34 + .../scripts/launch.mjs | 133 + how-to/create-window/client/src/app.ts | 17 +- how-to/create-window/client/tsconfig.json | 4 +- how-to/create-window/client/types/fin.d.ts | 5 + how-to/create-window/package.json | 25 +- .../public/common/images/icon-blue.png | Bin 0 -> 1028 bytes .../create-window/public/common/style/app.css | 929 +++ how-to/create-window/public/html/app.html | 2 +- how-to/create-window/public/html/window.html | 4 +- how-to/create-window/scripts/kill.mjs | 34 + how-to/create-window/scripts/launch.mjs | 133 + how-to/create-window/server/src/index.ts | 17 - how-to/create-window/server/tsconfig.json | 15 - how-to/integration-excel/client/src/excel.ts | 12 +- .../client/src/fdc3monitor.ts | 4 +- .../client/src/provider-tray.ts | 7 +- how-to/integration-excel/client/tsconfig.json | 4 +- .../integration-excel/client/types/fin.d.ts | 5 + how-to/integration-excel/package.json | 29 +- .../public/common/images/icon-blue.png | Bin 0 -> 1028 bytes .../public/common/style/app.css | 929 +++ .../public/provider/provider-tray.html | 4 +- .../public/provider/provider.html | 4 +- .../integration-excel/public/views/excel.html | 6 +- .../public/views/fdc3monitor.html | 2 +- how-to/integration-excel/scripts/kill.mjs | 34 + how-to/integration-excel/scripts/launch.mjs | 133 + how-to/integration-excel/server/src/index.ts | 17 - how-to/integration-excel/server/tsconfig.json | 15 - .../package.json | 24 +- .../public/common/images/icon-blue.png | Bin 0 -> 1028 bytes .../common/images/style/test-image.webp | Bin 0 -> 2110280 bytes .../public/common/style/app.css | 929 +++ .../public/common/style/style.html | 410 + .../scripts/kill.mjs | 34 + .../scripts/launch.mjs | 133 + .../server/src/index.ts | 17 - .../server/tsconfig.json | 15 - .../client/tsconfig.json | 4 +- .../client/types/fin.d.ts | 5 + .../issue-commands-to-a-platform/package.json | 25 +- .../public/common/images/icon-blue.png | Bin 0 -> 1028 bytes .../public/common/style/app.css | 929 +++ .../public/html/app.html | 2 +- .../public/html/provider.html | 2 +- .../public/html/window.html | 2 +- .../scripts/kill.mjs | 34 + .../scripts/launch.mjs | 133 + .../server/src/index.ts | 17 - .../server/tsconfig.json | 15 - .../client/src/app.ts | 28 +- .../client/src/default-platform-window.ts | 2 +- .../client/tsconfig.json | 4 +- .../client/types/fin.d.ts | 5 + .../use-content-creation-rules/package.json | 25 +- .../public/common/style/app.css | 929 +++ .../public/html/app.html | 2 +- .../public/html/default-platform-window.html | 4 +- .../public/html/platform-provider.html | 4 +- .../scripts/kill.mjs | 34 + .../scripts/launch.mjs | 133 + .../server/src/index.ts | 17 - .../server/tsconfig.json | 15 - .../use-dynamic-manifest/basic/package.json | 19 +- .../basic/public/common/images/icon-blue.png | Bin 0 -> 1028 bytes .../basic/public/common/style/app.css | 929 +++ .../basic/public/html/app-dev.html | 2 +- .../basic/public/html/app-staging.html | 2 +- .../basic/scripts/kill.mjs | 34 + .../basic/scripts/launch.mjs | 133 + .../basic/server/src/index.ts | 4 - .../basic/server/tsconfig.json | 2 +- .../client/src/provider.ts | 2 +- .../client/src/window.ts | 24 +- .../client/tsconfig.json | 4 +- .../client/types/fin.d.ts | 5 + .../setup-multi-platform-interop/package.json | 26 +- .../public/common/images/icon-blue.png | Bin 0 -> 1028 bytes .../public/common/style/app.css | 929 +++ .../public/favicon.ico | Bin 0 -> 108568 bytes .../public/html/provider.html | 4 +- .../public/html/window.html | 2 +- ...est2.fin.json => second.manifest.fin.json} | 0 .../scripts/kill.mjs | 34 + .../scripts/launch.mjs | 133 + .../server/src/index.ts | 17 - .../server/tsconfig.json | 15 - .../client/tsconfig.json | 4 +- .../client/types/fin.d.ts | 5 + .../desktop-owner-settings.bat | 13 - .../use-launch-external-process/package.json | 27 +- .../public/app.html | 4 +- .../public/common/images/icon-blue.png | Bin 0 -> 1028 bytes .../public/common/style/app.css | 929 +++ .../public/favicon.ico | Bin 0 -> 108568 bytes .../scripts/dos.mjs | 73 + .../scripts/kill.mjs | 34 + .../scripts/launch.mjs | 133 + .../server/src/index.ts | 17 - .../server/tsconfig.json | 15 - how-to/use-logging-apis/client/src/app.ts | 6 +- how-to/use-logging-apis/client/tsconfig.json | 1 + how-to/use-logging-apis/client/types/fin.d.ts | 5 + how-to/use-logging-apis/package.json | 25 +- .../public/common/images/icon-blue.png | Bin 0 -> 1028 bytes .../public/common/style/app.css | 929 +++ how-to/use-logging-apis/public/html/app.html | 6 +- how-to/use-logging-apis/scripts/kill.mjs | 34 + how-to/use-logging-apis/scripts/launch.mjs | 133 + how-to/use-logging-apis/server/tsconfig.json | 1 + .../client/src/dialog.ts | 6 +- .../client/src/provider.ts | 14 +- .../client/src/view.ts | 2 +- .../client/tsconfig.json | 4 +- .../client/types/fin.d.ts | 5 + .../warn-before-closing-dialog/package.json | 27 +- .../public/common/images/icon-blue.png | Bin 0 -> 1028 bytes .../public/common/style/app.css | 929 +++ .../public/favicon.ico | Bin 0 -> 108568 bytes .../public/html/dialog.html | 4 +- .../public/html/provider.html | 4 +- .../public/html/view.html | 2 +- .../scripts/kill.mjs | 34 + .../scripts/launch.mjs | 133 + .../server/src/index.ts | 17 - .../server/tsconfig.json | 15 - .../advanced/client/src/app.ts | 2 +- .../advanced/client/src/popup.ts | 4 +- .../advanced/client/tsconfig.json | 4 +- .../advanced/client/types/fin.d.ts | 5 + how-to/use-popup-window/advanced/package.json | 27 +- .../public/common/images/icon-blue.png | Bin 0 -> 1028 bytes .../advanced/public/common/style/app.css | 929 +++ .../advanced/public/favicon.ico | Bin 0 -> 108568 bytes .../advanced/public/html/app.html | 2 +- .../advanced/public/html/popup.html | 2 +- .../advanced/scripts/kill.mjs | 34 + .../advanced/scripts/launch.mjs | 133 + .../advanced/server/src/app.ts | 17 - .../advanced/server/tsconfig.json | 15 - .../use-popup-window/modal/client/src/app.ts | 2 +- .../modal/client/src/popup.ts | 2 +- .../modal/client/tsconfig.json | 4 +- .../modal/client/types/fin.d.ts | 5 + how-to/use-popup-window/modal/package.json | 27 +- .../modal/public/common/images/icon-blue.png | Bin 0 -> 1028 bytes .../modal/public/common/style/app.css | 929 +++ .../use-popup-window/modal/public/favicon.ico | Bin 0 -> 108568 bytes .../modal/public/html/app.html | 2 +- .../modal/public/html/popup.html | 2 +- .../use-popup-window/modal/scripts/kill.mjs | 34 + .../use-popup-window/modal/scripts/launch.mjs | 133 + .../use-popup-window/modal/server/src/app.ts | 17 - .../modal/server/tsconfig.json | 15 - .../multiple-results/client/src/app.ts | 2 +- .../multiple-results/client/src/popup.ts | 4 +- .../multiple-results/client/tsconfig.json | 4 +- .../multiple-results/client/types/fin.d.ts | 5 + .../multiple-results/package.json | 27 +- .../public/common/images/icon-blue.png | Bin 0 -> 1028 bytes .../public/common/style/app.css | 929 +++ .../multiple-results/public/favicon.ico | Bin 0 -> 108568 bytes .../multiple-results/public/html/app.html | 2 +- .../multiple-results/public/html/popup.html | 2 +- .../multiple-results/scripts/kill.mjs | 34 + .../multiple-results/scripts/launch.mjs | 133 + .../multiple-results/server/src/app.ts | 17 - .../multiple-results/server/tsconfig.json | 15 - .../single-result/client/src/app.ts | 2 +- .../single-result/client/src/popup.ts | 2 +- .../single-result/client/tsconfig.json | 4 +- .../single-result/client/types/fin.d.ts | 5 + .../single-result/package.json | 27 +- .../public/common/images/icon-blue.png | Bin 0 -> 1028 bytes .../single-result/public/common/style/app.css | 929 +++ .../single-result/public/favicon.ico | Bin 0 -> 108568 bytes .../single-result/public/html/app.html | 2 +- .../single-result/public/html/popup.html | 2 +- .../single-result/scripts/kill.mjs | 34 + .../single-result/scripts/launch.mjs | 133 + .../single-result/server/src/app.ts | 17 - .../single-result/server/tsconfig.json | 15 - .../basic/client/src/preload-platform.ts | 2 +- .../basic/client/src/preload-view.ts | 2 +- .../basic/client/src/preload-window.ts | 2 +- .../use-preloads/basic/client/tsconfig.json | 4 +- how-to/use-preloads/basic/package.json | 9 +- .../use-preloads/basic/public/html/app.html | 2 +- .../use-preloads/basic/server/tsconfig.json | 2 +- .../client/src/preload-view.ts | 2 +- .../restart-on-refresh/client/tsconfig.json | 4 +- .../restart-on-refresh/package.json | 9 +- .../public/js/preload-view.bundle.js | 82 +- .../restart-on-refresh/server/tsconfig.json | 2 +- .../use-security-realms/client/tsconfig.json | 4 +- how-to/use-security-realms/package.json | 9 +- .../use-security-realms/public/html/app.html | 2 +- .../public/html/view-app.html | 2 +- .../use-security-realms/server/tsconfig.json | 2 +- how-to/use-window-options/client/src/app.ts | 26 +- .../use-window-options/client/tsconfig.json | 4 +- how-to/use-window-options/package.json | 9 +- .../use-window-options/public/html/app.html | 6 +- .../public/html/preview.html | 6 +- .../use-window-options/server/tsconfig.json | 2 +- package-lock.json | 7348 +++++------------ package.json | 61 +- scripts/common-files.json | 342 + scripts/common-update.mjs | 56 + tsconfig.eslint.json | 3 +- 234 files changed, 19301 insertions(+), 6388 deletions(-) delete mode 100644 how-to/common/LICENSE.md delete mode 100644 how-to/common/client/src/index.ts delete mode 100644 how-to/common/client/tsconfig.json delete mode 100644 how-to/common/client/webpack.config.js delete mode 100644 how-to/common/package.json delete mode 100644 how-to/common/public/components/fin-toggle-class.js delete mode 100644 how-to/common/public/components/fin-toggle-class.md delete mode 100644 how-to/common/scripts/kill.mjs delete mode 100644 how-to/common/scripts/launch.mjs rename how-to/{common => container-platform-starter/client}/types/fin.d.ts (100%) rename how-to/{common/public => container-platform-starter/public/common}/images/icon-blue.png (100%) rename how-to/{common/public/images => container-platform-starter/public/common/images/style}/test-image.webp (100%) rename how-to/{common/public => container-platform-starter/public/common}/style/app.css (97%) rename how-to/{common/public => container-platform-starter/public/common}/style/style.html (98%) create mode 100644 how-to/container-platform-starter/public/favicon.ico create mode 100644 how-to/container-platform-starter/scripts/dos.mjs create mode 100644 how-to/container-platform-starter/scripts/kill.mjs create mode 100644 how-to/container-platform-starter/scripts/launch.mjs create mode 100644 how-to/create-window/client/types/fin.d.ts create mode 100644 how-to/create-window/public/common/images/icon-blue.png create mode 100644 how-to/create-window/public/common/style/app.css create mode 100644 how-to/create-window/scripts/kill.mjs create mode 100644 how-to/create-window/scripts/launch.mjs delete mode 100644 how-to/create-window/server/src/index.ts delete mode 100644 how-to/create-window/server/tsconfig.json create mode 100644 how-to/integration-excel/client/types/fin.d.ts create mode 100644 how-to/integration-excel/public/common/images/icon-blue.png create mode 100644 how-to/integration-excel/public/common/style/app.css create mode 100644 how-to/integration-excel/scripts/kill.mjs create mode 100644 how-to/integration-excel/scripts/launch.mjs delete mode 100644 how-to/integration-excel/server/src/index.ts delete mode 100644 how-to/integration-excel/server/tsconfig.json create mode 100644 how-to/use-a-manifest/create-a-single-page-platform/public/common/images/icon-blue.png create mode 100644 how-to/use-a-manifest/create-a-single-page-platform/public/common/images/style/test-image.webp create mode 100644 how-to/use-a-manifest/create-a-single-page-platform/public/common/style/app.css create mode 100644 how-to/use-a-manifest/create-a-single-page-platform/public/common/style/style.html create mode 100644 how-to/use-a-manifest/create-a-single-page-platform/scripts/kill.mjs create mode 100644 how-to/use-a-manifest/create-a-single-page-platform/scripts/launch.mjs delete mode 100644 how-to/use-a-manifest/create-a-single-page-platform/server/src/index.ts delete mode 100644 how-to/use-a-manifest/create-a-single-page-platform/server/tsconfig.json create mode 100644 how-to/use-channel-api/issue-commands-to-a-platform/client/types/fin.d.ts create mode 100644 how-to/use-channel-api/issue-commands-to-a-platform/public/common/images/icon-blue.png create mode 100644 how-to/use-channel-api/issue-commands-to-a-platform/public/common/style/app.css create mode 100644 how-to/use-channel-api/issue-commands-to-a-platform/scripts/kill.mjs create mode 100644 how-to/use-channel-api/issue-commands-to-a-platform/scripts/launch.mjs delete mode 100644 how-to/use-channel-api/issue-commands-to-a-platform/server/src/index.ts delete mode 100644 how-to/use-channel-api/issue-commands-to-a-platform/server/tsconfig.json create mode 100644 how-to/use-content-creation-rules/client/types/fin.d.ts create mode 100644 how-to/use-content-creation-rules/public/common/style/app.css create mode 100644 how-to/use-content-creation-rules/scripts/kill.mjs create mode 100644 how-to/use-content-creation-rules/scripts/launch.mjs delete mode 100644 how-to/use-content-creation-rules/server/src/index.ts delete mode 100644 how-to/use-content-creation-rules/server/tsconfig.json create mode 100644 how-to/use-dynamic-manifest/basic/public/common/images/icon-blue.png create mode 100644 how-to/use-dynamic-manifest/basic/public/common/style/app.css create mode 100644 how-to/use-dynamic-manifest/basic/scripts/kill.mjs create mode 100644 how-to/use-dynamic-manifest/basic/scripts/launch.mjs create mode 100644 how-to/use-interop/setup-multi-platform-interop/client/types/fin.d.ts create mode 100644 how-to/use-interop/setup-multi-platform-interop/public/common/images/icon-blue.png create mode 100644 how-to/use-interop/setup-multi-platform-interop/public/common/style/app.css create mode 100644 how-to/use-interop/setup-multi-platform-interop/public/favicon.ico rename how-to/use-interop/setup-multi-platform-interop/public/{manifest2.fin.json => second.manifest.fin.json} (100%) create mode 100644 how-to/use-interop/setup-multi-platform-interop/scripts/kill.mjs create mode 100644 how-to/use-interop/setup-multi-platform-interop/scripts/launch.mjs delete mode 100644 how-to/use-interop/setup-multi-platform-interop/server/src/index.ts delete mode 100644 how-to/use-interop/setup-multi-platform-interop/server/tsconfig.json create mode 100644 how-to/use-launch-external-process/client/types/fin.d.ts delete mode 100644 how-to/use-launch-external-process/desktop-owner-settings.bat create mode 100644 how-to/use-launch-external-process/public/common/images/icon-blue.png create mode 100644 how-to/use-launch-external-process/public/common/style/app.css create mode 100644 how-to/use-launch-external-process/public/favicon.ico create mode 100644 how-to/use-launch-external-process/scripts/dos.mjs create mode 100644 how-to/use-launch-external-process/scripts/kill.mjs create mode 100644 how-to/use-launch-external-process/scripts/launch.mjs delete mode 100644 how-to/use-launch-external-process/server/src/index.ts delete mode 100644 how-to/use-launch-external-process/server/tsconfig.json create mode 100644 how-to/use-logging-apis/client/types/fin.d.ts create mode 100644 how-to/use-logging-apis/public/common/images/icon-blue.png create mode 100644 how-to/use-logging-apis/public/common/style/app.css create mode 100644 how-to/use-logging-apis/scripts/kill.mjs create mode 100644 how-to/use-logging-apis/scripts/launch.mjs create mode 100644 how-to/use-platform/warn-before-closing-dialog/client/types/fin.d.ts create mode 100644 how-to/use-platform/warn-before-closing-dialog/public/common/images/icon-blue.png create mode 100644 how-to/use-platform/warn-before-closing-dialog/public/common/style/app.css create mode 100644 how-to/use-platform/warn-before-closing-dialog/public/favicon.ico create mode 100644 how-to/use-platform/warn-before-closing-dialog/scripts/kill.mjs create mode 100644 how-to/use-platform/warn-before-closing-dialog/scripts/launch.mjs delete mode 100644 how-to/use-platform/warn-before-closing-dialog/server/src/index.ts delete mode 100644 how-to/use-platform/warn-before-closing-dialog/server/tsconfig.json create mode 100644 how-to/use-popup-window/advanced/client/types/fin.d.ts create mode 100644 how-to/use-popup-window/advanced/public/common/images/icon-blue.png create mode 100644 how-to/use-popup-window/advanced/public/common/style/app.css create mode 100644 how-to/use-popup-window/advanced/public/favicon.ico create mode 100644 how-to/use-popup-window/advanced/scripts/kill.mjs create mode 100644 how-to/use-popup-window/advanced/scripts/launch.mjs delete mode 100644 how-to/use-popup-window/advanced/server/src/app.ts delete mode 100644 how-to/use-popup-window/advanced/server/tsconfig.json create mode 100644 how-to/use-popup-window/modal/client/types/fin.d.ts create mode 100644 how-to/use-popup-window/modal/public/common/images/icon-blue.png create mode 100644 how-to/use-popup-window/modal/public/common/style/app.css create mode 100644 how-to/use-popup-window/modal/public/favicon.ico create mode 100644 how-to/use-popup-window/modal/scripts/kill.mjs create mode 100644 how-to/use-popup-window/modal/scripts/launch.mjs delete mode 100644 how-to/use-popup-window/modal/server/src/app.ts delete mode 100644 how-to/use-popup-window/modal/server/tsconfig.json create mode 100644 how-to/use-popup-window/multiple-results/client/types/fin.d.ts create mode 100644 how-to/use-popup-window/multiple-results/public/common/images/icon-blue.png create mode 100644 how-to/use-popup-window/multiple-results/public/common/style/app.css create mode 100644 how-to/use-popup-window/multiple-results/public/favicon.ico create mode 100644 how-to/use-popup-window/multiple-results/scripts/kill.mjs create mode 100644 how-to/use-popup-window/multiple-results/scripts/launch.mjs delete mode 100644 how-to/use-popup-window/multiple-results/server/src/app.ts delete mode 100644 how-to/use-popup-window/multiple-results/server/tsconfig.json create mode 100644 how-to/use-popup-window/single-result/client/types/fin.d.ts create mode 100644 how-to/use-popup-window/single-result/public/common/images/icon-blue.png create mode 100644 how-to/use-popup-window/single-result/public/common/style/app.css create mode 100644 how-to/use-popup-window/single-result/public/favicon.ico create mode 100644 how-to/use-popup-window/single-result/scripts/kill.mjs create mode 100644 how-to/use-popup-window/single-result/scripts/launch.mjs delete mode 100644 how-to/use-popup-window/single-result/server/src/app.ts delete mode 100644 how-to/use-popup-window/single-result/server/tsconfig.json create mode 100644 scripts/common-files.json create mode 100644 scripts/common-update.mjs diff --git a/.eslintrc.js b/.eslintrc.js index ad5e34fd..85165797 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -8,8 +8,9 @@ module.exports = { 'plugin:import/errors', 'plugin:import/warnings', 'plugin:import/typescript', + // 'plugin:jsdoc/recommended', 'plugin:promise/recommended', - 'plugin:unicorn/recommended' + 'plugin:unicorn/all' ], globals: { fin: 'readonly', @@ -20,7 +21,6 @@ module.exports = { '**/node_modules/*', '**/*.bundle.js', '**/build/**/*.js', - 'preload.js', '**/wc-fin/*.js', '**/3rd-party/*', '**/*.d.ts', @@ -33,7 +33,13 @@ module.exports = { sourceType: 'module', tsconfigRootDir: __dirname }, - plugins: ['promise', 'simple-import-sort', 'unicorn', 'unused-imports'], + plugins: ['promise', 'simple-import-sort', 'jsdoc', 'unicorn', 'unused-imports'], + settings: { + jsdoc: { + ignoreInternal: true, + mode: 'typescript' + } + }, root: true, rules: { 'accessor-pairs': ['error'], @@ -69,7 +75,7 @@ module.exports = { 'func-call-spacing': ['off'], 'func-name-matching': ['error'], 'func-names': ['error'], - 'func-style': ['off'], + 'func-style': ['error', 'declaration'], 'function-call-argument-newline': ['off'], 'function-paren-newline': ['off'], 'generator-star-spacing': ['error'], @@ -89,6 +95,7 @@ module.exports = { 'import/no-named-as-default': ['warn'], 'import/no-named-as-default-member': ['warn'], 'import/no-unresolved': ['off'], + 'import/no-unused-modules': ['off'], 'import/order': [ 'error', { @@ -112,6 +119,7 @@ module.exports = { 'linebreak-style': ['error'], 'lines-around-comment': ['off'], 'lines-between-class-members': ['off'], + 'logical-assignment-operators': ['off'], 'max-classes-per-file': ['error'], 'max-depth': ['off'], 'max-len': [ @@ -147,6 +155,7 @@ module.exports = { 'no-cond-assign': ['error'], 'no-confusing-arrow': ['error'], 'no-console': ['off'], + 'no-constant-binary-expression': ['error'], 'no-const-assign': ['off'], 'no-constant-condition': ['error'], 'no-constructor-return': ['error'], @@ -276,7 +285,7 @@ module.exports = { 'no-useless-return': ['error'], 'no-var': ['error'], 'no-void': ['error'], - 'no-warning-comments': ['error'], + 'no-warning-comments': ['off'], 'no-whitespace-before-property': ['error'], 'no-with': ['error'], 'nonblock-statement-body-position': ['error'], @@ -334,9 +343,8 @@ module.exports = { 'unicorn/custom-error-definition': ['off'], 'unicorn/empty-brace-spaces': ['off'], 'unicorn/error-message': ['error'], - 'unicorn/empty-brace-spaces': ['off'], 'unicorn/escape-case': ['error'], - 'unicorn/expiring-todo-comments': ['off'], + 'unicorn/expiring-todo-comments': ['error'], 'unicorn/explicit-length-check': ['off'], 'unicorn/filename-case': ['off'], 'unicorn/import-index': ['error'], @@ -363,12 +371,14 @@ module.exports = { 'unicorn/no-zero-fractions': ['error'], 'unicorn/number-literal-case': ['off'], 'unicorn/numeric-separators-style': ['off'], + 'unicorn/prefer-at': ['off'], 'unicorn/prefer-add-event-listener': ['error'], 'unicorn/prefer-code-point': ['off'], 'unicorn/prefer-dataset': ['error'], 'unicorn/prefer-event-key': ['error'], 'unicorn/prefer-flat-map': ['error'], 'unicorn/prefer-includes': ['error'], + 'unicorn/prefer-json-parse-buffer': ['off'], 'unicorn/prefer-modern-dom-apis': ['error'], 'unicorn/prefer-module': ['off'], 'unicorn/prefer-negative-index': ['error'], @@ -379,10 +389,10 @@ module.exports = { 'unicorn/prefer-optional-catch-binding': ['error'], 'unicorn/prefer-query-selector': ['error'], 'unicorn/prefer-reflect-apply': ['error'], - 'unicorn/prefer-replace-all': ['off'], 'unicorn/prefer-set-has': ['off'], 'unicorn/prefer-spread': ['off'], 'unicorn/prefer-starts-ends-with': ['error'], + 'unicorn/prefer-string-replace-all': ['off'], 'unicorn/prefer-string-slice': ['error'], 'unicorn/prefer-switch': ['off'], 'unicorn/prefer-top-level-await': ['off'], @@ -401,6 +411,96 @@ module.exports = { 'wrap-regex': ['off'], 'yield-star-spacing': ['error'], yoda: ['error'] + // 'jsdoc/check-access': 'error', + // 'jsdoc/check-alignment': 'error', + // 'jsdoc/check-examples': 'off', + // 'jsdoc/check-indentation': 'error', + // 'jsdoc/check-line-alignment': 'error', + // 'jsdoc/check-param-names': 'error', + // 'jsdoc/check-property-names': 'error', + // 'jsdoc/check-syntax': 'error', + // 'jsdoc/check-tag-names': 'error', + // 'jsdoc/check-types': 'error', + // 'jsdoc/check-values': 'error', + // 'jsdoc/empty-tags': 'error', + // 'jsdoc/implements-on-classes': 'error', + // 'jsdoc/match-description': ['error'], + // 'jsdoc/newline-after-description': 'off', + // 'jsdoc/no-bad-blocks': 'error', + // 'jsdoc/no-defaults': 'error', + // 'jsdoc/no-types': 'error', + // 'jsdoc/no-undefined-types': 'error', + // 'jsdoc/require-asterisk-prefix': 'error', + // 'jsdoc/require-description': 'error', + // 'jsdoc/require-description-complete-sentence': 'off', + // 'jsdoc/require-example': 'off', + // 'jsdoc/require-file-overview': 'off', + // 'jsdoc/require-hyphen-before-param-description': 'off', + // 'jsdoc/require-jsdoc': [ + // 'error', + // { + // require: { + // ArrowFunctionExpression: false, + // ClassDeclaration: true, + // ClassExpression: true, + // FunctionDeclaration: true, + // FunctionExpression: true, + // MethodDefinition: true + // }, + // contexts: [ + // 'FunctionDeclaration', + // 'FunctionExpression', + // 'MethodDefinition', + // 'TSDeclareFunction', + // 'TSEnumDeclaration', + // 'TSInterfaceDeclaration', + // 'TSMethodDeclaration', + // 'TSMethodSignature', + // 'TSPropertySignature:not(TSTypeLiteral > TSPropertySignature)', + // 'TSTypeAliasDeclaration' + // ] + // } + // ], + // 'jsdoc/require-param': [ + // 'error', + // { + // contexts: [ + // 'FunctionDeclaration', + // 'FunctionExpression', + // 'MethodDefinition', + // 'TSDeclareFunction', + // 'TSMethodDeclaration', + // 'TSMethodSignature' + // ] + // } + // ], + // 'jsdoc/require-param-description': 'error', + // 'jsdoc/require-param-name': 'error', + // 'jsdoc/require-param-type': 'off', + // 'jsdoc/require-property': 'error', + // 'jsdoc/require-property-description': 'error', + // 'jsdoc/require-property-name': 'error', + // 'jsdoc/require-property-type': 'error', + // 'jsdoc/require-returns': [ + // 'error', + // { + // contexts: [ + // 'FunctionDeclaration', + // 'FunctionExpression', + // 'MethodDefinition', + // 'TSDeclareFunction', + // 'TSMethodDeclaration', + // 'TSMethodSignature' + // ] + // } + // ], + // 'jsdoc/require-returns-check': 'error', + // 'jsdoc/require-returns-description': 'error', + // 'jsdoc/require-returns-type': 'off', + // 'jsdoc/require-throws': 'error', + // 'jsdoc/require-yields': 'error', + // 'jsdoc/require-yields-check': 'error', + // 'jsdoc/valid-types': 2 }, overrides: [ { @@ -412,7 +512,8 @@ module.exports = { { extends: [ 'plugin:@typescript-eslint/recommended', - 'plugin:@typescript-eslint/recommended-requiring-type-checking' + 'plugin:@typescript-eslint/recommended-requiring-type-checking', + 'plugin:@typescript-eslint/strict' ], files: ['*.ts'], rules: { @@ -420,15 +521,26 @@ module.exports = { '@typescript-eslint/array-type': ['error'], '@typescript-eslint/await-thenable': ['error'], '@typescript-eslint/ban-ts-comment': ['error'], + '@typescript-eslint/ban-tslint-comment': ['off'], '@typescript-eslint/ban-types': ['error'], '@typescript-eslint/brace-style': ['error'], '@typescript-eslint/class-literal-property-style': ['error'], '@typescript-eslint/comma-spacing': ['error'], + '@typescript-eslint/no-confusing-void-expression': ['off'], + '@typescript-eslint/consistent-generic-constructors': ['error'], + '@typescript-eslint/consistent-indexed-object-style': ['error', 'index-signature'], '@typescript-eslint/consistent-type-assertions': ['error'], '@typescript-eslint/consistent-type-definitions': ['error'], + '@typescript-eslint/consistent-type-imports': [ + 'error', + { + fixStyle: 'inline-type-imports' + } + ], + '@typescript-eslint/object-curly-spacing': ['off'], '@typescript-eslint/default-param-last': ['error'], '@typescript-eslint/dot-notation': ['error'], - '@typescript-eslint/explicit-function-return-type': ['off'], + '@typescript-eslint/explicit-function-return-type': ['error'], '@typescript-eslint/explicit-member-accessibility': [ 'error', { @@ -442,6 +554,7 @@ module.exports = { '@typescript-eslint/indent': ['off'], '@typescript-eslint/init-declarations': ['off'], '@typescript-eslint/keyword-spacing': ['off'], + '@typescript-eslint/lines-around-comment': ['off'], '@typescript-eslint/lines-between-class-members': ['error'], '@typescript-eslint/member-delimiter-style': ['error'], '@typescript-eslint/member-ordering': ['error'], @@ -490,9 +603,11 @@ module.exports = { '@typescript-eslint/no-floating-promises': ['error'], '@typescript-eslint/no-for-in-array': ['error'], '@typescript-eslint/no-implied-eval': ['error'], + '@typescript-eslint/no-import-type-side-effects': ['error'], '@typescript-eslint/no-inferrable-types': ['off'], '@typescript-eslint/no-invalid-this': ['off'], '@typescript-eslint/no-invalid-void-type': ['error'], + '@typescript-eslint/no-loop-func': ['off'], '@typescript-eslint/no-magic-numbers': ['off'], '@typescript-eslint/no-misused-new': ['error'], '@typescript-eslint/no-misused-promises': [ @@ -505,6 +620,7 @@ module.exports = { '@typescript-eslint/no-non-null-asserted-optional-chain': ['error'], '@typescript-eslint/no-non-null-assertion': ['error'], '@typescript-eslint/no-parameter-properties': ['error'], + '@typescript-eslint/no-redundant-type-constituents': ['off'], '@typescript-eslint/no-require-imports': ['error'], '@typescript-eslint/no-shadow': ['error'], '@typescript-eslint/no-this-alias': ['error'], @@ -515,10 +631,12 @@ module.exports = { '@typescript-eslint/no-unnecessary-qualifier': ['error'], '@typescript-eslint/no-unnecessary-type-arguments': ['error'], '@typescript-eslint/no-unnecessary-type-assertion': ['error'], + '@typescript-eslint/no-unsafe-argument': ['off'], '@typescript-eslint/no-unsafe-assignment': ['off'], '@typescript-eslint/no-unsafe-call': ['off'], '@typescript-eslint/no-unsafe-member-access': ['off'], - '@typescript-eslint/no-unsafe-return': ['error'], + '@typescript-eslint/no-unsafe-return': ['off'], + '@typescript-eslint/no-unsafe-enum-comparison': ['off'], '@typescript-eslint/no-unused-expressions': ['error'], '@typescript-eslint/no-unused-vars': [ 'error', @@ -535,12 +653,8 @@ module.exports = { '@typescript-eslint/prefer-function-type': ['error'], '@typescript-eslint/prefer-includes': ['error'], '@typescript-eslint/prefer-namespace-keyword': ['error'], - '@typescript-eslint/prefer-nullish-coalescing': [ - 'error', - { - allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: true - } - ], + // '@typescript-eslint/prefer-nullish-coalescing': ['error'], + '@typescript-eslint/prefer-nullish-coalescing': ['off'], '@typescript-eslint/prefer-optional-chain': ['error'], '@typescript-eslint/prefer-readonly': ['error'], '@typescript-eslint/prefer-readonly-parameter-types': ['off'], @@ -556,6 +670,7 @@ module.exports = { '@typescript-eslint/restrict-template-expressions': ['off'], '@typescript-eslint/return-await': ['error'], '@typescript-eslint/semi': ['error'], + '@typescript-eslint/sort-type-constituents': ['off'], '@typescript-eslint/space-before-function-paren': [ 'error', { diff --git a/how-to/automation-testing/create-window-js/LICENSE.md b/how-to/automation-testing/create-window-js/LICENSE.md index 5638d08a..d83303f4 100644 --- a/how-to/automation-testing/create-window-js/LICENSE.md +++ b/how-to/automation-testing/create-window-js/LICENSE.md @@ -1,4 +1,4 @@ -Learn more about OpenFin licensing at the links listed below or email us at support@openfin.co with questions.​ +Learn more about OpenFin licensing at the links listed below or email us at [support@openfin.co](mailto:support@openfin.co) with questions.​ Licensing Developer agreement diff --git a/how-to/automation-testing/create-window-js/package.json b/how-to/automation-testing/create-window-js/package.json index 7e7cb4a2..db5fd291 100644 --- a/how-to/automation-testing/create-window-js/package.json +++ b/how-to/automation-testing/create-window-js/package.json @@ -11,9 +11,9 @@ "author": "ameet.jayawant@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "@openfin/automation-cli": "^1.0.1", - "@openfin/automation-helpers": "^1.0.1", - "@openfin/automation-native": "^1.0.1", + "@openfin/automation-cli": "^1.0.13", + "@openfin/automation-helpers": "^1.0.13", + "@openfin/automation-native": "^1.0.13", "chai": "4.3.7", "mochawesome": "7.1.3" } diff --git a/how-to/automation-testing/use-launch-external-process-js/LICENSE.md b/how-to/automation-testing/use-launch-external-process-js/LICENSE.md index 5638d08a..d83303f4 100644 --- a/how-to/automation-testing/use-launch-external-process-js/LICENSE.md +++ b/how-to/automation-testing/use-launch-external-process-js/LICENSE.md @@ -1,4 +1,4 @@ -Learn more about OpenFin licensing at the links listed below or email us at support@openfin.co with questions.​ +Learn more about OpenFin licensing at the links listed below or email us at [support@openfin.co](mailto:support@openfin.co) with questions.​ Licensing Developer agreement diff --git a/how-to/automation-testing/use-launch-external-process-js/package.json b/how-to/automation-testing/use-launch-external-process-js/package.json index 71a58fc9..9d6a36b8 100644 --- a/how-to/automation-testing/use-launch-external-process-js/package.json +++ b/how-to/automation-testing/use-launch-external-process-js/package.json @@ -11,9 +11,9 @@ "author": "ameet.jayawant@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "@openfin/automation-cli": "^1.0.1", - "@openfin/automation-helpers": "^1.0.1", - "@openfin/automation-native": "^1.0.1", + "@openfin/automation-cli": "^1.0.13", + "@openfin/automation-helpers": "^1.0.13", + "@openfin/automation-native": "^1.0.13", "chai": "4.3.7", "mochawesome": "7.1.3" } diff --git a/how-to/automation-testing/use-window-options-js/LICENSE.md b/how-to/automation-testing/use-window-options-js/LICENSE.md index 5638d08a..d83303f4 100644 --- a/how-to/automation-testing/use-window-options-js/LICENSE.md +++ b/how-to/automation-testing/use-window-options-js/LICENSE.md @@ -1,4 +1,4 @@ -Learn more about OpenFin licensing at the links listed below or email us at support@openfin.co with questions.​ +Learn more about OpenFin licensing at the links listed below or email us at [support@openfin.co](mailto:support@openfin.co) with questions.​ Licensing Developer agreement diff --git a/how-to/automation-testing/use-window-options-js/package.json b/how-to/automation-testing/use-window-options-js/package.json index becdc02f..e48ec9c4 100644 --- a/how-to/automation-testing/use-window-options-js/package.json +++ b/how-to/automation-testing/use-window-options-js/package.json @@ -11,9 +11,9 @@ "author": "ameet.jayawant@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "@openfin/automation-cli": "^1.0.1", - "@openfin/automation-helpers": "^1.0.1", - "@openfin/automation-native": "^1.0.1", + "@openfin/automation-cli": "^1.0.13", + "@openfin/automation-helpers": "^1.0.13", + "@openfin/automation-native": "^1.0.13", "chai": "4.3.7", "mochawesome": "7.1.3" } diff --git a/how-to/common/LICENSE.md b/how-to/common/LICENSE.md deleted file mode 100644 index 08b4a643..00000000 --- a/how-to/common/LICENSE.md +++ /dev/null @@ -1,6 +0,0 @@ -> **_:information_source: OpenFin Container:_** Is a commercial product and this repo is for evaluation purposes. Use of the OpenFin Container is only granted pursuant to a license from OpenFin. Please [**contact us**](https://www.openfin.co/) if you would like to request a developer evaluation key or to discuss a production license. -> OpenFin is currently **only supported on Windows** although you can run the sample on a Mac for development purposes. - -The developer license can be found here: - -- [https://www.openfin.co/developer-agreement/](https://www.openfin.co/developer-agreement/) diff --git a/how-to/common/client/src/index.ts b/how-to/common/client/src/index.ts deleted file mode 100644 index e0555dd9..00000000 --- a/how-to/common/client/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -console.log("Placeholder. No common scripts just yet."); diff --git a/how-to/common/client/tsconfig.json b/how-to/common/client/tsconfig.json deleted file mode 100644 index 83ba12bf..00000000 --- a/how-to/common/client/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "es2021", - "module": "ES2020", - "sourceMap": true, - "rootDir": "./src", - "outDir": "build", - "skipLibCheck": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "moduleResolution": "node", - "types": ["../../common/types/fin"] - }, - "include": ["./src/**/*.ts"] -} diff --git a/how-to/common/client/webpack.config.js b/how-to/common/client/webpack.config.js deleted file mode 100644 index 9dfda77c..00000000 --- a/how-to/common/client/webpack.config.js +++ /dev/null @@ -1,24 +0,0 @@ -const path = require('path'); - -module.exports = [ - { - entry: './client/src/index.ts', - devtool: 'inline-source-map', - module: { - rules: [ - { - test: /\.tsx?$/, - use: 'ts-loader', - exclude: /node_modules/ - } - ] - }, - resolve: { - extensions: ['.tsx', '.ts', '.js'] - }, - output: { - filename: 'index.bundle.js', - path: path.resolve(__dirname, '..', 'public', 'js') - } - } -]; diff --git a/how-to/common/package.json b/how-to/common/package.json deleted file mode 100644 index 5a85d729..00000000 --- a/how-to/common/package.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "openfin-container--common", - "version": "0.0.1", - "description": "Used to provide a common directory to host assets that apply across examples", - "scripts": { - "dos": "desktop-owner-settings.bat && (npm run kill)", - "kill": "node ./scripts/kill.mjs", - "client": "node ./scripts/launch.mjs", - "build": "npm run build-client", - "build-client": "webpack build --config ./client/webpack.config.js --mode=development", - "build-client-prod": "webpack build --config ./client/webpack.config.js --mode=production", - "setup": "cd ../../ && npm install && cd how-to/common && npm run build", - "validate": "npm --prefix ../../ run validate" - }, - "author": "john.mandia@openfin.co", - "contributors": [ - "adam.saland@openfin.co", - "martyn.janes@openfin.co", - "pj.singh@openfin.co" - ], - "license": "SEE LICENSE IN LICENSE.MD", - "dependencies": { - "@openfin/core": "^27.70.8" - }, - "devDependencies": { - "@types/express": "^4.17.11", - "@types/node": "^17.0.41", - "express": "^4.17.1", - "openfin-adapter": "^26.70.16", - "ts-loader": "^9.2.6", - "typescript": "^4.4.4", - "webpack": "^5.51.1", - "webpack-cli": "^4.8.0" - } -} diff --git a/how-to/common/public/components/fin-toggle-class.js b/how-to/common/public/components/fin-toggle-class.js deleted file mode 100644 index 28f55816..00000000 --- a/how-to/common/public/components/fin-toggle-class.js +++ /dev/null @@ -1,112 +0,0 @@ -customElements.define( - 'fin-toggle-class', - class ToggleClass extends HTMLButtonElement { - /** - * Runs each time the element is appended to or moved in the DOM - */ - connectedCallback() { - this.sync(); - this.applySettings(false); - this.addEventListener('click', this.onclick); - } - - /** - * Runs when the element is removed from the DOM - */ - disconnectedCallback() { - this.removeEventListener('click', this.onclick); - } - - sync() { - this.key = `fin-toggle-class-${window.fin?.me?.identity?.uuid ?? 'inline-id'}`; - - const sync = this.getAttribute('sync') || 'true'; - if (sync.toLowerCase() !== 'false') { - const key = this.key; - window.addEventListener('storage', (event) => { - if (event.key === key) { - this.applySettings(false); - } - }); - } else { - this.key += `-${window.fin?.me?.identity?.name ?? 'inline-name'}`; - } - } - - applySettings(toggle) { - const firstClass = this.getAttribute('first-class') || 'theme-dark'; - const secondClass = this.getAttribute('second-class') || 'theme-light'; - const height = this.getAttribute('height') || '24px'; - const width = this.getAttribute('width') || '24px'; - const firstImage = this.getAttribute('first-image'); - const secondImage = this.getAttribute('second-image'); - const target = this.getAttribute('target') || 'body'; - const key = this.key; - - const defaultFirstImage = ``; - const defaultSecondImage = ``; - - const getTargetElement = document.querySelector(target); - const classToApply = localStorage.getItem(key); - const resolvedFirstImage = - firstImage !== null - ? `` - -This is a very basic webcomponent that lets you specify the following attributes: - -- first-class - the name of the first class you want to toggle between (first class is used as the default) (default is theme-dark) -- second-class - the name of the second class you want to toggle between (default is theme-light) -- first-image - the path to an image you wish to show when the first class is applied (if no path is provided then an embedded svg of a sun is shown) -- second-image - the path to an image you wish to show when the second class is applied (if no path is provided then an embedded svg of a moon is shown) -- height - the default height applied against the image (default is 32px) -- width - the default width applied against the image (default is 32px) -- target - the element you wish to apply the css class to (default is the body element) -- sync - whether this view (where the webcomponent is placed) should react to changes to other windows which are also using this webcomponent (default is true so when one window is changed they all change. Set sync="false" if you want to isolate one from the others). - -The web component saves the selection so that it is applied when any page using the component is launched or reloaded. It uses the uuid of the application as part of the key to store the selection unless sync="false" then it uses the uuid of the application and the name of the page it is on (in order to isolate itself but still remember the user's selection). - -The type is a button to aid in accessibility. - -## Example usage - -```javascript - - - -``` diff --git a/how-to/common/scripts/kill.mjs b/how-to/common/scripts/kill.mjs deleted file mode 100644 index 323f5c0f..00000000 --- a/how-to/common/scripts/kill.mjs +++ /dev/null @@ -1,23 +0,0 @@ -import { exec } from 'child_process'; -import { platform as getPlatform } from 'os'; - -console.log('Kill all requested'); -const platform = getPlatform(); -console.log(`Platform: ${platform}`); -const isWindows = platform.startsWith('win'); -console.log(`Running on Windows: ${isWindows}`); -const cmd = isWindows - ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` - : `pkill -9 OpenFin`; -console.log(`Command: ${cmd}`); -exec(cmd, (error, stdout, stderr) => { - if (error) { - console.log(`error: ${error.message}`); - return; - } - if (stderr) { - console.log(`stderr: ${stderr}`); - return; - } - console.log(`stdout: ${stdout}`); -}); diff --git a/how-to/common/scripts/launch.mjs b/how-to/common/scripts/launch.mjs deleted file mode 100644 index ffbc0bff..00000000 --- a/how-to/common/scripts/launch.mjs +++ /dev/null @@ -1,83 +0,0 @@ -import { launch, connect } from 'openfin-adapter'; - -async function launchFromNode(manifestUrl) { - try { - console.log(`Launching manifest: ${manifestUrl}`); - - const port = await launch({ manifestUrl }); - - // We will use the port to connect from Node to determine when OpenFin exists. - const fin = await connect({ - uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection - address: `ws://127.0.0.1:${port}`, // Connect to the given port. - nonPersistent: true // We want OpenFin to exit as our application exists. - }); - - // Once OpenFin exists we shut down the process. - fin.once('disconnected', process.exit); - return fin; - } catch (e) { - throw new Error(`Error: \n${e}`); - } -} - -(async () => { - try { - const launchArgs = process.argv.slice(2); - - let manifestUrl = 'http://localhost:5050/manifest.fin.json'; - - if (launchArgs.length > 0) { - manifestUrl = launchArgs[0]; - } - - const fin = await launchFromNode(manifestUrl, launch, connect); - - const manifest = await fin.System.fetchManifest(manifestUrl); - let quitRequested = false; - let quit; - - if (manifest.platform !== undefined && manifest.platform.uuid !== undefined) { - const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); - quit = async () => { - if (platform !== undefined && quitRequested === false) { - quitRequested = true; - await platform.quit(); - } - }; - console.log(`Wrapped target platform: ${manifest.platform.uuid}`); - } else { - const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); - quit = async () => { - if (app !== undefined && quitRequested === false) { - quitRequested = true; - await app.quit(); - } - }; - console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); - } - - // do something when app is closing - process.on('exit', async () => { - console.log('Exit called'); - await quit(); - }); - - // catches ctrl+c event - process.on('SIGINT', async () => { - console.log('Ctrl + C called'); - await quit(); - process.exit(); - }); - - console.log(`You successfully connected to the manifest: ${manifestUrl}`); - console.log( - `Please wait while the sample loads. Press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.` - ); - console.log( - `Please wait while the sample loads. If using browser use the Quit option from the main menu otherwise press Ctrl + C (Windows) or Control + C (Mac) to exit and close the sample.` - ); - } catch (e) { - throw new Error(`Error connecting: \n${e}`); - } -})(); diff --git a/how-to/common/types/fin.d.ts b/how-to/container-platform-starter/client/types/fin.d.ts similarity index 100% rename from how-to/common/types/fin.d.ts rename to how-to/container-platform-starter/client/types/fin.d.ts diff --git a/how-to/common/public/images/icon-blue.png b/how-to/container-platform-starter/public/common/images/icon-blue.png similarity index 100% rename from how-to/common/public/images/icon-blue.png rename to how-to/container-platform-starter/public/common/images/icon-blue.png diff --git a/how-to/common/public/images/test-image.webp b/how-to/container-platform-starter/public/common/images/style/test-image.webp similarity index 100% rename from how-to/common/public/images/test-image.webp rename to how-to/container-platform-starter/public/common/images/style/test-image.webp diff --git a/how-to/common/public/style/app.css b/how-to/container-platform-starter/public/common/style/app.css similarity index 97% rename from how-to/common/public/style/app.css rename to how-to/container-platform-starter/public/common/style/app.css index 8710cae9..96c4673f 100644 --- a/how-to/common/public/style/app.css +++ b/how-to/container-platform-starter/public/common/style/app.css @@ -20,7 +20,7 @@ } .theme-light { - --brand-background: var(--theme-background-primary, #ffffff); + --brand-background: var(--theme-background-primary, #fafbfe); --brand-border: var(--theme-background4, #eceef1); --brand-primary: var(--theme-brand-primary, #0a76d3); --brand-text: var(--theme-text-default, #111214); @@ -53,7 +53,7 @@ } * { - font-family: Inter, 'Sans Serif'; + font-family: Inter, 'Sans Serif', sans-serif; box-sizing: border-box; } @@ -412,7 +412,7 @@ input[type='week'] { min-width: auto; } -::-webkit-calendar-picker-indicator { +.theme-dark ::-webkit-calendar-picker-indicator { filter: invert(1); } @@ -442,13 +442,17 @@ select { select:not([multiple]):not(:disabled) { appearance: none; - background-image: url("data:image/svg+xml;utf8,"); + background-image: url("data:image/svg+xml;utf8,"); background-repeat: no-repeat; background-size: 12px; background-position: calc(100% - 12px) 12px; background-color: var(--brand-input-background); } +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + option { color: var(--brand-text); padding: 6px; @@ -919,3 +923,7 @@ td, .pointer { cursor: pointer; } + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/common/public/style/style.html b/how-to/container-platform-starter/public/common/style/style.html similarity index 98% rename from how-to/common/public/style/style.html rename to how-to/container-platform-starter/public/common/style/style.html index 4b3f0c7e..7d3f768c 100644 --- a/how-to/common/public/style/style.html +++ b/how-to/container-platform-starter/public/common/style/style.html @@ -5,8 +5,8 @@ Style Examples + - @@ -16,7 +16,6 @@

This is the main title in the header

The is the title tag in the header.

- OpenFin
@@ -389,11 +388,11 @@
Header 5
- + Test Image
- + Test Image
diff --git a/how-to/container-platform-starter/public/favicon.ico b/how-to/container-platform-starter/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0b6e09e66a4928f206aa862087f92992c4591220 GIT binary patch literal 108568 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 literal 0 HcmV?d00001 diff --git a/how-to/container-platform-starter/scripts/dos.mjs b/how-to/container-platform-starter/scripts/dos.mjs new file mode 100644 index 00000000..6d61d87c --- /dev/null +++ b/how-to/container-platform-starter/scripts/dos.mjs @@ -0,0 +1,73 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will read the registry to see if there is a setting for DOS (Desktop Owner Settings) + * If there is you can either abort or overwrite it with the value served from the local dev server. + */ +import { spawnSync } from 'child_process'; + +// The common location for the DOS settings when running the local dev examples +const DOS_URL = 'http://localhost:8080/common/dos.json'; + +/** + * Run the process. + */ +async function run() { + console.log('Configure DOS'); + console.log('============='); + console.log(); + console.log(`Platform: ${process.platform}`); + + /** + * Wait for a keypress. + * @param keyCode The key code to look for. + * @returns Nothing. + */ + function waitForKey(keyCode) { + process.stdin.setRawMode(true); + return new Promise((resolve) => { + process.stdin.on('data', (chunk) => { + if (chunk[0] === keyCode) { + console.error(); + console.error('Set DOS cancelled'); + process.exit(1); + } + process.stdin.setRawMode(false); + resolve(); + }); + }); + } + + if (process.platform === 'win32') { + const res = spawnSync(`reg query "HKCU\\Software\\OpenFin\\RVM\\Settings" -v "DesktopOwnerSettings"`, { + shell: true + }); + const output = res.output.toString(); + if (!output.includes('ERROR')) { + console.warn(); + console.warn('Warning: You already have a desktop owner settings value as shown below.'); + console.warn(); + const valIndex = output.indexOf('REG_SZ'); + const valIndexEnd = output.indexOf('\n', valIndex); + console.warn('DOS:', output.slice(valIndex + 6, valIndexEnd).trim()); + console.warn(); + console.warn('If you choose to overwrite this value, you will need to restore it later.'); + console.warn( + 'If you are not sure what this means, please press Ctrl-C to exit, or any other key to continue' + ); + console.warn('More Information: https://developers.openfin.co/of-docs/docs/desktop-owner-settings'); + await waitForKey(3); + } + console.log(); + console.log('Setting DOS to', DOS_URL); + console.log(); + spawnSync( + `reg add "HKCU\\Software\\OpenFin\\RVM\\Settings" -f -v "DesktopOwnerSettings" -d "${DOS_URL}"`, + { shell: true } + ); + process.exit(0); + } else { + console.error('DOS settings are not available on your platform'); + } +} + +run().catch((err) => console.error(err)); diff --git a/how-to/container-platform-starter/scripts/kill.mjs b/how-to/container-platform-starter/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/container-platform-starter/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/container-platform-starter/scripts/launch.mjs b/how-to/container-platform-starter/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/container-platform-starter/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/create-window/client/src/app.ts b/how-to/create-window/client/src/app.ts index 87a1adb3..367e074f 100644 --- a/how-to/create-window/client/src/app.ts +++ b/how-to/create-window/client/src/app.ts @@ -6,7 +6,7 @@ document.addEventListener("DOMContentLoaded", async () => { } }); -async function openDynamicApplicationWindow() { +async function openDynamicApplicationWindow(): Promise { const winOption = { name: "child", defaultWidth: 800, @@ -18,13 +18,16 @@ async function openDynamicApplicationWindow() { return fin.Window.create(winOption); } -async function openManifestApplicationWindow() { - fin.Application.startFromManifest("http://localhost:5050/app.fin.json") - .then((app) => console.log("App is running")) - .catch((err) => console.log(err)); +async function openManifestApplicationWindow(): Promise { + try { + await fin.Application.startFromManifest("http://localhost:5050/app.fin.json"); + console.log("App is running"); + } catch (err) { + console.error(err); + } } -async function openDataWindow() { +async function openDataWindow(): Promise { const winOption = { name: "child-data", defaultWidth: 800, @@ -39,7 +42,7 @@ async function openDataWindow() { return fin.Window.create(winOption); } -async function openDataPlatformWindow() { +async function openDataPlatformWindow(): Promise { const viewOption = { name: "childview-data", url: "http://localhost:5050/html/window.html", diff --git a/how-to/create-window/client/tsconfig.json b/how-to/create-window/client/tsconfig.json index 95b189eb..1bfae137 100644 --- a/how-to/create-window/client/tsconfig.json +++ b/how-to/create-window/client/tsconfig.json @@ -6,11 +6,11 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node", - "types": ["../../common/types/fin"] + "types": ["./types/fin"] }, "include": ["./src/**/*.ts"] } diff --git a/how-to/create-window/client/types/fin.d.ts b/how-to/create-window/client/types/fin.d.ts new file mode 100644 index 00000000..8936d86c --- /dev/null +++ b/how-to/create-window/client/types/fin.d.ts @@ -0,0 +1,5 @@ +import type { fin as FinApi } from "@openfin/core"; + +declare global { + const fin: typeof FinApi; +} diff --git a/how-to/create-window/package.json b/how-to/create-window/package.json index 4bc3d909..ed5e4960 100644 --- a/how-to/create-window/package.json +++ b/how-to/create-window/package.json @@ -4,25 +4,20 @@ "description": "A demonstration of how to open openfin application windows", "main": "index.js", "scripts": { - "build": "npm run build-server & npm run build-client", - "build-server": "tsc --project ./server", + "kill": "node ./scripts/kill.mjs", + "client": "node ./scripts/launch.mjs", "build-client": "webpack build --config ./client/webpack.config.js --mode=development", - "build-client-prod": "webpack build --config ./client/webpack.config.js --mode=production", - "start": "npm run server", - "client": "npm --prefix ../common/ run client", - "server": "node ./server/build/index.js", - "kill": "npm --prefix ../common/ run kill", - "setup": "cd ../../ && npm install && cd how-to/create-window && npm run build", - "validate": "npm --prefix ../../ run validate" + "build": "npm run build-client", + "start": "npx --yes http-server ./public -p 5050 -c-1", + "setup": "cd ../../ && npm install && cd how-to/create-window && npm run build" }, "author": "pj.singh@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "openfin-adapter": "^26.70.16", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } } diff --git a/how-to/create-window/public/common/images/icon-blue.png b/how-to/create-window/public/common/images/icon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fc78450293c9ff813b9d8bb19e5f3918795beeba GIT binary patch literal 1028 zcmV+f1pE7mP);txuo(sHhB6W3YG5`oAu(|@5JwGR0@_rb|qK6~mh) zPHNEo2hGbNd@X023)BVmoi;D4qu}=porgN=f+RB`pNBf?f(8a)4R$&( ztl0hqyjrQv$VwS4M=U6fJcptvY;wwOTW@8aWGyI3p0oH8*6`g72chvV5wl8kS)i&bleVxAK(7h5FbCl=%?&*4(x8Oj#h@e>PjndfYNfe4%N6AN;g z=ai&^EXGeR$YGu%-Lh@Q_a7V@NGwSFTNLCu(*Db)|4S^$WuDV7sDDI7kjp%WUAzRF zvs7Y1uJWAm3EA@Gd$uVLRz-SsSvSwAo`eOnr+N}!h80$M(B2;K=_7C|mwukZne%W~ z(5yx?=lQ&SA1IDH(#UhTlvvDJuZAt!11=?QCajl|_JpJom`U@TBv1fb5T3HrxRxmO zL{XaOG=fWpyAqq&G*O9MrFl+0l*4>SvQadPN~++7sjRAOq@xB(q3+_K>!^KByxEN%AD^ z9gMWi^+C3Ijua img { + width: 32px; + height: 32px; +} +button.secondary { + background-color: var(--brand-input-background); + color: var(--brand-text); + border-color: var(--brand-input-border); +} +button.secondary:not(:disabled):hover { + background-color: var(--brand-input-background); +} +button.plain { + border-color: transparent; + background-color: transparent; + color: var(--brand-primary); +} +button.plain:not(:disabled):not(:read-only):hover { + border-color: transparent; + background-color: transparent; +} + +button.small, +::-webkit-file-upload-button, +td button { + padding: 5px 10px; + font-size: 10px; +} +td button.plain { + width: auto; + height: auto; +} + +button.center { + text-align: center; +} + +::-webkit-file-upload-button { + margin-right: 10px; +} + +pre { + margin: 0; + padding: 5px; + border-radius: 5px; + font-size: 12px; + font-family: 'Courier New', Courier, monospace; + white-space: pre-wrap; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + width: 100%; + min-height: 20px; +} + +header { + padding-bottom: 10px; + border-bottom: 2px solid var(--brand-border); +} + +footer { + padding-top: 10px; + border-top: 1px solid var(--brand-border); +} + +fieldset { + display: flex; + flex-direction: column; + align-items: flex-start; + border: 0; + padding: 0; + font-size: 12px; + gap: 5px; +} + +fieldset.row { + flex-direction: row; + align-items: center; + gap: 10px; +} + +label { + font-size: 12px; + font-weight: 600; +} + +select, +input[type='text'], +input[type='url'], +input[type='email'], +input[type='password'], +input[type='file'], +input[type='number'], +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'], +input[type='color'], +textarea { + border-radius: 5px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + font-size: 12px; + outline: 0; + color: var(--brand-text); + width: 50%; + min-width: 200px; + padding: 8px 12px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +textarea { + min-height: 64px; + resize: none; +} + +textarea.resizable { + resize: both; +} + +select.full, +input[type='text'].full, +input[type='email'].full, +input[type='url'].full, +input[type='password'].full, +input[type='file'].full, +input[type='number'].full, +input[type='date'].full, +input[type='time'].full, +input[type='datetime-local'].full, +input[type='month'].full, +input[type='week'].full, +input[type='range'].full, +textarea.full { + width: 95%; +} + +select:focus, +select:not(:disabled):hover, +input[type='text']:not(:read-only):focus, +input[type='text']:not(:disabled):not(:read-only):hover, +input[type='email']:not(:read-only):focus, +input[type='email']:not(:disabled):not(:read-only):hover, +input[type='url']:not(:read-only):focus, +input[type='url']:not(:disabled):not(:read-only):hover, +input[type='password']:not(:read-only):focus, +input[type='password']:not(:disabled):not(:read-only):hover, +input[type='file']:not(:read-only):focus, +input[type='file']:not(:disabled):not(:read-only):hover, +input[type='number']:not(:read-only):focus, +input[type='number']:not(:disabled):not(:read-only):hover, +input[type='date']:not(:read-only):focus, +input[type='date']:not(:disabled):not(:read-only):hover, +input[type='time']:not(:read-only):focus, +input[type='time']:not(:disabled):not(:read-only):hover, +input[type='datetime-local']:not(:read-only):focus, +input[type='datetime-local']:not(:disabled):not(:read-only):hover, +input[type='month']:not(:read-only):focus, +input[type='month']:not(:disabled):not(:read-only):hover, +input[type='week']:not(:read-only):focus, +input[type='week']:not(:disabled):not(:read-only):hover, +textarea:not(:read-only):focus, +textarea:not(:disabled):not(:read-only):hover, +input[type='checkbox']:focus, +input[type='checkbox']:not(:disabled):hover, +input[type='radio']:focus, +input[type='radio']:not(:disabled):hover, +input[type='color']:focus, +input[type='color']:not(:disabled):hover { + border-color: var(--brand-input-border-highlight); +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'] { + width: 200px; + min-width: auto; +} + +.theme-dark ::-webkit-calendar-picker-indicator { + filter: invert(1); +} + +::-webkit-datetime-edit-day-field:focus, +::-webkit-datetime-edit-month-field:focus, +::-webkit-datetime-edit-year-field:focus, +::-webkit-datetime-edit-hour-field:focus, +::-webkit-datetime-edit-minute-field:focus, +::-webkit-datetime-edit-week-field:focus { + background-color: var(--brand-primary); + color: #ffffff; +} + +::-webkit-outer-spin-button, +::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type='file'] { + padding: 4px 12px; +} + +select { + appearance: none; +} + +select:not([multiple]):not(:disabled) { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-size: 12px; + background-position: calc(100% - 12px) 12px; + background-color: var(--brand-input-background); +} + +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + +option { + color: var(--brand-text); + padding: 6px; + margin-bottom: 1px; +} + +option:hover { + background: var(--brand-input-border) + linear-gradient(0deg, var(--brand-input-border) 0%, var(--brand-input-border) 100%); + border-radius: 5px; +} + +option:checked { + background: var(--brand-primary) linear-gradient(0deg, var(--brand-primary) 0%, var(--brand-primary) 100%); + color: #ffffff; + border-radius: 5px; +} + +input[type='range'] { + -webkit-appearance: none; + height: 20px; + width: 200px; + background: transparent; + outline: none; +} + +input[type='range']::-webkit-slider-runnable-track { + -webkit-appearance: none; + height: 10px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + border-radius: 5px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: 20px; + width: 20px; + border-radius: 5px; + margin-top: -6px; + border: 1px solid var(--brand-input-border); + background: var(--brand-input-background); + cursor: pointer; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']:hover::-webkit-slider-runnable-track, +input[type='range']:focus::-webkit-slider-runnable-track, +input[type='range']:hover::-webkit-slider-thumb, +input[type='range']:focus::-webkit-slider-thumb { + border-color: var(--brand-input-border-highlight); +} + +button:disabled, +select:disabled, +input:disabled, +textarea:disabled, +footer a:disabled, +a[disabled] { + opacity: 0.3; + cursor: default; + pointer-events: none; + resize: none; +} + +select:invalid, +input:invalid, +textarea:invalid { + border-color: var(--brand-error); +} + +fieldset > span { + margin-left: 10px; + width: 50px; +} + +input[type='text'].large, +input[type='password'].large, +input[type='file'].large, +input[type='email'].large, +input[type='url'].large, +input[type='date'].large, +input[type='time'].large { + font-size: 20px; + padding: 20px 10px; +} + +input[type='text'].center, +input[type='password'].center, +input[type='email'].center, +input[type='url'].center { + text-align: center; +} + +input[type='checkbox'], +input[type='radio'] { + appearance: none; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + color: var(--brand-input-text); + outline: 0; + width: 20px; + height: 20px; + margin: 2px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='radio'] { + border-radius: 50%; +} + +input[type='checkbox']::before, +input[type='radio']::before { + content: ''; + display: none; + width: 16px; + height: 16px; + margin: 1px; + background-color: var(--brand-text); + opacity: 0.8; +} + +input[type='checkbox']:checked::before { + display: inline-block; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +input[type='radio']:checked::before { + display: inline-block; + clip-path: circle(35% at 52% 50%); +} + +input[type='checkbox'] + label, +input[type='radio'] + label { + white-space: nowrap; +} + +input[type='color'] { + width: 100px; + min-width: auto; + padding: 5px; +} + +input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + background: transparent; +} + +input[type='color']::-webkit-color-swatch { + border-radius: 5px; + border: none; +} + +/* This disables the auto zoom on iDevices */ +@supports (-webkit-touch-callout: none) { + select, + input[type='text'], + input[type='url'], + input[type='email'], + input[type='password'], + input[type='file'], + input[type='number'], + input[type='date'], + input[type='time'], + input[type='datetime-local'], + input[type='month'], + input[type='week'], + input[type='color'], + textarea { + font-size: 16px; + } +} + +hr { + width: 100%; + border: 0; + border-bottom: 1px solid var(--brand-input-border); +} + +ul { + font-size: 12px; + display: flex; + flex-direction: column; + gap: 10px; + list-style-type: none; +} + +li { + font-size: 12px; + position: relative; + padding: 0 0 10px; +} + +li::before { + content: ' '; + display: inline-block; + background-color: var(--brand-primary); + width: 8px; + height: 8px; + border-radius: 2px; + position: absolute; + left: -13px; + top: 3px; +} + +em { + font-size: 12px; +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.fill { + flex: 1; +} + +.fill_2 { + flex: 2; +} + +.scroll { + overflow: auto; +} + +.scroll-vertical { + overflow-y: auto; +} + +.scroll-horizontal { + overflow-x: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.middle { + align-items: center; +} + +.bottom { + align-items: flex-end; +} + +.spread { + justify-content: space-between; +} + +.around { + justify-content: space-around; +} + +.left { + display: flex; + align-items: flex-start; +} + +.center { + display: flex; + justify-content: center; +} + +.right { + display: flex; + justify-content: flex-end; +} + +.wrap { + flex-wrap: wrap; +} + +.gap5 { + gap: 5px; +} + +.gap10 { + gap: 10px; +} + +.gap20 { + gap: 20px; +} + +.gap40 { + gap: 40px; +} + +.pad10 { + padding: 10px; +} + +.pad20 { + padding: 20px; +} + +.pad0 { + padding: 0px; +} + +.table { + display: flex; + flex: 1; + flex-direction: column; + font-size: 10px; +} + +table { + width: 100%; + font-size: 10px; + border: 0; + border-collapse: collapse; +} + +table, +.table { + border: var(--brand-input-border) 1px solid; +} + +.table-row { + display: flex; + flex: 1; + flex-direction: row; +} + +table > tr:first-child, +thead > tr, +.table-row.header { + background-color: var(--brand-table-header); +} + +table > tr:nth-child(even), +.table > div:nth-child(even), +tbody > tr:nth-child(odd) { + background-color: var(--brand-table-row-even); +} + +table > tr:nth-child(odd), +.table > div:not(:first-child):nth-child(odd), +tbody > tr:nth-child(even) { + background-color: var(--brand-table-row-odd); +} + +th, +.table-row.header > div { + color: var(--brand-table-header-text); + font-weight: bold; + padding: 10px 5px; + text-align: left; + word-break: break-word; +} + +.table-row > div { + flex: 1; +} + +td, +.table-row:not(.header) > div { + padding: 5px; + word-break: break-word; + color: var(--brand-text); +} + +.table-row:not(.header) > div { + display: flex; + align-items: center; +} + +@media screen and (max-width: 736px) { + .table-row { + flex-direction: column; + } + + .table-row.header { + display: none; + } + + .table-row:not(.header) > div { + display: flex; + align-items: center; + flex: 1; + gap: 10px; + } + + .table-row:not(.header) > div:before { + content: attr(data-name); + font-weight: bold; + white-space: nowrap; + width: 20%; + } + + .table-row > div.right { + justify-content: flex-start; + } + + .table-row > div.center { + justify-content: flex-start; + } +} + +.border { + border: 1px solid var(--brand-input-border); + border-radius: 5px; +} + +.drag { + user-select: none; + -webkit-app-region: drag; +} + +.no-drag { + -webkit-app-region: none; +} + +.form { + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; + font-size: 12px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; +} + +.form-group.large { + gap: 20px; +} + +.width-full { + width: 100%; +} + +.max-width-full { + max-width: 100%; +} + +.width-responsive { + max-width: fit-content; +} + +.hidden { + display: none; +} + +.pointer { + cursor: pointer; +} + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/create-window/public/html/app.html b/how-to/create-window/public/html/app.html index d927f3f6..fb85d50c 100644 --- a/how-to/create-window/public/html/app.html +++ b/how-to/create-window/public/html/app.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/create-window/public/html/window.html b/how-to/create-window/public/html/window.html index 771cbedd..93e56e72 100644 --- a/how-to/create-window/public/html/window.html +++ b/how-to/create-window/public/html/window.html @@ -1,4 +1,4 @@ - + @@ -29,7 +29,7 @@

Receiving Data from custom options.

viewOptions?.customData?.dateNow } Load Timestamp: ${loaded} Total load time in milliseconds: ${ Number.parseInt(loaded, 10) - Number.parseInt(viewOptions?.customData?.dateNow) - });`; + }`; })(); diff --git a/how-to/create-window/scripts/kill.mjs b/how-to/create-window/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/create-window/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/create-window/scripts/launch.mjs b/how-to/create-window/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/create-window/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/create-window/server/src/index.ts b/how-to/create-window/server/src/index.ts deleted file mode 100644 index 3a135273..00000000 --- a/how-to/create-window/server/src/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import express from "express"; -import path from "path"; - -const app = express(); - -const mainPath = path.join(__dirname, "..", "..", "public"); -const commonPath = path.join(__dirname, "..", "..", "..", "common", "public"); -const port = 5050; - -console.log(`Main Path / = ${mainPath}`); -console.log(`Common Path /common = ${commonPath}`); -console.log("Root path checks both the main and common directories."); -app.use(express.static(mainPath)); -app.use("/common", express.static(commonPath)); -app.listen(port, () => { - console.log("server is listening on port", port); -}); diff --git a/how-to/create-window/server/tsconfig.json b/how-to/create-window/server/tsconfig.json deleted file mode 100644 index adb16a6f..00000000 --- a/how-to/create-window/server/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "es2021", - "module": "commonjs", - "sourceMap": true, - "rootDir": "./src", - "outDir": "build", - "skipLibCheck": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", - "moduleResolution": "node" - }, - "include": ["./src/**/*.ts"] -} diff --git a/how-to/integration-excel/client/src/excel.ts b/how-to/integration-excel/client/src/excel.ts index ad71f259..a4dfdd87 100644 --- a/how-to/integration-excel/client/src/excel.ts +++ b/how-to/integration-excel/client/src/excel.ts @@ -1,5 +1,11 @@ import { getCurrentChannel } from "@finos/fdc3"; -import { Cell, ExcelApplication, ExcelWorkbook, ExcelWorksheet, getExcelApplication } from "@openfin/excel"; +import { + type Cell, + type ExcelApplication, + type ExcelWorkbook, + type ExcelWorksheet, + getExcelApplication +} from "@openfin/excel"; const KNOWN_INSTRUMENTS = ["TSLA", "MSFT", "AAPL"]; @@ -66,7 +72,7 @@ async function init(): Promise { } } -function showError(err) { +function showError(err): void { const errDom = document.querySelector("#error"); errDom.innerHTML = err.message; } @@ -247,7 +253,7 @@ async function broadcastInstrument(instrument: string): Promise { }; const channel = await getCurrentChannel(); - channel.broadcast(fdcInstrument); + await channel.broadcast(fdcInstrument); broadcastElement.value = instrument; } catch (err) { diff --git a/how-to/integration-excel/client/src/fdc3monitor.ts b/how-to/integration-excel/client/src/fdc3monitor.ts index 4b7b99d6..78f7c200 100644 --- a/how-to/integration-excel/client/src/fdc3monitor.ts +++ b/how-to/integration-excel/client/src/fdc3monitor.ts @@ -12,7 +12,7 @@ async function init(): Promise { try { const appChannel = await getCurrentChannel(); - appChannel.addContextListener(null, (ctx) => { + await appChannel.addContextListener(null, (ctx) => { if (ctx.type === "fdc3.instrument") { const receiveElement = document.querySelector("#received-instrument"); receiveElement.value = ctx.id.ticker; @@ -23,7 +23,7 @@ async function init(): Promise { } } -function showError(err) { +function showError(err): void { const errDom = document.querySelector("#error"); errDom.innerHTML = err.message; } diff --git a/how-to/integration-excel/client/src/provider-tray.ts b/how-to/integration-excel/client/src/provider-tray.ts index 12a73208..0a946eb1 100644 --- a/how-to/integration-excel/client/src/provider-tray.ts +++ b/how-to/integration-excel/client/src/provider-tray.ts @@ -34,9 +34,6 @@ async function init(): Promise { ...trayInfo.monitorInfo.nonPrimaryMonitors ]; - const pointInRect = ({ left, top, right, bottom }, { x, y }) => - x > left && x < right && y > top && y < bottom; - const foundMonitor = monitors.find((mi) => pointInRect(mi.monitorRect, { x: trayInfo.x, y: trayInfo.y }) ); @@ -78,3 +75,7 @@ async function init(): Promise { visible = !visible; }); } + +function pointInRect({ left, top, right, bottom }, { x, y }): boolean { + return x > left && x < right && y > top && y < bottom; +} diff --git a/how-to/integration-excel/client/tsconfig.json b/how-to/integration-excel/client/tsconfig.json index 95b189eb..1bfae137 100644 --- a/how-to/integration-excel/client/tsconfig.json +++ b/how-to/integration-excel/client/tsconfig.json @@ -6,11 +6,11 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node", - "types": ["../../common/types/fin"] + "types": ["./types/fin"] }, "include": ["./src/**/*.ts"] } diff --git a/how-to/integration-excel/client/types/fin.d.ts b/how-to/integration-excel/client/types/fin.d.ts new file mode 100644 index 00000000..8936d86c --- /dev/null +++ b/how-to/integration-excel/client/types/fin.d.ts @@ -0,0 +1,5 @@ +import type { fin as FinApi } from "@openfin/core"; + +declare global { + const fin: typeof FinApi; +} diff --git a/how-to/integration-excel/package.json b/how-to/integration-excel/package.json index ce8d0906..ce52700e 100644 --- a/how-to/integration-excel/package.json +++ b/how-to/integration-excel/package.json @@ -4,28 +4,23 @@ "description": "A demonstration of how to connect with Excel from OpenFin", "main": "index.js", "scripts": { - "build": "npm run build-server & npm run build-client", - "build-server": "tsc --project ./server", + "kill": "node ./scripts/kill.mjs", + "client": "node ./scripts/launch.mjs", + "secondclient": "node ./scripts/launch.mjs http://localhost:5050/second.manifest.fin.json", "build-client": "webpack build --config ./client/webpack.config.js --mode=development", - "build-client-prod": "webpack build --config ./client/webpack.config.js --mode=production", - "start": "npm run server", - "client": "npm --prefix ../common/ run client", - "secondclient": "npm --prefix ../common/ run secondclient", - "server": "node ./server/build/index.js", - "kill": "npm --prefix ../common/ run kill", - "setup": "cd ../../ && npm install && cd how-to/integration-excel && npm run build", - "validate": "npm --prefix ../../ run validate" + "build": "npm run build-client", + "start": "npx --yes http-server ./public -p 5050 -c-1", + "setup": "cd ../../ && npm install && cd how-to/integration-excel && npm run build" }, "author": "martyn.janes@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "@finos/fdc3": "^1.2.0", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "@finos/fdc3": "^2.0.3", + "openfin-adapter": "^26.70.16", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" }, "dependencies": { "@openfin/excel": "^1.4.1" diff --git a/how-to/integration-excel/public/common/images/icon-blue.png b/how-to/integration-excel/public/common/images/icon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fc78450293c9ff813b9d8bb19e5f3918795beeba GIT binary patch literal 1028 zcmV+f1pE7mP);txuo(sHhB6W3YG5`oAu(|@5JwGR0@_rb|qK6~mh) zPHNEo2hGbNd@X023)BVmoi;D4qu}=porgN=f+RB`pNBf?f(8a)4R$&( ztl0hqyjrQv$VwS4M=U6fJcptvY;wwOTW@8aWGyI3p0oH8*6`g72chvV5wl8kS)i&bleVxAK(7h5FbCl=%?&*4(x8Oj#h@e>PjndfYNfe4%N6AN;g z=ai&^EXGeR$YGu%-Lh@Q_a7V@NGwSFTNLCu(*Db)|4S^$WuDV7sDDI7kjp%WUAzRF zvs7Y1uJWAm3EA@Gd$uVLRz-SsSvSwAo`eOnr+N}!h80$M(B2;K=_7C|mwukZne%W~ z(5yx?=lQ&SA1IDH(#UhTlvvDJuZAt!11=?QCajl|_JpJom`U@TBv1fb5T3HrxRxmO zL{XaOG=fWpyAqq&G*O9MrFl+0l*4>SvQadPN~++7sjRAOq@xB(q3+_K>!^KByxEN%AD^ z9gMWi^+C3Ijua img { + width: 32px; + height: 32px; +} +button.secondary { + background-color: var(--brand-input-background); + color: var(--brand-text); + border-color: var(--brand-input-border); +} +button.secondary:not(:disabled):hover { + background-color: var(--brand-input-background); +} +button.plain { + border-color: transparent; + background-color: transparent; + color: var(--brand-primary); +} +button.plain:not(:disabled):not(:read-only):hover { + border-color: transparent; + background-color: transparent; +} + +button.small, +::-webkit-file-upload-button, +td button { + padding: 5px 10px; + font-size: 10px; +} +td button.plain { + width: auto; + height: auto; +} + +button.center { + text-align: center; +} + +::-webkit-file-upload-button { + margin-right: 10px; +} + +pre { + margin: 0; + padding: 5px; + border-radius: 5px; + font-size: 12px; + font-family: 'Courier New', Courier, monospace; + white-space: pre-wrap; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + width: 100%; + min-height: 20px; +} + +header { + padding-bottom: 10px; + border-bottom: 2px solid var(--brand-border); +} + +footer { + padding-top: 10px; + border-top: 1px solid var(--brand-border); +} + +fieldset { + display: flex; + flex-direction: column; + align-items: flex-start; + border: 0; + padding: 0; + font-size: 12px; + gap: 5px; +} + +fieldset.row { + flex-direction: row; + align-items: center; + gap: 10px; +} + +label { + font-size: 12px; + font-weight: 600; +} + +select, +input[type='text'], +input[type='url'], +input[type='email'], +input[type='password'], +input[type='file'], +input[type='number'], +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'], +input[type='color'], +textarea { + border-radius: 5px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + font-size: 12px; + outline: 0; + color: var(--brand-text); + width: 50%; + min-width: 200px; + padding: 8px 12px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +textarea { + min-height: 64px; + resize: none; +} + +textarea.resizable { + resize: both; +} + +select.full, +input[type='text'].full, +input[type='email'].full, +input[type='url'].full, +input[type='password'].full, +input[type='file'].full, +input[type='number'].full, +input[type='date'].full, +input[type='time'].full, +input[type='datetime-local'].full, +input[type='month'].full, +input[type='week'].full, +input[type='range'].full, +textarea.full { + width: 95%; +} + +select:focus, +select:not(:disabled):hover, +input[type='text']:not(:read-only):focus, +input[type='text']:not(:disabled):not(:read-only):hover, +input[type='email']:not(:read-only):focus, +input[type='email']:not(:disabled):not(:read-only):hover, +input[type='url']:not(:read-only):focus, +input[type='url']:not(:disabled):not(:read-only):hover, +input[type='password']:not(:read-only):focus, +input[type='password']:not(:disabled):not(:read-only):hover, +input[type='file']:not(:read-only):focus, +input[type='file']:not(:disabled):not(:read-only):hover, +input[type='number']:not(:read-only):focus, +input[type='number']:not(:disabled):not(:read-only):hover, +input[type='date']:not(:read-only):focus, +input[type='date']:not(:disabled):not(:read-only):hover, +input[type='time']:not(:read-only):focus, +input[type='time']:not(:disabled):not(:read-only):hover, +input[type='datetime-local']:not(:read-only):focus, +input[type='datetime-local']:not(:disabled):not(:read-only):hover, +input[type='month']:not(:read-only):focus, +input[type='month']:not(:disabled):not(:read-only):hover, +input[type='week']:not(:read-only):focus, +input[type='week']:not(:disabled):not(:read-only):hover, +textarea:not(:read-only):focus, +textarea:not(:disabled):not(:read-only):hover, +input[type='checkbox']:focus, +input[type='checkbox']:not(:disabled):hover, +input[type='radio']:focus, +input[type='radio']:not(:disabled):hover, +input[type='color']:focus, +input[type='color']:not(:disabled):hover { + border-color: var(--brand-input-border-highlight); +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'] { + width: 200px; + min-width: auto; +} + +.theme-dark ::-webkit-calendar-picker-indicator { + filter: invert(1); +} + +::-webkit-datetime-edit-day-field:focus, +::-webkit-datetime-edit-month-field:focus, +::-webkit-datetime-edit-year-field:focus, +::-webkit-datetime-edit-hour-field:focus, +::-webkit-datetime-edit-minute-field:focus, +::-webkit-datetime-edit-week-field:focus { + background-color: var(--brand-primary); + color: #ffffff; +} + +::-webkit-outer-spin-button, +::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type='file'] { + padding: 4px 12px; +} + +select { + appearance: none; +} + +select:not([multiple]):not(:disabled) { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-size: 12px; + background-position: calc(100% - 12px) 12px; + background-color: var(--brand-input-background); +} + +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + +option { + color: var(--brand-text); + padding: 6px; + margin-bottom: 1px; +} + +option:hover { + background: var(--brand-input-border) + linear-gradient(0deg, var(--brand-input-border) 0%, var(--brand-input-border) 100%); + border-radius: 5px; +} + +option:checked { + background: var(--brand-primary) linear-gradient(0deg, var(--brand-primary) 0%, var(--brand-primary) 100%); + color: #ffffff; + border-radius: 5px; +} + +input[type='range'] { + -webkit-appearance: none; + height: 20px; + width: 200px; + background: transparent; + outline: none; +} + +input[type='range']::-webkit-slider-runnable-track { + -webkit-appearance: none; + height: 10px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + border-radius: 5px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: 20px; + width: 20px; + border-radius: 5px; + margin-top: -6px; + border: 1px solid var(--brand-input-border); + background: var(--brand-input-background); + cursor: pointer; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']:hover::-webkit-slider-runnable-track, +input[type='range']:focus::-webkit-slider-runnable-track, +input[type='range']:hover::-webkit-slider-thumb, +input[type='range']:focus::-webkit-slider-thumb { + border-color: var(--brand-input-border-highlight); +} + +button:disabled, +select:disabled, +input:disabled, +textarea:disabled, +footer a:disabled, +a[disabled] { + opacity: 0.3; + cursor: default; + pointer-events: none; + resize: none; +} + +select:invalid, +input:invalid, +textarea:invalid { + border-color: var(--brand-error); +} + +fieldset > span { + margin-left: 10px; + width: 50px; +} + +input[type='text'].large, +input[type='password'].large, +input[type='file'].large, +input[type='email'].large, +input[type='url'].large, +input[type='date'].large, +input[type='time'].large { + font-size: 20px; + padding: 20px 10px; +} + +input[type='text'].center, +input[type='password'].center, +input[type='email'].center, +input[type='url'].center { + text-align: center; +} + +input[type='checkbox'], +input[type='radio'] { + appearance: none; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + color: var(--brand-input-text); + outline: 0; + width: 20px; + height: 20px; + margin: 2px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='radio'] { + border-radius: 50%; +} + +input[type='checkbox']::before, +input[type='radio']::before { + content: ''; + display: none; + width: 16px; + height: 16px; + margin: 1px; + background-color: var(--brand-text); + opacity: 0.8; +} + +input[type='checkbox']:checked::before { + display: inline-block; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +input[type='radio']:checked::before { + display: inline-block; + clip-path: circle(35% at 52% 50%); +} + +input[type='checkbox'] + label, +input[type='radio'] + label { + white-space: nowrap; +} + +input[type='color'] { + width: 100px; + min-width: auto; + padding: 5px; +} + +input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + background: transparent; +} + +input[type='color']::-webkit-color-swatch { + border-radius: 5px; + border: none; +} + +/* This disables the auto zoom on iDevices */ +@supports (-webkit-touch-callout: none) { + select, + input[type='text'], + input[type='url'], + input[type='email'], + input[type='password'], + input[type='file'], + input[type='number'], + input[type='date'], + input[type='time'], + input[type='datetime-local'], + input[type='month'], + input[type='week'], + input[type='color'], + textarea { + font-size: 16px; + } +} + +hr { + width: 100%; + border: 0; + border-bottom: 1px solid var(--brand-input-border); +} + +ul { + font-size: 12px; + display: flex; + flex-direction: column; + gap: 10px; + list-style-type: none; +} + +li { + font-size: 12px; + position: relative; + padding: 0 0 10px; +} + +li::before { + content: ' '; + display: inline-block; + background-color: var(--brand-primary); + width: 8px; + height: 8px; + border-radius: 2px; + position: absolute; + left: -13px; + top: 3px; +} + +em { + font-size: 12px; +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.fill { + flex: 1; +} + +.fill_2 { + flex: 2; +} + +.scroll { + overflow: auto; +} + +.scroll-vertical { + overflow-y: auto; +} + +.scroll-horizontal { + overflow-x: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.middle { + align-items: center; +} + +.bottom { + align-items: flex-end; +} + +.spread { + justify-content: space-between; +} + +.around { + justify-content: space-around; +} + +.left { + display: flex; + align-items: flex-start; +} + +.center { + display: flex; + justify-content: center; +} + +.right { + display: flex; + justify-content: flex-end; +} + +.wrap { + flex-wrap: wrap; +} + +.gap5 { + gap: 5px; +} + +.gap10 { + gap: 10px; +} + +.gap20 { + gap: 20px; +} + +.gap40 { + gap: 40px; +} + +.pad10 { + padding: 10px; +} + +.pad20 { + padding: 20px; +} + +.pad0 { + padding: 0px; +} + +.table { + display: flex; + flex: 1; + flex-direction: column; + font-size: 10px; +} + +table { + width: 100%; + font-size: 10px; + border: 0; + border-collapse: collapse; +} + +table, +.table { + border: var(--brand-input-border) 1px solid; +} + +.table-row { + display: flex; + flex: 1; + flex-direction: row; +} + +table > tr:first-child, +thead > tr, +.table-row.header { + background-color: var(--brand-table-header); +} + +table > tr:nth-child(even), +.table > div:nth-child(even), +tbody > tr:nth-child(odd) { + background-color: var(--brand-table-row-even); +} + +table > tr:nth-child(odd), +.table > div:not(:first-child):nth-child(odd), +tbody > tr:nth-child(even) { + background-color: var(--brand-table-row-odd); +} + +th, +.table-row.header > div { + color: var(--brand-table-header-text); + font-weight: bold; + padding: 10px 5px; + text-align: left; + word-break: break-word; +} + +.table-row > div { + flex: 1; +} + +td, +.table-row:not(.header) > div { + padding: 5px; + word-break: break-word; + color: var(--brand-text); +} + +.table-row:not(.header) > div { + display: flex; + align-items: center; +} + +@media screen and (max-width: 736px) { + .table-row { + flex-direction: column; + } + + .table-row.header { + display: none; + } + + .table-row:not(.header) > div { + display: flex; + align-items: center; + flex: 1; + gap: 10px; + } + + .table-row:not(.header) > div:before { + content: attr(data-name); + font-weight: bold; + white-space: nowrap; + width: 20%; + } + + .table-row > div.right { + justify-content: flex-start; + } + + .table-row > div.center { + justify-content: flex-start; + } +} + +.border { + border: 1px solid var(--brand-input-border); + border-radius: 5px; +} + +.drag { + user-select: none; + -webkit-app-region: drag; +} + +.no-drag { + -webkit-app-region: none; +} + +.form { + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; + font-size: 12px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; +} + +.form-group.large { + gap: 20px; +} + +.width-full { + width: 100%; +} + +.max-width-full { + max-width: 100%; +} + +.width-responsive { + max-width: fit-content; +} + +.hidden { + display: none; +} + +.pointer { + cursor: pointer; +} + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/integration-excel/public/provider/provider-tray.html b/how-to/integration-excel/public/provider/provider-tray.html index 21c36e99..ef4949aa 100644 --- a/how-to/integration-excel/public/provider/provider-tray.html +++ b/how-to/integration-excel/public/provider/provider-tray.html @@ -1,5 +1,5 @@ - - + + diff --git a/how-to/integration-excel/public/provider/provider.html b/how-to/integration-excel/public/provider/provider.html index 8c5e0d20..ad96ad81 100644 --- a/how-to/integration-excel/public/provider/provider.html +++ b/how-to/integration-excel/public/provider/provider.html @@ -1,5 +1,5 @@ - - + + diff --git a/how-to/integration-excel/public/views/excel.html b/how-to/integration-excel/public/views/excel.html index 80fa0403..75982d7f 100644 --- a/how-to/integration-excel/public/views/excel.html +++ b/how-to/integration-excel/public/views/excel.html @@ -1,4 +1,4 @@ - + @@ -25,7 +25,7 @@ - +

Integrate with Excel

@@ -37,7 +37,7 @@

Demonstrate integration with Excel.

-
+

Excel

diff --git a/how-to/integration-excel/public/views/fdc3monitor.html b/how-to/integration-excel/public/views/fdc3monitor.html index 4aa08772..6c787891 100644 --- a/how-to/integration-excel/public/views/fdc3monitor.html +++ b/how-to/integration-excel/public/views/fdc3monitor.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/integration-excel/scripts/kill.mjs b/how-to/integration-excel/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/integration-excel/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/integration-excel/scripts/launch.mjs b/how-to/integration-excel/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/integration-excel/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/integration-excel/server/src/index.ts b/how-to/integration-excel/server/src/index.ts deleted file mode 100644 index 3a135273..00000000 --- a/how-to/integration-excel/server/src/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import express from "express"; -import path from "path"; - -const app = express(); - -const mainPath = path.join(__dirname, "..", "..", "public"); -const commonPath = path.join(__dirname, "..", "..", "..", "common", "public"); -const port = 5050; - -console.log(`Main Path / = ${mainPath}`); -console.log(`Common Path /common = ${commonPath}`); -console.log("Root path checks both the main and common directories."); -app.use(express.static(mainPath)); -app.use("/common", express.static(commonPath)); -app.listen(port, () => { - console.log("server is listening on port", port); -}); diff --git a/how-to/integration-excel/server/tsconfig.json b/how-to/integration-excel/server/tsconfig.json deleted file mode 100644 index adb16a6f..00000000 --- a/how-to/integration-excel/server/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "es2021", - "module": "commonjs", - "sourceMap": true, - "rootDir": "./src", - "outDir": "build", - "skipLibCheck": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", - "moduleResolution": "node" - }, - "include": ["./src/**/*.ts"] -} diff --git a/how-to/use-a-manifest/create-a-single-page-platform/package.json b/how-to/use-a-manifest/create-a-single-page-platform/package.json index 42189ef7..97108225 100644 --- a/how-to/use-a-manifest/create-a-single-page-platform/package.json +++ b/how-to/use-a-manifest/create-a-single-page-platform/package.json @@ -2,26 +2,18 @@ "name": "create-a-single-page-platform", "version": "0.0.1", "description": "A demonstration of a one page platform that can be used as a starting point.", - "main": "index.js", "scripts": { - "build": "npm run build-server", - "build-server": "tsc --project ./server", - "start": "npm run server", - "client": "npm --prefix ../../common/ run client", - "secondclient": "npm --prefix ../../common/ run secondclient", - "server": "node ./server/build/index.js", - "kill": "npm --prefix ../../common/ run kill", - "setup": "cd ../../../ && npm install && cd how-to/use-a-manifest/create-a-single-page-platform && npm run build", - "validate": "npm --prefix ../../../ run validate" + "kill": "node ./scripts/kill.mjs", + "client": "node ./scripts/launch.mjs", + "secondclient": "node ./scripts/launch.mjs http://localhost:5050/second.manifest.fin.json", + "build-client": "echo Nothing to build", + "build": "npm run build-client", + "start": "npx --yes http-server ./public -p 5050 -c-1", + "setup": "cd ../../../ && npm install && cd how-to/use-a-manifest/create-a-single-page-platform && npm run build" }, "author": "john.mandia@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "openfin-adapter": "^26.70.16" } } diff --git a/how-to/use-a-manifest/create-a-single-page-platform/public/common/images/icon-blue.png b/how-to/use-a-manifest/create-a-single-page-platform/public/common/images/icon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fc78450293c9ff813b9d8bb19e5f3918795beeba GIT binary patch literal 1028 zcmV+f1pE7mP);txuo(sHhB6W3YG5`oAu(|@5JwGR0@_rb|qK6~mh) zPHNEo2hGbNd@X023)BVmoi;D4qu}=porgN=f+RB`pNBf?f(8a)4R$&( ztl0hqyjrQv$VwS4M=U6fJcptvY;wwOTW@8aWGyI3p0oH8*6`g72chvV5wl8kS)i&bleVxAK(7h5FbCl=%?&*4(x8Oj#h@e>PjndfYNfe4%N6AN;g z=ai&^EXGeR$YGu%-Lh@Q_a7V@NGwSFTNLCu(*Db)|4S^$WuDV7sDDI7kjp%WUAzRF zvs7Y1uJWAm3EA@Gd$uVLRz-SsSvSwAo`eOnr+N}!h80$M(B2;K=_7C|mwukZne%W~ z(5yx?=lQ&SA1IDH(#UhTlvvDJuZAt!11=?QCajl|_JpJom`U@TBv1fb5T3HrxRxmO zL{XaOG=fWpyAqq&G*O9MrFl+0l*4>SvQadPN~++7sjRAOq@xB(q3+_K>!^KByxEN%AD^ z9gMWi^+C3Ijua@d++^nKb$XTpMBQZYwu^BXFYrEXIkp&iXyBSW@^d?rUsJcAPfu)@`npeiXlLV zp`>G=30EP-z@)Qm^-Az6#tme$`a4&Mj>eQ%1ZCZ;pGILVD4>WU)*O2z>~k~h1e}t{ ze*gN$o}LINE<>pDE+NJlI~-G}4~f2-JAD{EObdD<{62csrl5CxcDX$yW_6etk5DN{ZKtV7u4HK8=L@JRc{}f6=;0Vtlqg|1myU*# z05eL1r1l=JdqHfP<{7Ch3`&)SnpJ(cgaH)NT_U>i%&f*nnE01ee}8udWn*Yzk+W(^ zbC$os$;Qcc(!@IDJF0YDOt5aQD53qyAk)mB1`W26z$21_st&}!zl3Pl*PL`q zu#B_mO`693L5+^64trT##_yD$5-25opHNFC;;;Te_&2gXn(U>2WN&|0SdcH7r*ULX zrKs@n@Sb~6Pgxpyy(qetGq$^2ZkO7T zp`~fOb!OSKz#h<-bxqxU`ma!YbyX=Z;T-+(v;XH;^*bHu+Ap~lwdZ(H)>_SIz=J?* zAyT6sr{!1ZLF8B2Ma$i-{e7!E1EFk;aJ3KKoKl0de3&@Edf0(8XMtKTZR{evM?7Z=K< z#(7QLQ=ivdsh#r)E=FIB3Aj=E?Bv;-hA{464APbqTVQCeV{n4;t4y6-N|Gt-9wQKW z_OJLGl*fLIrRLUG(-Yfa3SNh+QHXhDJMJ8(DqgJZ%k3=7@do9ai3jC}Dg0q;_u|mv zL!*&lIUfQpmcMotBob!!w`Or_Nr`-YE|*_XyYQpr#HZJbQz^Tm5v?E{4HEfYBsbf? zF^0he{^jpQ}-x84J zd$Q+$GEJOBVA z|5%%fBc#1JPgHaa{cxv>4a z@;UKrR;^L^*`IX?=G)|=C^B{g#iC{mr_agX<3(al-Ol7MK27->M34|9Ka(ENlfiiP<;g9W`Y zi$2>$U!O(YUH3%Z+4kHw*rI0}(7XTtw%jd?!u|IQ^zmBH?f?D6|8z`1uMI_A9oa_S z=0Chc;0xp+f9-kop~$0&cVi{Da_QSFN8XoVj7WtyAT-&^$uWx#lLENyoFxx@7ZkQ| zi~fdx6pk-3eJk~Q?&K}bILm$Frc5{kT0;VM6-I}=?MU0srxx9!9ANT^x?3T*e*yU( zbiB!G>!E+eaE;G#wV+=dUR7= z*5{6jXBm-K#9N`v8_5jki;|{c%Xg-E)d+w0V}$VW4?zCR1s+OMFl$`U76r+61xUY{ znFe?HL!(}BT%QBp!EJ2sf>r-CB8Y3k4Xeh{Usrm=8A}^{RnfCY?;g3NWYOj3FM0Zh zZ%DCkdHik=)VovWlU?}xoiEk1uyeY2Pd0wj3Oc)JR=_r&V#ndw=)`cbb8+?w5>kl|N}I(~RJRGPn-S-A_&LPnT8HTA~wA`iXr z>Gvj`qdstuYS|i<&nK*>ihl@cq0=)Cep@Rz!6)0*6sz{l@kZLg=ifBQRsyE6%;|+I zWscGuPk%+NP7eO|-f8I1o^y)abZgu7uKH;x8XQp(wL8r%P<@Evk-W#fSqP>4w+0FW zEws)KrQf_sb+ZwJeb%<>F*nozh1DNQe_9RAK3{$ZORi%S@h7L8{1n{hI8otG_Fo*eXAV#b#-;NJv6zN-GW z73TqWJnvqrenya-zYi7#`PGugJHDqV_Ua9uF%P_Z%^l^x44&t|LlA`FX8e)ho#qZ32N z<}X`l#X3&WnK`w|r1fc_X4~>>_G;%(5Wgz&>o-%6H|6^DOTm5h6F>~&J#69fKGE^zext@wVXYDgy?{e`Eh9AlrLYAc_Po`VhiuzuSB zD!_!)4|448?q=}kPcye1E^z#2GCcbL8wJ>GSo(HjsSloAgh*z%4?`a^R6$=clq5lv zHO-QZt1-ES<-_pNw2d&qyilPxxfK!k*V{tOBZAXc^^brTU8ROBg`c2xb8rK!0QvY} z1N&O#6bzFm&6#?ZR zg|d0*EIDAi3)P1a>H!?qUzayq+||JHTZuOA`$=G^1>ze#OLj9wBL~=bIsRd6sM)Az zOnb_@vj1%)L;chVN}aC5O|-!PjFP5grhrCl!cGyh7EauEagI^Wp}*6vLXl}9i+@BS%TB-xRpVceg6c8Lf6OhSf~o`wY1{pI zUKvDxvc#(BrhHxH8L59H>Fm1xc)&t^N?VDXidSFxsoAzfW*X@EUwe8{GoG5Ag}Q55 zqvJFXD(CC+WDe0Q$e4jWI6_2`u-*Z)c6q^|zPgu->es7J%1_cj(LrtJkiCO9{j0wi z-JQ)@uNsZ7QOLRqCr8_cGqNc9tgo=KuS z@q)MqIiH{%17xfjR9s=s6PKyM@pm?4Cy#IT;=vkuI`=L9K!YM54tK%bmRRT=q9T&GZR>T;UDUZpMx@=Ku$b@bo9FjwE z6wRdI(s!=dJr6Cz_Q(mLm8?;UrIrrm4Fx!P1!;HE00zu5g32riR&nvQjWtz2ZP$)do?V*7sGqyF{Yz#Oe5O{4pMh z=5C7zkZ;t-TR>gaXKdQ$S5RQwm2Zhf?%o!fp1C{XkkeO|QI4c$!T(GyeN{2JyJ517 z$kvwVjCxm&&{|~`?b646R<>~lPO|36-Lb^ceMPYk3@<`X7@A=P4A$mQFM3G8zBOtD z95J3IHRLmPb7QH?zd&!OOn#^Z4LN#P+W8FrgA5{y85#j?2oLz7HUH2W+1)`y3zL*D zC4Iaj6NVJ3+)`A082<J72&BQW?3V} zBb5fQYN8*0a1Fz62Tk%HNv9#;N9izVu9|NANUH*^P?OK92` z>vGz%<+{dSzK-%zFhS7OVPa8_mcE8)(W7@^&I9dDyJ|r$bLIb7fES7N+^6pJBsDU2@g{{z!}Debu4ne74JE z0EvsB1O3QR3&Me{@%Oj^`6tmJ!zCL0IiQM}Hd!#Ys2wLNYY zNQ^&5vn&CqKc61`nZEEtfF9XWot3~>(Wq&$k2TFM&uF;12E4*u1k{P;NwzdjN8BB| zC)=9qDLLpxB&da7u*u25{ywc6G0)Qgute+1Q>hF7+YY}+tf4rcRX)Z<#`e8CN1%B$ zL)Y{2=TqM!dy`)*vQ9PrXk$XQ5RC=b*h8QIms`D{RPAqLo?<1wfYm~x z>Q(A;tQtv_nfvfTI=n54!NpOxBT@BN9^QP~7!^X~mm`a$7F0k(shL64hv76D#a9eA zFJ64bH5EFY9%n8J^k6EjexN1%0_D?#Fz?JidOvwIxiSFn`9W1ndm?+lOj=)MM!3;F zK4_FD`_!^mW*cd)EJz<%^{382bpAInzwuu^d0xjcmzsYdYfBHWm8VsqdlQ(yOy^eO zS|lyYJpj_-HBg5*gvvjPiEoL~uv_O zMD4}_={Jb-1kVh(8P7TKI@#I?xT{s8C3fNpXOUODVftv=CH@aY8io(?JbFFNJ*3A_ zn+8$}T790*^KN1>!_9nf+yh2;!Pm*WRM7AUu*u-dxeWunf0b}ljWeXW`46hzRHgC$ zuFp%ld&0rzRQ4ldJJ3N@;d|QEUScHd&+&~!Psha5iB8m#7a|axMP>|fk(Jb@5sA$9 zXtjc68kCcZJFvdavic-lvECu&mX>|pUH-ARCotAq=O)Ofyw-@q=$Q)+n33Eh3O6DP0|xoVSWAXsxby^d26<)$8bF>Z^C!U+@(DRBmN`Z? z^GZ6nXG?_%_M0~T%K(#NQ2SPf#Zm2XsFJhm2R-t2;2$Gj4wG+BU>LbV~HH1A0vzZz7 zXdI|TXe^Sjl`V-e^7N1?fJ?x_m=^S==_TVfO6`&v{` z7WnZ;1oO{ZEf!l$3_=VfkX7VR5Rh#1Ejz}}PD5hWRs)`h<+~qvA!gEE-vy$ibuh%8 z!K!p1nn`Qp|68!O0MAS+sP`? zL(DR72Qh4_v`y=P&NNHWVRIBN{6N;uRvt!@`NjA}-Vn!^=WGO7zADg>I9?KS``9lH zWG0f)$`7Vz|3$Ler@y5Pm-oU^fhV0J6~l#LVL&AliLhR^P2d6#y$vk~FvUYU`9e(P zN*I=Jljse`n6OX6EE_F-r}z3LF%nlA#+yyedh}gw&$o^6TV#k@LVvkB15*Pd&fH%3X}zRXde*GTVW-<{i-INCc)jOmuC92MwFyF%S^bJ0Tc{Ug04RJEc3L%! z9-^>7U8d(k!niM_nu*V|MX3c*PEHigRNrX$9MCqM-|e8DBl293I2YsD4u6l>Re~B9 z%onxSN^sFKuhfBfJ-<`s5M#VjpQ%{8APM2k&o%A)+(kDtR)_xt}}>(M%0x%nC;(P0do=}dxaBFmaDf^b;-`(sJA=ye5+YhyYL_5!k^>q@mrHAnob&U|@7!w4tuH9(=jpFwO1nBQj8cw{itR|JXcUioJ55-iT8Qy;+? zf3rH#e0bsO?n6!?EW`6_Ff@GO@?Kfm8@0e@)C5zE-_Rz^(U1Y^DnZiO~X$iimdfFpX{ z{oPdSMCShZsVYTefFq3AdK&(*D+D@5z5{pVne(qUgL6|8G(>k%i8f!T@NS*s9`)Y4 zC`^=S;A{P--zOB{eL*`&UpZRV)dm6Ir;gsG*~|QtFlEPasC~ z*Bg*oB`Cp(ok|M3_1s3~6W#{yBx8JulF(~qb5wIg7u&#BQ5NJYrA31|`l-7ZX{e%j zQ_3`Tx!8aOR}m=ddx(o_vr+sbl^Lpae!b!;QEp_Y&I>^N=qS;qfzeRKc?`Qu@#!YF zqTO4_OnAI>)WW(sl)gZr+Nn~hLIg-JD@V9;j4HRl{5e9$&8V|cGDyvtSkTi+kcH;{ zoR;&ArPJVG{3%P;w(QPRZ}Y> zN@2Ph2RkWXeHDUFo<@I=su+RwvDc?OTcAyAEv|CQa@K>5{|U)H|CZ7~y{QTPT~-x4 z%(F1{rOCpce(DF0B|B-sRNIRxWxD|D(w9Ammx3Z4)7?1jZ;F(nRX(s3v8lbkh7`N6 znzO~k75#GVQT9vih@W&@3xNhR&!*2U{^ac^aqo=bmT=`6jXghEY56cdUObfsAd2m^ zqJ{a9N&J><2FdZYml=GbWSzR9yWowlGYJ59a{S(QqIR2=#MyQth^xZgPQgoC*hKS9 z7F8XXYor-G{t%)!RZcsV$9-sd9;B@C^p~6&W*8G`?jlZYj+&tnQ z$+!3dq9fgHaL%_xi_HI1fPZX-q8EqQhQ6g_iEg2M-H{j@E)NaMp@3W0-il)f zxlW;;-o(KpF;AY?)6&bBWjhq2#AO4+K^O&V*Aq!Q4GWNCp69M{4dmKyv6hIPGh;T9 zAxYl|u5S&Jm^S|LjSuoSW~EJQZ_%G?v3Nbv|UXvD(o4k%|Bw3oeIij>4oY>G3*@mpK9`d3Jc5$%!pud z>PXjQW19t@vT|eHG9_jq*k|O%H%a411e-DG*>AyO{LYE-ss`0$!V98$9_xnc>SaA0 z+CRz+B8aAvs}UY2Eggd(HFi>ietg3*9={w3Er*eeRJeJ$*!Sf`tQo3#Po39^9N0ev zCzca!GSo$HIBIzDc|O-I(Hnm9DHYeH<;&5qLCxqmCUb`DSG3u`Wk6N|@rk2Naxjve z^>N~;URfBooRwkZTlsjixUL718QR0pEGyubV2IWZh)Ymxm@)`53G-h?`^|w=P;F*k6YEiaxR(-crAfXq_Xx_*7j#6e3 z`R|zP0cw9YF8dR<$?~W!d!Aj;&&~{yzL}Z5$Gz1m#wQSUlD$mnNOZ-72$u>6M>*(S z;bv(d+;Oc|sfYQtePL!8$>X0Ew?1G#FUXb*O?*P76gOk(JRpGKv9%DqjPNv;x^sRh*CbwYS zv;eA3t@lbHaQ_Q38_|rdKkW0rg{iJ}&N>58+38+IY9k89njV~7b?_6( zUC@PzeK3y1mnnU&@*lqx$rSCQOeLcl8uO4!_ctKdKR{_zoq-_xrhbB7uywS`tLd(T z$1nnNCQaieiYgIuqi_RMa05Cr2?6mBXOW8~tSHMKc%AJdMEo73Ha6Oa{ri2d|MTmo zQ1?~$F8O3m)J?Y;0Z}T3PIZH0g{_%+hcYh%zJlCSLpEO3I_Mr)*mFmC^8*li!3! zGMAFe2~cJjRANleDqanVc8w)hYn?I`laLi0~Evkgk_Fy*8B z56Xw73UX&{!JSXc4XZPA@HuI*#d2TvX9S(TzB&NpN24EO%#TGGqE0XT6n9kO6!YAf zjhdcKImq(mplUdAYKbRZ$UC3#5f3OBo2x(r@C5C3!1agn46tW2-w4cCT-GSa4^^R< z67plAZ`Z4pg|+}-8^`RjQ>$Eg0V}_PQ5II7E#v5D+kvoGgQgz5e-F57gSre7*T$D_lel2o(d7K<$Doi~_$oq!e0p}TRslOI`kRm6&U9B(Qd#nsn zBj)<;>8~UT@!mXy%f8U}A9%%U%y`4OH$Zg{vdFKB!*}f$yUO?~H0E2xdKHJ*1#3Mw zc6py7TVS7U4B@H-+Vq2f*j8sdEb6ZJu`d2_uXA=}NA};Sjo6Ole%9uf*%Sr8H!`W{ z&uf((v&&2YK3zCDH!Ze~Ia>y2)RmtsX9k2zp3)E8Q{0?1qA67YbA!xgJ^y`~M zYGhb_K*-uhAAEI-CpBQfqqVWmzh(}TG!sdAV?QOmAK5M&rrCBTdE}^Sc%ieJUySEM z>_;=dV36*lM3S@auy=>`wB(24Bi)1|Lj1zp9W^25#WGC^IH}lKFjLkA4`WA|x;Q=j zQ7&vpI@$03S$ViiT5Z*uNUGc#=%?Yoz?Szd4m!rPwE4d5lB$za4q;FU)yW5VXOha) z%A<9mdx&Qdl^FMKKQuoI7G}%auQ!_y_S0~fdKooVT^#LJ1c#{UuNr};DY=L-O1ERQ z`&js9{6cLEZ7^;k_}yc`kjM>qol znbscyHul7KDp0Jfm061jQy|?x!p0WK9)AdThMy%fqjbd{C7sH@cozIPMPhqVb&v?3v}O=;|6-47s~}pdbUxCmgDB;Ix!fWqY~E~!ISo6UGY#)8X-v9 z@%F_MVC^uiRO)X*!rJY)NrNG*%#LB5YB^HRr`5-vAgZ2|KB^#kS)cjkW4KuXiT0qC zDirsES@h_!Bp2Y$uCbzOiM59*pu>qX`c^Q0ZRK(YB;TKMm3&(&IKi%25o}EBY4^5Y zGQ_~%;t4`1`1UixFwn64r?@EsbbA3(!c!6?{EG1FR*7X*-my!JFyZ-KzImlvx^S%{ zefgrMaS)`URIYsOW(bXPRHI2wK4GzjjYkE=FXkzl`5*b!7ly+R$ukecTdWJO3(Sn; z2WVF#nq;Vn#jOXMJD%WungY5zU{jS#XTEB&uOF$4s0rJEkgAe+p5H+k>5&%pmz}JY zkNI>|Sefjp2SHWgY+7JkGT&RhqhOr(E^tB56Ed@a?!|Ae(`wMkWWQa;A&PRg!9X9d{G=&5^S|K{2 z6L#etJv$%3-~anv*lse5WKJKl zcbB}+cl#c)fYqA$;Vx{acMlW9ieS^-E=R=a$eU~m&daZ$mg?R3%}&Q4FSviU*MimZ z495Lf^!Yfo`!#iR4G8#dcb&laibFaQj73U`cKiTFrS^O<>IyCziVHoERtXl@nGCrQjE{tBqtb|OM8cZ zxv{fXa1=%GxlGCvg%xRBcDQx66h4w$oup_ZaFg9eCp1R6c7~GP+;CJ3=}qQ5tZa`a>%c5=QYTUH*`X)4g&4r7BP zRoOhSC{}}+0y`^1P2Q5{7Rz4Q+i6c%vscd`t+5o_H z;^y!(<1?{BgIl)sL;XW5X;87^hvhAD0SC%YyYs*ClIw>c+HWs0=&R{j%xI}HOsOcpHdhLRV0UI@?}qRE5APSCmvZ@=u}CSDv+WZ`0vsGWyZfLR|IPf=PSDWtOX?ng8_ z`4PLEO>$qZ={WRv;N*u+>2i6my;yA9FmqkMvAH8snkTh5<|2%151Eplo%;asKP(6E z4H>oiU%Y!PqnxLmR(khDg>}xe-XRu3F_BIPz7zl`hMOH5Sxw1ke}dj0Y!F@5`Vv;D zOZsB&jl6r&7u{nPtT~($t-!ZFgo_26!p6psQd$~uyEgUyRlCbKx?+hI;7fH^5I_>F z9!AaWb|92A^1I(il9%L|#o4QUWU1$gvo7DzsDb?THly)5V;Mz;d@7LV{G2m`Y_mfC z`jCB!?PT%WtN#b2hN{?J@}}c{{5PHh$0o@A_35#5@E4d1<*%)5DdK>g6I6t&b-B$* zqb)M$P_SQ-8a`fVMwQx_SJfw4@k*aw-On3(!AK1(ym&U8FZEj3Op`*Mq68}uo7tQ? z;6WOv)cBQ0sO@aQ)t3#MTIUPUiozjt-C%n+OzY1al3q0d=O7%ID7R zYW98@s9`yU5W&8N35GbU|L3^XWOj^PyM7C%eeoJxkwZ_lgMPUhK@3f%$4f0C=dJ!s zkTGcpfIKFe zaMCaS__NS5vM0&OVSkCv;34>L-Ks$E{1I${ZzZRy*%p@OzS*g&mAA^UfCvs76wjYT z(lxA2Yd#%6K#pWG9w)()%VlAmmwrrBDBj*Ta(kcb+b#KwtRobw_NlD$e#ZdbL@|Uu z{ZueRAe5_2!W8b$l*xU(22Oqf#Js5@I6mp<-Bp3V^WnF_CXsLNljAj|jkm8k+(~|x zqpNE=YnOy9)PPlP}PYmRp(omcCUhT(T zm7o!^g^f9z{nV`x`dIQ+*;%hXaP7a!HbZuXLUfkCV zzCVxspOJ$Q2O^bUWvBtr(f7@R2&jX3oRVGp0a9Dq?lE*`R~v?QAAa+ z{NZ4|6g#nQw{Ycz268P!dWr? z`0FPwkA$MpD13E5DZ;q@l@!g8%fMQ~XE_VhPeawAx%X5!jmqd$9qmEdBh{-ivxXnX z0)Vu{?4w`eLA?0q3%d$tmrJ`tbm!L%K(_qYD?_>oE@2k(TAk%EVZ)SEI|K zjx~c6aWz>TBmmEto0c+C&}_F4a;ORPg~6U4@B7Qef#$Dia^ZnWqHlGf>8S33A3+Q& zv`zlWFLX5a#(?ft*x7Y*4Q6~sEJ>vUPCSSNXh+x;53TTcSAk5XLyo+$jR|sg+a7I=%c|o z54oDdDhMB#CopM$mm;FXzTOD>uII`wz7%m13vj(DA15g*nnzijilyuZE{fpAo6tYNV2*@g$;Fw1~RLY`)xS}ro1_fxCa^ZpX zdXz~yks_`kO10>L!&|Tgn_--z(Qf7I256myzX8X5 z!~4fNhbdFR8U-h}loLMs87y&cg>u{6b}W z;z07Gf+f-!dgbl^rjKawojG#F2s&XJU{UT#^Y}YCHx47tPQGH&z_aV!kY&bq#*T!jxUE1K5J^sY{i=S+^2TC88jcg zC7okXo>>LC=IwRQI-P}RPYDw9dSzx#-vCg^fW6#e$B$`W1wK21wM>USma#Gtp!+Lq z_Hx!V0B+EJ!7?V$;P&DAJJ;U~k$S#$&8Sjio{)N*c6^Am@nu3}0vBZL45mC`Qtb|v z(6)?p%_E?eT!V8bRyqr}lE9u34hcr{d+(yR`A2S}whqRs_yd!MzS0Oq%40;n=Sxc6 z+MpDSky{p8y|Q>|_m<^r?RDv;;vQRxye4Z;&D+QfPr)Wpt|&&o#2eb-tJwXJ$6wg} z1tLvQB*(SBu}@``GM?Ru%)CdO)MSF|`|^5nv0sj;FQqeSnDMlT9e}nn0MOm=2ax*} zo#~Zu0!MgMy#ejO)%|CLa2lWJVdU0Fc-B@1!?0?D)n^M$v9MKJ^{1g`mx4VQb`f*q zUFyDcFKa(OxNhnDf`Scf3q8yg3XqwKDjkbH=8Ll!E}^He4S;WUs~()>0XeNb{ZQes z2Z3&dFFewsoPn@O$xX9eInPgxCaCyZXG!MkI5ShxmEM~QAfgHp>aKRx{lux*EWnU$ zpkc}DTh{8dEuraY?{61D{b-c8NWB|Yq4{^fd5Zk%A5iD6mX_p&{7YJD9Q?0yu_Co{ zKzTnXCe>BUI1x*cc(UYt=XX5KdW3DSF}9rXQFuMC4M?Wmt+K5D5#;YJQ~RvmulM-= z;}A*QX*4W8%f(n;DH5=H&M(LJ_-!6^UZJn=vtBxhW~9&D#(KIH(hXD#2&M;H zv{;X2zdZHMG;oLs%sTNUA|NoHPekB9RLr-1>%!55ZeJWMA|#GounOKfK6QQueqS!v zgHvXlj3v@{q9L7wkCgb6tHq#$Fa_B6NeyR=>uVboDI31JqYdnv0sL*QwXYNUT05=! zKxJ_}hYSRu_(VGzq=K+aDs#4wmBB)Dy4 z{M4+LxsmTXC~G%Qs1~kBie+V0bT9yPO+Bbf)n#qUQ21QBQPV__X-z zcqZh!FqAa;NvD4F7aq3w-cJ6LPhTvNLFY8QosH&&A^V z`^Ha3t@Qr49^&8s<^`ZOHDQ2aqn=#@ayM#tPOPBO0`=RMc9H&SyLG@FglzL^WRzMj z6T9S@?(uf7?3vZ4u`hS<IG+d=ham<;eL4V!Yo4AMS-<@7=6A~;j3 zdI%bnqZm?JnIt9imkB|ZN3YAws`cke1zN>N z6{vu326KgKe-vh)xiISFvzqc3;*rjS-ZT;P;I&EozGP|bok;MwH?YtA^-fD~Fj<5v z#0K{BLi4r?6kE%e0|UvJ9oH(ufXC8=i2#MQ?tMZ&91H6gUG*0%6+(aBJ7?KiL5?+n z5T{=8xZV!k8X8kkgH@|7cY?e(d^H88&eNf2o!Wuln@~Xa2WTpfXip8=PjA)xYUudH zPR*leH?$qb8S&;H0}h{w+m?%(k+ohw9xbE`1W*KIJTl|)1WTC&W5KB*p?x0pwqFa$98xv;aD9x@dulcR&070j6($_Ma=PCZq??aC!i3axq5_38($L) zPp(dhQnw3!c+$o^MkN;^i0?IvPRI9eNO()wyoh zkO$r04IRmu*nf^UM`UYIS+S$<5V}a5b$-oV>?5>w#8l-=e{TxR0xdJSVX{i5=3AYk z+i2Y?R#r%VbBvrFQs8CxpH#xBw*)JPPkSTfVNweEuHCQ4C8)I`n1UbUz7?hoU;~Nu z^fS$@Xd9}96NH6Ga*|fi_3nT;3`{Q_`%fYhygW^}u_XwzmRusNIO7vvf`Of^RqP99 zN?_Uirm8EFF{=$r&;R_2gVcmW&ABHn(X)Awo|?|AJM6LbQ`*HFt129ksOrNbqug#U zbh&b#P{qU}U(y_XVoe$i8E+hb7VQ91|M>r1o;b^ zfFaz+>i0ds4|%~~6TX~F{o2Eyz{a1M@>qAZ9&cxk57>u0Ry`MX)K4Z;SS;ACJ}H-; z+dYYmm0|WmJ~kwOzaS|pV0zh+`ml|F>K!v#u60YMS_^l8l9>irv%O)~XnO|HcA7o+ zHbTE=9TsJD2m zS6};zg>FF`(p^N00{U*_gk^8d1Q%%71#ABzSCys@MhR zB=#8dq`beaL!1nOa{thKpkF3&b8|*@s%n`eKh;Mbla)QWmYa?J*K73%s8cHceIPD* zuWt<-Fk=hRWF_S#d_NiGqIM#Xe->4*RHjG}g2hpYkMoZ_GRvWV-5)9zn46$A%cV$_ z`juz#YZ{NjbEFCMfd^g}Tu&uStM*S(C5cNu)XGG4!*E?b=-kUHu2~5{h?_Q&7g+m= z$Xrkvho2Ck#%$MGkRngsZ(o#kZ672>M?+T9q$B)4m56A{>2~;!GSFxztQ_&}<_+1V zZG#(h&Senq9CH1D?=6j>VmoXM^)D|C{x(GsSX8`}UH-Dj(#9S3EQ711-PUj@kk2y=y?GA3 z)`~E(Cj%DTqhnrE|EPxlsdMY=sZ~(Wo4gOet?7LNCxnw)SV(v7V$+0Q$V?6oG1!| z>TT{kVhiSFuZQg*^lfa%9#`6d2->(DuA-7?)Eo3BrY%yCve5=v5MhEE0bHta7eUam z3Xp*%XQyIp4T8XGK`>)l>fRO-@E7u1%WB`vDO#V#jXGdNH@l(+%tIud&u6)Js?91Co zAP;!>WzzdLQiY6LCZ;1(wz9lbszG0?Q1d+VG!;o;f?_$1Od(~_9uw287;?=d5^RG? zN>h%GW}?E1-j9~suM6U}Sg@(q3S3B*uT?ll4?`&5Px5@LW-n6AM{L4{MNGdPo6q%_ zNK!lnVW+Maq~zqPN0nkOeN~pK*zVfjiq%oeBvjVMc(&=x$vmoHENNICWwKlrM)309 z2GtGGaqsa!5Gv_(4}$KCdEN#Ektb;jU2nj=vc zKeI(=f~UP8LrC;@4S!RTg;kd#)DmTpE2>5x)jG$JjX18GSWP`XRH zCBA+C_is;J&v_lkdEfqCFR%c=73d!&CS zigueI>HS8rdrkF@zXue*jaGs#qRYEE#gL^L$0dS4op`ApGXW%GQC+=nq|-D})cefN z{S*o*m!Kc8zU!&W3?O&&E+8}=dq+O}%D`59$hn6IM_B5GcmwVfy%&L#V@%1BK&l@?-7ImY1zw6=iU-oY)a_*x^TE>tka69Z1{rq~v?o-PkTo5{6}q;$WE68<8%p zUJYfcZ*%nL;F&l(GrBi5q7_^^_A8gEd5k!9righSeYM^&`@fv|=RXWiUcCwrgbGGE zsx9!ZU{7e9!x}Rjyj`CxZ^vak{lQBez74=#Z}5AtEOaRY38)?HI@;aB zt_qQK7Sc^X43KQGrzItvDhzAs(C;HB;qkGF%L#-8n-#?6cpO&1n%ub(w>c5>hPQ?< zykqB&F;TWVw$WdJFnic(OS(uqFhf0aZm5%bfLI{4(H_9bF8wS3_^_}Wnc{EAu3c4A zGv=F%b+@_5qm%0YR9>*IgEPnB^!m(2R{2$zFto=P0@ue32JHRpn*5W$A^}M$g=hef zBbgifM{cVXjEFW{l~R4g!WMqz2z9|qW9KFVnsXP6)S-phs>+p;OnyWG=vf+6^x%!2 zH5FyF$Ouz*!Bfjz>ynB51zM2YW71x4khyPm;eUknDV9VYXx|9ZuN!7dssqhnUYdtT z4u!tx3hgh$-$=GI0=Uks>bZ21mmC-%96s(yT_JWQ3w|_0#bzzV9TdSnz4)59;76jA z#2y4xAu0t?4@e=%>8ZV04~(Xsw`3a*_1Vv3?fT&LNkobX#Fm=f{FIL-k&Q}C>^gmN z+-@{4n<0tvNrJ&v3D})rCk)qPU3+I+cBsaXT>=A;2(H#hrAG7c*uB(uWZ+&9eW*ig zSif3q7oEDkErt2I<0&Z2*xF)WSgNYCmKbWPfXb6NN9OX$ohATIRmn#~G(yUF)Y3Uy zXX~VIj)Z{(%=*zVfZ-iJ(M>aeLc@n&MdzBT6qM(LFiSz&kmv5*-1^fid=;@(fy5;N z&ff6PbT8A&yeLV(R9v%QQ$g5g@__NAy?cl)d?b9b*Bo`3eEn7EL3kAgiMlIZX=A`t zL#{X5GAPE}nKTdHy!km|wVkj(tMQh#0vM&^~`u<*@#RG`-5t#pU2IsL9!e8<{Jx_$L zBICcb%fdRQeXQoslL}#A#%Qj&DJb5NNqWKJB9Gz#py;`e5fS_7OAR{ktFyJYxcJK- z05F!6aW-r=7$dOGkKc9r^B@@Xj*mEV2_}ZW$fwr>{ZEDaU@H)2D}wI&qR*b8ZoMMFoc>?u6Hcn{xIHul1!3WWWwaJ; z03m8Y8tD$4Z%se=rW&~|tMGq^t0d2|g`y-=!ew9rWEIu5&PkoR)~}pUpQLE=-_yub zop$v%O~zVCc_@du6$;)yzI-@Zq$weIuB=7Ni%p=s&&7r7J<5G!#^hE$lYQ^6{%oX8 zl!&A3&6BMi;@g)buEbJJAMY4&6n^%s=libNe3>Q8X6L{eytBviuOvav3c@Zi6IAo- z>dKp$u`A#IVk>iv8%HSIHS-O*eIUMxt@6(e4ZD5I zAH41;oNG>at%Z1FDDcUE1?rvqJOWeS~Nkg5ijy zQyASkE#Tb;$KA+|^}Gn0%55q*pi^k%A&w=~-za-w%J@&d+e-lBzkfeO2w9>Pa}%?Z zId$21ouxP`E|)q8w@#FM%Nxp*6=VFRuo>?xPp!v~;OVT!2PjCi7E%q9$@!%oBCRc_ zXeOQ@^J{jVKe|i$YW9eb9o6j2!|3~YP3B&n{4AB*l6q=3e)$HINZ%-un!Pp6C2gP6 zD|fLn*omcEZGmLP`N3DGkdCmmPseox^(5`9htBHXTH#wA9{sPNWRLxZJ9)Z7%Wr7Q zxVVePJ*#yjKS^Wg8u}-XL*zNzVDqCIzDOGBCD)}&eP}U5HrT$O=w`!n9JY#yo4i;A z_AJ;ti9ebApvpK>LO6XzdAqTU=_`aDry(v!^@)XX3X!*mN3~>c=HCb*2Bb*%*1krj zOAD;tM(I{Zo zgpuO(d^PnupPKt)lk^h*8ga)VBut+k23a^HSWt$jpGo)DP4M4-JRT zIj!mb6g48THOuAcU*ZhPe&8&Am9F%ZF{DY^@amqLhl|triROpH)Zmw{c6m2!v{g4n z)gTqL8iLmJRF*>-I?blkHI)bJFhK+!u52pN7{g-XsM^rzhgJwj*ZY4tM@44pJt--LUnv#>zK=<{lT2tE}Gg#JnaiTLYxH@9uch9;= zt7}R`Y|NTR+TV;rvE)3-em<*B;6-eyGDY@EU?XZ1@TwI>HSa|S3AI@DDORRi{|H=M za1E(PoxC-w9AfYU`vg@9y*8hcJd~J#i|2Toj<&+nfNU7t-veD;B(TN7~ljoLI^2Q-2j*^o*GrL%x$klMD}ts?Z7mZQa!b=~@hkfX(UkaRr=t613#-oYo_UWt*$%H2j(F@=_NGMf0k`e{@Iap z9?@-3wor{A z8BCu5tR}0le^zRCnAH{kZ@AYJOu57u#iwA8*S*}IwoZgyQIHgxnL6>Qpw#4V_~|76 zw!s>G1SwWf-+QNSeyPw~|7YQBX0`;cpMnKqz{MQt9I+t5kf?j*NFxn>qOU(9hxMtC z?uqL*j{wVMi<>VB&jO;=C(E;(bTExt%QY7%TQDMQuU1L5a zg3?h}V9Cnz+MX%U*@}>*Q9vy$s7TJtfW@Wsw~5MXKqwSC4h-1>><=Rojq-w%;O8`f zG)j&2O%Q@r8PC|y7syY4k-v&sB^2;D=g*E0k^iCYY@jiK!Y79kq0Z3d&+f-v&8Rvh zTQ-vUAOTx?2*Syruz%|A4b(36K<{WYPBZfgo^A;^dqAdsk{eGBtC7z#O6|V1d00>z z#e|PwFmkNbPT|VhZ0dFj8FA$f<=2Z7Jf~tFxW-xgIkRlrouNx_LnED)SJxY9Ky6;Z z8vWsT4R4_8is`SMO0@Mj0$W;AVfMzL@V1a{O#wDX=7_zNYxEJ0_=(bhSP%(N%fYp; zwx)?9%Bw_pJ`yjR+&mU4$lhh&K8o+7{g$jX>WD#Dw0<9TT)1@N)+&>a zE!FF;vL@YP?z1x$WUMU-tOrO&#)=>pm)n4KOA=e{hBHl!F!18};}rnfNtXS(M8(hg zV&6VO+{)MgCo&*pnV-x;$$+&i1k(23YwOnt)5git0y<}5Ce}Ca>GO;-tK=i1Nj#0d zI8FhADU!Xa3zv4ln=ds5%e_}`Un7o+1O1KIhV64E(I-%5*jG-%6?sdl2T9oNcNUF~edLA<)_GGN0lFPCvK6gp-r7 zZ3j}Iy!Di(x8>Foedfs2UvxhvOd3_LD-Vc^`-xKhOrr@FrE`In3$8c~y@4Lk%?76z zs~)V!`Zw2am1)GDxBro|G|;@;qf{@O#*R626nlz4n=u=nlZv(i(1As3}FD>8|C3 zZBR%~ohPgmYoC_(H*8J3aHt>^PxZ2zl0e^rotD;NI%O;_>{_35+>~8zI|0Dms9VX2 zs`dQKKi2*CLNMwI;1LAB-v?$ux=fwZ+r>}O+u=7qk;pvhKI9=ds0EcQ|Jj{L(Sw*b zmKob<^WCzw!SJ;2nps{z8!A;}tewmur8Qn=dL)#SX)H`n4z zi87*^zg`&Q0|!Bg3+)gW(~;6tF-No{{x`iAK_V02S55u5*b!2=)^RE~C`iYI^7&N1 zo$ZkM<8kD2=!uws;P%u}Eq{{7^?mi=@*e4{D^Ed^Klo3=$6{O{Eq+zxn%`PqQ)Y)) zI{0`bEG&eU>r;igi|_+3zD!1#3;)6`)?~{kpvwq0@Lx#LARvD8%MjfeONssPn7F9t z_S9ZiC$a*I9Wr!J6w$Q1W5e+7Xm$VG16EuY@hDK|v>sv2`|m7tDS9)1IRK1fvkX<0 z{w!suV{FO4j(WP={O5dvd?0o9U@?#V`_8jk z>FiB36VovwoQXFja{+ux{( z^q(+r1P6-&fqdp;+|MlJ1%ku{DM3&(%2WN5SSE&AhzjQ}0r<`5 zm2Yz$jmczi7roIXSO)0buleq4@}We1pZ(O_I0{X<8pXs;9~NH!!T?&ERsb_XvU`g{ z*I!ldtAR&Mq!5(QwL&z9D&AIkNE2#`sZJP151_rv31c)l-y{^%_m&G0sez}9x@f&` zYN6@CeC}yKVeoODu`nQNGNUrFmohM)QXJz5*jw|ZQ-L&7(IX$%oJ<*k*rg}Fri`9Z zM!UXq*9uqeN)8-@MBUd^oVhyB9?7)~ox`cwPv479*s|QS&pvX8MlX&irx3w}xMi4f zR6b4xKXZB7xIFpbDfjRFIqrF=R?F2L4_Ps(x~_ekJ%N2Sl6yro$=`ru{?7ODRMSX3_0OdAcx& zf9#DIac7>$7z%pD-wG?FDh?><=8Ii9+Wu#jPRbD+|E;KqU+F>Dkmc4PRY!r7sU(v+ zHcyWIg;3c^`%TfC z^fP4_a9eO4Uwi8{03adf9%HcO`s(&X$MpgG>ipA}a(doIY7PLGu~aaA=*3$a^XEs^ zZ~(|^yBGQE6_i;>DzVod$yGk{$75#w ztQ9i$aXUcWH^DI97A&?#3TCXIR{PNhWCj80%|E25T`FAIR5u?=dwBm;~cP88u*O2bch?OJY_}QR`3}-${4paSo7^!wcz>_zJebb<>5-wyl_#14Cp{SNv*^lsP9%PbPXMdLn3IRg`pLhI z`JkHe=JuezTP<`+cFdI7q16vuS#QuR{f1=T=PG$$WXFS){nSR=SQoo|~EGN3_ zL4dI#J+mY@U3=hLpzCY1q?XWE3Um3-`cM4XIm*?Kjuym{@=N+dQnvBMcW9=TBgrX$ z3XL`fpAmi}@_V2pwm;@Xa^jtZ(NvJ!5g$Xhhh=E-h%F+=+G#S4fFq5(P~*bBT9WwN z=Kkl8ql%(Vl#*J{*#k_Rk35WOg64Sv-);ly}O8KT#@GYUA*2nyF_ZHn=E6R)0kC~;J^1AVWsGILzAM$OqF?5@l6?w8NE)>1JgV|~8uX!X7Z|D09MP|g-n zaT;}zexZJfo}5#7X9vm$BcDlYSJJVJF&$xSrfA1#Wu1*P2%-e=akGEM81c+lon3Pd z+U9*lVjbEiV3H1G?68=6T#B3@43QHF;nENFo?;t#@SPKm0TL8z^QUr}dc7yFM#(&! zFs_(fg)gAQ-6ld~N)T~Rfe5O+Qc6-oTv@6~q#A>g8R>biU38J_r|E%#A?8y3C|Ofm zO52_KLvt3++6w>BZp3iU-O0^UsaK+ZFW%WR5q~9fQ!!85Y6I@uR=oZ#{)&`8xWfQ& z;^&p&VFk3R4`K6mHvHrR#sCL>Pi{EKzOPm)M{k_uQa@u&&RF@06<=iV>NJ8rIXuxn zLy&0^yCFKyJO!Qry(PSvE-h14*I-?_&AiwbIxQI9Cw}u|JhgY1D?{i6Vo`8Ep_>W! z@HBZC3ECLR^9;Td4W>h3i2NiX)^Jyko;UB%KH zl9>Ts!e?`@sl~2a8WsQj6uCxnHgaL&y)(e3CL#(8xc2A{#of}PcO32h6Pl1Al6GMHSY7P)4h3kV)%{Dckff~8%#FS4(xm{X>!iq)h1jf zl2WEEv#yr7xxMF|_u-+5ur#kwT+dt*#ni!%z~ zG&{8G^+5A$9^uV}tJ~^`stjA<=&i;Crqy7yZBU|cSfThie9)JT z%QDwk0PFY#3Qge^vjRHD@Lfg>)k0KvxzyYsp?$)cmF zf!5mWy)%?`$@LP<$e;J=22kzI$H&QY&8P0%<5IJsfw13iI{tI{3h^{n*+t!!1+()b26i&TX3KFs;3A1L@|&r$0ePKqX+=l7vF zrL2h;4y-_3d(AERV|#9Bdg@cKms3?Z!!50YQ;~f3n#20Z^;c3Ze0?j9Tf!igNV@4)@yG1F_tZ$v zQ`rzW{eLmuqFrW>@toG3FfhP-K8}=R zMdApnKHdACY}k+whv!rN^}v;G{15?eG_?q}@^1?2C+$xV!yK1EzSUaJo|d-h4&JL8 zKb$yD#ZGV&{U2bq1&?=vE*saV`2Udq5sR)bd~9)j&_Xn){u=^@Ah7=%qGD9^?|!UB z`@_oLcFcx+61%ZO=pUMzuwQaKu2PeI)+f)&h>%|UgOsP_K7I8 zonQsYO#lSH+8Nu%=Eb&ghbQA=Jy6Y6)bDQH%2`jbzb7v*`#(sQZ%i*H42MzmEpBZB z5vELGtW|t8{bJAaF|78*=`Um|9sJ)SAf`)-R>^LB23UfM2G9+6qj`au_FY?qUgYj0 zO+8_&o<867r&kF{EeY$7B!s^>4*~mi9xqZ~7!VTbTusRlVlK>UAPA=yy9tQt)cS_R z`8R@8Ew#r?C531bp>V%ue}8Cjb8FPUXV>5MDj_2$39UmJmo^>NQT6G1aomz@c}n{o)rk+lYf@L|EM|OHfF%yM^ISg z#Ef;{i5~oY{w(JM-)1qHY%u#H^@7H}=ve7{Zf$AS0)M)IXAO$cu7?w2ddL+ z^i56lq+RxXgh@ecVft9KNWby!9e^7?1)Z`g0{1$_X-b3t{|kkGf;WzMccFfpIBgkHKYBteb|bY5i2p0lBU zuEU1Au^xddlW3zIv>@IDstOZb%m?kFDd=ML88|AXy4Ul;a^8@es!1?o{&1Xga4o}& z9tF4*#k2~7h=eRzsv+wgyS*tDU&e_WP<4TpuUN1T z#_Ac+yRga7q#fWB=L@xkGMi#|qXfdH3;D9Z9nszH%^Kn|)~$bFgYDmofFv>b8hEdi!sX;i@fSANX_8 z(a&f4vp|bqjq|PSPA}51uDX`UFPrI2 zd7GQ%V-p)EvOdH8mjD3&&X>=^EfCFdGa^1E>?RLX&mF>N^Fa zh(>Vec3N0fDc`oDfF>>$#Jw-^1$|~eMqy~(3D!Yuj4juF*fX!kf#+gEH(Vb73XnpY zqo?>b@h(_};m?4@X3N1p_%Qg-M9=o_*GHv5!U#*I#eX70J@F!JMAc+2D#Nr+11#VA zA+%@!>37Z>djwtz3U0aL6YtUG#?}DijYDD!EEO^FAfPueebWXhj39KE~*m9y8rM%4nDw+W zdHV5?+86<`cyaL6wluL^%02*oy{(nLrvO(kIqwyJ$B*s&!Z!M2dQ6uw;>&x@;JzrB zP*k!$`%}FnqPy|?uvL1O$K$s%#htY%caAXjpwWB!Y& zvVGAn3}_Les+r&qM@O7&ZKZs^JDJ%8Wc^Dqok{n_(U)>($2jV9jkm8d{$G-w7H>DK9gMcX`kH?Va{d0`{F#oXO`tq z?B*Os!?24kBx+@%X)MD+vL@e?y;R`2k)4jA?8(Q9N$LT*SG6tawHr9DW_x{dup&6~)K=FV3e>R|??TnYT8uvKOH_Qq31&GwC_Hx_#KBPn%*F8<#2z7?yMp9FIIipXwE)@e7s z;g9<}-V#q*2c{{kdFLJw9Q*Z)$!Y7eW3lN8w8D#V=?|{+jog2ecip%JycudjvENr~ ze<2~hhPU5_aF0b0)d#k8fp{RnIMRX__e;)=vaWQI`&MEv<47I+T&{}7%p3h zk4z`>er9PaB1srn*&ZJi30&gIRxb`Lr6;2Q+Pz1i=0JbX(pAnm6n; zPo7mD?>)d)U87cu6G(of#UzvS(V^6nyjV|p z6QaH?l^h@-A7Y}l@F7y#b?;j9QpB-jWQZInsvQD1>umdz=Zf%uLvPJ@Q@q#nd2$hI zUE3a+Q(A~#aV|GwS6BupExd!y`aU^PzgvxDAUB?ag-o3x_uAO9Z1I43xVJNeUbk&& z95ce-G`RnQ&sWn_KlY9S%78ix$;Wf1g-*8lHO@pz$}=;D7B%mCzX5=vALVa)sYv)7 z%UXmH%ezCMKZvzA5bdGRT2vltG;sZGpM)nOeBMI_iwA#b&XRMg8uDcDL--p14&BiM z*YAKg!os6!=kRF7)O3ZFT_gdUT?Lv4H2@@|Q*z)hze3fnW?nPR;Ny$s0@g~xcuB%3 z$8}Jh9V*^fk5MV~ygSrF-Ai%Ibd zu^{(3k#V$(3d>jA>paIGRnM4cpZ`{#FXZs-QQP|#r0ep>v;j*=txPj0sC!qOhUyiz zxl`2lN*i`!=@!_Cmn%z>GdMZfK4c}Le#R|L4S4FK`%GMH&_O+;uWD6`yOz>Rh9rxQ zuQ|C=Zp#{>bx~C-X9v!X*%Rq2*8Ud*00;TLJVy6mQzfZ|NA7CD)Y0m(Bh@HyhuJB0 z`|Q8l>8T<=tazI7E|n{*A*w$z#9s)a!tzefsL5uyJ~^XImvR9UaX^5>;Y+9n@f!iP zwp|W0*Hdbti+xKy!Llx0k`{A=T@k}gzY3*$EGQCK`d2O=Ga8{S;w6mv%n&s+?@S7n zF57(@T>;@!vkc$n;5uNV@xUyD^o)_)25=6dR9(T~GIYaG(8k2C}*Mtj1m3noX|R z68h5r3DoKC<%$7L*$|Uai83qz(!R7*zmmQ`+1Km&w&P#C&x;5&<2{O~F!)RP=RR#E z(_&>YKGq?J2y6EnpI}OUwOBoVOQsYgvcZAdk)HSY^<}lUgN*Ing;Q@(gNMT(67>x$ z9+|iA$wnj+2lM?^idHm@)1^;H^r^f)rD^rH9e1wPiA1QPjLF`oYf*;TU^7MS-&8yr z+ER`w4ycFJ8HnIRk`Dl9bQwZk*a4omdo6LX?D2A7S5Y$TZ%6=1AZ5)M^~`NEfH<Sy#CDhGBZD>bL_bg=6PPpJL;74n1a7a^JN#NsE98nWUG7xIv$1I6a$HBT7Az zlMfPki~}-9qtg8i3fD{UMvR=y3gcpM@;C~G#s~TUwsFAf?b|+a$^ph|_W3Xf_tuG1 zs+tCyHY=2Mo4ZVGyn5HU1QPy+EY3}iWnj0}E zIzPSVA}g8#Sz%xIh?As5RS!a%>5)y0 zt*JqJ{9iiX@~&$fu|`oFo6!Lu&NW(>lA54c=qBFa2SeM;$B&aZ%E|9y{6uEm%O=sY`%bL|rku;px6qoh5}AM}kKa)~(bxXn-xjLV&|G#BIfD2`oP2Le zmneTBJ8{8~_*YgElRz{3Am~Pq8Qqay8L@6F_ekN@fIXkT^sRN9Qy+%v_curD-j8CnbtTzsrF;# zP|?DXl3zGI^AY=pt=^5m5wR_pW7gHA`VY8-z4S=_?+-?qR`h314Ug9)P`>HoHb0Vh z3Eo>4ni|a0lWG$K^}u4CoKEFlbx&Tke{Z<&v$L1O>?VHwa81W2F$}d)iN?FpxV8zl z;T*X7nlvA#^JhTP&|XM`&HWnNlp7T}%WX6!X4r`ch7n63zbba@QRkilaDZzqcOrhIBUhQOWBcuSB2 zvQfgw>c#0MAz5okT_DKH+`z>b$kKge9;-&lz_iJzq#39p6Y&xnBP)qB0S-vWZ>m_S z(Pz(Nr*Db*!ngg6UtRkLHzmM%HNKb*e*T2N&0ceN4*`76+SYcus7ghvJ#LZB-~jD1 zw&IE)!Tk#>)EfqZDE|<(?vMN!zID0$3@ov;W;Y70`D}|ALB4K9?S5)0r=*Odx}I8$ zZexU}|LEs1JDOSK!3%)fPI*%Gy!#G}rewF(7r_c@g~ZX0wEU4E>88xh|H3EQ&LrZ6 zh$En+u487T;fk`|a;{{P$}80~;-sjkhZtM$M7%(F8VshN1n}hhn<6xhsQcpDsO|JULrOh8xDL%u=fb zefY)!^H0%dcvxK|NX)g=nU`_jB{5Y>d0u48keGxdE=%VDd}~>q=-UnY94fH7az~kZ z;4gb9qDnM{bJK-&y-KqZTRZ(X`TASNYemV_63kgstHWBY8{Hx`Y!`vb8+Vm?NlOpC z14m)J-ZPt4ayZfKpga@A*v+jrPGdFGwwQ^OT)r1yS?_9#+q?eV;3i1wMV0U-oPuP#=d;5 zvM*0Q5z9z}Skv|yUKXI`#+&iX-vK}Av)k)eKdz!^!he*V8)H-3$BXP z4H;d^h_4myS$6o;YnaURVH%0_Ttkur$-NeJv+5VZdKI&)&a#0Cx4Q2-x==|+64W@f zj`jCGt&r(6M&nQWePRkDpg5Gk zGz@wL%TXX}{AR`FzQg`wGA>Nt-J&oD9E-IuW<~DV52I>cpB#{amZFVfXG3D}F+c=- z<>w19X!u6KJuiD?62o3(*&jYMniBYUDQg2M8yYVM!$=5TySlts8QUaa+ z9Q@6lOxsr#^ihm7QUF^s-$|)oG+U=coAk7zLIFnK%laC!8q<7gf-qZN2Hh$Cm(R{p zXhloEK1lAR_S2X*zwo~l;EBzzlGD3)>?9!%e#UcX1z2o?xP!&2!lNL?@9GxtjsHO~ zY{(+a>~xnpVf@jMy_jNh8I(s^j-DOEzbX5V7ep$=t2@|jiSkkj3Bl4ZB+(ZJFdRwD zSk#oQ3X^06GUNLo*n=~8IrVqOpUJiSxpRjKhIF8E0iOqS<^Aca#oOfz(U_-LCxGD* z1Ee){{;B%pNY`vOMekUZy!56Wn5ZmG)CQYiZTm9>1b0+@Frm%*9d>($MvmXny_J+) zsYNw*`8HQ1e<}70g-*J54azP-T|Nm;&b49!ycxD)Isv!n$! z4-JAgz!jlH0!3T*Ld=vetJdSL{lNF^AM+|o9`1@EtM3+lQt7e-~;Qdke)1#Y* zRqAgim#JktV>hPvo)3i(ohxJZfh%P`3Mx@c1}=}x9fc_4AI5=IhRkT@|{3sHW&D2A8|0`F5iROH;Mw~e3nt+1=S3{1~zAnpf zrz`@4Te{$i?WO|Gu8j~BXh~K1TX(>d2u5rku@HDQ;MPblvH>``N2sqe5qTE_5DrH! zR|R~KFUih-yb(OfU*3w3SfNM@Q2hPgpl@HEg@Ho}Dst}zMAHM27C;%K_t8Axw}uh_ zW=mk#v_i&>)N+-6X(fWLrdr%2%ZFVCrz2w9N}-WB{>^+ocCk*>?p%O>Gj_NuX6|r< zN$u=i06%K<+E2Hkb3jaR+7egL-FIZj&w25o25#;|pMx+UF!UX?8EBWx2R8jAYC)B#>_#b8Pr@j~g2QxhD1H|iQ>6!+^`<2VI_|w>RHIdBi2ZFM}I<1S=oh@|YedMUxD9HHj@xRX#ndPS;bDHRJ*&IgVgF3nPT#{9@z_6DxxV9MktBnIk97K%8EH2Sc;<6e)S4b@dL3 zZ|)j}pQ&wz-zh9CDwb8U@d+Z&qSn_$JULa?A%;y1Z&(_vMsBVsfBb(8$PBK>G8TD< zDGdR3b)xWDI+Nhuis6(d=i3xp$p?cJjwYu3zjJ+acRZp4-y8lU0h`x+aei)TpnNOl zpz!M5<7K9dKKZsXZpgRm1I#O(@)|Qtr_v*HE~e>mml~FB73$b`As6&0#R=cs4wXOK zvt$|+m%v@IU_6kBlJFzn>AIMX8L#APP>!cKq{vd*zXeA@8tM$*g>z8rXJ$2dW-wafDQ!s@l@<=ynsPl>s)( z#T(?OMUxtDrM}{+Fnu6+?WSClW@ZnkAGL3{&!H|Y0NC$>O$n|?DW3gPl;OBZqE}4W zh<=2xLh$yJ&7X?Rb~M_nGP0PY$UCx$H21oE3Z$WmljsUejkjfeebHNIZMy9fmnx#9 zeowp3_yA}3o{3F}2USe~;-^|f?|-LbT4`zEu%5im&6H&@<9q1Kp*6hF%43T8ox9fv z2aiO9@jC0NHsDA{xyZMHSwT=S+KiT{z{TTbm@#4=+u<1BO=aHN_%jfAcFOT=*fkPd z9MFiG!U(Q@K%?$Xlrkd5*2H(E$t<7ZRd#qv^liaZ!&}3W83%oAYwIa@E6%lj1%G;# zHRNSX?foJF4jRuNQzA}C3l4IFBE~Y^u?^_XcumgNln>b~Vdbx1*xE-pM%dwPTpS!p z#9T;OwY>vsLgH<5Jn#Y2e8=T)z!n%g(N!oAW^;qYZyW<~{z?BELi!uiIVTO;lSx1Q zO6u=W0{r@{@r~hdXjazCO64$1#JOYtTd4ItGklXN)k=`19YZ-gFolkN@xXgp!p4WB<|Z^6v!bjLjLo4AN3zkoO`4UK#irt8X$mWIz zv^)J;Q$$UmH5hZYsU0bxqIzZGLwS(xPVc(snCa>Z-zU}OwHSPwVe09)&%F01W77%H z!3WIDpU0F}1`Y^mKuuz{x9f|lO?kC@8VDC08XET-ZSDVB2oeN62{)dA&26EsWqDEW zs-@(+G`|wSbXj0u{Y7HD6ZhZ_vBM=}NE4Q^Q>e1cwYLuNVXfC97XXISGiBKI118*# zB%ZJ3!5d)WNRJa6o_gyS26m4_kqpG44>s~Mi>m1EW1DInM9J@n-lnBbM5M+! zhU|Y1d-KKtp<@4OB)bzwaJ$TU-5>Nap>~YLNBwtajPHVFw|4xT@defdnDBWT?UdV{4MT8;%ad&Y8FG?V$!8MI1Tl=O|ny`U($Qp zgIykrN*=Kzn!}V;uqYQNyZ&@FF-_3das>T1hLtK|saA(sR8FP=pTDQ|JlK{YUq?61 zzx(S0r$3$b|B4nf=F9yP$qZ}DE5q>TCvU}!rIuX>fQSKjr#WorAeGNTR<{@AGFG&r zMBRU;&|0T&J&1?-DnR34vK>3yLOCs*Pvt8Yt;wKsu=&T=_ z{Q59V$LJU>of}HZ7Z8cTXpq53X^@f>kZwi{X(W^eada!)(k%i?H;70h&HKFn06&c9 zdCobXbKloBREA$BJSU}aX)Em)n`@1&{@+z%NHnTLKADh%CgAas{-~$oL}OT^*_3WszF_uc4Y0&qwsmMb ztR=5D&e7JeFlpVncpCa`MbfrzY@181knI#LjlzkuJxM2Icv=%1kcG9-g}mz zZ*h<>-IZk8qExS13;BA&37iYmCQV65CR1CrEQbubx_Vd^TFHF-QBU}ZHPcCuWx~Fq zi+2qqkD%NhL0{DXXuj^rZ!}Qyf-DWG{I16B3Pw?8ESxyQE!r29^n-c0UV@;~GMRHw z6QEPJ44l3l;Q#qB+Xn8rDso|~Qc*sw*ewDLZ|UV|I3+{-c`DpPNk~ zt%M-X`at63h;{`>_{fMmii5vd`nb!pB) zG$VL(+MLx;H9z&wE78W#s5R=djA$=6H@sXDn-}=b^JU(_=bUl9Ryfyu6jU0-F)pguTnVDXd8Sc$~qZoq3fb_&8LM(evPLW4?CW{R26%ZqRoX za)lMDJ(}SW2Y(?P+NoW2f6br7IJ+Lo;$(HkH}zjET5M7SB$$*s1b|v{L8z*lje!wv zI!oe{J@DNPHgb*d$GPtP0Env$Dz52aLs?4}-+hJ`w^I%iF)o-r0N)Nn*=o~63}t|% z-xGGDUwjOoN?j;Z9EDy}l28YW1?d!I&6SUvu35t^vR-o~mOhxT;bVXP)BX}c?>>!w z0_oFH6F}yzrex<5f@hyWf0vB=!#QHNG*+aSiDtnDGs&`dJ?P;ZTR7Qb6~@^^G1K1A z>Vyb*a$5v64?N4mc@0!w2UOXh(odT{_uBV06dqAQuY#)*j~=0Npn*Z~i4}81VFnnD zM;Ti-$!cwGh7jcf@xI}<7odPtG{Zc9)GIbFiotE0;7%tlI3S=3I){p z@212B4aD11Se}Tk7*ExQ2y>~Hxtk-p^-w@C`-nD!!j3QPc6xmf;VIYBLn#ZPrGTB{ zCs_8R*fT45Gw^e}c5Oc_);i#Yw;E3sRiEBO(iTo5%cS&r;DiTjbm}N)ubDI@kzYWl z9Xmlbl|kC`J}3)Xm`M3iUw|0-wR?G3d9+>e$RqsYxzu2gDehX&JLf=UlQB^*;z+Ed z2)v(AgR?P#a{P9c1wMJ>WMh)1tx$wK2~~g@C(8M~&yeYweU*A6Z z)gNDiM_$cxWY9_0KON4X!!IXl>d!g6uKMSvJpGhFi97y)0<4?QWSb-8e9PK0^axRY z+N;C(uBs}@)beJ5n>AL);_!jybwHmf`zOvapRvlAi;ASnPw5|i?5k4AUTBN3(%D7# z4^R`1+V@^{@z}6XtnCFG&WEbl)xY5EC~~1J5@KI-Z7@VdJ{0uOEW=SrY8V0vA`Lb( z-!}V8O;vh)4`X=p4((dYJNDxz7~=<{g4fn)uRk7)f2}$x&55blh-RAbLQ3R8n1Cm~ zq|AozppvEk0T8U@@tLe(*0FP~X3`fzS_<#VF&8EmmQ{x0f&+}}=6?Z#y41LL+VVa( zfW#yDUIWk>8wv$-ErybG2%w7o7D+sPS6k>@LxYB>qn%#Ckyfqe=7`ViGPP_KyE{L? z?R0iK2{^x5rR`;PO297LID(f6Lp!MdqaVHU-&P&9gWG%fpb*+W4VhkYZeEzAsAibs z3sVHJhZuWeP*Utx=`cJE%>7IeEqbHPup$_6WUB55#kx5rQ|;Z{f#0jo)fBQZ|0P?y zIqpWQCmEc*=9LsLAyOc~69Aw?{pb>IvU%j%dqTGrM|3b(EAd!aVr4ryC zWy_{F76-2LHM&W|vD~LR{)N@B-E#2e_rOxP*Y{Rhu}o8H7(Fm1WuawnS76)mKw2j_ zwG>_^l;9nu;?0Y_oFx0KdBG}&DmC~!k;O9Z9nfsY@WVF)6U*eUWH>toR&`>GL+qk z<%g76hqlWZir@H);+1>>u)g6=A0s;rE`R@YZ^GiB)8=o*9UQNRfggXNw(tXEYddHn zh+YX$G5tz@wmmuC+$JG+ah(XZ=C$hEzdw?QVyZ5nLEuYB<;zUQy}QL$FpUFMmVHC# z4nBfZh*j=JADbEsa;hb6eSQhAxyid|u{4YrjEn?L&_1zyq9GH}Jnt*6s*WyQ02RG2 z{)X<*wL*bB*@Hy0tiO2AA8m<22<=$Vt-pp*o^wC1g1@M} zu~6}sdFAd}6Jnar*7bRGy?=#!YhfNC)T9&^F+;#p3R8^+k!-rVN(6_JZ$Wicz7RK- z*F54!N=ABGsnr-yHTMkrFb{~c_cKUS?w$GB!yoo3wt?y63^Rq@doZJj(vIM)SAx%4 zpoQgwCHyqYly|UqiMP^$h~htAbHp3gZQ{?edP!+j!6$gH8(ht5rvs8bk3^&xW9n|4 znieF_B|Xc8b88&XyX-KCaWKz^;?kaZZ$^83rO%SIg9`PzFR=|Glqh^4MsuK49lR1) zq@oayvpnT08;2w%8;RKYaOb~iUdEDMSygQIHyTR);h%Ucr7Dbh5%pU+OU{9m_6ty# zBt^yCuasM@pr4?4hNwxdZ%g=9)pe$qc^mpM_3u5;w!?P78VTp;%6YUo#(? zW~@E2Z_iRsWYGmF>E*Gx$#_^&N@i?3#}~hqgBLq*jlAS>VPDo3- zCH!)^+VW`Qjd{O}E5*juV5uvcpW9)`DpM)u#%#2u0tvHnjP%5~-W1SzAwSMV#5X9xARyYhw>w2DyQn@Dt}U4H0sSo}A7@+SmloBH!pMAuD9(>7R( ztgW$-+j(4zbrMNLuKLh67skga&ON08{Se4TW+^Rv;q{k-5X_Q3d?rrYoQd*mVpbrSw6?*_62~2DfFusRLLsJ z!3_t&ES`5PAR+5-=^>=AS4lgAge^u-TgT>k;GbM=%z?QU#WtWYnzeEy8u);hQH2v5 zRgkO`F}bPp%X3fs;X=&WLFRIEuekVw$+c|+(b{}>A*=<5W+2hRaYO(2#sNSBH&2P6 zrIhe(n!%iHku@H}^a^m_ z#b6fD^oP{%w9o&k!CMpBKkVN#v`RSiaf?!xGR}wIDSelzkaT!)wUbWu>_arJhc^8~ zeh#M^ty|igp)09pBEkZ*MX*%GgRV8Q$P`K?_!omu?Xsyic{MDaR>Q08MiS}`I`ZV0 zcE{%mmM!w;>P?pw3MMAQ_h-MZU`$E(F z06<^xVhEyuGzD=VHf&^e;PJ*k=yPalX;c+NQZo+Zk%Sk@P6U4nfL=WK zi6PP(Pe@oviJL|e0pRU6UG;82pPQEr`Ek`K43TxsJ)un{E~tTHxe$AJ26z|@VPPBf zfExmH?W)}|*-r$ErVNiygp(J^7HU*DXUanEahOvP>UbbS3#uGen&6BY*ZNF2RneibcaNTmJA_Hihb{OO}= zW3r~Bwru_$iIZ1E5n3PSK2A;;EoL28&S&$FYb&j^%pW=4aGuH;qDkMOWwB$Lk{m+I zlJ>}As*7~pdh_AJZE}H~i7#I&1rnuG2D5ZOqsPbnM$TQwpyC+17J$2A#QylWsDkp7 zvQF{PyPwY*0~3QZ^Dgd0EFolD2rE49S{zpV8=}pBs2C3m6&zB;w~Kz0KH&u1$@-qt z%MPn?8)~z)T7nwi7oTH5LW*cf-EvYoD-<&Mj zEm&fJ<&6T8)-Wnje2PX#b?Ir$@MmfQJp=iQ|FYe{65mgw#Cf z-XJT%t9c$A${W#Ai~T(ow6R-Fs_3@!_*bSuikTS1%*(-Ib8DNF*(?hDQEC$D&qxZ>J)@*c2WpP8Gr8h=o(YR?GohG^988_)`O+F&u&!+rk zdIl;#sIHg`3(Fn;s(Rq#M&bGQruW+fwHXdKoF%{R^_d6SbeX$rtlys<(X^XfeNr>) zo2HN9jPm|?QZd=DNiuH%Z7Y*k<5U$@(jSX>T8JnWL$yIOm?vn;Qk zzoUFY8%kcw*Ob^!;GF19br5j^xKqs3s!fwZY&YZ0^9ZArb5EQ zIG$tu1{tHN{g;a_+SV7Dw&n;EpcGkbn2hs{+4sJs$h<3!zQf0$;VqO2r(66!)ZoLU zf`xV&WiaK3(=sDg{u$iwL6eX!5^%~GBRS} zV~hWN`3Mp-ZnX9WPHe?q7OoxXnOlw7CZrqW*Md<+gV>g0GddG*_9trO-%xl@PrY#c z#W3$%kf|*E%aV1+Wbt*K*68iN?=(JI;!m%J>4##&I;A6eta7;oA`%}~aMg-Fz2Gd9 z$#&L2;_Xe5;#VC56ihb!nvCwYbBTmX1>{g1R}T)ar%%WZYLh|%l8Ekd>b^Y|8YIF@ta1&OzUjD_!#`K6wO?*2dnr3DJLowWyvGpSS0JMF-wfgd9P; z2(r^JPBSdWU<>8sB-Xth4Zh^c^ssqXEpjw(~ zHO@Rl!+0KH)2N^S%K-T_kfuL4GN0j-vL$nId#_?O20p?Kw)gG=;kGjwE3kscEg+_7 z32RRDo1vDH@;zW6g3NCZchU{jiA;3FD4-0Pqf3~Eq2imCqrgJ=xTlN9#f;zUhIRZA9L~|r@g7fl@WvBmvs&JRRgoTMu<5T)nd*b`j#airI=JFePGrem zOi%e4R<>q9{dCuy;6OZySUWvYGnZuviFOy0f^-zE2q#5N|q6(Icf!Wg-IGxJAj1n^r{s6DSN&s*o zvEk>H;PV?@54EnNA8RaE>MH^~SFpT_-5)Ad*yC!BXVX)A9Ozh8fgiVJuzaBMuvl%- z;BQudMJxUDIkRl+^Oig@10z5k2OaHommy7r27W2zt8{R7Yc1S4ClvET5(G)VxA!!A zVK@W7{oT!CjJFGpCnZK!xvx*#*gnT36)a$>O^o%Wih9=;dUMK3+%cPj1p`cxPHpLhIdMNS_CTV*|0XJpIpM$aFxr@bDfho|$ z#--+AdHb?yYpebILJzItu%PMyKI;{}$V13~`FoGM`YLYi-wUdB>1@XkjgIqc-(#T9 zl)DmTuI<9@lq}STEfZ6&O=kCp)w+UbSY*~e6WGDRD9x_O7`^( zuoHNT>QN-6ut7$6-HKv*$hoWV^oPIU$kQpBDjBHmaouHMgaJnPcTPv{)s5jRlc)uj zUhS8FwdBo21--B_$K4n@CBiOyqSFz%yLK*iUEYJ;4iWc0#}9`rmCJu!PM?|i4l13U z`?=F+0vzkU8hTafZ09pY6|{S<1$pY#@e^m}zFu*`YCv|pLY?)BR5(-#bGKhmO8(bW z>25mpZAsbJKh7A2N)wouDFRK4|-644kh5y8s_~K za3?B#SR~^8$?U^SWR5wChJJXE3nHPpdjrpzW|&qt*43*B2^RjB=P&#kJ_imbx0LL< zTiX5v29sP&G!z<8W3qeEzY6owhTX%UAf1Y}i|(3ygIS>bj8D{xHF`@g*Q;%2kUzxX zQh09%|Hk&9>wD#6G+(sC3s_kmm7#3J#$O%$Qw^~i9wzw^5HzUp*_IIM6~|#B|)D!tS$~I~x#9f}%WMOya(sG6cpAf@!6 z!|{lo)&bG6fAcc=SxBY3Uhs)u4%|65KC4sTh}TeYdEh)I-7dL4rK}gy4NI z_)eXnm_a`81+{RMWD>WTzV91UEIlu)m(T>#$}%%B%F%MCw&&pC3pKtos=^*RY!eTD zL#;smnAH5G=7x7lOd0W52er(Pt97)KJS4|5<$2ozQAX(8>qo*zsEBZJZw2?31>eG@ zuY^@OhbRyud%Bf+%oQ<@hY0tj;GqPt?+k>$@L@jW>LAzUFj~K%u!8`irm4@Cb=_Hvt7^qNE;eP|= zY~SrCZu~bDu>u?wZV%o6E9_B;#Lr=*1NYE7y^7eRfHH{P*3=twci=G-{L zZ^~*C-8%g6veMs6TF_t2{JCpFwGL8GWJ-K7eEWSmX+=(Zn~qb`92@(sZ194pl%}Cp zKO0`6kCrignVf#+=uc{Zz9)G#cDgCiR`&#Z<-MM7yzjqH*-q``O>+8|ccndYK~M~N z(mKWbRUAY6n)9gapDhcB?W?%Jkn$ue&P%SYz=xwJHK(6Ja)d{s+^2-9&jTES%d3KcSW znNDJ4ihLoJlMTwDM|TVg*Ga2?!aA~Fw+2Vw25eyR-g% z&@#Q_^Kl7X)-#5#3eWg?_&jsJJEECZMD$R9PeU9aWPEFXBKHEm*H~B!o7NKJ<)-Lz zK|TJ8f){9OGSaOPGm-kiN3MyFJ*op)Iu~Tre+L$M;ruxMQuQu!{GL#*x1^1Qix<>j zJ)Ih}pWiics%d;bNtyF#NRq=D`r=bQyoekADdcyFa^;*S^^!`v-metL9Xu7?awZXH zP3-fcaBw1>_H@&N3AdgviW`5F-Wb$HB=H4Dzl5+~ADXriW z!gH!xU+PqX@$X7tYd0EXCen|+|Ed%4_6|@S1izxhd*$sOJsL#TeGL>3GJv`_XXHz^ zGc8WD7l#tza!m`_-l)DUklDAEp7RJlmMHc=ApN=?_B*`YxA43bm&-uky264{AO`k- zjYqu&0`DU<@HM=Y11KweINf!%`Lz$e);FJ8bEOf)TIYh^&S1M@gf;Mqsic*pIs=8D zr7Q-n1hpvzA&!0FvDZ@(S+8zCvyK8)gQxPqc#bEr%yOqv*f}kUy$Pc(-+%36L>caW zWS&}_{rY9NR5ky#8)ujmo?^mhtJ*?|^Ka;MW@{w%y??BELJ&@q`Y-d0T_a3U;Y3kH zdY+2IY?tuVBCTa-)lv1xk*dhL5j&!FkDkH$A0+7YDAvh!|3v2zm07il)4t`zrM9E; zVUbCb)fp#FM>^St2ATW}M431L&ID%$ZxUO{rkdGp>>K;KXklqwR85t?1sIT5O9Cw^ zasA)Mj(Fi7B?+PGa__j}R@e(+A9fT`6YuC>pAeNEt|!{yQI1_ji{Eoo3TP(9j|=Mp zFxQ;X=uc$NiX%%7MMlF8^w-S4L$iv3=o`LZuC$INuukIUR{MKwNdDR>A zyH|mUplVHbDg!14Ais)}rj?S+V>mJN7A!FZ?`PchH{@{a#dK$|T|F*&$Ed; zVb0egK1G9YA0wuNj(>nFXX+C4`sI;aXS`SuxorrHNbz-CrC%%h{5sohtHuWsoZ>?9 zQzE`wqV;h@G7lF}R%0r}-W#G%*ni26aIjqFY0viWZK8H)+Uv)gx=p&foda3@(p>9) zmndN?BToXZ`Ka(=WFgvl6MS+N-0S1?g(t&YCB8U)%!ibBPYFE~#kHygb0YHR4}M2l z_Z$90i9r2A->P$}9tLD>T2x9w6mefIk7RjrdigntaXhSU+av7RjK5f0sW$fpBAcd@ zMF9|JeB47K7`6`j=2NDEy4Fmg$^?tjPcUq+K#IRR6_>RqEOCy3l|#!|JJ+cQta8Dk zlmNRq5f_=JY?+43$zPN zAcp*rXd1cVvhtTmqWvmZO9y)5y{y^Pns`*R1hI!TDjNLPpaD2eZgnjRr=i}B%0=!_ zu)hgpDlK)#0@UHVHmFKw5}M?=xB6@K;7USIGljT%RWLQN-9^;+Tc3~I0>L>+oXw>& zb8oO|zjJSdZH$2*Uof7CWf?t}$pnZGyC1JyT47%Hg${`^4y5EvVdMS_8jSGVD*tzjDM zX8(CZS6k-wHYskgQB|sxJtiiGp1E?1Y1ERT8p??>k~46&-wk%|w6N?HeL=fpPQ&|LUTYw^|FU z`NaM^npWqv_?J~d$Nq@e)#q{IKLk8AN2ha7adX0U7R8=99;3DR50fNHUA;L1?|c<_ z>Cru$&#ZmKb6Wr_pwpV!wE%;t((!d=!|+*>EsM7dhvoDc2%d3W5z9D|fE=z`bZhVm zY#4#ZIuny*z^gdE0$J={X^4BhdkDUuyZ5e+fQ>aO4-;$&8lJt|kz*I~tUCIM4$iIE z?c;H}S`kA0gSEcfl;jgIYd4=FVS{pOBF=D0lSo{#f*T4E&8CRB=&q%TBBA`{H5d^j0gvTVAgCq& z_ZNNQ$|YBucqpOxmZ|FB6dI@5WUBAK$HL!D7g{TX8U85oe&pok=K>+H?>@VYK6u5d z@8f+(cX)iQT}s42@lSuE(JB5(YGF0B+>-I71b6GqAHgm4KJO{w@eDrq&FghnH%@3G z&&a%f5I6^rTYOdIJxidvmL0i|8F}LfQAq25rAC~}^+alEyU#rwb|BOFc3{8!vS4cM zm++f^gFQx}UG0pQ&gmN86tfFCP+fM=1Kf z!x1@+rOH!l@~U#mebIflWb}8)HWZ7X)_O=KV=!ufB6fpUHHmAv#mWGj@rh0e9mq#8 zlE28mmy!E|XVU+z>>ONO`H|nQ@AR1>9BJhDh$?F?UYRAp$0_lQ0k;nk=4uvUB`%CkF-IK)&&t?}v@Ya?V;7bO#=%PYC9Rz(`SbXUji4O%;b-w% z<&2HhcN`oO61y-uDRVG+fyQW2PqU~{gdQ19masUMvT>gu(%0yB(OTl!vb_e}wZ0rj zVB%?LU3o!yCKOqlW7t5V#A7{uj_xtcz`Fu=(}a&&)>s`@LD zOYmMjfjt4V+#*)6`Ch^#AjkoMw>Q6NQmSp|%5GLcj_z6=u}tznt6q)fp0nC)YjmPzmh^UVxT zGhzW1Tuim32Ipt1*wBd}7hKEwYSqHanVbW%kGn2H{9yPHi=~+EM^7D=9TxD#d0>O% z)L^`DlskbahTmE9sgkoA|I?V?CY5;0#D81)Bg>s#P1P9p%mv1F|MNij<@LpH$SPop zE?z3W(X0Id%U#bw=~YebvkLTn^5!%T%2zTvAsXP@xbpWej{kbH^H=fy@{91S%Qg0O z-}7QJtb0w4g7-?CPqsyB@9^-p1#V}$5HtiFbmdqD5GpbdZnZd+R6IPK--0~SSHuDT zT7ADWYHa0Rku@31XoS6HZpFc(_l;T<=GLa=6D+{KRF^W;XVi6`cr-Us@%Ck@@L`ie z!6p8nBzWU5n$TC&fkRox@n<{O!cbD2W{ZuWrxm@yUrQQNmUQ~Q0z$hVyy(+uW5`t; zd2X}%36Wa>Yao6%9sJNl)~1vPHt~7_2Ty|of=t))F0O%Dz|Ax!572kOv4<*?0T z9}sw&zUx$YGIK}yn)w$|%f!8_r_x)5s1#St923MVg=q$Vd`f`HABF-hWvN+7jD;=B z`ab|@HP5dKcWaIW_`6jnNoz%VB(6JSgr^#SRg!;mM_nF)3O_UuUveS;SpK9>=d+Ts zkQ3zv(n|JFi3M_t;|hs;gL<=Kvc7&C#I4RCu@#38ga(d{6vF)FQM)jkRLwM+(<1WM-2<;4qGVqqv7MP6}BbW(oV z0;hQSD+2Q~bY-&cs^hbM5)(JGj|iygjh9uk{IT|Tydfo&ieZ)3ag1&fM;A1@bUkQx6TUAr}<4yi@oq1m(v3yQe#; zIBK4jGcd$Rdfm0dSgMZpL29d~d60Mi;eiGL@50s_)F$~<-i4Sd<25Lr zrH0TUS1d#L!We??Ph)4Kamm7h`WY&+k?NqjcE#rJz}^Piy$U>{SM<8e=X;iY{ZSjuWrBlvAK zg*?S4Cd*ItiKhSU8u~D|1bcoJ(7(hFy_U*LO26nONU}u~c{ad4WA5kZd}zTgkTpT9(8#U!k~z_?>}-Krf137l_#DA4BTK#`YfVD*dm zHC65t#u|&M(9%>$TPTBwn$8*+P+f1sLLV83*W)v6o6He|-?$OY%&5%@L=LYvnjp+O zji*|ZZ37v8lZdpzP(l^E6KtacVCm5>Js;Rcw}B1JI4*z9ERktY*{&_BE}&W{Ot{4nR7Mrc`zAPZ zSh@v23uLlQd1>4I2no9i!q!9a!q8p)%uC9v6eW2Bi?BL{Od^>DH~zlkI}TAULiz9li6&w^xB4Eo zKz)uzdeId&NH*3VNt{M~VX|_y7}>fwgZ9hT1sh!Atg^{~@I;zeX~N`#?+dHQVOvJU z6)J*=FmmjGdAVEw8u}MLEs))uxH&rtoZ>#8c8m> zJx!*tM+fd#Ex`x9eWLF1KwMxe|FI60!of!bD}7GJQKT9+;j0WxMpJl(aTZb=3wxzR zMYEg2HqcCC4vlRKc<@306rSR|4QACL>#B&cI_pLDv2QfSRe7uA&)Y89)Pn%+En}pj@HVo$M{=ghZ4k1sv-=khyb;=1%YAaK0deP5isP90C4@?K} z+3h}okJZau=2O9Fc)f4|`E;m%A(wJ({CM(fV91Mq=r-DybvxxH82*^eaueeZLDzkmG!&yA(8fovL^3LK$gQ~+k^G!KaQu#V$Eb5KHJcw z2PU^dhxG`AoT$ui4$Huc-Y#9wqH{#SPtjp}oZ8O}Z#GZ+`f4eb8&^f}qVJ|ZiAg!c zE)_e<3r}tB{lQbqe`1IC=Bcnzdp@_6=)^wt-B(aSD=EstkO3?MX(K*ylA8GI!WEN6 zR`ge{{OE}t`KlSm#O2^@8|lwJf`0}K5QBmVS}+qKjB;|1Kv92s3{0NJevkZ%OT@%N zK~T$s<~dHU#T===dd%BDtscwo`wG4n_b;7ddTlt5@5TzH{iYv;jlU19hjUAb1&)T9 zWzX)hZKwG339asBa88PP2S7X^9H|58nezxxGW&RAcT#qtOWBbjlC|CC)ZYzYV zBST=73m`qP4GLM(N3s23)l#wm#$R=cYK^z86R~{AAv~2jtllM7*ZPweEKC7ysdVow zY$ZH>2K7hQ10JGxfh$HefQr{1}h$u?mwS@ zBNWVQ4VyFScba|aI;T>9L^@BuQoBsse$czB-JY&qYlKA-33QGrbXiv~XWjQaU!BljW?@|YB&5wa7GCiYFKXC-i-Dw=9&D%m8 zj5O45cIycs8Vnh-5vp0J5;EJ-{%An^xnM1FX66Ar&P;ucMN#f zEm^2`K>P1O=M#H+e`y-R8J;3v<}g@J(L*%T(yWfzgIfxZK6R+xSStbQv41|yr#4`aH9TJk!ZMu;Y{bxg zSGZ6}e=OL*nk%v|@_6H@hUl@mWt|BPOE}l^GaqK&)kieRDYHqb_H~VgS@b8P;Qqwg zo)6GJV(uP8KEB^TVy|io6+?v%_Rtqkb%L71&Zp6^eaR~K%cU+pV#?%hOZ^Y8AxyVk z2^4IjLe-cC+K!IGiw>YH7e^=-+C3oeRC^>I~Ck2!g)gTnIn=Ddb!*Jz3`X@P$-2=1}O! zcZci2Z0$u7801%o{gqOW58YNm!cT*$PCk zNxpw5fXxM4=vAI?HK@GEzAdOF~!Q70Ee!k+~E+82X9hg+kJ`>MozA+ag{ zHt69OI@b^W=v$y-*6mwvj~Y~!vvCDKpF?e-NX9O~C--s?J_(54cHVF#<_j4VGO+Gi zG^${!XmMK(b!z0nT`TsTCHGKNcqRgNE<=G--FcnR`P&*Kgi> zwi{2S?ITb-KU%fMd_Ho$Ot@_BJ3#mUoALz&jj4p57+7X1gtYmG^4l6pDV7l<_``t4 z*-7RB!fM=!6@2Y|p326Ez@Etq*)2{oAIiS(EK6eK=47uR-7%?Bxio*|Z=p(aF3rZK zTK%Q0r{dN4vKN*u%qq(kt{^DQi8~%@CQ01MsEL!>Q=X)PCK&)YIje|Y;^c|1lx9r zI8{h0XmNDt%ku`1C{a~{fnjd+ib#yPWha}X3*GSqSy>6cIQ9PTrSkvqeJq{5i7}~W_vdmnDXre8LdTo# zp9-NxIf_(1lIACB)|}Wg*g1S@e1uY$<8-m^M0MMCD0S{@gUbVTrsUHxR~Ea?*8_bm?LSgP4CJV+0x@ z4T8PzFDC%2c;l@rJcrM%1P?g*#lC@psy>2FO$oPktgvWh6Ttnp z4djH_wJ1U!o_OW8F>oVw1sqj3Kz?%o)~{26I`Pti-$-+&ApBHYWEZ3jh_*~Q`f+BL z(EUu@vO54!SxBq~B623nvc3``9LGA&QL&raN~V~!NCDX_Xg!GYq6Ya_9i9EZ&sh%i zk2M*OT(?X?k=)604&27<;KE z@*t!>#KqUE!>)-Dw=UHi&--U9e+iwKQPHnK1cI8Z-)i$>U`>QwZ*ib0X%^oeg84r( z#1z;K@iC`|%kNUpB-_09g+Gf0N@a<%Oz9;!K!u0s776>%l{VgGUCBzERtKKMHDD zP5k;ip;{(p!!Oe0Rj{Vf>=dAEi{sJiI`^25uVW)wl(QJ|r zK{(g70t&-TAF{&+MJgvqNB)8MQc^Qo6~Ss*!Mq>3d{AF*3lzLUK@W9v`@3FkA>SLS zlA35@0RSrfRQ1NOtOre~P191&z;;xiQGvoO;fwERPzxIYvCu!L14+?YiyXRO_luN~ z=@d7~U!)ES#1mq`VTc6r(H@>U!xIhDKs@LU4Hl4eh#g$WRd21K(5$)|!|s(!#KX(} z0yB8A?*-)h+j>MIvbkCG2W{`Q^-xcr&kum8)cWtx!*r%5W77uNMnk?|tp@)cO1yvs z+QawP&<4JFzuSq<2p6rZXwJ95X3H*{%hmj6ZWWjvd=a9Eq29A?w0edpa9-W3*$saC zRY1Uz_UR4!@T2v2rJWI<=Y& z$@rC%D5pF1=ie(4H5i8FjvN_%e4YqOEHwMicGJ|1FPYk;n{A5+FH$4$(m|mrhCc)M z70O^m_9SMce>m%3;zsrUJMt2eA5JeD_qr4r2U8-Xg~qvutl4;Cr}lhBg7yrjt;j;| zX(s-Y>&`8WO`Ic~h<@!r{Fvi&d$EfJsU*$oYP`CF^vMQ%&KfWLNyEgcUk;!ihPj(X zpI-n#sJHs2ccPpwoG`QwZ3Rmg&)F6sAwKVC$m*hq&42s^@D=sU=QP)}SEi(z1<9BT zRK3f!YnlkK-KT6{4j{UXPiHEc-H?c(nURo8ESBaLRSg@~#d7HlfJ}1`w@=LhHi+z( zWsN6LzrZ48eQ~HyAFF+~=Bab6?$$|FvwE;HK=W`rI%#v%_A+1Uiogp^77jEDalD6W&kA&~C?A-ArDAQ~ULfVzUG6cG$ zU#>_`=0HQYz7IN39D%**8=XI!Nq?T+E3Owj%{W7RdqsHx7E;hAUANv_@E8CLHr*S{3t<;QVuQ88SG|2QXf*u}Fx|JL<)sig4=RY7$TDOvwIYrm7j z=x|=@a7>=OyD(Y#g&nT4#tH^$$b%=r68-sZFeFN8jGOD99qOTG&SvskI|G}8NH4a7 zZhFK#do~7%FR!G@?ZziwH~6{3tBU=xTgO?D14Tg0t{&>X(ymNcFPzW5`VLLN%OO#d z{%xhC?C1(j4aKwIz}7!0nY0cf{s?})0IuADq7TzXVthWXRPrB6oY46_UWtc|)D%Xt z(y>6iS}32E=2kjXOp2YuP#=7*cI7s;eLm70N`$&@`ydLQrz>l+5A@?R50|Rf>NWti zx0vlU{MjT*fxZ+Ys#iuxhBpJY%{@K_XU>KV()yW=!Y~Dg7#SqsGk7$e)c|NEM$17D zyAfC4z~{{f{9_%Cr%yNU>M88rgq&OQI+y8uDTO&69Joy4M5PY!l%$z)Yx}WEy}y;a z>t~7S%MQV~v!Em_UI4-mj;f!L*%K?454Wz0@0l}Bql3+b<(QwQx!8(rB|F#gt{CI~ ztxq~gLuO`l9kXAFt`)y|uL~bx|K*kDKs23UmvWkclfMJ-pV>BD(XKQ1%4fv&2o>HmRfs~2D4Njs(~#I z17%B3Kwk*rQZr%s0}$(3{6)o|v9fL3xc&yAj&P!WrM8EVHj56MRqnx3f65rE4>s=w zy_hGAo-tWwf3JQ=!#xA)BX*7;hso3)d6Z0RSt<~Bf^Qh|g)CTb5vq-8*!WZOHR$8T zjG+{^v4356!APXt#K-7ZE8`*8%U>vC`7$A!iFj81vY7+cNkUbVf9yd)d?g3Nx_o_>lv&O8~5zYpURtqQRR})Ru`o@~$WH+Y$m| zolG;;@?55mOH%t&QMi7OAtN0CyrBALLgs|d?R;UNZ2NAB%6&-XGid%#==r;EC#ME= z`5;TMFVV*`BrV%2ONa22e}!$uhp~K|FSL5ttzw>1(FUaA9L(IeY9V?g68)3#xLT;7 zba+FL%BwuomsnUOO+-C$n#ZKKtYLg4kD9|e5p+N2we`}^=0Zp6X$5=-VZt=j$IQ?0 zk~h6`^Ej;3M(x+xr2Pau3R;vElZM8Q_w&uUg`Z6n;BzqF&1R=f{Hf!Owx6VM!r)lI z)tY&CKtF7asT_7S8;i*$ciAX?r};fPRp_morkva3@VeT($F~_{!KNbN)q;G;2$v?R78lWjNu=l${RKc@+qWm=d89-j)nUnLC3V?NrppHlUV>CHDb#RR`H2! z3z&_bL06D=(OrSpHWJdD_S9@tF~n`V~@OtOe{Rm#DAs-^xzQ(%@U!2jL)}2W$YGT zj$p^HA4`X~IB7<_QIYH*usgR@Fjx@XWnMo@311i_Wa~~|8WS(8q2e2)d(A`bE)6Zh zxvY8bk3Wni-FVR%Zg>0T1O6|jTUXN?C@()uL*pi#jy!p&qZoV(|7P-}usl@mBBl$-tho zv*h)ow3&Z({aG4WBa%T*Z3j=DaFthtb;hje3z_pec#cXZg36jXsdv@S$GQQQ-l^O` zU~)#ZnJ9h@U=xU7{S#nfS`^@4`c@xut%W4;W&XB-{dW>9CoK{k{?*38sxq7$bp9us z+V!X@w6tc~-W#KyZ`JNzzo2jQR{IMk%PVh(sLZ(7R#GWm@{K6l59C+^j%K!?`D_s9 zS0a~hMnFl#a*5hpkys+;kV*>Rr5ij_GgyvWTXkPA0T}bfJB(7e3e)dQ1Wt;AJ_Fw} zklv#rZv{9nM{^t^@)I#9EY|y5@g!MVYDieCRJRFXUJovvP-CqoxT6WZ{Sn+xwK5Mz z3Tjeb7OAuPkM0zHjs&?r_G-5>@VWrYnHu~SE&&y4t=XzP%2zN7q}+T4zEwpM|9x2M zjsy-qkX3-xRF{OFw!;=9#^!Jc0k7hhmNfTNOXj{tF(&dUyheiSH%0@rXkY5S8u?7N z#rKX5pBa|pWNI~1jr>WxHR!4m$wSubDX=8qIK-9r`?1O80tzcV6GM}0L;pp4GkPvK zDY%!lX6j%0k+tCT0IqUJYPtR3@#!+z5il}chT`<=@2{9KE+P)+dm=Ck$SIX2)J(~Z zyVE4c!ieZUluwxx?GttNs@=bL^}xw0^+?QR31nH^RGztS*6eB5J)sLHHcERpjjJAv znZmZD8v!4ZIe=*S4=F6HELsG@JGSqsN-+JcxH|_eIKws~`iho>ncFoL;=W#B{Tjrz zo%QT8qD47RB#{q{-pOTA;^0Vet?=WT8o1Z{=LJ~4#5v+4b#)@NArf-PtR>sht@3?c z(PkH*df?Od1kDncs(9F7C&_9SyUvpB>4U(6F z6~4ZXIFXtugBICDE4|Ch5FzF+RX%cazDL+%_B&kmg1E6%k=oV_X)o5$sl3#~I=QN*}K^xRw$W;oAKkEbu|KI;@C_s9J# z$V$-JrHX7u_e=jb9ZMV>7gFAV%!3+c%jDmahY|&f@C(0eJEU=@x3o#@ zbW`2K7K%aREKud{D#6XG0lhtpik=fYo&N&T%TCC_fFv>b0j?(VSyTyV5yntku20Hg zWOfoAVK(;&_B^9|Lb0@HTg@+96ycA?!QE)?FdVKE@b$k3NCi!}-gq-inWhD**iyVj z>l9t%Lbfh0&Gw+head&g(k?Ml!E(!ZCz2E7lY)PP<9=J%N+nbK2V1z!Yr9b6cBL%6 z@SszzSu!rx&WhH17dNHY5;|<&0L37eUsWqtQ{o8W@6m{`F5Nwtu7)zs_WQ;u=QUNCi!HLyC#`;Ko^9?$N_fdh7E{Z` zX;(uGOlbF; z_aDQa@^$*h7`oFk+-uiFLY{lhEX#2mX=Xt!H}7g5^Ub-ZJmX9?{5J%nTmHpvgi#0| z;gA|AZC7{d&8pTMYQ~=oAkRP~=Rrud^aWib=obz@?SqCRA6i!gzx-rHErId+;He#I zNca7bvcjmKxg)~!m{6s)CVTUVJZOdFKiofOf>WEa?Zl_QK5FceUsMRGR_r-Ou?fzq zA(cDQA8Ds5(LBJ#i<2eHl*q`S9F#LeBs^!y&#xr6k}h%Fb7EAGyit#0(pil~b+C0H zbVMJajCG%TGLu9+Y=>9PeB+23g&9(z(E zfGS{QPcU%>5XQ7%n%jHsspSe6AE7w84<#IcSF9@LKR+Fb`|~Kn1XJKPN9*E#Z`5i5 zvG9iH=fWjKi$W2QZyK+E0gf-cSsuKcLy5a)aI_7Wx*4vd%RAH+v55gr6(twyNEfne^xD$48{Vh^zD&B0Mb$sr{ZP4?JVN?}V*}_nTS*a;;L&K}R>BrQ~NMtir zROZ7(YNRY%tk4W%0bHwFz@)g)7=s5WEuG;cf6r`>` zS0*ae3~bx1=uM(l#5vGc{5JIi_a&plkMosAq3_Yhulph%zp9U-*LV+9{l}j z;AMt>?&DF57%A4LEwS|m5Tf42lo^gz50axrlkHnh&6?q?i2hY`{yzvqi5Mv94PBKXj>u z*b$<%=cJzQp4RhB=-XON7r?7Z4O6_cMnNpv*jcs=YcJRCz&2?*dTsnI*Ly+Lx|XVR;MFID8wiB;xU=bWBQ)rx%3v$WrA^rN9?Dl3NI!%6xgLL3 zys{ufdTiJ*357pWA8oGs{`)1=Nb-*KkSpS!_r&fT@dYsQ4+&Ob0b)UUjV6dBGQjWm z`AfKko>K0ML@LQK-sj~ec!!jC)+Aj!WhQ^&X`(fon=QidVxtd_)7>>wu0B&=x+PmaTL3%5fO&0R!N4t^2MIu-=y!e}?5{Mql~#vByB$P|Ui z;Sj6t;(WU&N+a9792&cC+8>)kb&HbEovG0w6JXJ!O%KkWkO$9M&EH9HK4NHKH2Ip~XmR63FG_3IVaw`2`tdE4!ey|L>=9=lg_1=pjE6zSB=#^LV;DCHP?l`vXpFAi6RdnCbbCsVP z?=G^;n4J^VNsYE_kB>V7Xa9Owef=u97&PTqTMg=cwz_SA*ZFwtN)O7R)n^d-?_g)uj+ldBM zPks_HM7Bj(e*6PPq?njcM*x~0<|-GPjs`R!Vz1_fq+gI$44SUOV9#0Ca7HZ(Jf`=( zF)x1YSXa8B9$^A5aAP{kP^;D-h*EOY9JY}XeI6~et*wH|_^h&Z+=)S8y}{y4ZY zuWIMNN7}q(`QQi6y>UNXwm=8>LzeDiGF(U@ z_9PzEKe4}3Fb$f_C4UXM=88yR%^c!1TseHs_CYW$PSqXh)>V6QRd&FNJy#w^7W(~R zLNL4?i}~LG_E4uWT>%HLo2eS@x7dG;cBRz_3|*#CzOv*+#dN3=`$B5)3ra=0hG%#rac;^NvYDujyYih0Bi(VMM?vyhKdXCPI(kaf#gr4Fi2Vh-k* zM+LiG>;mecO(Q|R7AVaSMV61Mw6;W&g+=T^`0Y$`oeB2_)Q9+pQ28ltA-H5##sHD( zpq^{i%hxz}_Ra_Y21vIr*pF*otD{%tq8%tbU$zf+SMKh$K1b|8WOG>>7QrQ)YYX&= zU0edcoPj~mDTW??Xdr(j#K*xY5QBn5tvJc;UU33M9HI3 z*zJrw{f6bZvj1`=iPEGjHdYX1l4{=mL!Ga%SFc?|oWIAA=E`nF#CWOUFot~IOdp01Mo5Ul#sRd5 zujwd&i|AS?CjRH@`&wh{UH>u2~^7f_WC^52oWl3-dul^0Su^24RGQNeX*iGCQ)mcW5To*;LG zeGA{GU0`!`=c|GYA4_{!ij-QD1Ef*<0E23<*~+NNd^(n&lZXlF@m{^7iVf37OJ1RA zk$LR4=?JT2Ehz3DDD!p#bJBH6PQj}8Q)BYh=)vkYoj)q-w0E~Bm&ZF^9m!Ek=7$E2 zY~t#qYPL74S_-jh=8xX}`~YXiT2mC-fZNK6^W0*=@uL~?k1l<%Zl58kzzi?nrtVW# z`u@7{<9SM+ZTEr>^Xm|MSMqcmAoN>;Bdwxt4hxOPT8L#@%#(D1aD7x0 zneyO^Qzf7)L<-&-taA38Rgk;#K>x_Vf{6QscxWpr8!nb zBlSo{@aHPYd2&PIFULgy(baU-q)7+4acG>D7Km5{P`;x;D`P3bBqBF|#T!+q4A7yC z(i6ajjEw!Fn)8$#A0s{*A-PTHq(9H2bf>6$dXxCUOBUaEiFt4r$Mk84Ji$ z1|9s5K*P!_TJ+c zZOy}=;I!n*4cN2wQc%DE3fPqV`OXG~j{=PSkNTG0vP@*uWM^b>G8qi6lj%I%4IW?h z1_wqVpnqp3HNxB%)v z-1!Tlh@!uPH})?p%iSMC}>d~yTww7^v$t056;Q-2CFIA)0xj-_p|oy2d4*% zs)+@@e(WF*`_ms4$$`awLMfKe`&jnc$JZiPUN`Q0IIqqmXF@ox=4a;mM>_@um531^ zobQE%bem!>N0E`Nh#doOfsvvlIkD3{+~+*Ki)Z*0yq3=x*lw>MfgBo$7a$~pz+}Jg z*9fkMDgvF>DD&}7+C^u2pfx!@5;$@X#N10%LW=v-V`i+_dI&faNGDdB}KR& zU=mVr_)&~*pdAy@*nMiLsre=Js*0a3+sWJOA^!&U5QsaP?!#Xyy z-Dx!!>KpLWs+)zjrxspKrLBe-Qi7ta?pUF<;H}j!7i(cH;y&$NRYb!Sw@~7rYG37b zJ9L!mkWZ-QNjR^KXAg1iCh@*{tivt%+o(kney8StO_8?4MHt5<@Ff_2#be}kF*(B^ zB&4b&i*v9hu$vnc*jaNEe|VRt&hz~WFw+p1C|tSfhPrq#8X3pGE9;r~dNc6(bqD)s zB}Ut|J7L6R(`m-(1!$WLtVw8ML07j)EA&oAVF3&heELA}`amCC2F+1J9=2~eHaw=q zn(ARyLef6crF~JEh&yAaVgl}2`{@D1f~KMrzu1^T*1fyes|&w_bB&PB2Rlz^Ef&h* zW`_LXYTdPbG+vU_QG?Ss8VrOy`!jBDyRp;1myzWa#Jp^kUN|6L*!(%qH!E{blb8_CJDW9+J~FxmaFr!EkCBX#Cc^R z#axB>nqNOOz&Gy`f$@G}8TcmV2_E2jXPVXXcaaSzLg6NF4fVu|$lNzw8Wq6x)ldR| z^Mi!5VjdEtQ-*NzPM=cO+-qCCf?=C4C=IhmC?wXWdd9AJkY%3H39|@}w;xIbUlhC# z_)X$!z~ldcL9=^_Qls3DDdFmrXf7dp<7NFucm$DKB@7Z0Kl^CdYr3}aCiZc_$IBW{ zk+@ElZko=FbHVZJwVlSWk5xhfzpm244$m;32w?KhoXss|KF<+%pS~_TvV5{MmK?byNoWi&L`Jd*p~b_T8Av$VM*Z zKyQh?_)mrnBiu(+{mPRd0sVMPLY1XLF{p_vSUvIIXRyFiP9mrS1mMFlaeJpJ$O2hV z{`nGk;Sj@h1Zs*{^pfX~7R+4y*VL?qQgS&*ks_X_`Lu;?eUf6B7qQp7SdiQIV)fGn zR4z-E3%|)(6Gqo;GXOx8v79c0x6sQaJ{q^2MeXV3Df*?-Ib*E5P3=iOQkWlgS-D@0I}=d`3H_5>MZ?nAuKIp8iJ7 zP;3W2*RSuYEujJ5d#FqXswllCnMM@!30CvuZ&Vs1kpBRp=Sm5vGBFBQDwq-MvU0!9 zxtHc}M|&u7#)5^J=urJC_5qkuSaD%Ilf!MFe7I>PX%`A5=P3;gFye{N!J2d4``!}1 zKlC}G<5h<)-Y7fPYU1#^=x&AW>1%gp-8S5g4P+|ultgwi_2*w1({Y-sj*UW5-=s8z z^%-BG_C2b8ZU-#vCsfrgr3@nn7}6aoC{h}} zDk8}Z8%$ETo~_0`6;1AX91o(gO(JG~@QVC>a3ZP_6;LF)mwu$qJRKrTrQ2hFv|{FU zU)%#oAnJFj!O()7X^eH%(if%|C)=PyfFaW%FSaxxzMZ)&@9CHwT5;69cKL!nlSy~u zYX_AaG^f)VD<#w^VDEBj z(lX1f;`wry43^bkA&yOh-hM-s0241)Q*ybZ7?ATSy2lrtC*bogqilw z9!cK*1--}s%P|ov%AS}4bg#_oi$Zv`;liTUrTDNt*UNcS0!3?&>j5;!Sd3f=NC<*) zU0TtJ(4aFhqUdWqnat2HXrQOjtWGqQgr6xlQCsbi;4)|W!q|w1tr+Mn)34rq0>x~e zHEzD)%Y5*UE4dUr6xC&&Pn@LlQM}*$r5dClb4kGV-VPxLA*86ITZh>?`laN{mpgFy z{R@iucPc5NKva+;A04U35=Z~!eL_dU7e^&}&!ga!pMT_bY|O-OUtUmAI}7u-#bv}NwFCVHzT;Moy_ zoI5CHO>mZd?O=KzgHyE=vdF_BIZEy!^-4(NjWrHcxb6KG)yME0qP_k>6>XK(M$+(G z)nk{<E~h|V3ycM5{g&sjV|hi;e5$CiEgz8}V!C`&&~?%k==KE5~zv^tI|cPo80 z{)V)%C(R*vtkC$1I*iLrsYJcU(*L*|{#@hmj5o)Ge-boGUqjLz^~&u*2|3%*i2xp& znhR-In^V(6JDl>o%1X@98NdCSGzKw}9L_#@QK~Y4e|`Za#`U5?qOIR5<946@LpfE-INeCbRskkKGL!ls3-l}FGeu-|K$gd3Q zK%Q)l1!aGgY^ss|fDoBZF%aqt3wO;1Og{c~+gWpRr&?hWx07rcc%e#DS6*Cf1iRYB^NUw6f+v^r`#Oal1I_AIT75$yrPlTMnI27UR z+&RJynXnt}e4ZWS{~Ip_ehoyP$qfEwtp%_u+53L3%$J?4aNf{(A-2nS?RC*WzUXBAl8Z*)yu``Q2UVuAKF2<+#b%HE!D%R5Rs3`BLcUZ;H2pWl$#x2u}qTukkrj-H%IJo_{Fl zFIdGR1=))P=~Yb8KOFtS!$22)Ofy1`D|1KDXeyhCbAz}pZ0k&0;J1D0 zf{z|~-LLp1Hh^bxuu7?b=3gvdI>PjmKnw-P_tz1R%z9v{MVr(;QVSo|yB-*Erib56 zD*wfx3V2w1RDfSoBl~+H?R4s!+);l$c9@U+Mzr}DQ6csh;s#H|Ic+`~=CA|e6y|S# zd^%W-#=sgA&2{ry`c9Yl^F^C?KulArbYCGm(B3C&e@gXbXs3|4*Lsj9-I8lLCAJWGrd3iY@!ZWU$4?6c_>SW7wiK-zgFm`Rn#H0Rb9IS+=%GkEp$ zeFiO?8K8AAU;uDuBa~XC*6`@D31TkCsY0lkdbI&8D_B|jG3f(113Rt`j@^!3Vyd6|bM|JKF_Rrjv7Vrga zHjasGs+FEP$JjQ`81DMA7Aw|+X=rSTG~q>Q$@m34JJ^0bCr>P_IIaaG5(qeqq9Ij$ z#3YshX@8m9i9?vb%I6)luc5Ya#4r259Ukr9233Ux^>i9L_b@&K_n2~_)%OyK{F-)5 zHSh!Y`MPTGTxmYM@FZ>*DC1V?DaSZ5LMMZ>S*8${tNFQqz96M>OSkk4}&bmkfMkCoiJPTm3li*#{|V5ntBm zZZ}pDJcjBwmD1v`8BPTsf?ltaJc>B;%ZV!5toX-$Vx)oqY%DLYWASOiKc(7??=_Ej>s_Sbj))pv1IzCzA$g^nRt=u7(BOd{~QVH%6#T84@1`-3;IK;*5GC(%@_{?I7=!O6sOA7vI^6 zMr7T1|CgxO1Yj8@pg}OF`Uy8!a~T+)-GGZ%i2{HX#;A2;X8_0=Kj7@+0kj{?WL3Q5 zGNFAQ!iFQb3xt{<#7b=76=e*Bx?6AKuOHNr>A#&A^rwS_vP#fK%j-%{s`+)%*Mm#P8 zTz>=pRs>P2nx&ZVb(d-v$Z(rZNP@U|R;}#_MUt^pb{dQDk0C)p8U6?+M>T@V!sC-!a;p!>UB099(Lo=%^D+w!)5o;8n zokUP%*+{?6Q!Y(H>zQZN33Jd>o?xx_@TeeJ8l2ePv!p1NErBH0QSLB{i3X#pq+jFU z-$|?ldC)XD?xeH&@TpBRDI$JG+p4F?vV0(rSZnlDm+oyrRzIp7{u7CBBRARq3s3E9 z*%2H3JpymPlC{ojoDOe5f!irW`D*vqRvQ3LM=h1X+XU4yAHkIW$pavYa7;R}-d|2T z2}~bVkdCBm1RJ0jgA=?y(8o+Zgy|?qYaww4s9N5-sSt*^ssy8Wzt`%cK=NHuTVQ}q zycPI-OY$<2WlXZp5n1K>6oT1cW^klenq(ADG-GWx9i}M5Nvh@>K#t{e7mUkN*2CSE zkP@U?_-<4`_rgk^>oKi~{H2N{s&1}0ZX(O>4j-JpX;iRT==KIjHqpvkdF{f_#0O*M-%F1_x;f8?mx7!yF7L)7%#zbSHjbpPnQWgED)4j@+b}u z^aQ|Wl4fjxz+Xeb6o)NlW9ugx#J$%6DD_8DIRTnmkh|V{@5cKY2WItOw2o@S8n?E|w5}j{a9#&o7Nkq?ps=&&?!5 zDC2WxpKp%ON20%XaPJ+lu zV=*wp7wgC+dnD7r;xxm`=Fvd=D(ik@jl$w>}%7evZe4{q$t) ztD(M)8uh`*ZJ>@l`^nsqYgTy#?`m6;v9n6cQr$xSTW&{rl&4j}!?nAT+B`?Ce@Hd% zEZZ`l>h3=(OHN=$FXZn{_%y3uAU$*W#(9Y#P%2zSBlLm({EwrX)OyVD;$3h5UBZ4* zN|~6h8b^ms!ITLi6uy5O;rm`( zDrB3oH?W=e3P2AJZZ3g{=Sg`|SkuB=Zkf-_KOOqH4fy{_N)EA{vZ>Va?k9>3ve(@t z9x50g4@#YwZR~cO&koD1KCC{<(N6J+yesoI6L>w&)s&X_A`6|oqxCy^JRBt;NTFq# z*o!3nmiNwZADz*w5lDZ8E7#?&#(%pt+xT{C?s5Jr>d5BHtOzuGqVP8rJm7xji2G-h zSn6R^8OGS-7)8P!)*gM3P`u_RVKooR9(y!gW~+T=SXI`{yN_Nx!*8&aCfD@2Fk_c- zF+p06GWEVZuoG`<1H0Ar@G=u(l;w?!6$Vw2mzFwc6at~%@ALX)lC*yldm+riQBRpC znkp#kqo4I5Y}1V^go+qoY4T?*4l7T9q6L~3R-|F63C_7BfMhxP4Y6e~)=dvRvs9Wp z_C^Y@%|ES5I@FNh*RbHIOL}&sFr2jJI3I6OE}6sNdyBGqI4{ zkqlV5DhA)CHn@cRwIjZ3FDmzR4MjSTq$cLdPPPDm>nQugqS`vp+wZ_ScZpy*;C;4H z;b%f!f$fx?xtR*gyK8`1#6Sn`(fH;TGm;>|d4}gQBGRSTsV?V5+A?l6+Q{-UHjpin3G3{KS5(R-S8>omzP)GXYug-E>3lL zJk6giGOlo615MiO55n~MY*oszt*fGSXH*wthl)HtdE!4 zBF{V~SYTsGkjk=5WdhRT-G3OQVr5u(u@>Y~ro~c+xXl`JgF;#QwGIW`bjy! zF(^({&Tpe89;P1sg3`f`OkA!25_BNP^QGa$aJ?`ECp!`^oyNB-Jl{KdT9ix z=%-4S*i?s{w!Xq^4}7#VOMsn@`VY{JjG4h#Nj6bED*u2+j_JvS5cH_HY$1YnW;BZRCIZP_cp$yQ~m0muY#N}XMp70dnLZ6gLws3 z9fD7jeWJmbCD&-{UAGVFZcTTG@q9bY-lKH0qxQ%>QltEzhXG)4FP zkbTDgcxV|^5b2~Kpt&k=@sFKX$FJIPwc)e{{Q7PV`*o4f#jz?oS*Yr`ws4iIgT0z$t_EiLY?vo>~_3pd?8#rtv-6XnzsfYF3dSMu{OvjuuZtp|K@T;-4-+ zweZk&WHxIU-#(lf)|P=VZ9-1Dwm_Yum!uUNb)~}~*t6n&(0b)rvgg4`pI?{h@MQBz z<#&P~Jtve$tzXAjvM!}=e1vP@mFiQ8mOpiH@=ZZL8t<|U3Z^^?m}5TWhg>UQ#cPDC z=eP;&d!H?m33bbaJETu?wj=XfkyO9$A*+vxUx8!|gPsbLZ%70A*;~R0RMJ_Ytp`#` zo2}y>VWA91EJ%5goo-FN4$aZTFxlaKGC=W>wV-FNOACzmv66*WDUn1ur|%eV2u>)M zJ5>gg8B-s71iKFSivA1=kZ@J8M~VPSqu6SZfH)NRIYT~y7hsSG<9y4hl6^8BVT|U6 z1;T%dnGC)5Ru!gk7RRB7aUdnM>olih70%13*LmQX`$U9(+1p+^hNaJ~rbocn-uv^w zagG!=!eOy2Exh4uP@w+`LGbGzcCFcTx5BSF_&c`ab(FMOMa>^cMRL}E8e8VX=dV=~ zyZ8c4r&W+7ZKZ0(j)KcEi4Ly7zvHO4e_@NVaZXMpN&km3{5ViAmkqwVRbv^e6}XI4 z^z=wT<^0ihBcfq2*3x*-G9}n?+^xKJHOu)N8%JBAd|p~P-`eq$6)~N6tmffQDI&KD zIV#UbU7k3Px3^7>-XC>LMA?)kj~Q#J4D;yxWprU&0F5ouUj>Sim}slDRo=bndwhJN z{_VN_;kTB9kEK{@l}2ivnAb1MPZa4;(8g%f5EW6S=r0Qh9}`a&&e$ZaTsp$Bj3+lg{~q#xmvDPH{5F9c!ybqK|SPy>RTgF&G#2!)SY@-C{%G zpbpYnaSjZMf4!45yM|GgNj=K&5VW;pdWVSkLf|nPMN%YiD=QhoMWo0#k+8W(RYf+z zqmc9?ZVqDTDdaJ~3?9H$pd-P1@!)p7#@2+Vs*rL1TXZY1Pk}%fycgN~j+bY>sYj1~ zXpar%$S)ys*U(cqQ`lo&{-mXJD&WBL-lBkC^f;@$=R`FplM?neI*me&AQTyb!DVNt z8+T15WXZcL6vi^$tFP?}#RC;|SY(PXzIRa%SN;KdQ7WXZb$l9MRFp2c>!5+KZ0;d* zUFG;@3L1&RVB)+X_wK)yHdD$`!ceZIW@y=Rz1&5e_+lVTj=r;LtXWW|LFQU|&~liz zN#Z8z8G*%zu1IbpQ{dJBXckcm^=Rr%$*}n!u)v*0t4_Hw7y}*CdK5>-Nt|Qo7Xc^- zXV9nrAfc8J`*w3k2*zf7QMdvok$JUCIr%ZJWo0RN*Zpat@tL&CBPb*3r&u$iC3q|p zU}Lwl22^WhHut2NFosEhTRtVSIZ$wNSB>Qb2$>+kI=@G}m?ReqK(iLs5z4$fgC7#r z;FQ9NGj64M{f3_`xR+o$@ulaFG9bewj5_lnq+`0pF^7*W@Cp@}3p5 zzg!3duOCWtWE~RyzUw4e8;H7Q%rk+mUg<%RwS# zHbUn4S0>CWN zK7Q}Wy|?n?mL1y9qA7dNC1BcKoqIS_j8hk~;;o2YWj$xM_F>}04m=@t&pI$Lt}{M( zhQp6`Ce=M515+Bm+TC-m&c3%{M{GkBxFUDLDz47nI$!ah=4>1e6r2p>vQ7_E^$+eTe7 zdcU(hjrtJa_}@j{6`;LyX-Y6^Vr?R(sU3xgU4Hh=LMf8j5T?_XNX!^c0`NfE#&<>; zzy}piwskA^2zrJ>wFe4S8=uwv4i?g)&n1ukwr3KqX>Z*3RMRr%0*P6wF2rS7RtWzR zVIv+)p?QRvA_KJ59n)X_T(VKZ!mn&Zb{n4;_s`2YAC0oSaca}?+^Z!$=pTI82Pm0ue=s#7q71Qr;M-~tu7=<$sW{6h#g7Oryyfe zA807t0BP`>K|6<~z(-p{mybPoys4!G_jdSa9x;`Yd(4>lNY8Ld6e`md#4 zgwC2XkK$+@elksV?rQmK#-{C-8}0qf!z(86_!0f;w;W4L*Me;_KObew;HUa;ntp39 zQn$QVcK`M+r1{sojNZbzv2~&$^ouKLX$g%>{jn(STieI)#?7P0a01|8e! z-ff3T)|wPSRllJWhVpZQq!lM*6a?e%>nS-7KEx^qMVzdB@sydj9YJA5{ii=p2uR`M zvcct@q@ezt!xU{={-MjD#NC;#$Epgs_O`^aluTZRXw;j~2<)f!0fuGG;FOGT8pv;O z)yoEvXsgGicfL0}E8Bl39oAOaIZLFY*Ha#;hwC~UAeoyBW1vP;Or{ysHTyu}mVzbV&kO)t=W;%ue zAM`t}wii&oDmlZM1U{I+wpCr}_gor5aPT3*-RTilK&wo?33Sf9}3I>=IOWk2WE zjBEOAS@gImA`=(crO4gz4u_Jt_(T8k%ynAm%p-KDkMdCA2Nq14oI$-2FRz#1$Rb9+ zcMmSa+`5>usqNL=6~GA>+qD^`^r0)3O7#+;A3=>LXYGs?+zv-tnX^b>bKf)r;4472qZ7C>Xke`~C+%LBPJaSA~NgzaHOW>EVX%SWDGwMA3xa z3Kiiq?VE6|zlqErDkSz$V-bT%_3`6?{37&6WkovIN%uY~Jb$e)viWu7b12Zg7BbYI z^yWE6z(txre4822$d=U&(ufL0ZA#U6luU@uT*LMP%MNNPaam!UrYi~Bbc~hdrhOI_ z3gps0DbJG%!w(3l#<}&19-4E1l~)w1&Y*&2u8?Y%6;I-GwiTXGAw03Y)K(glXBBcQ z_A8o_`CJ4F(O_9r$mY4CLxs>>$Z)qQn5?(;3tX+JM~zSpVL&OGv?R~&kILL_=zO$kMM_1CeK@2feXv?d2o4lgS3jf@L zxrPUG&@b*b_`EbHcMFwXF;1-MBVn&slo>!>RwyK?0eQaU_Vu-e-)9k%_QaCkF*^E3 zK=3)6f7@$;e|Y&tP-$F-$+5qaMHSAW{ralHh!sv+x;g_5DtEE1tApVnLGv|N4h(uS3FlB5jLf+~zNIR-{L?S4*b->V%( z3*1mqhG%qm#tVqbAdR+HUVq#(#-}Z^B|4{)sy|hz_*X8k#pe7TS3FjeBVj+$MuoA> zz<;T*R)L3{U#OlP5f<3LR5&3YHyEn#BEVW1v!ln3GM5v51ylluVr`1!HpVu8i@Jnq z7{)UpeX0=fu|fk-q2#R$>7Yv;QTTR+_wwE5y$VmLP|i(-AO9*>ABnA02q|DYxk3U$ zCsQHGLUUmPa=W5Kg^^=kUs*nqsls2bs0h?b_+&+c^C~jSh&b0- z_4$76QiaOkj?B1NrKy-90UiI@ik>vroQUO$g7{!Xk-+z>C}yZvSF~PV(XPL|qEIKX zv&|Krxk3ghF=HYDMIpes7As2Ww4yIm_!%mMXK}aLgs8swm_w0Cr!NPJ6+T$eBn~k? zvBI;e5UMl{IcT`8Fk=uuTu}$P47ZVE%VyxN!u)kA16%aLcLL*rqc;==QxsJNlrBYo zc(-|8qRL9j2lO?#q@dpxB3d+?6*5k*4l_jWnWmP(t(q2jOmP`BJ=aglhQ>_D7}Izc z@|s_8Z>f^#5~cWJ2Uxk@|BZ5X2w^V0@{Kd*Ht-Vt3D%km!oTnwK@0~IRk%2c`l|7z zAN#>5Wsh*U(-0_8f2q*BM#F6J_tL=$A8jPY05KTn{M~kNk9l8jb1nIUiDVvj0dFxdNtcg#u18^ti2r1(WAERU{S;}?ZS&oZp74ifZ{Tz+4O$MKUFkWkM9 zNZ#{Wlvlx`K)k^S|B;%{Gsq~NIDDOGpHUz};OLZ?=&3<#RU|7KTvb#d&Eg^0<98Sq zKBJdu_>Bc3RV3gOBIe-_SJ&O!U~2Gw1f))QS7^~u$Wj=_X;g(w|Cil;)Vm`vE&j>% zXzQH=q`E|Lb~!M;DtstUsp$P&f5SfLzQjO&F8>zxX10cu!LzVCzz z^NL>5royNUa1kj3YY;~nnR=iJrv~(M!taFAd>C z1iYfb&8#X+4&PW*Q6hz5;JJKVAz0AK5i*$J3Wpd|8$qh@5>TXs&sS6`fiTze-R7?7 z@L&$P9Gxl23l_4>DdT9ES9Fr<0x|$=QQ@yv)WMm4x1y^GOOjl8rQD|QJLU3|OxDnL z5h2xnMe$1D^@>_{?0U4K)R-fs;I^EQkBySt`S;!uCje#*kNqVVBKC zSAYzR^JJI(aWQ35u**1GiA?GXm1{%G#)Tvz5p~G?U=7h(gWn5ECspI=;aO=^j8H+D zd*E$-2dE*9yvX~JoG2p<8Nn+3R5>?jNFolS$6J71Qo2sa>W~^O5g59qtS14B&G{xm zOEg>leqKC2zrW*i!7MMZ-QW--$5lQu#NNoppAKk()J%f*(Bnsn6blZPst@fQz z`z+RzYoaUNdI(%04|$j1CO~w^iMZFH*D1RgG|Kk33e^a4xk6p%YiXiFnj_Zk7bnQ_ z)32-y-3Mj-ypsuVuhd#VTwnl%e#W^5B-lhadS92*gbKwBGpzIy31_TD!7{X=&(j6~ zy>thLNxxpvCWJ{|sPI~Vlk@^&k{Iy#;|YaOaZ-h|?6|3^LW2?|Rp_L4`c(u1cqXRi@Oa{{%%Ecg>))MLeMSSxT2E71qhLW zmRHn_l10pP@R~be9DrDhXxUeIa)r^z^5!8}KbWajvOtrKja&%nuiR~>6;+pmrDQjP z2k=)P%=DyL_p4B0*PmEXe>|a(t5{ZO!!#9gBy<%sU?Yi$=Tbu()rx+Gy^No#daMdv zq|e0aZ-R5g>ZpUGR7F(uKUN411zv_Q5w-PhgDhhG>1WvE#9N|uh)0ER@c9S;Ac;Cu zKow>H2L~1piFB;VSMOpJXNxnAOUJD9egpgW69xMduGFtv;P$}V4ofVDfT^{$QFbgJ zRW$si!X@M%DwH*BA(@b}s9x;ZRz63m;nENwju(%$GJ2Ql1J}Y{qs=l9`kf$QlPNmnq)@pQp9!q% zA!O^jH55I6^kzZ5HNZiFF1l`GOuY1_DXy4Qz0E`=a?`V{S%AT)-#KGPgxT+9QObQ3 z610bJxgBBxMD#cD4*FS4>S!ET?0j>d<8cZU6>MnTZ8sRy`Zy(_^qQg6`}w0nxTKWe z&8j3~DGenuh{C`y@C-CNt_kXeN~tA8nm_FSgqFx*C~{QHtHSfFFpL}JF*A{YKwl68 z!A@wv89;I{hScW~ph%1_#}3PS)$gCo)V@{i40QA((|p3e7%ez2m!Ft&GcKj*C#MHVN1Wkng`*hj;8 zzM?|k3LmX#>wQ{Ln!I#O2FbTVeBGOO8wm2({mB&#hSoF$m@U*nMFvPo8y-&gcVhp!U>9G3U$-3E+D6;`TH(2k38bUvQ;Cg_}yC>Vaf zq8Ur>Dgt->} z>mx{(J}GGaBQ)ecWJdmUhV7dQ$>-sEmM6Vv1Ynw6)nFsHkg(9Prz(`}<7Ya2ry-$U zM@xoL_~VR#{^=48Wsl$jUKLU%gj|b6GATmO6BVuMTM&hW&wF9=4^%(Ho-UIe_81RA zul|H_in#Bk>aOBou+r?+fCx0J8Ex9$v?B=*k0*eJhqb zxQ<(z9CDe(Y=QWWEK!hVGb5{vd*;=`lpzowogq1R)Z{MOuCN1D^^2i5-dHD`MVNzl zz)GUfKQM(P-vE#92$SoUgd8E$RU;*QU9QMj@8~bS*HLrcn{>nzELgt_*UA3$nNWOW zdsq1QCa4NgN1XA3STW?t5~C7v1l04ow63Z4ny({9k2BZw4||PDbS9G^b~yw^NabG*5G)INGqC{p@7SrR9B*S2-aK=73S{*H3aFH1i2q$g#k=1Sm9Lyo#k8~p@N6m z0%!d+J2KasD@v{?i7@_S79ZQHLY@AlE-UPx+->MkZ7egm5a7|>#-R*$1J75~rzAzt z7>f$uUD2$$nF4~W!wiTU3gCANEBfrgEMurJABM6V@>0N%?|`f>uJT!hT~5s$f{C?Q z(FYX*B4ZCLDnzJ|#!{Nkso)dg=yzCUx>}vf>NgbVKOw2;qM{O49HQVnQje+B8&e@< zKcZY?Pp(54@H~!83XS8N^N*J(*?@lK5-apTP=S;YjzCiLqP30)B%~`8XwLY69EI?P z6%4O?CB(yYg zNEJ2SuD*-;t{Ak>T)jh)LHH7Hf5sT$Lb~?p8BL^W)ynm_C^&k_RH=ciN z(2qJq(F0{hdj6-6o8*aI`%n?@fUkjm+|P|08TR^tUOzx7*hVJ0t~3L%DZ;Xd1?y94 z!c=X42b6bROZ32k5$!J(o*<(_H+`roT>wv2_*KLhSyqTfx;&PWQJ4o|-B-oC%HMHe zj|vg(L^S5lwwau~_y4e{ex9eOguM`kxpuy!0ZAuh?~QQz-v(J>)Puze;e!WQUZk)% zov3}o_%b_iv>SABvBHB2cPlznSfN7=8?t?)$bX##)Wr%_s`<%vX#6ZHw77gg9hg)F-B*eV^NIo$ z_1;;1UC107WGUfPg!YQA?lyEefR60sXlX?S#GyP|QA8Q%8WG?bj!>M?)9`yGhc{6B z@=vTVAE_!#Obu6{q-cx~HJ<=m-fhmJ!u^VVp08+mMK6E3qL;-A;e$sVqzc0fxZYCW zyrKfpzOV4G!bG9>Y93Y?qf}ne@oqzqaZ`mKlMPaZPOf{%=RCRFgp8*{Cb%{gn!i}l z&m~EWSAA){9!%UK+PR|zKp>++@N6!-?114++_a*C35a7tLM5s7neHSo^!Hx# zfLD@J`MkT|vGmpU%V6`U8V|z>ZT`b0dW?pf)T&`IA>wcb-rp;f5Q^?IJPW>s5cT?s zQ&*oD%1VG9Emi1qBMAeGeK{E}=l3(h1Sl?2$1F9ceCQ>B!D#aHCTjLNa}=r==|;SU zKft+`!BG0=$4T`j4EAJ8B4)&kJ=|OquD2#r=rYAP!GQ7xE{M4WR!G-NHYUZ zx&9b{5WuVF^*)@}ygyUDU9B|kWFo_H(*i~M19yaON+b-}I1f2F*c6h)V$%-qqvU%3 zA znKD+des%DuP(Qu=K$JWZ!gCmdJR>UlBW)U``}~6usiiVzK4~k7bnV}yJ?X_;M6(dF zTuI6!XW0>dnaEdQS76*>58ufk=UP`-&WDN?D;hF|8%ZAbAw(%i2o^a64!;*A*e7Ln zObo-Kr&Qqwq-n(8S<#~PtG>cjg}K4GLUc296qLbWmThsaHx&-O4HZfmQ=*-&)D>{c z6_q-aBH^tiaPZ2RHWf~+)JvRefs7*PGY2RT8bU#(&Uc%|d7@%cDbERy_2!g0wXP7x zCoB5m-Nx@LPe+^fd_@^zQK9pglN|LidR|ewKvqHZphC+?`lBoQ=x#$yBA^P36=9zN+^=~DOA1qV2%k&%z(Zxe-sH6*nto^=bG~><@OjKdwp*Bjy~SN zzg5Wm?%@w_C&()9!sWPhlOl24NPr(ZHKs92CO-4Nv&c&sITZgHQfF}|9?*|Q!H!#7 zMq&o2WZElnyrnuZOX55Xo1LB}5|BpnIhU)B_ScQ6!wvc?%5 zwe3`0#0N%zfUGL$nEbv~LcXztZ^Bev$|g~i6Q8Mq#C6?wtRV0hQ5UdkQs%iA{g?GQ zcUMT&R|!=oOU3biQ+KfE#|3??n^aOH$&j@m$Lj>}XuU=EEVP7t3iydhD;rccFn)+7 zdVL5e0Evll?-oi{B&C$2v5W!cwF%QInu0=@G@ma=`0~dok-wt~aea#CX8wZ;f73AK zPZe7Fc;iqIJkK%M?2zC0=L*67?7OjbfD&u4OBF14VY0$2thqv5_Oa9;gVm$5s9MuN z9*N;Q)lgxPX@DyPBv;7q#0u}%9bQv~WEYi-3WG0WPU2Gm$wXicgk1Cx@>4nufuMP^ zq9?AXDhz3O<4mdWYB3Ds&6&V+S$-FC4KyXo)9qfuQDNQfIAwmWR0x zSU&vMop1mj_Cc%#09pi4f;t>VfM8CPR#*8YU&RhF6bstT$gOK;M6?Oae((AGThs3B zchHBHaIi7LgaRYLtS@N!Iw-{;vO`8EtKlD8P6;o849`07X0d~S#ar`FgF{&N%@7kf zn!Z^M7&L?LJCGQX>ddYy{@|f308ahEE1CF@O(b7Q-PCuv_7KX~SuIwMoW5ZUX)=}b zUfw&vUn_joboishA<9V(NU^3=FF4A5|B_-{9dv~@l3#)ZBw_#ObhygvI^`TZgHW%{Q$Jl0>WC#WAnG2v@g{PH4QoAUtvBGvnN#_c6 zFN-W8@-&PU26O&J>WfeBqlygErx~nAD=Nz{D7?9DSJW}Wz5yt2 zh(|`fv!X}b4-EpJM9Kx_Y&3mRGMa4=Lad>};&&3kK`aVlda9nUX#HSC$zfs^8N!^n zq9?rXS}X-QujsnM->qm2HC6a*Mf=H$KD*l#wNzZ3%z}i9^uAnYoCXs==fet>H<-ri zWOBSvVM_3PMFWDgMTPa~Zo_mnt*GhaiaxyC9D~XD3lC|;sTCWS<N8dFv_NC>^yhw)>j+uqWMi4%9T=*hzY|7 z3u%A(*U|upwDc$>8PM$H7;c_0FoY|NaH*$JRbsm%IV_jd8OMVa1Cb&@*dp4Y(4Yw% zm{ivMFo3Whg%J|qm1Cv*ex#kwO6%qf-xZP?)34-Lc@fo)S*s|bGnA~?9#bHOIU^Tg zV}q8VDy$@-!kF)Iw#d?Lk4LWQt_Be#^Q z5U*aTP^T5zk}_DB=}Co}1_6f~Co4pa_?RkWM?YLqUGPGkDoj5>7ALTY(GuRE3OF%? zuR2z!njGfgie9MnhizPamta+^6%EY=K-v$|0>&^3L=P1r^OrKvZ#kcDg}W7fR$+*K zl%LkGW!fZ<8&pbOLNWs}Pb(beS`TK~D^++Pph@+(CZMiokFi(<{55WAD5yk7dF)X+mgF0eKhAln+u|9W2qo2LvgfJ=u;4Kn&?mZD zfQ|4ymn~u6d{b><1dcd8Whtt+Zkk}fE&et_D=sqSSgesIp2?(L( zI+W%yP*%}zLLpTE$L8`R`W_D(A!j1E`xPyeSi1@XfHef;a0gHfO4k*_N{oH=qPG-E9z6C zNJ@f8+O6nEHdFb&YyrH9`CM6UHms<)7n3SZvO^_w3lH@NyqNqrPjOD9G=b(bc0rg7h7(Dm zTpxEIv|^49X(X9Ph4IGtll&kGVPz7+i_t~pY(iQCu1;Bz8X5qlQfhJB03FL1$`&8@ zy8Fo=egb@trOeQ{Ac!frvLCUWYk?-k22f}8Iv#a)qQZ!p$;O{a5wem|B3VtmY=Z#s z=oK;V)Z~G5A_tt}f#STvD}<5JCdm_B@R$VPUiiSm3IJ&kwYc}Nf>P~{L`06MeGn83 zBmhLF?}rVBf&C+(Y9QlYvrwfqcDiZ^6(m0^j=p?5yF$(L$F6?=nCcJ7?X{jj(?bQ1 zG2f9*KM`K>Wf?XR1KxTU*-BOoD47_+s(08Gu|Mt?odOM<-!V}N=nNXR>y_bL;a45a zhRf2)3Lo$D1XhYqb0I0<0^|9PK}vKtH-1^>@pEz|is}@n-})&3e%50U(=?EP{Mk{l zL{%k5+}C|EIFY{oK9iY3tF-a_>rJAy7lpcCx?*eyeqmm~37V_>j)F!F4y9%PRC)9> z;TJL*3>xHmetUdH7=5O4<|IPWDHfUy`|C(p)Gg););q-OyXmP@B3a_QHDW7V}&XA-&xTo z({Mk+kg)71j~I z*A?zpRQbAy384&lvZ9*`??;)33O~sA{)0IOr7-lFD&$@1_bXaYSF}OZEA-(i+F>Zc z_03;b-q*87V7^X-idsV{Qu-KEXOT>>YnLW)A2r|Axl{N`8doP1N8fd^{1lNND5_;q z?=dVpg;eCa1yEKNddugpTs3i9n4FOahy-}GM)(aMplf%m(n*zSY zb#FipPXdihw1FiQ@cmZ8rbhz5SJiU(Hz(K8ag2js3noRT81kg3wlZ^k=dfJI`(7C) z=t-NV9ld#_KVSp<`^wx@t_tTN)TJvZJrSrZWgq4$#`BW@00(*XE(s~s$M1=z*Vsa*cX)@)O_JfA zuJ@2hp!l$bb-bM?bL{ubk>L`lP|PyYF!96sff%&H&Z{V0s*h_*xM+})4Cj!~2%(uC zOS*B*7W4WMB3vWWyLDFhh%#>GzpildGwlE%T3>tj^N%V_1Sj_V8&e`p72Yk2P2ms% zGC3JxTj4y{7o;%Txkh$k-}~PQQQ%IXMTO+#xh6I1OnGZXuko!Ft$MnmtT6bkEMXQE z){XLbMbA9f&?j7@wuPdyxy4$?4qB;HU z!F(RyZ5ZL52Qx##a6!^c+4BhQ?>2v8MK3!20!5U3pA!?0zh&J3rhI^|N*X7dS_6>| zJ`OQD{Ws?^xO=+=9({VZ11XFZG5_J&Ugo4X_gZHJ zf)&1xd04Aej3t7OJs2QFrocs}#iv>*Azcnc+P%LcVPFySJR@cvlw8Shc$%1JaQK-5 zAybT-Br*pnUcZb^qAr)YZ+Zs3N|76AVS2hum;|kE29^I#UCtXK*t)Apz33(7^r+;xc>xuzadnh|^PSYPn(u@p!qjmJ8VLEIgB zR~W?z$oQ4~SC=BE3}SJSeV8R*fY)5% z^y?=>4}Eb&Lw)@@wmeBY%W%`Kg$&@t>{Y? z8Y*uNeZ~sm^WX%FR4=V)gw2?W_b5+?D{eM0SD5_c-R89wt^JBFDs+yz_5^~{$)Bxg zz$Rie7YmAMQePb+n-Yd$v{ueAt*C;}cboTDRLDTF8-UeZpQkH&9;|4E6;BqT!arP7Q6t%79);%11`r&*tB6d|?Z@-BDX*UgNN8#@%a?a8 z+82?S;d3t;WJTR;S*8yw={O@mppiW%LKjSAd`(Xr+Hn@I!%^^& zMTkpl0yc`EdzAgfAdM)|j@L#M3NZ84+)aB-d>y4|SI6;Jm>sPPnawHT^qKk9ed9VbF+D0+hG0rZ|pCQV!^(CILZ} zLl$L={YfpoZ0HIhe_hx;(TB^Jm3$7 zQO>6@YOpIziD@=S^N}{dHq;KCnIj;2TLBQ#%4Cv5iA;a3F#p~d!GEc6PFgk&>`2kd6o``$8qMheDGy;|a%Fvk}f5DQORlW`K3cdTJ>?MX41`Z%Ir~R&jB)+ zq#fkh^T(fIqivrt2{6&2MA6{FpdP{+!UB(UvisJBEc%M=ybM#X^$#|pY8%w25;%D^ z3UOFsa7)qVHc%~Oq<_8J5E21L-XzdUE?yT18g}LL6>(3Svh_9#1is0$%=$e}?}>LK z)`9?WD6ve?lc2l~xCd6QolE9b1$-Fv@y;Tq8>;A2wiV>h*NhvT(Zyj0%=`kCQGy_d z$jB1>j_;EyM311;Xx6b}RP^g{|6y`~YbDy(>L*wZu-kzK7}Lr9q29lktbAQz=GD)o zuL^t6lZvSD8m4Ri=74FM-j`iqIZS& zC=MMZdlIU~7L2qjn)IOjdxhGTYj`fhV?mLnKpp7Imdd^zin2|Gf?lg|U5sn5d;yat zTuyels!%5YQC(~RUBz?-Dunb>7hEO;V5JJL)PaN(D758Ns9Km1U(R41D-6t$rKC=v zi-HV>&f0KJ?&A!<(UcFFmsI#@I`g>d0wcy>R|pLcRkF-Ni_Vl`yb`B?8Scou;@xJx zAxbM6E%)l5tf)^apJeI_?s-LvIx6W}u4u~_D{Ml7fUhntfb_mpVZh|MD4l}A6Qn}u zD|q2q&*lM83C&J`Lmu-J|=Jbf@P!t5W+@sO#F{vWL9koMuztWr=(#d7h3O)NMb zNaT7*UO)Izz#sf(g0?~t9$6oE3TqGj5&9JHoA~)(C}w#63>#35qVf}!vKvA_MvjbC zOi?Z-;9bloi+xb_8 zA8EZeoN1M_vG%}3MWMT{01H5lNF+d@;5G&5Z`os1i18*1gFUF3z+umGUNz8%nu5z2 zBhqM#)=@s_sgWaG*ZJH$7gE0UiVF`O)$_N)k|`Q5xy_J*6ID<#CWF67KZgaYZx+SO z-vojf$rjM_J)-;F2PRyOxSomenL-<+Ga*vHXLSE;s)gWF1#sk=$=03~ng-z?DwLVi ziVWd2v|9MZx&zra@I*i3&=XNE0U8$aNF^gYWHXN|@tc)6e!kJsKsYFQdQy4M!bRu) zFsVC4KEe^D3*rwI2JVj)hV)d0VkNqCa)>-(@LAZy0fw0WRfT%2RqsEeairiJvmWIz z{kuZp(oGfL7Yy*x4eaoBY%KWbcv4}85<6Bng|$hQr3zE9>kAi1%L)@nxFF>-I||dQ z%b6-<6dq~#c#MiwOTipHuP94=R-wa4B?%G;lT^Z9ku(yXeTA1x5&R93;mI^{VYQrD33k z80C0WA-+>U5Sv<{H-$|M-u(Z>iUwSgh6-T|xS(5A2n{}ND=fS0IrED0Y<3l#_my1$2tytF2>~r2C3G=VXu3S)I5>5=!u^U$ z2j5&_2su?~2hm9Q>Qb)LipT>ff6h7t*%Dm;vp*0AxNhJmYh?pDG^cz*RN2ilb$<$=e2+|A6h zb1}t_5JE;$Vb6JIEi`Fyd_;$YXELsl^J|x;uuY73t3nG#lGv?~c>>3V2}_UiL_20; zcr@?}P-6g4AsPui&+%ET00ja*uLLa=bV^_d$Z(xJgU8%gK|~TVj38&-0_k;s_<2JM zKi1-4I_Hq_s_3zT8J_(T!65YWYQMloK|={_kLdbLN+6*$R`@fefuX9jrR8RNEtvzF zyX4u4_aTSb$YblrU}DYn(Up0|ZLEq_t<(6CaV5m9OlNDz6pA1( z;g9dana2hP+WXEX$Vr_cp|0adP)%3Hq!=dZRyTG}y@jiVYv0m6DkSTV6@t|jMqqB2 zK&R(+=#b@9eq#>9lJv;GCt6d`2sKOk_7r>u%AYH&u014*`30gvr41>+;=raQG-&OK zlqu;6D_0COgb7cxTp<*jX+W-2VPG^X1SVB!)uBcZnYmt@3Ts5 zh4te5MU-;ttue1TVC& zttgD=y%jy%6-^a>%(%H;UQrMJrowu)!lsFUMTPV93s2p{6^#`t?ogp1vcZuf(EGPm zv`3xm1>h_zthvGzc&KpRCeZ{9zkuIIQScVYl#!m+Z@dEyAnF^u?&!lSRCG8Oa6x7` z9G~Cg1}O;w!5WUcsUGVfy&%+tF)ak-@HfD4D5-8V9fKM?=Au}2BnIqGVRQD!IUf~< z+#6=W%6g7DKm>E5E!mawi$B&9y!^uZh$NQpr9cxNSZ^MQT*6~y*l-oUk|H7Ohr zq-6>jxs$q5~WB*CK3h(h6C zE4+%R5Nb%ncT@bsUJLNBe35K|Xa4J7RCqB_RiK4}l==f`$np`a@?3+xoCbmn!1=sc zVK81mR^OnldQK?dprcD7vR|n1r4^kjWTv46s;1vEM@!k5DijA1B#SE=oI{1wT-8U2 zt_)Mq8{z8qD|#NRXflRSK^4v+ z;7hhtF!iB!03H9>5!gCLRUK@ng>VQwtX^Ny>zn6VDxjaOD9wnvx!X9*c13}w=L*;y4sd0yRTOq&adt|I%xL9o0#!YowGsR!N3z3bGIzP#XxvqaT0} z_*r&74?>OZt_LABSRsv`r^qZ`tAtn<_7ZG*&qsibz#nJ6KwRT+7#QDagcWjRP)1+w z%G99qh}qU+4t?{ud}vf2q3q=AHsabRsUQ>n>Wmi4=xNNM+Rwj&%~f9PDoju2Qg%SI zAJ)(2BS=&WB9DDc4%-m&kGH?~R$Xi50MaSPRXkED+c#h3?Ds`AXKap$gauV1{S*U; z6vw8&+%Z-mi*5gG`QQznA`<>Hr9QtsM_$B{q8KVHDj2)FbJedEBP_#QK6(Z1RSR+)T_eaAxY;f6)OBh zq6Nr;S9Yd$Y><+|uCc*y`0JZ0Ol=Rxc#LN%K~d$dLhg178m$A-y?6=;Y%wD@5ezZ4+HIDTVNstRU6-;)>Gn%8Ej|yW708q8Ah_U!t)W6irER5#=(I zrHgaDsSt-6D>K{Sm34Wyxr~vgoE)~0V7lAX<>m?#Bj&yYHS+gXboXFh4Fm0By!v21 zazeLP0S#rh8JGbN&$uZA6vRm!eXbKO?e*i`CV$I;o=+7*Lio|NWkSIug$Aq;L@d>0 zY>H^H|5~q`*b26Qrgh;MrK5^WMUmlxR(_y>QSxIm$X-(}K2)*b%n)DTralh92+kGA zu+j)!oKdC)>$~_U$O^FJ4WBF$Zlzpd1PvnkIS{}NLlC{5CNWmjC82%qvF&?26O5^M z91kvpT7d_d3$pP#9suy;?6_xq-DNBd_W%S)$zpl?R zt?@kG;&>1csZ6KC4Ti~MCzhtBjo`w4q>Q)Wn~C&dW{jObRT$qPWIRTElgwT&E1=fv zK>VH+K5S`7-mAh}+hgqSWfwr8<4%N`UIrZye2=mpeNf>%dY$46HLS4Y6lHd^oCs0f zfmbIz(ucOl_=HqPqK_T43PFxYRwJ3jGCG%|TGXN<4Wt2|!hminE2Q+p3QwwVG1sv| z$GsK4xuUtk61HAk(X;scW<~2)D@x?HLMowvQN&?I6=GYV6qVlB&sP)&s|x28wUFdk zVG$F;lQXVpy}hEbn_Ay(5?6;3e!${xlZQbzo2h`UEZMJU%_|!EfGdOo16Pcif`%M# zujmVRo5hM2?8^$xNu=$H@)Zf68dp@M3zKWhhD>6LVwnKHa<_qWU!m~BikcK$pfkj4 zcbkDGdcNC8mF_k_T+#Ewib@#oHhLcqCw5cMAIue!5cJut=%d2u1SVEUfRq$~NZ4!k z;v8ZWQG`m=gAffeib{YLIZL6lshb|W6Cn_3k2NOeHvYLPfWCm7w$=}(u^JHm1bGJ& z`ITeinqmyEsB{i8;*mpg3@;*&%6?c5{P4YQD++ZolL4d!Q-CAc9%Ud!g-fq504ehn zXk^hB;1yBH*d77b8-X&0GmSrv3KOD*q>M%jG_O&dU0$8C;C1)5r$`<)eLO~E!v(PZW}1mqo&@v(99-}q4fNggo23Sy;k`+Vkeg}!R4u%dibq2Ql7LxWBkz5M5||h9u+*TkUk6ZipC1hc15EvR~X323{0l@lA)#w ziTYaBD>_vdT);wts88-T%ejul>3t^O_>e_>>cYvya$BX((@U9w5AQZs_?(YF>J_|i z-fhGbS)gr&XQ)sRQUiIoXojknb4_hr(PU4Z1YRvx^zS^FyOfyJ1p38_&J~IcP0sva z8csl6iX%bc;s%N@8EUE!C`^dd>lF={^@aK4C2HAc!$W57dA!|L@}M%t{`4OeWe?<0 zM>>iZWl5&8#LWO-mxg;yDFl>~tg3JavXh}`G}T>8a`qbT5pd}{TqQjCIhtHBpeKDM zt{h5~7k0QT$;QYFyM7F2z$2%0PF?_q8n&WiqN!ydC0^oW&u#FrRJxPJ$jlg;oZ5gh=ej4~_fT7D=uIs*9%d}G>B#Q;Z_m@nj7 z=Ex#Kmr2$y%nx~!dvl=@3wy4BB=K^8yfZ+7>si?AQg*3FI3@ca=^NKNf+yJWLh-xY za~81-%om26!7(=|)y>eAvw|9VyH#2saCC5=HrhWirT^~L47U#cwO558U`ePv$FGB# zhVNNnRL!?3oK=e&)S+@1l??&=hwqOnLw)J_N_5QA(#T5?O*l5j;Rr&D7;y1elGU>~ z1dH;c!pREv;{302{h`8nRrrmP!E|{BAT3m!r%R~fLICB#-tAv2Bw9dZ5ZFSQe#$>r z=&)5G=~6x_#6T3{x*ldQQ-x&E)AwURqHimn(W6uIPERqOlm+gKw;`EM(w-1~b9872fO8 zUcTF$MTG%#9;Mi_TQl0mm)Rbx(i71Y!iaVEZQU;CChN*FN2EWn5nWhr}IJkLuM zBEQW75fP$p}#<9iGT1LN>`GF!gbfxho8(pAQKhmA2kB5j10bBggAI zgY)jPS4$W!;k)-p|ijo{mM>#kw@2@Buvj0dINRDab;}zvm zAc792f`Yly*Clo{mN+LSjFGk#R;)0uXsGZLY$3*jx$a9kx$Pi6sls8}4xH0mN9;I> zTu~Egd22;~b+;K$NM9!l$_xRZc(9@@X2EipyrTbm9?S7D$c>-;)*X zTh6+|5O*S&Q|z^!$E7CNA1lOh2njL6>P?}3+-pSu%@*|=fyg)L^3VxM7du&+p?&c3 z21UF~TR+26=TaW~?pPL`B?g?U$xGB}wz7RE6O8yL6iVX+15{3+WW2#`GLm-;|ura1y_3Rz4QM06PT7~5ku zW#E7~9(elWJiIg$LdzaOw(pMP&tLJG5J0}2_hyARs9@eB!#|$5L$ zJaku`WLt1`i8}Ee^BbW_j0$`H*;mxEq!7t9jCa-V;4qk}ELq`UyQVISv8DQsWml`! zi_b)T#i8&{rh*E!>YL2Sg^$}m^h?FWcs+( z&d?(YXCPeK!w@bd`-cjXx-z&W@vi>@|5BkEWRncSs_jO5Ss}B06r4wJNd8`-@_zte zh_0cV*j~tV0UzYKd$z04C!y--sa1ss6{bEBKgq6j=&NvuW=?ah3cpvJH?#psBCtYy zgl4D^VHy5dsku(ysd5}1lnFzHC)%ibYeh*Nj@}VIuEwQ=91I{(sPG=4%bO}JR48CN zsxUj4>)l@#w8aW(SXLaC!c#+qp#~0J&VO8?c}ei?B~g|ung&~kgjCA5n(Gb~LS7dn;YmucP~;#B z6)H!C1BJ|T=6ZESl^@qQ?3MGpQ;XqIG$k5G*6fqTgRJI(+zLzId{Vka` zBKr~n`C%gekf%^TzaEJcY>Kzm%5@@%iUca_TzG^trjkypBR#cniM0`9Kk==ESJ#Bg z_3bqA1ljfeOiNp}fvO_==h^K@n^_(;l8O`{8X1s1Z|m{lWGe_xZDJ*FEOZV<;93aWba>vlJJ5l<}nZ?um2;C6=@Nx)|ZzKA=EKJ zL~bO-auM7^fz_;yWNL;79+!X~5y8-Q+@Xk06V<`;QaRxAeK>LlH*#EUeGmFX^74G$ zE%Y716=Z%4e$3VroN$ zVMjg$g*?HTymY}FB<%MQozLH;q5X#C&mgB`ZN8$vOLuBZUZ6N_@Uys@H@I#+lVpLbUDd_wNWEBa?1%wNt>p(%gt z!CZ;+{)#f!f9Sz{#=8yIMV=FdS$Y2X64e*Tf-a_R6Im1qdYu~$_NA;ni~jvO?+Fzg zj<~it|FHx>zv&|2p3D-yqX@v$S0!jpxmJH#(}Xy+M4;(xf^v#YaIv-kq@wvPz+kKXcaAg(bU zqda4cYI>hzinUCK!<2(i&>wnH@?z5Q4!)1?!JqR*0kRD~?mM5;9K0(~`7_+@{X?S^ zApvyJi;RTte26!1(1enV?>VdpgjjLJmB)9mvMs=PZ=m=K@-?pl=Oh(I413Qih==L{ zs=|l=%4Kkc;V@A$#8p}$KNo571-uAT@2?T(x;hbbYTk;jpucsi;NvW;Fs61$#ZMJt zbO35}mR7O!aRITJlT2iVAs?&nSQwAK03RLA!9>8M|570^k)eygXDWf**vhbyMF43s z@cH(il`vB1Z9aIR67`D;@fi7XlLaPY2?)(kVzxiil>;u?A{h*Mbw+U(v|31kf^#UN zivf3LmZLBv@29ZU-Txc&>qwG1Qxfu49EnU0(DARO*KU5U2siM@CP0>K@4{ zknvBfC`Gx#8=Mg5`N@h_SWz<`-fgH0;P)#Wlb3_B!lx_xryk7p%7dAsEeNQTP;scB z>BR^0IM;y`5Q09v+t5Zy$Ttmx5xJjZ9#y0dPqQnFV4rl$HwIo)^)B?T&?F)#pf6@I zVM+oFQC_G%#uF*n@jAu7wvf@lpG=(WJb#9DzEQ7mfhHx*M?M}3`KpkS1N;3JHC)R1 z5&l@pkuy6}K8s7_&4Y^9bm1;mo+<11NpL=0gY&#^3G`Jz2=R?FgaX_OACd|FiZd2Q zhP;JWb^ZeIS{UCc?VFI6v~U9oF~B|2-@D%%(i=D$px1bSEEBYsM3p?i%B5`}3(r$o zLhSy1-2zJ>3E9V`D2Z@#NfU1;YcDx`UD#fIUkTD0Ty+@WcY#mni2&g2bwEyy$vhAx zE|y`+CBfnIo!=v74$6cC#j(D4^AvieEwHl74cxQB9gbY-K(5*bhb-wQQ8Sk$aAROp zHxx@6-xIXN44IQj3_F8o{Wo9$e^Hv&TL#{#M~pg|I)8r|Yh8W18Ea>T$;lXjcwrz<+tT&oIw9#2;E#gx~&f?Q$v0icg_ z?eFBz2PjJjtuY3^6VJ+t*DE?Cc7-s>a04ZtSWj2<%XJXU%dSFtVb>L+9cIF~T_7k- zqs)&_*c zejm=4=u0qFAw{)5vo~|y2!?Bbu`ay2lOdJ5XtZmQ;HwHlAQ_5ev>~1}baY8~78Qmx zz<3NrCn=t9sJej$2-*a7g%?3-T%u;ofBlX5)R1r{-Nse(FPEq;qp!M3-mL*ejJD3kW|eeII`%c;fLz+d+(veJ%LbI zaBe;E1wwID`b9c`KkoS_j3o2SkwO_F*IWQ)+;*{`aZwRvs`3y>v$1Bfn#@?g2n(lQ z7d{DU=-~-w2AOxI6CBI_-;ZZ7_#7Jy+&VZm*JMtjWb~W2*nx~3IEy^qJXmT;f&%Ie%-j^hPNsQR=xA4e*)-Dy zU`A8W?xr9Wryi641L{M5rYih&eKA{HqU?jDNZ|@=!N>!UU{`o@T=eC7Mnm4Ss@2^l zouSd=-G(glq;lY|Z8&7O8Ha%_qw@qUD-1&>nEvMzPjXdhqM*FP(pr5$fhu@F7cs18 zh`L|V(&s-+Cdz{f%X1wnaooCgqc8K-yN$F#1$wA(G*=|z;1Gf`KP^}x9c=B|ya4j3 zLZHtSC>7hseHgS{Q3^h%pRTBmcc{=UK)|+gJC}*g*;I(HTik8x#TB*VJX}%Bmn(Yp zsdqOS4&DhFZ&*5}JWONe2M3n#J60QHr8>B%+jYo6-`4T;msxE`H2-fyNg-UcTig{mG z!0Ct>bg~L`pZ|)g2^sYU2aEYW%N~IXT&hrcQZGH(|E2ZDAM}goWhh;@PBZ7X9 z;IxT)*ysPfd3}zj7*n2kj?>=f?r{Z(sg)0__5(-?`wMtgL)OQRyd`1Jg7D#d46*m1oT5@dt7=(~&Oc(|$TIdwu(|aF&Rg$(nma&L|kSn2`_OQP{SxYXTEyO^D*koHhk zeSfG>8F&SS)@Q;4^jZA33aM9x7aKrxE)2Gh6LDMgsKW8$RfUf5s*sncAgFLvVU%9I zPm>Y&Un@K&6Q97E6a#gIE^GO18Wsp*>oNiay<7t9j}+?o0^Y?ju?AYqh$C3AFs?yX zC4O3>t5Ue)ivFcSv;Df;`oCVH!{pNI7!f1JA1XwyXBBGa15}a^TnT-zxx%hcq3uES zbVV8AleDCg9V+be{)&Esq!p!&Mk3E!D_Rd$G*{Tp&_T*euP*-W72Vx!z}Vhx%xcQ7 zWl`bTR(R&S4RRFBH)S}$)i1p%T5gUQ;u3_$-HION`nLH}Ced0(RDD&w*>`LLc3VYY!}Z z$F`mZ@docRMx1(Y{=6U&&2>GRVF;S)GtpcX(cN>NFDU&3>>gB+aSV`|qzDfxLCY9{ zCByJAg)V3p_E8ZT1q=fsGTx(AZ`u&SYM5%TMMb?XQBoN;DirrVE)Sw~)%>+WUe{K^ z6={M*k<3EfD4;@x&1Z!%UK!X*SC|k66E~2Y4v$rJAcp$3^J#pqbwwO`!m=rwOM4J! zNRU+swnx*SDkMn|A0hhYl!f05@g}omOUFh8ryE+g4R?B9AQDHDOp?f)O97Lu(~HkDfDkgUmGN$4h=W}r{&O(v6@~D^gY0}lg^Qyu zYFuGjQP*Y$vDYT89rup&MukUOs~_BLD8!1I6e=V&6cf8Fy2rcC`zv}LtSDGRg+pEX zyRh8E8+V&Ox1s@f*vw)@Lxp)or{q?K3XR{dC|s~W2ZXP#w^kHT8%U0$AD?Ci*Lb&i zVMV{*oNM9n6B813&tEUmOFZXYA#8vC#ta!AaV9M_G*AlTtCenmenq$F`$D`Wbl89S z#%#;1uLfMy00CT^?k<%`OoEsRKxPDA$PtSqylW4Qu*e#IRYKyWh`Fjha9s8atiA4$ z-^WMfsYn-^LI;3OlvjnES~%&S(jdmtYv!q-ONR4|NGuY{+}Vj}fBnVe%nkUNacMT# zJn6od=ow1G6hG(9!pvi|j`xt}72*F~xY5qTUE3g(rz1-|f06NVM;O^YyTQ6=-?;}M z8`evcMxV(5V~+IeYt#h=&FBK%RrT}6@gVV0GbQ9@*Q-2`5ry7D8DyprIO)C+_?e{K z^T1Yx@DwHvJ#Xj?P&7~nO#=;CSt`1J@aE{LlG0TipJ`O?5-y&R+`sDV+yrTAF!HUQ z2BIDnCSH%KBJ%QEvV-jX7E#ojX`|PTc!wl~Ao@%@f^(r2zgaYbWBC&Epoa3X;wQh& zkWM8xLW~Vmo4-^BTJFTcYO-p%GCl9to!$c-oVkg8k;p^m5$jJC^7*KcDMEo=6MrD8 z()Bh%Uq(h1H_EHRCY~T3igdgx3@v@(B*i|0fLJHLqW(;*bqhoG10Uw39Q+u#mvi0c zne)JO=+!V{g<~*BQO}_j;E+5a(Ge#HTkiFv!WjJnPm@-LROS==Jo~UGVtyma#udG! z`HX6)(1M?>Xr&dU|H+Dm^E~rhpC7EK$c~R6Am_NEsl5jkR=;$&ImN$4*o(f?Vnvzx zJXz6K?lxux@VKI`5NO#6s#bA<6c}OD2a*3w(~6$+ctxiQLsu~%jKYOhh#Mm{NNGg_ za z(?Hp(!v1>?=AKv75}>m~f2PL|oAW9N&?6v-Y%1&-0J3M#fvdB~xbM9N5F8yQ+3zs- z@f+#^1X9Nqb4XDSSL4?`L<%a+cnS<=6K>~lEC2j%hImm(DNZP+M)G(Yp^Z#kmvWOQ za=#am+6_VE%Q>F6JS!EGD1q~AC)!douL>#p@C78<%azla6g(OJw|6csBV{SE@@oaK<2_YlDz;o&o%j%ymXp--7 z)4z^y5{$g`8O0HL4d>)$gSIqMGZs)-aKC%ef8v@niplq9A?f>ZBQSv3v_(Uh*%U0L z#1QJ1#32AB!PU3{>!y|!CfY(u;>tGmRVf4r6BR=LJ-)BM{sV>>LzA2c-RqPVG3c>{ zNx_tXD5vz>y7=Uhv!iqrFSM*IFu%41c>I7WqDiAH760AtLAh%(GJK3p$-`wJ#2lN8!Gy2A#`7k`Qy5pfAzf;9Q~E2y!A2 zXC|P+NO_)Ds5Zn13eQPAbGt*A!tieM=86s#4jU?uq#+A{PIN*Wn+g+$N1kI}c&yO* ze6;h5)@DV2bGP|~F--Y7wpF>)lf^ zgTCZ=M;;3z?v-vVZ+!u|fNbkUkcq?5(8$mRT3mqvDQv+=itS8~o+qjJ&Y-d~N*FPf z)3F%sBkNMYt+y|pfeUJWrW0@~BsBxI7nFlF#qsP|nh@hBK9M%x)4;Xac^y70Dh`>#|(+rLax4s;qQ=mbwWL)|d}OgQU7ls&e-9Ur#AMIfV-{qSMQ> zdL02|kh$MPQ<04df{c;v{k9oYd9R>iKo%8#uJHV&!g*H+NXEt)f>ba?8!@ZG$~H#j zPo**m@#kOleFFcm()_u?$fd+o%%j5n5u{wG?inot5Y0TC!ar3wf3NUn9pk`>ycNNW zibcY!LP^7@DBxW!JNmYCf%>TTX_`LrKT|T?bFVwF6VfZkB|N%cCkWMCXxh#|{ao0p z!r^9eTTlqsU{_kvmnyvK-HO^|DL#^98Aj*L6%DKtWAl~Yr&_;X_jpBPh0D2)DJ!Z3 z1*25^ZbgR(%J_Umw-t)JT+x^Vigkr$h9k%baEf4mj8(r_(cx}G;jejhM;CuY5sD`Y)1H?COE5HHCI25 zL#J#Moa}*L0IW+TZH1I(%1h-kf^k%FVP+|WK?Ld$h85a-OrS5lG>=N%Y6r;%SUzul z6lGeJpiPbG@$HP_ODz0!^k|3@kPN4;!N+4g%AU{vzX5;WdLx;dU`@spdgQ`}nn1xf z7r^V?%PAioE5YM+PDq>_6KTc^<1>MrVd6~2x_%~vH0VgiGE9h>!xf&e;!P(b+~Zz# zTS4aW)_WVkME)VsKUWCtA#O3r4>6Wm#K(LAye!H^eg~y6 z5O4?@5I7&i1EppuWF#_SmH2^!pRxwA!Y~X&g${Tt3`aw2rCUTkKanfW8sq5m=L(@P z$>xXlSYTfTb;Gf(aF}aK^**ATK1ZRzx%etUiKWBG`Syw)F5G5CYg*A4?lxD>1o9C{ zO`ow#2kBF~k~6*z@27U4+8 zP#YlmzN?~>g74@X22`ZUyTG#_YZ>Zl6qgmogk!tAEoyUcOOmoXh5dY;tk5Q}@>ujV zEev8=zhwXvFe-$YN_dp)tdNo+@na=bJOM%x6N_9iKpitEFvlH)TT#vjhb<2~@D}qB zC@ah@{lB0{1Jlgn@SuCV3j`><8e&T<<9ka$AY?Lfw=Vqa<54RX&=v8_vmn55$czJq zJyK~0b$}0w(>vw0`mKxT@(>W1Spw8**D&{bV#=ioTn3Wwn)R6?f4m)7@mz)vo}+98 zkhIAJ`zXYb^}0ZI=EpJ+WS0Arjnw!|#5o|DP*ntFMTVd|Zm-MHjuQM3iUY}?kf6cP zi#~-sSUM%4@6ZR5ddrY8ComV1?eB4u5ryEju)qN3GrFEjc@HiKLl)BMC-j$S=&fTe z!^&Hanp+(2A8}ZrB3#pz<@d{n@j3u4>mMrFcZGO7R#9704ORLRm*|duD!WhvzoBwr zJAbOMuBJ#A@F2nf*#2@-CCndA30&s=LxuaNKoMY%4N;klU12a^gE+m{5lSHrq3(b# z%=H{U=uT<|ce;I4cuAmjg^@`8UM)pU{#A(K*?PJ`hUyAQbzNv=GuK0f@(D|*vK!x2 z!8{^$k#ZidXgYNvhGCHPg2G(Cbho(*IfLy=T0da86(8DIJh8dL8)aHinm)%BDrCId z)KKB075$7!EsGUCUeSXU1vd|8<@5w_SX^N~@{i&ni5;pC^oUANEuvC7Q*;!zp@y5Y zBZeZ9qoA2UD+Jn}#7&Xrgpca4h=@NyNhe!Exu15i;cxk%uj8!miFbWQi#pUneM^zdkxwm8*eg+W5Fi ztqD6;RWy&EVS~p>wmU`(R>~f_xq6D^_@+Qnt3DGQ`U1Q<)-h=9BCHsZS^oPc9~y|&ox#S{h@qt*4{~C=VnyOJ5hy1$ zfZARx+P`zDa^cva?Am^IVlZ>c5MfKE7E!mKP-G6M61+R?KU4~Lq^XSyJ`{JlC;VNCFS&X`+j0`q(j>x|KV zf{bftl<@Ia&>xLLnTrK{lNTjZh6N=6%;lS}6MQUk9xcHo$W7ZQbC@GZ1j^Ds&H=_N z=A-N*JuhzoNR7M>L`7Bj-Qg)sd`r+oqe6Xm?*@K~KUbKDgHHZXArFNG=ux567SYoS z*TFpK^YeWNn7a)1UM@hy`DlUvTGTsy`3TP?F>wq!NrozSa#j_=A&=`R_D6_%s0uyj z*z3GR1FmgVAZC8FqT^q8j+!}(6?KG@r;IsnX8Q3ykhr3f1vDy*D+*|+FzM)Lm$2jt zb0eRDboCyI00cE?wkw*HpJ2TqfW&6Invaqw@p-zUG{zH-L7%MXi+7vaRronWg?5L# z&8sVV12O1jHW4Y_$%!7#b%-!vHY@rKhfxbz?**}n^c>PsXS3ul4q z61{f5Zt76MG*c6$+r9?rY@}Hxv5Fnihl2oy3nKH)qr%?B3(aLfW(Cz}qIZ>Q?5A5T z`l3K*)uM$K^u-*QL8H=5PTMf$t;84b|6cqL-Jl8GBL+oMSooO;Ibqw-#lIhi7+Qo^ zf*asLkDXB3si;8af7t$rC8N3`*aEF&b*Wrx?H+ggJ0~rl4b)O|fu-^F0RRw@T5U8y zK%;19DqbcR@_iBG^f;lUsU!y%WW7r}fq!;TyB4jeGZDpSZj%_7C2|}a#p(-CD1`-l ze|mhQmm@mpqEgeG$1v3&d)LO*nT*E1rTy3TMJ z;sK%95Qf3xz*F+R!cJf+!F&lRn*MWzn$si8c_g?; zMUeqsT>@|g#=%Y~NlTJ=T!t}1su2Ebg?gT$U`YzqN&xy*UA4n6r1J6k4R&-Tif~C$vGSX6Ww6mos_oBs~F3b#g zeIO7IcN=M>dZWU~sHs9Lon%_k@ood3F%V66o5hNLtDjdCGDwtL6+T_jbP8m=wxZ|7 z6{R3J#|jlMR7eP3St5Ple@W{KD_0mC0sk2*Ji5*23Kiq>hYHPB?+@-ahj5iE3?i80 zaAN%G!JHwXv#~;{KOstL=@X8z`#6tL%6af6zm)IqjPi~@F#S;a0%GkYKc_Ge=3?cD z*AaOiFVz4F<#IDYoU_?p7APT9OiRH^kU=iq6=pfX(-|VIahD>Yc(i0U0wdOWw?nKM znHRJG)y_o}dY5tOc^Cz+1}W8B)t;bkZ!~0wY+h#2?yK791ItSasTRrisL!=%bVJtC z7z-Q+pjAA!>VD?=(g3mbryO+eWlDZf@GxR4;5Zrq4b^pqL~qc$1y_yZ!yk# zKe0@@KB*FwUqFU0GGxO2E>E7RrL;xIB5?q7uRei>KwlX@KrCdeH8AUVpodw>*KJZq z_U8cm3Ubl|w=c>pZ=CV76bc~^s-TA!AF4UtfmX8#Tg=%d-e`Aee@X?0e?v%Tk0Qg zcSvF|j(W%2OR?5?T9&Crr)HyVxm->>KiBe5Yq^Dj%gi-beHI93Zs8aeHnT`1i;Dqj zARwrUq*nN?#vT=pFn*-UNJ||zE36K#h#62Jopg*E(I}|w%|Ql4c~*EWM1Vz$I8h-1 zNqIcR*37-ijo0z{Ct2_LP{!) zXfVIAqP1O7T9_bJs1yOj2vlE9u26^vcbmZzIg7sH0j$$Wu z$fP7q9biB*)AI_?{%%v!2HIk-L+{n8Lcs(g=@MBXeTR@{uB-g7JeYs6qFw&HzJNyh z9V*NET^2N}P|`}Hk|kN3QT=m9-k=>}%1g-i`V)(OBj(w5KmaPrJpk~{g#R+fqeA{L zX`ViA`Gc=~l}K0uuHpK~=Quuy!UdKn<^o6c4xVrkb%us{Cf`1;1&jN@@23on46 zflz@>qGLg!Mb{-zJ_6t%Hh+MQL_;r`v5$vD3Ova2yjoM&uqna7Pkfch>CpJ-C#t9A z(Jvjp?T17l$$2I!g(>-eH$ECm7IW)uJ_$Lo6^1_SKL<9)KuAWZf>>cDxWQ!l$7;w8 zsRM*9!dnwJU*GV(({QL?e?=>*bS|aVwRbCgM1(weJ-2;aYCrKOS!X+Phi3#O_Iv#5 zNoSt~07Bz-d@E_if`Iph=LB$NwimSc0tc@%>M}z13HW^gMYU`L%{?|!kcw#E`7Rzd z>memo6@u`c5$41@rYSEnaqOTl%s~celtvSeLEr5v55?J;RE0gSSX#s+E|MYs1hR=-(MSK2SSNp7{(R_6H#?_( zw4z5Pq+Ae0#CTGZC|CI4ZX@^k!HOyd4<)Q|n=4F1EZiq2S+8g;R~r#TNwHtiP9#F_t0B%%;km)ivO;!)(#QrtA|ews zz@5*yMTI24akq)V98j-95!<`X$$>tIF_f0dhol__hHCb8k55XKwOdh=O`PvG?>?Ak z@fjY>eTiN#_nHlzBjk5kfB0$XLZtylQs-=(0 zr80azW%%4P{ZWGQd=yI)F1#*w>{ygrTi(iXmZK#u*!*L%$3~pW@F=mmWhK{W>M?T9 zNk3jk8FMr3qZiewW}K9$ic23Qk9Qlgc!MNrsO z$N(J0)&NQAr5$=tpu5gso(Ll!sbT-j8@VsD6jgy#WJM0oC7ut{{;Y1{`(iGgCBH*G z__3~&3=@M=W&ngC41|yDPatf~H(&e~=PHH)HcPm=^AV)8u8_gH!e{hHjqh*v2pj^l ze-3_uk9dsfZxyQMm5u#fhugguLOdR2WtW#gkupL4y(-kVr{l&l|G!oU**{ho+k?2Q zuxz?S&vG*uinIYwB^~Av#&JGXsnS%&Eelg#&mTV5l&y=*bld3}aPD9#pcxyMLO^6;`b9 z#z``H<_fbetZ1x|h`ud;tnHMMicdMyu%a?TKq_(Sa{}an;OEUy1qx}RDYf$#_^Oa> zb#uq*wp*_}n6Iu@i;tjOfEB?Slwrbv6o?yz4yhjXjf~R!aDWHyT^A+eZ;)#s-yy(uq-fkeS(s$ z79?AFd4MWHf82hjbG}qC2SmEAuuQifYx8tHi#Bi#Z1L;rGih1sq5#-$2Yn@`2Z9O> z>VigfokbB+M=R&<+iQtJI>)}GtsOJV?BC;xxzLNEkX+h^rY>seP^$pk>$$UCVPpf8 zyzq!X^@vpP$Yca!@wlbALcSLV?|jtOtnVYSsQ3m0J}UdepAd+vk5e5q+?kzFTVUBC zrtES>jAP>oW)v+d-}|e3A;k>EEXlmB=i6V&AI~eAyk0xZ{v(XfU!H(u2z`_wh;}xx zw~J6B7XZ6cw(u94JOf7>{DeWcG^Rezdb*T=SPTNlslo<;mK-cD0*m&|=Kzlisnr*7 zg$^e&fX3lUq3F}9VZ%ty_3|}fXLto8;$JF+s4JY$bpYZ_5}aW33;bbD_b}BP`#mb0 zNgn`OECjCV<_{G*Jyd}R!1x2o)=+h-Fxn;iONCL*RmyvNur?};OnV7&#wC(}Sz*G$ zIVqsZcyUDy4FySdmMcnC>hpdlZwg7*W$NNpiDSmp&`_ZmZ>%Vk^WBCXYo`hytf(q1 zN8^mQQ0M4XpGqH#q%b%{hKLml6N-|WE0pi^+KSRdf-t0B`(j09YWYHnCV`Y1et=?r zGlbL^w5l+8N&GgqUC~pLzP_U8*@{}p3YC}Gc|`@oC72ZYymj|{V%ua1DJWUs<66#j zP$on%8WkV8gxTJ05K8K{?F-KxUlbJ)hF9oiTG7A!U_QJebyg$-3&SM2a_?;St+zwT zII1C_I9n*HAKKQbs2W6+oXsA+ucR1zy)rCBVICOb3}RoEAULID=Ajuzu#9S4qR?(# zOlnonhvhux^ob;nuJ_l^utybgRUc>g;Tt~1Gqb|czcSbeCM8+20T1=kf;zs(y_U+f z;rMmFk?D-pj;vd{32C)JYv&N;`uTB@C=(8q;fCBk*;PsYgF53<8_A-OA-s<8S1bQ7 z{eRD=u{9-eJQ@v-LSsmQ#ekrEzW;AH03%2@Ka{IjBfg-d7Dh=Ra)*Lqd> zm$#Je{v!pJZED zD7h+#Zr~>Gh}<1m)*zC2W?;tnEsXQoY4{(xqrlYN9hS~gMqrxB-HSMx8Hi_v`U2yS z4WhkQsN*c4Kv8qbtSj9niewZrDl82_=aV)oV(yO%2kQ|g*b1R`{;k44*m#W@o`I|` zB}LMxoT%_S9rX@|kE&1v$i9f{clS$xTK3y<&4I6*uCuO?tW(VUZxvc)6VMyBSEgS>!riM7R=|af! z^uc^qT!G(sFn^&-z5+M|KW@EysIamF6}FA zhSg7}!er1Y4h;RyW2b?=*Ix*Ur6RNDEQ3mD{sCCvs;|!g355j2RnY6W4jFF|mQiti z5b7%O*~byoTbhypfv7-zswQ0V1Gtb>nXFJ$5>(aw@e3@Vi)0ImZm^h%IN0*mm(5!v-#G;8XKkMG6M6ro)dO}P;pSmGEVjvP36__7~*Y&k? z^rjx+++@Gs2yvno2jmYVkGDzG5IHUbiq0b%K!$XbQ^ypoGf&iOXuLT)9!Z3k);)%)3)Bw-7I==J98n=5Iy-VL zksoCT&nuEh+_>%~3?LFk?Su9mO(tp@0~L}Ns>ed*`SZWD`MR)Uc?oAbUEylXg8i*R z6v12-O@t!{<*e{jgOAIQj?W3QlJC#|?&$?E2a<$^gzs0H#8qKrf%e(+(Z<{yRT-i> zQ8>PEWmKS2Ag_U!ixmx%A`yqwj|%b86#}rR@WK`qI)mvBHUxmQ6pu{v*ak^d%VV!C zL%PN>(w{HU2Nj}|AP8xJmX09NPe8>J5^|VpvyOsLFjQ!zCOQk8C!L`|;Lz0<;|gQa z%j(6r7x~Em$~$+PbSj55U|30T;jH`f@NP4l7QL!)x1w;#SHy`tt|&`Zf)f)#?h4_A zm^d2Uo4o*n<`w;%1@p715Ff+cX1SvE+KN`_f!bk36@IEPp7A~Y*2rIE5Lz)0!wEso zZ&p-B=?D@XDfpc(wXY)3KTZ)VtmWNCI%CvN`Z@@N|KW;i7y=snWI&3yRx}1kF)*l5 z`{2+tnM-e&KQM4ao@IFLinB(A`&$zch-QLu&?x$&h9So7ysi=XEsr=sl^>{e1oFO9 zDPz(yO>}pG2wJJO`;znFz1JV%!9`^g}?vL3@M=`wv9vC^bOVUa-+)N7T8v`sM_v+xXVG0*C zg_;2I7|DpUcjPHjq?FIBBaPm<%A&R}`BCA3RgvhA&qPrC6vuy^1f)3AROJA(CM?IZ z!XvZYf+>O-7L3V3`&sM~!K^Rxe2h=JH2lZ9CCRz2LYC(bc1+f9b-=<850&2 z2$HTOW5iyElH-mti9&D3#XKtH_e&!*as~U+{(9F2HrM_OqKp5i=(o;t(MlIycR_0V z@#F68#L|0w0=Pb^@ndI*kV!iERH1%z(o?M7Wg$Qn0o+CjKLDyivGKa^y6S!8GOpwM zVif2^ruVzecX8*?3!pYKR{HX*Ju0t3buxtr7XEzi3L`%rZyK4bojVbGy21k)OL$c1 zW^U=+YdWsnf=VH@G%y0;Bfh|q1>z9yBeBt>x+>YO8aU3aD@2kX@mb+{RQTxr8;Fpv5F?gFvGYaJ@Ql&+ydt!RvMT!gBT8>Z(gdX_8d3bW-R$OV|4 z9K$c@6Dwv+X!XA7ZWCA3WtAUW%M}&%`T#p~g{i#OM#70Xo9AbcLK z=%Wh1rwS~*CVdGXsc)tmBUT9fW<{@_6(-O()mwL)yk`77UdeE5k*W^NAD;AJuFr2D z%y~s?v!cR(lNDY@L>e~t{>Ge!6Go<&iFVk!!uvQ8M*JUHM7v+#n6G4ILNC9gN{&5& zSp3r$6!P5nBix&XpHZc2v-XIh3jk@$P|y};)F3?oNpSSeU!I8a`TB*DEL=A_ zUK0tA=LOgwE;Ar!k74Rl`hcBKx#B?SEW-bWxYv;h2_SBn@^ci;Wf1r72($M9Lk=tX z#&8UV!C@;aDg$XNUt}19pbe26sR1U!B2+dwhad`9xC7R26k@1nL#S177z^ht4a!Ti0#1kHI>IDe_|yes^| z`-cig7pN>*A?0z2iba2D^@K!m02UQeL}q}_qr#%zI032(DPSa#^Ac4xvrexgE4&Kw zUR}|Wsze!p0@Ww3Xgys~9<%rs&?OCg_mDd=j=Mq{lclZDrWLyi<1Ta%Cm^x+w((i5 zXpR3I)5*eIyR<`Bm}?SpqgO@+^{6I9iz}Kc9FEN(t8D^Maf1Jhcbk`1^ju{CFDhj4 zMi$24PUe%X7gqH7-Nva@%~+w`H%6RQT8Z)BGJ)1{M3 z^N?NI{Y=)~tF$Ym^eWVZ_s|qN)fI~DZlkfl63DQT1csBT$_N^fbbx%#!o;`Pk0P5^ zIT-0t8>M!~;x0o3szO9kho#Cx=^luJX9ZFS;U8liL=8Q^0GN*~Cltl#P)>T&W!9xD z9mc8mm@B&zA%L%?CKwHX=6wA^nq72r?!MHBf3`5@{Ha1KM($b-l1Ss&q(RkC^tFTv$%N>`$Fahfav)Iby#Vs#kDp~9H?f%hWqyBby~-y_8(-FMlQLulb?^~b%+@DiOPhfR^+k1MRP!t>nglFFCM z@V9OFsT`7M_Nh=H5$a_KFo%dWJ(z20QxQ>TNegfut>{o;$P`i>B*NZD2F21;BRWtAXK=l4SD9XHS^sc}64Eg{@97FJA>LY)bruaGbV$GX zmrGOy2?-I!hK29-bMRj-(S$v(zGK5F(I0Rex9Q(i9-6M8Mg)cmsNvGUEm-KOW?tbV zElCfDvn`TbeRk<~A`s2F`Z)4-VB5;o8iHS9dY51`84WbcY#0WmDySa=iAJmTj{uA7 z$H6R-jvRtZB56qpw6J0l86+rDo|K_Qh5)*>$_Xo$^^XQ6PADj#LstZxzg>;}?2RFO z-iHLid7!Vyu0jbEwm{s+S625SRPOO!Sul^Js-bq;VyATpG8D&cJnpj<2X9Ln3t$w! zu8=5}`7B!}An+Iw`9v1=?=4U9p>{za%CE}`)9zs0Dk#2TlGPXJ z3JLhm4~HET`u)~Q(8IJp=P1-iqLu0`FlD~huFy@4l}Pecg^9n6k1$l3}uI;5FKQNdtnN5^f>#s3XcG~L<1DL9ug+j&mX=- zMUPCU6Ma%af|ZnPp&Y10AnyZ-6lx39k5}|!a!f;YUSff89{sU{$0hn5(!c2nk1|cZ z^H5{Q#|qgSIbP9|l#V0`HMOcxRPnU*;q-!i zst^+5LxqY8%Xeh%S@c|Cy>qvbbho01-^r3;MQMAyqB0}QR}>N`EkLpdfbTYRyinm$ zV3bM6vlab#805(-dYnd`eX@eN)D)2q?>57Vj^_j7P@z|p7923V!*}Wex$ljMgp(>f zxslC^(zd$WTq2osgW!xSdfr&kfJfSD-x`z0d<2v|P6Kh8anU-i=##q*Q?!17Dg-M` z{zu7vw4xt%KN6HkC&dHKAI`$0h4thCi%V2IVO-(WEc;a?8kfEUr3_Kghc6J!KYwFZ z_005DWEXN}_)MQc&vzRULd*)$i2Z8%4B27=;xB*>!ITONN-2;@P@J(5QDi&L3u#|o zsxUyodRY!RgnNC%zOmUcFJ-*usG!5sNr$XaavS3xb}pwPg;3mFs3@KhfkjsM{1#-r zpntjDt2ZViiGukH)%`e#vW$u;1FY$??0KuAJO9*5e*V;aQen_FOw1C;*LgMKDxz}3 zj$>?=@6Zr)4nVAA7ZM*AX9LpGS|$f_w6in>>lzCa9+xAk-q7lKXr*&VIL9UNyStUI z3P*2zpoUKR={G5=GnDJe_Y>i6KhG-`HtAGwzPpwA@jCqob^jH>4DneDg#rfZ$3bjd z`8Yf*hoka=XPsANl*7R3YL=j@A&3eAA=%3-oF^M&!r$ zh@{74^H*3*t_mSxsySrTFr+|R9vb6%tmhFo;!Pz3JXGhC0rPglcQ6Gk|4_0u)a%{+V8wg32jg{6U z6ug>J@vczjaQ^k(2Cj+~2DY5xS3*e`<%JcM2B&P%pmpi;);HayxUNkVgh3WVn$uyeaIPln=7PtdAC`v=w$%x1jCAo2Z=Br z3(8xlz(4}gN|s_>Wa2T6o%KoSK4XQsSj`OpsIV(m7=Xk7lUoFtVQED<4QwUog^m>l z`PHVm20`X_j$K*$~{k=kR zzWbRLX}lDk*pHN>6M(TQjk3NkQ6ba;xz=d&xX=`9BS}TRb->^kU^`E3fad;9mlnLL zu;xnY@wp^R4q5(8Yvu@pq;y7PsCa2)laZ2V{E3@jGM&xuSBFT+ zEl|*lS^~~gG%#vL+Uo#~kwcR(%*wG`k&4X(HFz5W;Oc|r(r54mKn$9o^+tr}l43!x zBNHqjBuY=~W3+O`m3)kdOgvkQDFtE4%PlSiFHT`T`{LvH_L4s}IEKjpvS(U|jSYP_ z#!!UC;xAzrr0WJzc*e)7tP@BF&dOz5g1_8)FRS4R=qVbo;&%+8K z3TLJgdaCfzil)95u5$Wqg_0#NFJt}N&aYPVx(G_Jw^o#|K68aI5>Rn%hx9=aeDAMl z%J|zA1$lS3k(%~l%z~UsLl$!#3Nm!8@aHRP*7#tiIw6nMy}H}LbAQ0yoBT98Z>(rN zU(pIHn#`*Tzw-5p@(A8tQ4xw2_M$?P5}shvo>h1#fC{tn(T^zKo?L_g#4q|BwJ7%%u14mniJxiKWcR=Wmy2R8ZJBGqgM|h+4{`v21xn z{1iz>V~*WUM0RDy{sRowa=n=7!8?XO=Yh+5MxgB9ZRAf|UuT}6dq>>_At$V#SJvv&(sS*^O zB3Hd+T5p2p$or_uS1Os(i*D~vk!QmTlLh#VqH^4*-z0q;lNfN6z;6_1?Cd-ni{6Y|1UZJ33 zEkByH->c_gSTXpSoJTqyg$>f)fOB8h zrej=0(Pmd$f2|PZWXZrwpy-+Bdbf0$*shcLPxKO~Rae&RXf~(zI_T1JuN{vN;iliE zszL!tMriGcf>lWC=zTPp`7>Xjm#S#+R(e)Ui7^%E0CR=GlI@K3g$iR4Upb_#P{Blx z8TqsPqlEMU@Yr2akxSdg7kft*(c^`P$q7L8)6BNF2%^Z?BFw9BK*IX_~l5?}M9 zk5nejJ{0gKqJ<MtI7SF@+ z5rmuR{!4BWGlUFR3XLJstt%8p*O|c+73$*<8O5*`oQ>d^*-_|1IP9x~^M_{k!gcxG zSQL`JcwMlWIR`}?LDHeW41GeOkGqehR>YbJ0b*1B*9!e{MBRp1A+o5g>nU{n=%TFG zeaPpTLksp?K{OmbeECOKlgdus+~MINiODtq>B}mxXGuuLSP$p$7B|#X}QW3 zLT%O|gPguLcxdH83>6CT>~6zX_|4;`6+QUaH;j!u>`62`?)o z5M~l=+TLvxdQXtArT^RHM7@Vf zSI%43$G1BJ7vArPp|eG9K93mkDaWeD(pGVi*YLQ)#Bvl_L&ceI;G?8Zu%Z3?>dr8} z08_w8Z_46=B`hM$JnHZ;Bc+k{3Zb7;l;qApr7fJqUDI0m4U`c#I+5dgVGIlv5ZZAA zN=Fv!yjMtYLVaSKiu-#E1P?)-L6(@mA?7HLh6*i2#x>>c)jjunX?q}`h@sgX31Vbc zj^3mEUn-9{T#Ym=TtPtu*r0|X;{EOFIrTOb8qy`h>KSun3X$rBs&dWn0?KYQbR zo&vQIQJla0=|x!_IV5q{>lS4l5sv-R3iSwmY(Q7;WH0(eA2+gs#EbAgYaqBeVg#!Tq0Gv>+HeNIMdq>J#D ze8!@}Km6SQmLJsru_cJ8Q+dJI%PDY{v8m9n>O;Us#uKyxoOgxg zi3$Z3Y?a`%1ibSP6*7i-pe{jwzC;;0R~YKRO>SA?qZNf@UQsZb-^pL69HGMWdrA1~ z@rwxk5OQ%sZC5l`NJv!xgg$7Dub!+Zso}oDTCyh0WJarvp~7)`??(Yrg`dzpEjh&< z>TyN+KH-!?E4r(&5=H+Xu$ObKD6FQdGdj$*BV3C66X0@S8mfA{qA_oU1m^WiE1Kfi zdTH4Dezc;8A5SF~Da9XUKM?KNzWB%V}bz^IXQ zSzlZPz=X-U&3!e`cuqSuRi?-HfWRc8zA;CS%cZOu3aJ6yiwMjD5JCosKxeN4 zA4lA4qSXSp%v9y`q7YaS26heSgYnN5(y?Oy1SF}vsS1%J<`lsk=sv=c6)rlJPA0RB zqhTo8DBM>wjDWO3I>R2zFkgIEMG`0xB6~V&1#usV^l_gYIY zsFiR;9*sVDBfJ4TYyOkCnCd0D*b_omZ2BazMxi=^RWpeBn{=% zS**z){z8Jp&^ytg?(ycsqkg=kuy*OAQ{Pe#^&-Pa!77q;N<~7ksq`We0?;bvRaG=% zzA&jmvDgH|R$|RFuRGV_7A`y-F{sL06@Cy^v{*TMs56VQK=Bf7#20zMrGiWIs?ZmE zWTTF3DlMuZ%3T#+o-2$vL@*5rQ8$T|;$JItOX)w43S;vo7XLcdNvXd9YKxrNZW;er zVO^rp03DxcHx@4&<6K0w@~rSa!gh58cZI0cnlRU5OCBry(4lq&lgZS7sPMZ7pLeFe zRVahS1wS6?UoKH_pR6b@M{|YGSG3^StY~sftjP2XEaw`$&w~|3U{&~dMej$vZ?5n> zTT%Kmq6sMy6uniRk=La-znQ^I(^TvvTYJfV>D;E(JY2pH04N)Aa4s>g|#cWqJh(1qN zG*x9nhkXP7k|6Am=q7T+C5kI1sOMkaZ4?bWMHyv# zSgG?4{N)?-kn2nIo6C%uMGgl$c0@K<=%eh?x{yE;lg1)3okajE>vwrA{Wv0q)3}yc zoCTlKu2A8F9YA^Xrpz(fE#nq2m4|*<9IZxP7T6zqi7_wLrcfI3clnO5$7A5D664karm)Lo*t@I|#X zXa*zc`5VL&okZ=w?$hoL(&x*$4hOA`paGuIMv>xLMd-V zNh;L9Z%g!jAQdmdK`uQ>U1W z|E9vj3S}UC9u>Z-aRwvKv%<13HYI_01byl=wY{$JtSZd?(G}34k`_Yj-mGW<_hv<@ zNL@UrFoWs>mKBZ+{{R{jR##0GQntO@&{NM=^ugVR5mVl-WV_;P{39!RdHcJ~lNG&y ztDNRK)Fg*~0CYksu#hpGs18CVb+4{yzp|nQYq%*L2xH>w3s=aMEa&sf6@6Y|LL1oD zm_6^cd3tK_2dpb(|FB5l3Nz@Yd+Wjc_KN=cz;cisO2EG#VwFFB()wtFh;%2p!%m1Q z(DyM?7!VFOD0ATD&d(GJ`fr!03U{|+11q-PC;<3@|M?s9E1)Q>UaZNreGDDKrJmM+ zgGlOQM`a?b0=?dCg!$&#WA7D6N!1l{1UY*M5ld014WctsayLh-CV>m7ydu(hY>YzB zqmSRQSLnc?6wihg6NE(or>Rv8X}}p{23VqI!w5yG$^O$e_|R3kk@bD{VZHO-GlTu9 z_PvgeafD<(PcM{ptOOGqAY~^2Dvq%n(7?J^S#6^15?8{Qh}Of%!gah1?%S??9s!C9A6sh*(HVIEP@$f$o!y7jOfF7U7$hna$;WGpcTm;a0vT>7p{pZA1c8De zpogMT9Brg$Xz{C`y8^T(1w zhOG)CIt6?ymM8K@g~>!|AUwX?&_)I-9Hi>X5hSuJbo%OwKD^r;+5wNl9NK(vx1n{u z+gzazhGeD*-jswiy@EubT>MZWg{u_>KyU&wCADc~#TA{b#01WMMT<5Ib8Hps6f9?` zaJ!;sSkbGoFAcLoys)D6^A+_UZjV+}c^c-tqU=JTYSRf16^bC!Z&wu7msT{jSaXG9 z2QFJA0iZryrY3Ms%qcF&ntTtr*5-gvhHfr8=S9@(45b$oLcFqNL%G)0#;GO)0kXaTkYUr<&!6~Djz%G1O@wdOQ`xDd~KP@&;pW7!eP$C2f>kQ`MK;IP}YDjvA zA4^DZuxDTdqJuN`7l>~Ia50zS?U9|R@>%<`M8|-wn=@$7aRNBin#e&R*~vn1@(V2YRE7^J+kURp=LbBCitBSh3KEGXmzN8{A0Qa9W=Cyk$ym`kh*y)uIs%OE#0>Q z>&_bU%J%qf<5#$x%*^S1!IFMJsO8a$#tI*;DEbKrX$eR7ixoY~6+NMiBlo7l6OQ=p z6+NLNXr}KJ`GnClR5;x@&xt^Blo}*(I!z{p5Un4~xxyc<=wiauLn}at*oxGIABR3M z4%`huj3Iz-Bds`ng)zUV$~4WjfCTL-jF!L`=am%=2kFn$e4R5vr3M~9mOj$au^!xJ z7NIO5L1(i>=w=`JDlQ)PPnW2F4z>e#cCmi0lf)2x2N?p-edrDIU4hrq7%wRq)QoSiY9pf2{UcF4v4CzI>m=s$#!_FK3V2uR{EwkY88ZZBv>z$ zl3i_dc%il=ZsZUHyzdNQ^gXhMD8o&$dtDh8U1WsXDuw|2>ZGku7ZB6{*%!+d5(k#a zxo@r07;}!u6POy{m@`4UzwLgQWQ+~DuZxL7Ku_#t4<3+w1N55E;#qjA7LW89W1PrxJgPA&98^bLIhCy;FaVQ;Nq0 zs}KwOV;lMn`5`&_xLX6?P-qq`fZh(P_gdus2=C=$GSNS0{>V60K)CLlvJGUA+{HrS zibHM$&;YonMI?%yV^VPYVOD>$B#S+Koi@k#{7;55T=DG7y({%e{)y*9M#6jqsSHOD z@z)e7cwHvi%O~f%6=DxA{EM`7a)GkB1YAF4+z6&{qyLfkt0=_(p+cudD(&V!T%yWoM}8b4k+!A@pYH=_>k=hS?e!)4y*^Sr zT+w^Q*1lRJ#Oey65HKqYTg<8YxsTahd5d=I+pE3DmsT`Xc&{)G>k2;?HC8CZb%lmf zh5kIhPB3IC(_)3;q&lP_lq2hDIMQDC!xcUI6-9yzgu)hm-JtdlATBW7$Q0{@xeh-- zWu5@Ng6VF<)72c@Uss>5Xdt|_qWxq=gMVLP@a$GJlzB~`aYaL0E>R{YtoB4?Wf6@CUVK_!{1|$C zTvYh}gS#JAR>Ei=J}MCKuL?7QTk1>HuDO`1kcS%>X0|%!&qS|39!fG^cV1_JC-nO% zG=m(pS@iMJ4@bXmxrt|peGXdcM5-;-De^B?&^xP zgb@Tyv~q2-TU8mNft~E&@GKJejhQ)Itkh#etvc`|lV;=jB*M22GnKEJc@kup59LHk zfY@NTwv04IAczR8~}ybL|>UBF7CM^gLE4m^)+t!g zm=KR&=~Em_cQ=5BV#PA}5`Bff4kmW#KiiJP4|y~g?ou0>h}c z@(r+Ap^!w?suC1o9+#-tAybly-)h7N>jv~M71oem(IP*bw<-wqnYzMo4C@tDhmR{v zP$_&oiWy;i_My4^{65}oGUd?mjVt_zOY~`l2TrZ%AdCf*p3(vPyh1wfFFbKY=L!*w zKj04bu%fkC(K=&j4ZZ&sY2NQ?26W-6{Ux=mcdaQ?3fZN;b;YiG`2piXwK@RdHKQYhJwNs+L~cO zQ)S|u$fj!!MyVVEkii$QLA+a`^6ijSqj+4Rf2fdR+SZ5FMA}+y74Ex<+|wofL8}zZ z4xT+i)y!qA(7FcD=L1Q@$m;Pve$Wsu>%HC2$ZQ#HhVU%9KqPunA}*{vWckQblF8U6 zsvttV;$BhMZLU0*SiFN^f%j+E-P|5~&E)^BlMo_A14SG2zO$6=vd!*I9P( zhxQ+PO&BNUS|u#ty$f;0T0aJmBaAUg=d(m1MP7lqf=XcU?1hjloMMutEOf|976o!s==VsY(Q3a?G3PB}J zA3X|4mZK=s5G;!&1gOGD|5`T-J*%%`XP@Jq9PS#a8fxS2>63_O&mM(&(oQsDSB8vY zz9CB$!nI=4YT2i?`=O%3%xZxB63H=OzKQvL>{JY2dDcdM>AR%Yw=xPH=W&UK_!CQ2 z8g&(r{Gpc_I|$Sj^~VYck@wEXU%<}k3hXuDdsJ8p>}2}QrqN8KAq92yWuY*pg zzh9z!+#`OcV}r0V(kkj-D!fXDaW638J~T%in~;PUVfzonh|m1*PMy}tpr6|Pq_ zt~fOBttgob;&G>O+yWoG`|&}Aw-MB# z7!Zu1!r&*su>Fb}bM*NaS5zDkWD%#+Ul8xF=)<|bh&0#S;L?hwu`|^bB9ll}+X~B& zVDYO@Ks>7O%Z#r?Dqr+zG=_B3-R3sblmQ$oT=kM3@S#}v$Q&x9i-#yj$w>pXVC7el z=44+Rg(*&6(eu7U2a-ln^6VuX5s=S|WXv6U8uJqUFTOFyM*sC2Gean%MRT-wGf~rn z6+fk36ZQ9a1>Df)ZD*WumE~l$hdQUA(9$6vKjG0+Ao+K!6`m?Fg>nm^M1`gVL5J+I z?3c+bZ6$6-8b$BgIV6dm*WCb(OZ2Ha@-$Hp7dSf@J=X^UQCzIw_OE0?sq>TV-WsE}nP-EKvNu-U{^05d$l+h`hCQm9bk z0~wDN2i?w#X}HN26~d1Hd2vNs)jV5KaP2>e3-6WseYwIjRp=bp0T93llambWwTHV6 zuBpP12*tR@`vuV@7+c~_=a zcAlXWoiG)MPTu@r4!0l9wd6|Z%w#wa^0e%W3hR$Qn2mj!wk}cP_f_!a{@XX^MIfWp zmM!OR6*~9H7(_wk)UX8Sz<^2tiZgLp;khvjgeFh>tN5A}4abhE@Yw5o8iO?Ot6-~i zHnChPiBdT}$WWnT0HByl98 z0|AqwEQCPvEI10kBq3z$VLB*5kE<0)KbRu$x=14{xMTgo8s&@WhF3g-7l@VxD#il= zpa0&TMV(ECp|HExBY7l-|jOO@G!#K-xF%O!Q1xjXm8&h0(RdK_wgAU^h6 z-{Ur2xfWj_Nk22R^wqwj0ldRXLCGK9@js%-;ukoQP7uJgw8zHxR(yM~a|wePy}0S6 zmYNLD5Y@NPAGnvT!1NYc7Mw-DxW=P22|f~Z7#-gV>|Pk5!x>n6DLYIeWW>oFS93`> zjfAVxy_eb*)5AvupO0;-2E~ZCcYG_)3aOL#9$tfY<6(SBqUx2KFO*a8T7ZsLIJf~)K>fq3zO1oRpAWsa! z*^{J5Jc!}luc(vAdLFH4YZ~;*Hd;Q!+=qh#ILc6=d)Tfhh|3j)N7@G~nlPeEz}((J zK$a`&(4;vDDjzD8-05XPg=&%R0E!(j#c;P-KA4SVnv}yaLXtEL_=^S*W7soKlg27| zTBP0GWBg zm>qQMSDst7Y#;Hyu6eKMT_|LP$-<_RXzLX(GY?~AgwG}> z%85K!3l(5*xR4Ul2GSSMd98*C8^;wYF|7ggH-5i+l^-D}2auXtw)jjT8<{d74;tW9 z#bl6L>r2cAegRYxD4kND$w2r%t4Jr(TD^`6x#jr`xr&WM0hd^i&qeSXa^?wxVw_G* zNF;d<_ht_z+_AXKRsIERnNN<1% zl*$^w(-j_7NGP`?V6y&-QVJk#yk;qf8do?K(kagQV}(n}2Rg|%F%Ctus^dm~R!Att zk4wvw=?bYC`fK-8^DtGC5Rrf+-%=QA z`VxIqc;BqrFUg@;M^|mn=w|{Fc^D!#`JWR4RN23&@Op>ZMEQKnOcg3}I2lE&+N>zG zDM?O_(^uB;1JVGB^K36)o`#prIKK!7FzgdTy3a^{}EJd%iwZmoSq~w)3f(Obs3|mxG>_$Cm4Zv@XR+RV4G>0eO3rc1Y58 z3>bQpUv&G55$zR!4*8$BXs^4OztkhSA(zfPl!0SS(GARWRecYAt=C1@%r(c zLbqPxUza+HqDj^PJ_`o3BR=0UUWE!JADr5KHn4HUUqG1TwI5#JIYuum&q^m} zFfCA3sNnmmMv2mA6%hvup`;(7LJ|1^3b(jBLC*kkJa``z$~4LV<@W&%BW4U{mF_ z^5#LH3PIdPB!7Y5v9Agl>w4geHuwepc8Nj^1-Yr4m@k~TO%TW`$meFqtL2JzDCR4> z$ra|66@@so0g5qoD}1`5tFL=uMaj8al2#M}cPmQe*ECnST2at$9`K@+C`pXN$GoC; zhLC??MW5YmctJE&$dsgg>g^S6uV`R?g}W6MVP7E>Tv1G?mc+OKjVtOSF+5P{3#pD- z(~61{Y{wV91f0iro9&98^fb$SBB(f00um}DFy4Tk+-*8mXqGZOUQxY|3_7e294$OG zLxqbKt+!WHyp-MxB*F_PdY#o5I7|cLzr5SXqGm3p1d^Udh4jNqP9%l!2U~LX5C@?7 z22&mh4wqx7A;lL|-g&t9n_s#dHa4JN2R(L=!3P(KugHbE0#1YrM=?Wm0 zK}o&=WD}Y?B5f$kV?xLr8lqza>$xx$tsg;7hs-%Gi@8iV{uUJ3A z-wr0%XOh%s1Xd{}2^GjtS_F&LKA;S%{JB<187q=g@0PbJd0cTqB&G~mh{NxzxLZF@wd1qf&tbuenf8QCykt9caECud<(A-0{L#R1ir@gqB^yd7uPuIofFI(e04qJs zfLEYL!kPlMKs!3-f%D1{T*^xm8nU%9KR6$sdP&;05}KA$N$Q_-BO@EKK>^ zG*>7XSpo|Ii`ax!g<~sVaq(T5pBD|uOcv}<72+%!4CfN1e_{(o6rd}l#$b}KHCH8U z2XUS9QK1`>{Df8Si{UV=Dim>7;r#Iu)jlJSx#v|Ocld|V_?NlW^#S_kj-f#Hhf5U7 z8-;WNHWi-8IHX++e?UK+YjCBN>U27968U)oWr1Rvh7^iEq!c{06u`jHEbG8XUX!VP z>uys+g)oIQGRo3qCq|fKNu%RXn^XAfF8SpZT~w%sG+)vU6_QBS1&5qxs1TM=A-IbQ zC61DO9~FkVu;<{2AHNY90l!aP|}pC8Yq>oA5cQDk~IF342&#z z)ENFhT%w7kVxc4j#H`Sqrs0Tq#u7y~b@;)r?;HXs`{gYJ zRMfs5TPA4V(drjb-T?{*d;33K|@Af`J=dIrk1&`;76mfw)(-8U5 zPtBgI@dg{=l1$;xupMLr#f#9fa$2v?M9sZ?O+1gL&i?i%gs*v+{~i#3sbNtCI$pN$ z%9n+X{2`}-ru&{%XVvoXn9!M#s}%3WcjH^jW4%#AP6c_zhFMf+3FQPFwpCIRm=5t^ z3)OXOVUhkC1N91>RgOV*tx~Pebak?VjSR%nEd2^>2buZ{g_JucQBD&q2l2>&cfU(h zxb%D-Bnx(hVY_DBvFZMLA2kpW-iUl3EdvTF>AEZ{ejEH4qyo!!pf;8a73}<^oSbfw zpsGS)c9jNYN(rKw9WUv9{9!*u;rE?bVv-#t4p&(DFv2Y6dyF!&j8Z(xneqiS_Eb_& zpCHRNuwJ(hzvuo#q%XU3NG${G{+9XV!9#N}vZ%jRXag85NXuizqrx#`b8y6bpdG)h zDfp>wD!uL6ocEkd@s|qE18;(>RkP2%hVxk=G&0>VP66$ADH263%Ouz1wRfCYpl@}8YHAXq z0&ZH-qLd+=Dy=9`bf>#bUeSgLPW^yO`GgyG_`_hkqQVB(mE{WOyA6y9>k0vtlwW5? zCx>_+tDp#j?HWWmA<8hv=^{Vd`!|oTR1ba)mc)b+?HLnJiILhy-}; zZu9X9q`)$qb_%`n=X0I@0SN?RtZ=iUZ#|epw&93N6r1}`-JceIURj%m7jeq*9#6j-3oc*&Z|3f5MjdON9Vuf#!NWih~MV&_v?s z$ynHgvH>-U&EZ9e(yR5%B^8t(Y(!>pOX*|lh>=HAITG`NUjVi*cz#?2yXCOr$E;M>Ik}C>7rgi1D|AA7dYdASxs5 zjc`m+FvoB(qsYJ)@bf2soH`MVHH90gqENigLF*>s@{-T_9#sWo$Vy6G8)Yn+!tO2j z;7l%>;v%mQk`o4rM70|hUQu`**$@E);d@lFh(zZkK|(}VNQD;U=y^cN46N7=@qOwp zOh0nM1j^1njTp?Ng!L}-jo<cdW~S>xQmzo=EqdP)84R9nBL!(u3i$$5 z8bxC*QW9aucN9#LGR&`MS9m261RA9v2@GPcrz$K5SRy=cPxNl{rwUUK3NX zLK=n&uXL(V%Kxas^RCdG?h67TeuS=DjsPLfyFwKPDS1%j<2@}GE zkbz4h5KrzlpL>41hQa>M3q|BkD;kK!oWPa8j!fs=R`}wI<_f_W3n%T10LRzMD_XCw zXv{whL(s*(6Oo1>IBqAeC@Fv`(&xOmqMv$UMX%Pa*!Hx-VGB;U+t?`tzb;ou2Y?~p zu0mqU`CXxjp&t1N+^(qT@RK)G7{AUpPSyMgx58q;qy$9{!sZJ7aegpU5s6k%Qq+k_ zFo^(#3dd;}=NdlZf~(8<%KxRp(3T{mcMz5P3U(sAj*T9MAD7dQoSz5$w|ATKdbd%t zl)7hq+x8&eG$~$#6p4^DvLECo;5}lwn`^M-BRfy%JeYgZE zecv^8nIas{NfL1-bv}Gk2+~y(81JqmZ+Gl+13N%`2kRQy&jt_i$Atv*M5Ot{RaKeg zHG!T~prRdl;|jnbZ#sC?MX7+Bt`SSfUq!D96|X2C6msI@HYx_iiT++;a5$b*O3GxY zrHkf^D8v{?m(%%HAw)+Nf2yz=q*Bg!-2!m*hQu@BqMTP2^SZ)_ z6%`huDx7cg;;_)FpeiY<4bJa)SD2YuVPsg4MCV1))h#Qe3YOH$qQduHF92@+V??Yx z3D-q~==-z0Dm>9dw0r{*A27YG5O_jD8P&sz>JZ{DbUm-=L4_X>NzE&&SKny~6@tbx zU%A_WNRw$$kuk04vO?bFR6kknV5$%+I?Q#b(C=GU2qmCLgsXEGm!)GSi)GS0PHsmH zv`#}nsF0Cq7o|SKik_SFqXDEPs7R+8zs5ek+mtiALMdW}uv7Koik{~ydeU51#R}70 zm(pG%3@)cdT2~k>Csim+cy*yo>ZZc0a>0iX#|qhC^<0N(BOzM`&=y(c`P0tFon)m{rBsbU3 z4+l$dJKKql5%0zb1Htk3;2QeKJy1zn#^`f`wjdE<9H|I1JaQti(P1I$SgK9EHYj6L zqrYzlt2a|D)y{6C1QeYYwCF2Tx$S#kihyfa&cNF#V z@!DK$+e6ItQ*@@qwE%!C3D`ibIO@V52c(@dFATra@pY12fM6)&o475eC+k^uLTqom7PkC+UToOaKXcSfSsc z`J*|xF2_;SCPRk7I%P?l{&5les?a>8RBf3CU*JQ9f?U!cDvSsxDufH_8Z1luONG7! zfnE?mQV{cQ=6HUKhQ$tBSJ*$EvipWq8nJF(MS$fa!;i>h=QUP^NaR6p+j}DR3||LXpEVTpqD{&c3K(gWBDrKIj_RjOQ}lHzVN&h?oqRF8o* zS9oij$cMp5=<-~L0Zo}8S?uCVcN={E1i}3n<~sB+r99796q?nFe$LMy%&%s{(YBG` zAa)k)^zd`R<&s)BrdPU4;?cF71nn2dE(s>)J9oPTeq8!tm5G*!SXYH(k%ZDp%`N%l zdK$l)3$e#|^_#E57RYs@EiSr8sWjGZ6-ZyeDT{fSopHo-RB3{|OmdnjqLdRu51gx! z;Jd=T!==Lfh-9xSvPA}(yfK$hrVk4wXzlg!XY#**#tQ4L=#Te_CmO+-dyjWO#wn!u zSGklv^y2?FciH!@-sy2E`**7j9%!lQ9P=~sPA4lgqY_#=@)2{JGglk%x@f@sLxm3;+J+%&*kdx1I(tm(NAa}G z?H^|3WBEE7uc>9X71Uu zLJ`U{U8;)!)pIQ<6haOIabtyFA|@_TbV^DM+?j4*IR9m@qr$&kqMcOl)03WPf`=7_ z#LV#OW(mdIrc;_1SG0b+qWH+L@*&IOZnIla8g?rhra?y6aF6h2m@5ns^J(cj%{^AA zobsyGism-hiw0Fg%caz#^P1L2AtQXttgfC#)J91D?I=9Zc|rKbvcoK z3?}JI^{5D`!0625+ML6^_BUqh6k$m|$~Ogdpw-Xf#_(WDA?C!{Mup~l2HwI6jsUb# zF^;&Ahqg<|LOA)F3~`o zHI~So^$ear`ul=JF(G$MRYFa>a+$=CCyXRHD(v?iWgez#Mm)zc-%IWSsxGnvY37x) z-Tvd_rbnpD3C1V(f-a`^3=|%EpCU}wp1t2+NPF%yIN~}>Z}NgHEq?-V*1|6(x4ZmI zq&=AO*>)AHxJaKp@^v>WX~x6y`0hmTq`JS4k#wzBOR7E-mG_-r!Gy_Wkdh%jk81Am z{&P05i}FEdN|5uLz%n4aqRQ3`qap!Z=eBa}OLplmpPt}3ixZRRYHnFNs)+A<2D(r# zTZmVxNZ{0cF&y>BM070#fs6S_ag~unim%`D6);+j;L0C9B5sA0@c9A>O@={H1%55Mq{Ga?$By>TEHu-Jxt19u6*3wGlA(sS;Pdsm-P}>y}hDWHhMG~Lj z(rH7vj=qu4WA`L=t9BCzCsFZl57LI`!*pDIzEKW^R>jKR1oniUdwp?Lp=3%yRrZ%- z(-6EBOd&Xr3OUjNpQuF!OCAA%pwLc6f1UlyCE75BS69Mh2D74z0{}K>alM4v3kZFm zXDgb_3Yx`0IwH9t0+~r@T#_3z9+KzULLCJtX+ehyCB6;bc@!qpI9C`xZ<0{Q(dAsM z=+g=r3ZTa;8e1ruJ{NGEP(Q!hRIZRH3z>)_vjO}0ihhuEQ{h=v=pN5YcN=E$k?ZTm zX%O;L0{B9Ot3L>hH_-$j!|eJMS(h^XhLIo4s}+SdWjJo%=^9)rHg}t!J(!ybs9^4E zgD`oBa>1?;qEHKh0+T*ZwTWY+W6eK*W2WuSM#rbPA|Z2*+n0VyXmdSTf@dNTh%RUQ)E%;-Fw*P!YRUO%&CJyQ2Nj;1sw)&lMOYMPF>`9EA)qUqagK<(#CdE0!gz$5lbyJR@cq5Q z=!t2xOscC}J+kQRhxn5I8FYo(Qios=av+wFMB^WCWyh8%j{$_Z)ZT0|Yz-Iiu8`g; z;W9u1@jA)dn}#fF50PG@1(6y9F?Qz|c>aEgDu$$`owfr$i^O zr~={7i}11GA%QHX4T+!LZEC%udi89sZ)#OhDoSZsVV@-Om5w0JH9iKn#Sk7k(@5&r zzF?WRa~)9nPEwJ!s_@SBW<}2%D|&IHy||*N@PrBjqqZxWPh_#8n+ng93Xe+IR7f}+ z2JjkJw3?A9+pZ{KA#3hLF*tFRROU)f+c;xWg~N(UPenyUX+_DKRx}Gcim^+N?>6=P z!5rlxf8!_}isC$n3LDWp4Eb(D4~h7gD-2>57>W14`oA#y(~2k0AAW2miq!Mn+-Umfd61oC9!)X;#y~m0;O$A26RXH; z0_^xW#W^w1DCqt;o_#Eb0;FY&G)kwGM0`v`q>KMBC9ugMIneXG$5a4LIfw#|r}eUq z&m2g`uL7Anp(>y>&K4DvY%O?zfd%<-Je#_PZQBoYszR=aV)U7aH1>2l8zlzSCI-71 zaJMfSPUncL-LuN~(zNf++T$_kN^q10*jN`{(%|)u`uaFz9OpWWYZ9HzBHeevvMPv# z!mUh{fOI0|z(x?`)mF;&X$tpv6a~b+5|j$Ze!51#eY_7wOXoMw&r#=MCE9aPq27f*6_N$>ab1*%CM;^8O}OBl ze&@dQxcWf*%Uvb6JmXv|L#U7eYO|ulmY6EWM=s$| z(x+HZu5i1es)3SR;p!1UXObrK=I|Y$l;4K4s1P!g;EtvWq1CYn?WpK8Rmd{r0k(m5 z4uu;l>_vs2Ap>z466ASkF7*>1MC0A&-mtC#?A6_-VujMd0|!15`gCp#qeJ~n5m_xqWv1Q1X&^-prZ^M6=nmccOWYiekB4EU|Ai!Rs zeW@a8S$H;jof6yuoC7k&7NU0%X{ZikU%bhu+n56gp(M~H`{N4Y7r=2BJVN0BG1Evv zhSqA-49lXCL{|xuF_^wf1oA%OTXADnPS+F+2GHwtXW@uE)>(6n;voH^@x%P~g?qZf zrF4TWHT6o!5C`N4ZyFVG1R*M9l1(j)AQ2U|2eey$(b9BmbUg3sbl{!hwLm=bEkVq< zoZ)rIy}FHr_kER7st2MRjS`0)3p#(2>s{lMu)r?r#xbK(IG%la1E*$xs)|^?m`Nn7 zJ}O&wuS8t~h=16K_EIrDLnJoER%;$_G>lq#SIkFdckulvAH(Oz&1d^}>9AHLtI4{W z?B@_9&mfp_qL3Gze+?P!Wf+z5M*J>?lA1(CfaMR<^!qpALhB1e46=g&7+8-vQ)85B zO2g}Yc;ZJ0kCB$E{X>P12x=j^bHn@sAFr=Rg@*ac=|vLVg6LzUcZ14p-TVE9X}dzd zZZAMw3I@l*q5{IR%5jfx?$VJ&GC;&Qg}hQ&BZ0$P6wE(VC{!&&%m{d{<=Q`z6Tr`e zH_xmgD%8h)@KH^RRdfgy-HbtqADlw*`mg{|bxJQ)DBtK&{88$CT%z0^WhRg4*-AtA z(3ymAg+ALFyH1ELg9!0esPO2@H5f8fxL?t}$}*4ERA-9uctzokQ$=pzoJzSRGA&Gl zd~`ywThSEZ@rss7#D_2^go*M3A*Zy^4gsIsZE|lPg$3nK^?pUGH!C{dZ62&>y}P2q z1)pGvdfr;m8Y+BeMO`7@7gEs8^Ra3OLttPLj6#Hv@7`Wud*N=Q{=qJQPJ}Efv?Y|# zo-+lPC;Wg4G0f%_5|tf55Rkr;V!yMZA5~bZ3c(%Fp#^EHz?`iH*P`1v?^+i`k4yW6-{M z)BD`vWhibnDyPbM+&+cT&}hP!GOKSdQBub9pT0m>NTFYsmxui@EdwpYGjTA{C-l$( z$TzNt23v<1XA;$MYuc>CfOK93+x_M%963(@*rn18Bz(^fk^sVY#$+9W=UD%R(Sqep{jiCTrjSvf<6am(geVp9~BY^nS?`yIl~z$bUR@cgG4#qhqw}fk_39l zgmGQ^U39&_|2LQD8T5Z~MUzn^Qh?Rnu=0u~A{7z_()%mAtx(iZdNtk`t)I`b!e%n! zNI6PIPC7?P>4Cd*g_fsA6BJsRavEr+3e9-&ZgbvVQ3oM;uJD8kNnEaIBwcC%pNmZi zUs+N9`=!NPiw6OjS0Q06sfcap;0eQ4#1jyNb=E6dzgW>@YhbJ@bfm~4*1tH^QVE3*cE_y^2T`32_;+uWas7+S^}%RItmpUHF3) zA+8zkQ_!g>p0)0_SrQt>dfY13^ypyBB#_O?$MIk*}QAf^@g*IX4fc_<^0jcJ&0F23B^bCkB_Sm1(E3-e%E2b z?0(VXa{@CX&F$qL;u!r1t}BOVfIF!70-YRi&A zyc-qYR&+)XQX8wv=&_eSaK0x2%%xkU0Hbdf6o6v&Oq9Dq4RUvmzf=f%B%p&=($u?H zCis4W4cN8#uG&2{#`q9B>JX z+~2$^Bu6WP=a~SgKUY{3I`>jV6yf}#!ic^nGTV6WtO;jgHg;Gcg$v`OLb~ayWeAwB z_fxF`SJQtm5NV4jBv$czh?iYr8NiqGCs?hmmJp_2&(MD&RD}wEb7@SjqBj+W0SliO zr1!d;`N3ErnuL>IK##UA8A^P-Yv&T8LRo-0afzM|6`si#=DHdZnLrTn+MH4JFbqLy z$4w|fsO$^KwcjKmYoeEtolcHq;^q|%-g6c!I!puUOwb?6ilWDN8>>UY)!l}GFb($H z|4DNV(Q-vYBKWB8AR+7A1}&%)S5$`l-|yWpZjckir#=r?6kVJ*SF}X92AUL>nAh$$ zl&Qf7!*DAkMnOVqm}4F?(4bJFoUuZ>zzTO8pYio6-v`WMg4NS34VXg^V&Ss~Gpy1r ztj!wY-G(+;`#gLwe+eF3`Gin~cB+Zc0lt$?CBWWUQA0)k1YIR@h4cmYhjD!AfRm7C zGy-+E;7=9C_BhdGw~oe-6X8{(M%mjeb5;l|CCVhWxZ0=mh#&jSOO)!|b5jP-CrTC5 ze;DZ1*W)u$b!bw8z|#}MTd5-PZ&@r{L5~Tv9%7WOB3tuC1gpo!fq-5r2#9t`{6mGI zyRgL>Wfe>|$AW0qvK5S6^R5mCN;Z;43RxFKCz8hyZ0f7&0g=e?N_Ot#oCjVe^g-Nd zgM%ILguK}a*=*A=G=E%tZBVVo;DV8_WMp3OQt-(HMV!&+#DG%4_cfLfAm+>LQJaGi zT5Ak@q?1M7ffzd|8+|4?SkRX(vqFo)xjn}PS*i>C7^B*|vYl?xaVJ9=K?8K>T_JD~ z@B&^wA3mAF|FhiGUHUi9V=v>xn>vy4JwV4#LdS>f@(8(a_lH1#yQ^Ueq_KzWBeiSz zKm{et%l7D*?xmUzu6@74wuo1#3d0`Z4t{8sFj|H1(OrOk$nO;im`tS#|L`lO4eKz3 zX610V-YUHwm!;*91gLxpeIWdV=$~jlRaoLb1@t6$$Sc)84szXHl<=0R!-3&|#v094dTm zMMJ1@MOSwl5c8Q%a~yvIMEnt%mx7480iPhNszFVFP|@st{RV@6t5T zC%~tgRB}QNxMC+kLL`O3QIdthW>WM+Z=N4p0r>Afm``d5b)s(SXd!a1rNt%sgLZb0&$*0$ZKI>ssQN5B78TWb3j{?YvMJ1-f zJ)$8+y^R%HhGW7fhvIvv+DU#I4*Tw@Hy=Wh>IIBBpaQ{UqiW8!2*JhgJl^qlvY2WhfG910!Qs9*+;I& z@dG_Hf>>~~SH4HXH`0UpQDwpOnXTglcW%I`W*ZI}LID|)ABt-hVwXi&N*(e@3By&C z?9lP5@MC8mlt4R<%8DpR3}RJyb$_i;R+h*NH^t%4M2}shWl!BNXVAV6PLC`ngHs}GL~ z%#p%e$*#g;oHPRxDu1`1Z?EF9?a4n9?1A+&Uosdvdx4heY z&XWpDCVgE{os&Vsib4w`Mx$bsl;G)#o`AW6@SQ$qQz3&sUeU~BU%R`F9rKFTyrN1+ z-KT!HqTV1=%JIL+&nqixnHhN)bfTZ2`jDK;P!!ukKH?O04lkhb`c9v$nVeXt55g&A z$U{T*aJPYNs1U5g}dPa-7)b*oR3S(alLG;o+|0L}@E7<9eW6ZvV3;$Jx zKLTPHl`IOl$0dD_9xASkUsVa#YwN&U!-5Dq-SjQB)d-OY05Ggd!{bMLyum0#(DSv( zP}pC{;KL$Tbz~uM3L0UC8lF972^ID_)N9)D+k;-W5yjOx7ry}Qex2)bkrQDxzHmD4 z++EzD(s zjw{tp=0ei4T>}p7(=~Mkdui?l4hMSNF*vz`@#<5F)bni&2$;2F8DlzUV`^%VvHYsLaU4^lDa0n2aPw6V8!}{f%y1L2UzLmTJdh) zOR1pL#Y#n9aMWT1p&?{|t_*ox=Z$CUA@s9#oLCS5nLtd;B@&oFAC-8=q-z3Vi-dD- z)k-_|u|R91iU@dK8#x>{0n*X`xCBl8)gpPjhJ10pN|lZ6@alOqK`m&1s*qtKMRdAR zA+l(~#|?&)2K-11)2A;$F)k1RnSMc%`pDx%YDE>k)(I;5h<;Z%u24EvuNu|{W|)hP zWngs5zQBJ~AZsRWrTB31y<0h8I}cDKrRgZq9Fj1Fi(mJ*3dip@kP~oRtpS6DK~591 z!u@6VFE3F7KDX_Qixnb4s5?~XiY{3}5F8bDjXzQ8`VFBf~9myP}zP+IE=d71g9E zCtVkq58Q2aDzs0)+>F;trV~&=U98YXo!91RR$0L*l7+Jr80i=_QzX&y0dc5M)X#Z- zw}G*-8gZ^K9E1;9737z8@`{F)8CDdi-HN_)w|TDI;}RWFzHm8#x>@>s{2Z(FKPk_G z3|Qy%9?K#yQ50*6Cm5=4AAUjE#`8~2#SpRVq)K-xG_@4;>rO;wg?4RXcp7dlV}|NzL^O3}`J`8X$GZ#})KV1P;B~r^uxg)X zVw^oh(%1FTquL+k^x284NQnpv&!TP}dm>wXCWVYuvF&fSdxlz^w(}V2BhT$>vg*)x z-U7DnL&MeUJk$umH`AOLUzf-TIU;k?bnNk)EU*=MM;+)3&`EhO-m!J+njuMI9l`XO zU{LLRimpU#OzB<_zx@LrB!NNm)k0s0L$;h&sD^Jw>XbehAt&IYQaUjM0q13eIVY|p z8KgQ;v2p~63VN(Q>B}EboC=Rb8SbMe&-b#A-(qp5K3?ApKbG)0JJgQBGtwnDUQV#R zAas&%*~s}R3Sc@Tff$aPv`qe8zMz6I_~R}coj}{~qnDmFxN8*_tcrOpBu%8_f<50Z z7^CAE^L-zx`JfH^L}OGjpJd;ok*ln@%2t^_>kx@FQ@g^`6=s6>dzX&LM&PBuOck_{ ziJBF{%-F0jqCzBW29x0CxXvSBD3!s?ujGtmQvhi9RltmLUQCUg8~~7Cs!WjkT&w66 zlb@^j!(JOWr8$q`y27Yk`PaC``@eF)Gw-vZ_~RuyaOkasD??;T)1cG_^$8V5b!zjK z6;-5^g%xJY;jwR5)bnj;g*l<>i{#f?l0qomHO0G4i2sQJpoW9Ne{i=!^p71wg~!!} z&&zu$LmFXYg`Y4D$#nvoo)aqb4UN1E55`DsHi%2X1p4I7T_VjKe%LfX&B{o2b_*>U} zx5-WCS9ss|D&B2qtO7`)$RR2c^vj7tJgV?>Qr!Ti_tonwDvN6eC}MofCaBr3pJ6Ab z9~QV>qR`OujQp@%hJ~>2WPJ*7Hego;g04pyCkJx;y&#Ha6n>n#BXvw75RV~n2p`hH z8~`%`k=TVvl)+?jN*2Znv!n^R$2???(o|@#rx?`5m2<)fj}Z)kVJq87a&FAX*uHCSNT)Q?0-#>)NE5Ewa1&$U^+OKB&euh)jGp4sqX1ZV*B44#G z{y1LyIIZ&9z2&}$5ge!qo#soy20ykq>~0^5=Xl1 z@t}n~Qy`HeTv)A;fKX8aLc(q6S>fX|ZEizldQ?apQbsUiucj-+HLNo-yTU@o-r(4B zt(*`azhy}U!m~o9DiXQ?lh!PTz;C{+(B^-ukRCOd6$%D23^AhXB2*r2hbeZ2ETSGs zBIpkl8Z7RtTfx+b+((6=NfhoY0cZbuiJtc*+R5tl;3CmbMW1P|r8t2JM5!0Yao!}Q zuGTB+-#tkM&2$=5GlZ4mxdY+BkbA1oW6xKp(9UDyD;3r|cbhX!gXzZ7jvJ?4U5=fa zwQTY4V-LU6YDH5fhcr;gMt)k~T+!?P?TUi;Y(>*|V)(%PN)shCpLo=q2P;}fqTm*) zmK72q*R-M~lL-ZStb*Dg3!q$~;y_l@jWbGLSka`zWQK4tz*m~)y33dxp&$idv!Z8O zQNpCv`;>}0fBqLMsz9plFBL)o!ZXlsVo8?zOc-r~x;%H0Y_#@~Q(VCWkn7YBa1Uj? zsTFeE>5#VS9#IJm5r(%k z1x#QbJo$}2c7R~wg8TX{B_Dw?>4Eie48>yd?3qQ2n3s{kQBfi$E&!tys%bYiQ8W|b zv}VmiLu3q(yr@&s05VWmi?RCd>SPsF2>=jl^IM=&WFZn{0h9yymHw2Q$WL6cjx)(D zhz(L?M)wd7(NTZIDr6V-b``7vcDm%k1h^rs&uAPC%T0|s8n5^8u6P3yY zAwE-FxdMv(n*Pu=5%Pz1D%oMY`s6r)IupuyT^hO9m^#YNWQFxUJX;m+A1lmDMb$+) z$0-HIL?3n_3=XyvrD4Jf3XI&WXcY=f>ib-w&ETx6iRf_sslwn<=Li~=msEZxR)x<7 z$6lxeGkiQ*LtG(5p~CCwz+KNZ&Hy4h*wC}WMZ`j490U=&@R2nuHz*F{3PZFOsV{J< zRiQ&P03`we(~44Cl#pP9T%p2?VOMmyLep<5I>8_`aFie)*{drm?4uPWZmO_lkSivu z@B?DX=8PDV+BtN^S02A+If+AM4yaJ1AY+;|)Zx4Yhg0qlqxyvvjcJ(A6@massX~GE zb*6;*Ob7AqiV}J@E9!KTT2%f4V}*SqcB+snZC#}U>+88k6JQEQqzP%vB{a`-(0HHs z(kC9c(~71HZtmIBjCpQfxk9o_uf#6uhgak^aSd0Sad6Z6Nf% zLL#deK%mQH4Jl%FJjux*Fb9X$tb>@i^9kSg2}C>&n(P;{!7y6$Lfq*gPVitl!iB`l z53B4rCNZ>>c%4c;9ESo+U>z;rFNS}DRIok9Ga`xp^KAi6B_|@15VXukm^_EXLp^yE z<0s{Ot=mm zULZPi>O;l!^WepWJ#vOhX98`IE6YW60BY+Zx{5vy<9$aUda(B569mh%ucc^2BBJ&_ zKGSz_30e(mv=pNCP-9;a7y^W;l#6 zEJ0!(Oc#R3_litKt7-u5UEv;A7`SJJ#fyYUV8B@R5dzQ3!|T;UzF1uNUWUclqe3z& zyO?nN)Y6FgsOp!9y(k6r;fpk=@VnSd0I-sN!a;>ZviL(A3^*7BX9u4Nx{_h~L7>wWF1Lp)g<}!NI;gJ*>GDR= zqOodHZV>5-L5z!PraVGjm^1i&O)zvJjFrm6{J>AwZ5Id8rhoWr(OEo5kXy zEdYZwRhVJ$=Hw93ES_|#(Bbzh+TUQILQsYZ{S;-2p~B6I<|Y^}7`r}n!_@S&cr9W> zM0Cv6aT;RSblBSp=V{<+B{zv6=L!R=$w%f`!(EX01G=sd)!kRQ!jS4x2 zmQ+Ie8?$0M5z=WK9-V`qkN_f%2N!`AO0-&rPjPgx4+H=3=XDBCXTJwHaD?-Ejp|S> z2!k&m>sdym_()8TD}h`)0A2sMcz;L$Eylu7%tll01`&N7Q1k$^s=%&nA%-F*ous9Q zkrnD=hJ_@QsL<@IcZJb_!kgtDqnrbe+}xrdSts*g1A^PAQw<-Gd;VW-Q1|K`5Uqt! z4;PuhUK$T8efh1-zM_X_QAfUThPRV}l3KNAXEGVUdRQvLmSq-U)IJS(@L99f|luG*#*bX7D}JN4yJm zuuR2m49@(i!U*s^^uK^5RRj{HA^DmVl4=Ha1QI*%Lt3xvfYC`eq;FYXhClS6NIhgO z!=OT5VxhE9{loI8(4p-MXn_+-Bdy#(kPzrq;RzW!YUBMal`%}iCn(nyW-9smN__l^ zjXx!TAc<(|ULxVFGmpTd*GXudKCUXvJ@BZ9s+>!wnP^(8*n;#LJ$eB*8(<-c4qTD` z+KOHuwBkg&zEfbQ?}T5hR~6b$wsXP4T0~SUAMyGFhQ`+o(In(B49{2ed_PWi8v{~l zw7_1h&=h%?FLG1ZQiXK7!l9FKMK={H${Q<6PF&HbBn&our?J95l!yeke}Gduws1iu zAWe%3uLi(Hg|?(&NEJ#ICZqycK%yl|dY*7txPXS+z!UPGCO;I~u(~`8qq~BrriO)i5pn=;Y(f);~$M3e*v27;{a7PTSU4} z;8nNQi$zzDtdKr&ZQ5_ZWRK{~EmFb+cpV)KW6SGDtMQ_kd~r*%(5lcjAxR9&_mLgC z+!7u#7a}0|dA*Eh?&5bJQ2b@@%$`@oQ8q9*7Bvr-5@qqE%`2H;JKaYO@%!lSnepR% z79un7{P!pi92v3g^-5p zqSo(BP-?j1bj{@4Cytw?j!eGK$qSh=w+xd z66$v=TD4u#v#N&aYQLh98I){fy4(DGMU%Laj+3qm|4S>ns4!%hS9IV!UD0BafdWD$ zZ@zJgWdwn-=@?(upR8zYSF{O_A|;i%t*-|wdVY4dssGx8S>Zsb!tZ-A;7uk?C0H|& z1r^Gd49KYczHFkWSitkC!mekP)@PB^r7tvp7zeQ%*s+TKHi-F$3Tad5l@Hy(LgrS5 z8ov1N-(5bI1}VlwAi@_hh9L~jZJ1BC(OX0w8*>AU?AqI#na=0G{uy<>FED4v8F6bN z-YRG-c2s=j-_ktc4;40@Bqsf*|1L2GuX|gX3n9#UWnxlhNJGIPeWmI@(E}}}s zs$8eldLCLWnoW%6YX&}HH45vj70~v#4{q8hg~xXBy26Z0KA-mrK};lVF?*h z)6cej26rYE8F|bApe-2)`r9{VaEw#1 z!yoSMnX96FgT=f{@B62{bAk%p91tiY20z!XK*DQHxN;H*Ti|}WGB!aEpjbIV~1RF>iHf){xprpAo5^(r7%fnDf_XL zL*YP6#OaHHnhP|Ff>9kidcwIK;$~X8)I7SZy?TdW#GKbz?N*xfu2p-$Bp>Jg_+6A9 z(>QVXQj1Dl#!juawUzZeDs+~KH9i;lm5#Oi;WA;4A2@lHRo3SiKiHWp3aomp%1pWy z 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
eNENNKL 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%0DLT3em0iC(>LUD!jUT)wx6j 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%0Dq7uC!8ava*U(%ohHfw)lcoYbQQvs_lFp$V5!&y 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�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

yJt&fC4OO?10BqLjS#w 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

yp7 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

FSR)Mzb{9;bn7^VBC`Uq?3$ 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

2Fhxj!}Ch@UJKD94KQJl*@9590Of8sp|2owP3&s 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 ?9+G!=B(U(#Sm7Kje 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¥4W?m6?+Df38g6G_N*;2>r*(n=? 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

-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 KFH`q_zWRUAInG=F literal 0 HcmV?d00001 diff --git a/how-to/use-a-manifest/create-a-single-page-platform/public/common/style/app.css b/how-to/use-a-manifest/create-a-single-page-platform/public/common/style/app.css new file mode 100644 index 00000000..96c4673f --- /dev/null +++ b/how-to/use-a-manifest/create-a-single-page-platform/public/common/style/app.css @@ -0,0 +1,929 @@ +@import url('https://fonts.googleapis.com/css2?family=Inter&display=swap'); + +:root { + --brand-background: var(--theme-background-primary, #1e1f23); + --brand-border: var(--theme-background4, #2f3136); + --brand-primary: var(--theme-brand-primary, #0a76d3); + --brand-text: var(--theme-text-default, #ffffff); + --brand-text-secondary: var(--theme-text-help, #c9cbd2); + --brand-input-background: var(--theme-background5, #383a40); + --brand-input-border: var(--theme-background6, #53565f); + --brand-input-border-highlight: var(--theme-input-focused, #c9cbd2); + --brand-table-header: var(--theme-background1, #111214); + --brand-table-header-text: var(--theme-text-default, #ffffff); + --brand-table-row-even: var(--theme-background3, #24262b); + --brand-table-row-odd: var(--theme-background4, #2f3136); + --brand-error: var(--theme-status-critical, #be1d1f); + --brand-success: var(--theme-status-success, #35c759); + + accent-color: var(--brand-primary); +} + +.theme-light { + --brand-background: var(--theme-background-primary, #fafbfe); + --brand-border: var(--theme-background4, #eceef1); + --brand-primary: var(--theme-brand-primary, #0a76d3); + --brand-text: var(--theme-text-default, #111214); + --brand-text-secondary: var(--theme-text-help, #2f3136); + --brand-input-background: var(--theme-background5, #dddfe4); + --brand-input-border: var(--theme-background6, #c9cbd2); + --brand-input-border-highlight: var(--theme-input-focused, #c9cbd2); + --brand-table-header: var(--theme-background1, #ffffff); + --brand-table-header-text: var(--theme-text-default, #111214); + --brand-table-row-even: var(--theme-background3, #eceef1); + --brand-table-row-odd: var(--theme-background4, #c9cbd2); + --brand-error: var(--theme-status-critical, #be1d1f); + --brand-success: var(--theme-status-success, #35c759); +} + +.primary { + color: var(--brand-primary); +} + +.error { + color: var(--brand-error); +} + +.success { + color: var(--brand-success); +} + +::selection { + background-color: var(--brand-primary); +} + +* { + font-family: Inter, 'Sans Serif', sans-serif; + box-sizing: border-box; +} + +html, +body { + height: 100%; +} + +body { + display: flex; + justify-content: stretch; + align-items: stretch; + overflow: hidden; + padding: 20px; + margin: 0; + background-color: var(--brand-background); + color: var(--brand-text); +} + +body.border { + padding: 20px; + margin: 0; + background-color: var(--brand-background); + color: var(--brand-text); + border: 1px solid #000000; + border-radius: 5px; + width: 99%; + height: 99%; +} + +body.border-light { + border-color: var(--brand-input-border-highlight); +} + +body.small { + padding: 15px; +} + +h1 { + font-size: 24px; + font-weight: 700; + line-height: 1; + margin-block-start: 0; + margin-block-end: 0; +} +h1.tag { + font-size: 12px; + font-weight: normal; + margin-top: 5px; + color: var(--brand-text-secondary); +} + +h2 { + font-size: 20px; + font-weight: 700; + line-height: 1; + margin-block-start: 0; + margin-block-end: 0; +} + +h3 { + font-size: 16px; + font-weight: 700; + line-height: 1; + margin-block-start: 0; + margin-block-end: 0; +} + +h4 { + font-size: 14px; + font-weight: 700; + line-height: 1; + margin-block-start: 0; + margin-block-end: 0; +} + +h5 { + font-size: 12px; + font-weight: 700; + line-height: 1; + margin-block-start: 0; + margin-block-end: 0; +} + +p { + color: var(--brand-text-secondary); + font-size: 12px; + margin-block-start: 0; + margin-block-end: 0; +} + +::-webkit-scrollbar { + width: 8px; + height: 8px; +} +::-webkit-scrollbar-track { + background: var(--brand-input-background); + border-radius: 5px; +} +::-webkit-scrollbar-thumb { + background: var(--brand-border); + border-radius: 5px; + border: 1px solid var(--brand-input-border); +} +::-webkit-scrollbar-thumb:hover { + border: 1px solid var(--brand-input-border-highlight); +} + +main { + min-height: 100px; +} + +a { + color: var(--brand-primary); + font-size: 12px; + font-weight: bold; + outline: none; + text-decoration: none; +} + +a:hover, +a:focus { + text-decoration: underline; +} + +button, +input[type='button'], +::-webkit-file-upload-button, +a.button, +footer a { + background-color: var(--brand-primary); + border: 2px solid var(--brand-primary); + color: #ffffff; + border-radius: 5px; + padding: 8px 20px; + text-align: left; + cursor: pointer; + font-size: 12px; + font-weight: bold; + text-decoration: none; + outline: 0; + white-space: nowrap; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +a.button:hover, +footer a:hover { + text-decoration: none; +} + +a.button:focus, +a.button:hover, +input[type='button']:focus, +input[type='button']:hover, +input[type='file']:focus::-webkit-file-upload-button, +input[type='file']:hover::-webkit-file-upload-button, +::-webkit-file-upload-button:hover, +footer a:focus, +footer a:not(:disabled):hover, +button:not(:disabled):focus, +button:not(:disabled):hover { + background-image: linear-gradient(rgba(255, 255, 255, 0.1) 0 0); +} + +button.image { + width: 40px; + height: 40px; + padding: 0px; + display: flex; + align-items: center; + justify-content: center; +} +button.image > img { + width: 32px; + height: 32px; +} +button.secondary { + background-color: var(--brand-input-background); + color: var(--brand-text); + border-color: var(--brand-input-border); +} +button.secondary:not(:disabled):hover { + background-color: var(--brand-input-background); +} +button.plain { + border-color: transparent; + background-color: transparent; + color: var(--brand-primary); +} +button.plain:not(:disabled):not(:read-only):hover { + border-color: transparent; + background-color: transparent; +} + +button.small, +::-webkit-file-upload-button, +td button { + padding: 5px 10px; + font-size: 10px; +} +td button.plain { + width: auto; + height: auto; +} + +button.center { + text-align: center; +} + +::-webkit-file-upload-button { + margin-right: 10px; +} + +pre { + margin: 0; + padding: 5px; + border-radius: 5px; + font-size: 12px; + font-family: 'Courier New', Courier, monospace; + white-space: pre-wrap; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + width: 100%; + min-height: 20px; +} + +header { + padding-bottom: 10px; + border-bottom: 2px solid var(--brand-border); +} + +footer { + padding-top: 10px; + border-top: 1px solid var(--brand-border); +} + +fieldset { + display: flex; + flex-direction: column; + align-items: flex-start; + border: 0; + padding: 0; + font-size: 12px; + gap: 5px; +} + +fieldset.row { + flex-direction: row; + align-items: center; + gap: 10px; +} + +label { + font-size: 12px; + font-weight: 600; +} + +select, +input[type='text'], +input[type='url'], +input[type='email'], +input[type='password'], +input[type='file'], +input[type='number'], +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'], +input[type='color'], +textarea { + border-radius: 5px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + font-size: 12px; + outline: 0; + color: var(--brand-text); + width: 50%; + min-width: 200px; + padding: 8px 12px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +textarea { + min-height: 64px; + resize: none; +} + +textarea.resizable { + resize: both; +} + +select.full, +input[type='text'].full, +input[type='email'].full, +input[type='url'].full, +input[type='password'].full, +input[type='file'].full, +input[type='number'].full, +input[type='date'].full, +input[type='time'].full, +input[type='datetime-local'].full, +input[type='month'].full, +input[type='week'].full, +input[type='range'].full, +textarea.full { + width: 95%; +} + +select:focus, +select:not(:disabled):hover, +input[type='text']:not(:read-only):focus, +input[type='text']:not(:disabled):not(:read-only):hover, +input[type='email']:not(:read-only):focus, +input[type='email']:not(:disabled):not(:read-only):hover, +input[type='url']:not(:read-only):focus, +input[type='url']:not(:disabled):not(:read-only):hover, +input[type='password']:not(:read-only):focus, +input[type='password']:not(:disabled):not(:read-only):hover, +input[type='file']:not(:read-only):focus, +input[type='file']:not(:disabled):not(:read-only):hover, +input[type='number']:not(:read-only):focus, +input[type='number']:not(:disabled):not(:read-only):hover, +input[type='date']:not(:read-only):focus, +input[type='date']:not(:disabled):not(:read-only):hover, +input[type='time']:not(:read-only):focus, +input[type='time']:not(:disabled):not(:read-only):hover, +input[type='datetime-local']:not(:read-only):focus, +input[type='datetime-local']:not(:disabled):not(:read-only):hover, +input[type='month']:not(:read-only):focus, +input[type='month']:not(:disabled):not(:read-only):hover, +input[type='week']:not(:read-only):focus, +input[type='week']:not(:disabled):not(:read-only):hover, +textarea:not(:read-only):focus, +textarea:not(:disabled):not(:read-only):hover, +input[type='checkbox']:focus, +input[type='checkbox']:not(:disabled):hover, +input[type='radio']:focus, +input[type='radio']:not(:disabled):hover, +input[type='color']:focus, +input[type='color']:not(:disabled):hover { + border-color: var(--brand-input-border-highlight); +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'] { + width: 200px; + min-width: auto; +} + +.theme-dark ::-webkit-calendar-picker-indicator { + filter: invert(1); +} + +::-webkit-datetime-edit-day-field:focus, +::-webkit-datetime-edit-month-field:focus, +::-webkit-datetime-edit-year-field:focus, +::-webkit-datetime-edit-hour-field:focus, +::-webkit-datetime-edit-minute-field:focus, +::-webkit-datetime-edit-week-field:focus { + background-color: var(--brand-primary); + color: #ffffff; +} + +::-webkit-outer-spin-button, +::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type='file'] { + padding: 4px 12px; +} + +select { + appearance: none; +} + +select:not([multiple]):not(:disabled) { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-size: 12px; + background-position: calc(100% - 12px) 12px; + background-color: var(--brand-input-background); +} + +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + +option { + color: var(--brand-text); + padding: 6px; + margin-bottom: 1px; +} + +option:hover { + background: var(--brand-input-border) + linear-gradient(0deg, var(--brand-input-border) 0%, var(--brand-input-border) 100%); + border-radius: 5px; +} + +option:checked { + background: var(--brand-primary) linear-gradient(0deg, var(--brand-primary) 0%, var(--brand-primary) 100%); + color: #ffffff; + border-radius: 5px; +} + +input[type='range'] { + -webkit-appearance: none; + height: 20px; + width: 200px; + background: transparent; + outline: none; +} + +input[type='range']::-webkit-slider-runnable-track { + -webkit-appearance: none; + height: 10px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + border-radius: 5px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: 20px; + width: 20px; + border-radius: 5px; + margin-top: -6px; + border: 1px solid var(--brand-input-border); + background: var(--brand-input-background); + cursor: pointer; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']:hover::-webkit-slider-runnable-track, +input[type='range']:focus::-webkit-slider-runnable-track, +input[type='range']:hover::-webkit-slider-thumb, +input[type='range']:focus::-webkit-slider-thumb { + border-color: var(--brand-input-border-highlight); +} + +button:disabled, +select:disabled, +input:disabled, +textarea:disabled, +footer a:disabled, +a[disabled] { + opacity: 0.3; + cursor: default; + pointer-events: none; + resize: none; +} + +select:invalid, +input:invalid, +textarea:invalid { + border-color: var(--brand-error); +} + +fieldset > span { + margin-left: 10px; + width: 50px; +} + +input[type='text'].large, +input[type='password'].large, +input[type='file'].large, +input[type='email'].large, +input[type='url'].large, +input[type='date'].large, +input[type='time'].large { + font-size: 20px; + padding: 20px 10px; +} + +input[type='text'].center, +input[type='password'].center, +input[type='email'].center, +input[type='url'].center { + text-align: center; +} + +input[type='checkbox'], +input[type='radio'] { + appearance: none; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + color: var(--brand-input-text); + outline: 0; + width: 20px; + height: 20px; + margin: 2px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='radio'] { + border-radius: 50%; +} + +input[type='checkbox']::before, +input[type='radio']::before { + content: ''; + display: none; + width: 16px; + height: 16px; + margin: 1px; + background-color: var(--brand-text); + opacity: 0.8; +} + +input[type='checkbox']:checked::before { + display: inline-block; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +input[type='radio']:checked::before { + display: inline-block; + clip-path: circle(35% at 52% 50%); +} + +input[type='checkbox'] + label, +input[type='radio'] + label { + white-space: nowrap; +} + +input[type='color'] { + width: 100px; + min-width: auto; + padding: 5px; +} + +input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + background: transparent; +} + +input[type='color']::-webkit-color-swatch { + border-radius: 5px; + border: none; +} + +/* This disables the auto zoom on iDevices */ +@supports (-webkit-touch-callout: none) { + select, + input[type='text'], + input[type='url'], + input[type='email'], + input[type='password'], + input[type='file'], + input[type='number'], + input[type='date'], + input[type='time'], + input[type='datetime-local'], + input[type='month'], + input[type='week'], + input[type='color'], + textarea { + font-size: 16px; + } +} + +hr { + width: 100%; + border: 0; + border-bottom: 1px solid var(--brand-input-border); +} + +ul { + font-size: 12px; + display: flex; + flex-direction: column; + gap: 10px; + list-style-type: none; +} + +li { + font-size: 12px; + position: relative; + padding: 0 0 10px; +} + +li::before { + content: ' '; + display: inline-block; + background-color: var(--brand-primary); + width: 8px; + height: 8px; + border-radius: 2px; + position: absolute; + left: -13px; + top: 3px; +} + +em { + font-size: 12px; +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.fill { + flex: 1; +} + +.fill_2 { + flex: 2; +} + +.scroll { + overflow: auto; +} + +.scroll-vertical { + overflow-y: auto; +} + +.scroll-horizontal { + overflow-x: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.middle { + align-items: center; +} + +.bottom { + align-items: flex-end; +} + +.spread { + justify-content: space-between; +} + +.around { + justify-content: space-around; +} + +.left { + display: flex; + align-items: flex-start; +} + +.center { + display: flex; + justify-content: center; +} + +.right { + display: flex; + justify-content: flex-end; +} + +.wrap { + flex-wrap: wrap; +} + +.gap5 { + gap: 5px; +} + +.gap10 { + gap: 10px; +} + +.gap20 { + gap: 20px; +} + +.gap40 { + gap: 40px; +} + +.pad10 { + padding: 10px; +} + +.pad20 { + padding: 20px; +} + +.pad0 { + padding: 0px; +} + +.table { + display: flex; + flex: 1; + flex-direction: column; + font-size: 10px; +} + +table { + width: 100%; + font-size: 10px; + border: 0; + border-collapse: collapse; +} + +table, +.table { + border: var(--brand-input-border) 1px solid; +} + +.table-row { + display: flex; + flex: 1; + flex-direction: row; +} + +table > tr:first-child, +thead > tr, +.table-row.header { + background-color: var(--brand-table-header); +} + +table > tr:nth-child(even), +.table > div:nth-child(even), +tbody > tr:nth-child(odd) { + background-color: var(--brand-table-row-even); +} + +table > tr:nth-child(odd), +.table > div:not(:first-child):nth-child(odd), +tbody > tr:nth-child(even) { + background-color: var(--brand-table-row-odd); +} + +th, +.table-row.header > div { + color: var(--brand-table-header-text); + font-weight: bold; + padding: 10px 5px; + text-align: left; + word-break: break-word; +} + +.table-row > div { + flex: 1; +} + +td, +.table-row:not(.header) > div { + padding: 5px; + word-break: break-word; + color: var(--brand-text); +} + +.table-row:not(.header) > div { + display: flex; + align-items: center; +} + +@media screen and (max-width: 736px) { + .table-row { + flex-direction: column; + } + + .table-row.header { + display: none; + } + + .table-row:not(.header) > div { + display: flex; + align-items: center; + flex: 1; + gap: 10px; + } + + .table-row:not(.header) > div:before { + content: attr(data-name); + font-weight: bold; + white-space: nowrap; + width: 20%; + } + + .table-row > div.right { + justify-content: flex-start; + } + + .table-row > div.center { + justify-content: flex-start; + } +} + +.border { + border: 1px solid var(--brand-input-border); + border-radius: 5px; +} + +.drag { + user-select: none; + -webkit-app-region: drag; +} + +.no-drag { + -webkit-app-region: none; +} + +.form { + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; + font-size: 12px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; +} + +.form-group.large { + gap: 20px; +} + +.width-full { + width: 100%; +} + +.max-width-full { + max-width: 100%; +} + +.width-responsive { + max-width: fit-content; +} + +.hidden { + display: none; +} + +.pointer { + cursor: pointer; +} + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/use-a-manifest/create-a-single-page-platform/public/common/style/style.html b/how-to/use-a-manifest/create-a-single-page-platform/public/common/style/style.html new file mode 100644 index 00000000..7d3f768c --- /dev/null +++ b/how-to/use-a-manifest/create-a-single-page-platform/public/common/style/style.html @@ -0,0 +1,410 @@ + + + + + + + Style Examples + + + + + +

+
+

This is the main title in the header

+

The is the title tag in the header.

+
+
+ OpenFin +
+
+ +
+

Header 1

+

Header 2

+

Header 3

+

Header 4

+
Header 5
+

A paragraph of text.

+

A primary element.

+

An errored element.

+

A success element.

+ +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + + + +
+
+ + + + +
+
+ Link + Link [Disabled] + Link Button + Link Button [Disabled] +
+
+ +
Blah blah
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Title 1Title 2Title 3Action
Data 1Data 2Data 3 + + + +
Data 4Data 5Data 6 + + + +
Data 7Data 8Data 9 + + + +
+
+
+ +
+
+
Tag
+
Title
+
Actions
+
+
+
Tag Data 1
+
Title Data 1
+
+
+
+
Tag Data 2
+
Title Data 2
+
+
+
+
+
+ + Test Image +
+
+ + Test Image +
+
+
+ + + + diff --git a/how-to/use-a-manifest/create-a-single-page-platform/scripts/kill.mjs b/how-to/use-a-manifest/create-a-single-page-platform/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/use-a-manifest/create-a-single-page-platform/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/use-a-manifest/create-a-single-page-platform/scripts/launch.mjs b/how-to/use-a-manifest/create-a-single-page-platform/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/use-a-manifest/create-a-single-page-platform/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/use-a-manifest/create-a-single-page-platform/server/src/index.ts b/how-to/use-a-manifest/create-a-single-page-platform/server/src/index.ts deleted file mode 100644 index 694c7722..00000000 --- a/how-to/use-a-manifest/create-a-single-page-platform/server/src/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import express from "express"; -import path from "path"; - -const app = express(); - -const mainPath = path.join(__dirname, "..", "..", "public"); -const commonPath = path.join(__dirname, "..", "..", "..", "..", "common", "public"); -const port = 5050; - -console.log(`Main Path / = ${mainPath}`); -console.log(`Common Path /common = ${commonPath}`); -console.log("Root path checks both the main and common directories."); -app.use(express.static(mainPath)); -app.use("/common", express.static(commonPath)); -app.listen(port, () => { - console.log("server is listening on port", port); -}); diff --git a/how-to/use-a-manifest/create-a-single-page-platform/server/tsconfig.json b/how-to/use-a-manifest/create-a-single-page-platform/server/tsconfig.json deleted file mode 100644 index adb16a6f..00000000 --- a/how-to/use-a-manifest/create-a-single-page-platform/server/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "es2021", - "module": "commonjs", - "sourceMap": true, - "rootDir": "./src", - "outDir": "build", - "skipLibCheck": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", - "moduleResolution": "node" - }, - "include": ["./src/**/*.ts"] -} diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/client/tsconfig.json b/how-to/use-channel-api/issue-commands-to-a-platform/client/tsconfig.json index 65f1c0a1..1bfae137 100644 --- a/how-to/use-channel-api/issue-commands-to-a-platform/client/tsconfig.json +++ b/how-to/use-channel-api/issue-commands-to-a-platform/client/tsconfig.json @@ -6,11 +6,11 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node", - "types": ["../../../common/types/fin"] + "types": ["./types/fin"] }, "include": ["./src/**/*.ts"] } diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/client/types/fin.d.ts b/how-to/use-channel-api/issue-commands-to-a-platform/client/types/fin.d.ts new file mode 100644 index 00000000..8936d86c --- /dev/null +++ b/how-to/use-channel-api/issue-commands-to-a-platform/client/types/fin.d.ts @@ -0,0 +1,5 @@ +import type { fin as FinApi } from "@openfin/core"; + +declare global { + const fin: typeof FinApi; +} diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/package.json b/how-to/use-channel-api/issue-commands-to-a-platform/package.json index 93c7f8d5..e842c300 100644 --- a/how-to/use-channel-api/issue-commands-to-a-platform/package.json +++ b/how-to/use-channel-api/issue-commands-to-a-platform/package.json @@ -4,25 +4,20 @@ "description": "A demonstration of one app can issue commands to a platform application.", "main": "index.js", "scripts": { - "build": "npm run build-server & npm run build-client", - "build-server": "tsc --project ./server", + "kill": "node ./scripts/kill.mjs", + "client": "node ./scripts/launch.mjs", "build-client": "webpack build --config ./client/webpack.config.js --mode=development", - "build-client-prod": "webpack build --config ./client/webpack.config.js --mode=production", - "start": "npm run server", - "client": "npm --prefix ../../common/ run client", - "server": "node ./server/build/index.js", - "kill": "npm --prefix ../../common/ run kill", - "setup": "cd ../../../ && npm install && cd how-to/use-channel-api/issue-commands-to-a-platform && npm run build", - "validate": "npm --prefix ../../../ run validate" + "build": "npm run build-client", + "start": "npx --yes http-server ./public -p 5050 -c-1", + "setup": "cd ../../../ && npm install && cd how-to/use-channel-api/issue-commands-to-a-platform && npm run build" }, "author": "john.mandia@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "openfin-adapter": "^26.70.16", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } } diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/public/common/images/icon-blue.png b/how-to/use-channel-api/issue-commands-to-a-platform/public/common/images/icon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fc78450293c9ff813b9d8bb19e5f3918795beeba GIT binary patch literal 1028 zcmV+f1pE7mP);txuo(sHhB6W3YG5`oAu(|@5JwGR0@_rb|qK6~mh) zPHNEo2hGbNd@X023)BVmoi;D4qu}=porgN=f+RB`pNBf?f(8a)4R$&( ztl0hqyjrQv$VwS4M=U6fJcptvY;wwOTW@8aWGyI3p0oH8*6`g72chvV5wl8kS)i&bleVxAK(7h5FbCl=%?&*4(x8Oj#h@e>PjndfYNfe4%N6AN;g z=ai&^EXGeR$YGu%-Lh@Q_a7V@NGwSFTNLCu(*Db)|4S^$WuDV7sDDI7kjp%WUAzRF zvs7Y1uJWAm3EA@Gd$uVLRz-SsSvSwAo`eOnr+N}!h80$M(B2;K=_7C|mwukZne%W~ z(5yx?=lQ&SA1IDH(#UhTlvvDJuZAt!11=?QCajl|_JpJom`U@TBv1fb5T3HrxRxmO zL{XaOG=fWpyAqq&G*O9MrFl+0l*4>SvQadPN~++7sjRAOq@xB(q3+_K>!^KByxEN%AD^ z9gMWi^+C3Ijua img { + width: 32px; + height: 32px; +} +button.secondary { + background-color: var(--brand-input-background); + color: var(--brand-text); + border-color: var(--brand-input-border); +} +button.secondary:not(:disabled):hover { + background-color: var(--brand-input-background); +} +button.plain { + border-color: transparent; + background-color: transparent; + color: var(--brand-primary); +} +button.plain:not(:disabled):not(:read-only):hover { + border-color: transparent; + background-color: transparent; +} + +button.small, +::-webkit-file-upload-button, +td button { + padding: 5px 10px; + font-size: 10px; +} +td button.plain { + width: auto; + height: auto; +} + +button.center { + text-align: center; +} + +::-webkit-file-upload-button { + margin-right: 10px; +} + +pre { + margin: 0; + padding: 5px; + border-radius: 5px; + font-size: 12px; + font-family: 'Courier New', Courier, monospace; + white-space: pre-wrap; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + width: 100%; + min-height: 20px; +} + +header { + padding-bottom: 10px; + border-bottom: 2px solid var(--brand-border); +} + +footer { + padding-top: 10px; + border-top: 1px solid var(--brand-border); +} + +fieldset { + display: flex; + flex-direction: column; + align-items: flex-start; + border: 0; + padding: 0; + font-size: 12px; + gap: 5px; +} + +fieldset.row { + flex-direction: row; + align-items: center; + gap: 10px; +} + +label { + font-size: 12px; + font-weight: 600; +} + +select, +input[type='text'], +input[type='url'], +input[type='email'], +input[type='password'], +input[type='file'], +input[type='number'], +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'], +input[type='color'], +textarea { + border-radius: 5px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + font-size: 12px; + outline: 0; + color: var(--brand-text); + width: 50%; + min-width: 200px; + padding: 8px 12px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +textarea { + min-height: 64px; + resize: none; +} + +textarea.resizable { + resize: both; +} + +select.full, +input[type='text'].full, +input[type='email'].full, +input[type='url'].full, +input[type='password'].full, +input[type='file'].full, +input[type='number'].full, +input[type='date'].full, +input[type='time'].full, +input[type='datetime-local'].full, +input[type='month'].full, +input[type='week'].full, +input[type='range'].full, +textarea.full { + width: 95%; +} + +select:focus, +select:not(:disabled):hover, +input[type='text']:not(:read-only):focus, +input[type='text']:not(:disabled):not(:read-only):hover, +input[type='email']:not(:read-only):focus, +input[type='email']:not(:disabled):not(:read-only):hover, +input[type='url']:not(:read-only):focus, +input[type='url']:not(:disabled):not(:read-only):hover, +input[type='password']:not(:read-only):focus, +input[type='password']:not(:disabled):not(:read-only):hover, +input[type='file']:not(:read-only):focus, +input[type='file']:not(:disabled):not(:read-only):hover, +input[type='number']:not(:read-only):focus, +input[type='number']:not(:disabled):not(:read-only):hover, +input[type='date']:not(:read-only):focus, +input[type='date']:not(:disabled):not(:read-only):hover, +input[type='time']:not(:read-only):focus, +input[type='time']:not(:disabled):not(:read-only):hover, +input[type='datetime-local']:not(:read-only):focus, +input[type='datetime-local']:not(:disabled):not(:read-only):hover, +input[type='month']:not(:read-only):focus, +input[type='month']:not(:disabled):not(:read-only):hover, +input[type='week']:not(:read-only):focus, +input[type='week']:not(:disabled):not(:read-only):hover, +textarea:not(:read-only):focus, +textarea:not(:disabled):not(:read-only):hover, +input[type='checkbox']:focus, +input[type='checkbox']:not(:disabled):hover, +input[type='radio']:focus, +input[type='radio']:not(:disabled):hover, +input[type='color']:focus, +input[type='color']:not(:disabled):hover { + border-color: var(--brand-input-border-highlight); +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'] { + width: 200px; + min-width: auto; +} + +.theme-dark ::-webkit-calendar-picker-indicator { + filter: invert(1); +} + +::-webkit-datetime-edit-day-field:focus, +::-webkit-datetime-edit-month-field:focus, +::-webkit-datetime-edit-year-field:focus, +::-webkit-datetime-edit-hour-field:focus, +::-webkit-datetime-edit-minute-field:focus, +::-webkit-datetime-edit-week-field:focus { + background-color: var(--brand-primary); + color: #ffffff; +} + +::-webkit-outer-spin-button, +::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type='file'] { + padding: 4px 12px; +} + +select { + appearance: none; +} + +select:not([multiple]):not(:disabled) { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-size: 12px; + background-position: calc(100% - 12px) 12px; + background-color: var(--brand-input-background); +} + +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + +option { + color: var(--brand-text); + padding: 6px; + margin-bottom: 1px; +} + +option:hover { + background: var(--brand-input-border) + linear-gradient(0deg, var(--brand-input-border) 0%, var(--brand-input-border) 100%); + border-radius: 5px; +} + +option:checked { + background: var(--brand-primary) linear-gradient(0deg, var(--brand-primary) 0%, var(--brand-primary) 100%); + color: #ffffff; + border-radius: 5px; +} + +input[type='range'] { + -webkit-appearance: none; + height: 20px; + width: 200px; + background: transparent; + outline: none; +} + +input[type='range']::-webkit-slider-runnable-track { + -webkit-appearance: none; + height: 10px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + border-radius: 5px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: 20px; + width: 20px; + border-radius: 5px; + margin-top: -6px; + border: 1px solid var(--brand-input-border); + background: var(--brand-input-background); + cursor: pointer; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']:hover::-webkit-slider-runnable-track, +input[type='range']:focus::-webkit-slider-runnable-track, +input[type='range']:hover::-webkit-slider-thumb, +input[type='range']:focus::-webkit-slider-thumb { + border-color: var(--brand-input-border-highlight); +} + +button:disabled, +select:disabled, +input:disabled, +textarea:disabled, +footer a:disabled, +a[disabled] { + opacity: 0.3; + cursor: default; + pointer-events: none; + resize: none; +} + +select:invalid, +input:invalid, +textarea:invalid { + border-color: var(--brand-error); +} + +fieldset > span { + margin-left: 10px; + width: 50px; +} + +input[type='text'].large, +input[type='password'].large, +input[type='file'].large, +input[type='email'].large, +input[type='url'].large, +input[type='date'].large, +input[type='time'].large { + font-size: 20px; + padding: 20px 10px; +} + +input[type='text'].center, +input[type='password'].center, +input[type='email'].center, +input[type='url'].center { + text-align: center; +} + +input[type='checkbox'], +input[type='radio'] { + appearance: none; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + color: var(--brand-input-text); + outline: 0; + width: 20px; + height: 20px; + margin: 2px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='radio'] { + border-radius: 50%; +} + +input[type='checkbox']::before, +input[type='radio']::before { + content: ''; + display: none; + width: 16px; + height: 16px; + margin: 1px; + background-color: var(--brand-text); + opacity: 0.8; +} + +input[type='checkbox']:checked::before { + display: inline-block; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +input[type='radio']:checked::before { + display: inline-block; + clip-path: circle(35% at 52% 50%); +} + +input[type='checkbox'] + label, +input[type='radio'] + label { + white-space: nowrap; +} + +input[type='color'] { + width: 100px; + min-width: auto; + padding: 5px; +} + +input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + background: transparent; +} + +input[type='color']::-webkit-color-swatch { + border-radius: 5px; + border: none; +} + +/* This disables the auto zoom on iDevices */ +@supports (-webkit-touch-callout: none) { + select, + input[type='text'], + input[type='url'], + input[type='email'], + input[type='password'], + input[type='file'], + input[type='number'], + input[type='date'], + input[type='time'], + input[type='datetime-local'], + input[type='month'], + input[type='week'], + input[type='color'], + textarea { + font-size: 16px; + } +} + +hr { + width: 100%; + border: 0; + border-bottom: 1px solid var(--brand-input-border); +} + +ul { + font-size: 12px; + display: flex; + flex-direction: column; + gap: 10px; + list-style-type: none; +} + +li { + font-size: 12px; + position: relative; + padding: 0 0 10px; +} + +li::before { + content: ' '; + display: inline-block; + background-color: var(--brand-primary); + width: 8px; + height: 8px; + border-radius: 2px; + position: absolute; + left: -13px; + top: 3px; +} + +em { + font-size: 12px; +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.fill { + flex: 1; +} + +.fill_2 { + flex: 2; +} + +.scroll { + overflow: auto; +} + +.scroll-vertical { + overflow-y: auto; +} + +.scroll-horizontal { + overflow-x: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.middle { + align-items: center; +} + +.bottom { + align-items: flex-end; +} + +.spread { + justify-content: space-between; +} + +.around { + justify-content: space-around; +} + +.left { + display: flex; + align-items: flex-start; +} + +.center { + display: flex; + justify-content: center; +} + +.right { + display: flex; + justify-content: flex-end; +} + +.wrap { + flex-wrap: wrap; +} + +.gap5 { + gap: 5px; +} + +.gap10 { + gap: 10px; +} + +.gap20 { + gap: 20px; +} + +.gap40 { + gap: 40px; +} + +.pad10 { + padding: 10px; +} + +.pad20 { + padding: 20px; +} + +.pad0 { + padding: 0px; +} + +.table { + display: flex; + flex: 1; + flex-direction: column; + font-size: 10px; +} + +table { + width: 100%; + font-size: 10px; + border: 0; + border-collapse: collapse; +} + +table, +.table { + border: var(--brand-input-border) 1px solid; +} + +.table-row { + display: flex; + flex: 1; + flex-direction: row; +} + +table > tr:first-child, +thead > tr, +.table-row.header { + background-color: var(--brand-table-header); +} + +table > tr:nth-child(even), +.table > div:nth-child(even), +tbody > tr:nth-child(odd) { + background-color: var(--brand-table-row-even); +} + +table > tr:nth-child(odd), +.table > div:not(:first-child):nth-child(odd), +tbody > tr:nth-child(even) { + background-color: var(--brand-table-row-odd); +} + +th, +.table-row.header > div { + color: var(--brand-table-header-text); + font-weight: bold; + padding: 10px 5px; + text-align: left; + word-break: break-word; +} + +.table-row > div { + flex: 1; +} + +td, +.table-row:not(.header) > div { + padding: 5px; + word-break: break-word; + color: var(--brand-text); +} + +.table-row:not(.header) > div { + display: flex; + align-items: center; +} + +@media screen and (max-width: 736px) { + .table-row { + flex-direction: column; + } + + .table-row.header { + display: none; + } + + .table-row:not(.header) > div { + display: flex; + align-items: center; + flex: 1; + gap: 10px; + } + + .table-row:not(.header) > div:before { + content: attr(data-name); + font-weight: bold; + white-space: nowrap; + width: 20%; + } + + .table-row > div.right { + justify-content: flex-start; + } + + .table-row > div.center { + justify-content: flex-start; + } +} + +.border { + border: 1px solid var(--brand-input-border); + border-radius: 5px; +} + +.drag { + user-select: none; + -webkit-app-region: drag; +} + +.no-drag { + -webkit-app-region: none; +} + +.form { + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; + font-size: 12px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; +} + +.form-group.large { + gap: 20px; +} + +.width-full { + width: 100%; +} + +.max-width-full { + max-width: 100%; +} + +.width-responsive { + max-width: fit-content; +} + +.hidden { + display: none; +} + +.pointer { + cursor: pointer; +} + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/public/html/app.html b/how-to/use-channel-api/issue-commands-to-a-platform/public/html/app.html index eec9a4cf..40d441fb 100644 --- a/how-to/use-channel-api/issue-commands-to-a-platform/public/html/app.html +++ b/how-to/use-channel-api/issue-commands-to-a-platform/public/html/app.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/public/html/provider.html b/how-to/use-channel-api/issue-commands-to-a-platform/public/html/provider.html index 14787b6d..9909469a 100644 --- a/how-to/use-channel-api/issue-commands-to-a-platform/public/html/provider.html +++ b/how-to/use-channel-api/issue-commands-to-a-platform/public/html/provider.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/public/html/window.html b/how-to/use-channel-api/issue-commands-to-a-platform/public/html/window.html index 57073a96..55bf9940 100644 --- a/how-to/use-channel-api/issue-commands-to-a-platform/public/html/window.html +++ b/how-to/use-channel-api/issue-commands-to-a-platform/public/html/window.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/scripts/kill.mjs b/how-to/use-channel-api/issue-commands-to-a-platform/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/use-channel-api/issue-commands-to-a-platform/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/scripts/launch.mjs b/how-to/use-channel-api/issue-commands-to-a-platform/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/use-channel-api/issue-commands-to-a-platform/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/server/src/index.ts b/how-to/use-channel-api/issue-commands-to-a-platform/server/src/index.ts deleted file mode 100644 index 694c7722..00000000 --- a/how-to/use-channel-api/issue-commands-to-a-platform/server/src/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import express from "express"; -import path from "path"; - -const app = express(); - -const mainPath = path.join(__dirname, "..", "..", "public"); -const commonPath = path.join(__dirname, "..", "..", "..", "..", "common", "public"); -const port = 5050; - -console.log(`Main Path / = ${mainPath}`); -console.log(`Common Path /common = ${commonPath}`); -console.log("Root path checks both the main and common directories."); -app.use(express.static(mainPath)); -app.use("/common", express.static(commonPath)); -app.listen(port, () => { - console.log("server is listening on port", port); -}); diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/server/tsconfig.json b/how-to/use-channel-api/issue-commands-to-a-platform/server/tsconfig.json deleted file mode 100644 index adb16a6f..00000000 --- a/how-to/use-channel-api/issue-commands-to-a-platform/server/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "es2021", - "module": "commonjs", - "sourceMap": true, - "rootDir": "./src", - "outDir": "build", - "skipLibCheck": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", - "moduleResolution": "node" - }, - "include": ["./src/**/*.ts"] -} diff --git a/how-to/use-content-creation-rules/client/src/app.ts b/how-to/use-content-creation-rules/client/src/app.ts index 275c39fa..b1ec1a1f 100644 --- a/how-to/use-content-creation-rules/client/src/app.ts +++ b/how-to/use-content-creation-rules/client/src/app.ts @@ -1,7 +1,8 @@ document.addEventListener("DOMContentLoaded", async () => { const openView = document.querySelector("#open-view"); openView.addEventListener("click", (e) => { - window.open("https://www.google.com"); + const win = window.open("https://www.google.com"); + logWindowResult(win); }); const openViewTarget = document.querySelector("#open-view-target"); @@ -13,12 +14,14 @@ document.addEventListener("DOMContentLoaded", async () => { let viewTargetIndex = 0; openViewTarget.addEventListener("click", (e) => { - window.open(viewTargets[viewTargetIndex++ % viewTargets.length], "examples"); + const win = window.open(viewTargets[viewTargetIndex++ % viewTargets.length], "examples", "blah=foo"); + logWindowResult(win); }); const openWindow = document.querySelector("#open-window"); openWindow.addEventListener("click", (e) => { - window.open("https://www.bing.com"); + const win = window.open("https://www.bing.com"); + logWindowResult(win); }); const openWindowTarget = document.querySelector("#open-window-target"); @@ -30,16 +33,29 @@ document.addEventListener("DOMContentLoaded", async () => { let windowTargetIndex = 0; openWindowTarget.addEventListener("click", (e) => { - window.open(windowTargets[windowTargetIndex++ % windowTargets.length], "examples2"); + const win = window.open(windowTargets[windowTargetIndex++ % windowTargets.length], "examples2"); + logWindowResult(win); }); const openBrowser = document.querySelector("#open-browser"); openBrowser.addEventListener("click", (e) => { - window.open("https://www.microsoft.com"); + const win = window.open("https://www.microsoft.com"); + logWindowResult(win); }); const openBlocked = document.querySelector("#open-blocked"); openBlocked.addEventListener("click", (e) => { - window.open("https://www.apple.com"); + const win = window.open("https://www.apple.com"); + logWindowResult(win); }); }); + +function logWindowResult(win: WindowProxy): void { + try { + win.addEventListener("DOMContentLoaded", () => { + console.log("Window Location", win.location); + }); + } catch (err) { + console.error("Error logging window results", err); + } +} diff --git a/how-to/use-content-creation-rules/client/src/default-platform-window.ts b/how-to/use-content-creation-rules/client/src/default-platform-window.ts index 1df3d5a2..44bf6670 100644 --- a/how-to/use-content-creation-rules/client/src/default-platform-window.ts +++ b/how-to/use-content-creation-rules/client/src/default-platform-window.ts @@ -21,7 +21,7 @@ window.addEventListener("DOMContentLoaded", async () => { await me.close(); }); - async function maxOrRestore() { + async function maxOrRestore(): Promise { if ((await me.getState()) === "normal") { return me.maximize(); } diff --git a/how-to/use-content-creation-rules/client/tsconfig.json b/how-to/use-content-creation-rules/client/tsconfig.json index 95b189eb..1bfae137 100644 --- a/how-to/use-content-creation-rules/client/tsconfig.json +++ b/how-to/use-content-creation-rules/client/tsconfig.json @@ -6,11 +6,11 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node", - "types": ["../../common/types/fin"] + "types": ["./types/fin"] }, "include": ["./src/**/*.ts"] } diff --git a/how-to/use-content-creation-rules/client/types/fin.d.ts b/how-to/use-content-creation-rules/client/types/fin.d.ts new file mode 100644 index 00000000..8936d86c --- /dev/null +++ b/how-to/use-content-creation-rules/client/types/fin.d.ts @@ -0,0 +1,5 @@ +import type { fin as FinApi } from "@openfin/core"; + +declare global { + const fin: typeof FinApi; +} diff --git a/how-to/use-content-creation-rules/package.json b/how-to/use-content-creation-rules/package.json index eac1403f..693f5bf1 100644 --- a/how-to/use-content-creation-rules/package.json +++ b/how-to/use-content-creation-rules/package.json @@ -4,25 +4,20 @@ "description": "How to use content creation rules.", "main": "index.js", "scripts": { - "build": "npm run build-server & npm run build-client", - "build-server": "tsc --project ./server", + "kill": "node ./scripts/kill.mjs", + "client": "node ./scripts/launch.mjs", "build-client": "webpack build --config ./client/webpack.config.js --mode=development", - "build-client-prod": "webpack build --config ./client/webpack.config.js --mode=production", - "start": "npm run server", - "client": "npm --prefix ../common/ run client", - "server": "node ./server/build/index.js", - "kill": "npm --prefix ../common/ run kill", - "setup": "cd ../../ && npm install && cd how-to/use-content-creation-rules && npm run build", - "validate": "npm --prefix ../../ run validate" + "build": "npm run build-client", + "start": "npx --yes http-server ./public -p 5050 -c-1", + "setup": "cd ../../ && npm install && cd how-to/use-content-creation-rules && npm run build" }, "author": "@adam-saland", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "openfin-adapter": "^26.70.16", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } } diff --git a/how-to/use-content-creation-rules/public/common/style/app.css b/how-to/use-content-creation-rules/public/common/style/app.css new file mode 100644 index 00000000..96c4673f --- /dev/null +++ b/how-to/use-content-creation-rules/public/common/style/app.css @@ -0,0 +1,929 @@ +@import url('https://fonts.googleapis.com/css2?family=Inter&display=swap'); + +:root { + --brand-background: var(--theme-background-primary, #1e1f23); + --brand-border: var(--theme-background4, #2f3136); + --brand-primary: var(--theme-brand-primary, #0a76d3); + --brand-text: var(--theme-text-default, #ffffff); + --brand-text-secondary: var(--theme-text-help, #c9cbd2); + --brand-input-background: var(--theme-background5, #383a40); + --brand-input-border: var(--theme-background6, #53565f); + --brand-input-border-highlight: var(--theme-input-focused, #c9cbd2); + --brand-table-header: var(--theme-background1, #111214); + --brand-table-header-text: var(--theme-text-default, #ffffff); + --brand-table-row-even: var(--theme-background3, #24262b); + --brand-table-row-odd: var(--theme-background4, #2f3136); + --brand-error: var(--theme-status-critical, #be1d1f); + --brand-success: var(--theme-status-success, #35c759); + + accent-color: var(--brand-primary); +} + +.theme-light { + --brand-background: var(--theme-background-primary, #fafbfe); + --brand-border: var(--theme-background4, #eceef1); + --brand-primary: var(--theme-brand-primary, #0a76d3); + --brand-text: var(--theme-text-default, #111214); + --brand-text-secondary: var(--theme-text-help, #2f3136); + --brand-input-background: var(--theme-background5, #dddfe4); + --brand-input-border: var(--theme-background6, #c9cbd2); + --brand-input-border-highlight: var(--theme-input-focused, #c9cbd2); + --brand-table-header: var(--theme-background1, #ffffff); + --brand-table-header-text: var(--theme-text-default, #111214); + --brand-table-row-even: var(--theme-background3, #eceef1); + --brand-table-row-odd: var(--theme-background4, #c9cbd2); + --brand-error: var(--theme-status-critical, #be1d1f); + --brand-success: var(--theme-status-success, #35c759); +} + +.primary { + color: var(--brand-primary); +} + +.error { + color: var(--brand-error); +} + +.success { + color: var(--brand-success); +} + +::selection { + background-color: var(--brand-primary); +} + +* { + font-family: Inter, 'Sans Serif', sans-serif; + box-sizing: border-box; +} + +html, +body { + height: 100%; +} + +body { + display: flex; + justify-content: stretch; + align-items: stretch; + overflow: hidden; + padding: 20px; + margin: 0; + background-color: var(--brand-background); + color: var(--brand-text); +} + +body.border { + padding: 20px; + margin: 0; + background-color: var(--brand-background); + color: var(--brand-text); + border: 1px solid #000000; + border-radius: 5px; + width: 99%; + height: 99%; +} + +body.border-light { + border-color: var(--brand-input-border-highlight); +} + +body.small { + padding: 15px; +} + +h1 { + font-size: 24px; + font-weight: 700; + line-height: 1; + margin-block-start: 0; + margin-block-end: 0; +} +h1.tag { + font-size: 12px; + font-weight: normal; + margin-top: 5px; + color: var(--brand-text-secondary); +} + +h2 { + font-size: 20px; + font-weight: 700; + line-height: 1; + margin-block-start: 0; + margin-block-end: 0; +} + +h3 { + font-size: 16px; + font-weight: 700; + line-height: 1; + margin-block-start: 0; + margin-block-end: 0; +} + +h4 { + font-size: 14px; + font-weight: 700; + line-height: 1; + margin-block-start: 0; + margin-block-end: 0; +} + +h5 { + font-size: 12px; + font-weight: 700; + line-height: 1; + margin-block-start: 0; + margin-block-end: 0; +} + +p { + color: var(--brand-text-secondary); + font-size: 12px; + margin-block-start: 0; + margin-block-end: 0; +} + +::-webkit-scrollbar { + width: 8px; + height: 8px; +} +::-webkit-scrollbar-track { + background: var(--brand-input-background); + border-radius: 5px; +} +::-webkit-scrollbar-thumb { + background: var(--brand-border); + border-radius: 5px; + border: 1px solid var(--brand-input-border); +} +::-webkit-scrollbar-thumb:hover { + border: 1px solid var(--brand-input-border-highlight); +} + +main { + min-height: 100px; +} + +a { + color: var(--brand-primary); + font-size: 12px; + font-weight: bold; + outline: none; + text-decoration: none; +} + +a:hover, +a:focus { + text-decoration: underline; +} + +button, +input[type='button'], +::-webkit-file-upload-button, +a.button, +footer a { + background-color: var(--brand-primary); + border: 2px solid var(--brand-primary); + color: #ffffff; + border-radius: 5px; + padding: 8px 20px; + text-align: left; + cursor: pointer; + font-size: 12px; + font-weight: bold; + text-decoration: none; + outline: 0; + white-space: nowrap; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +a.button:hover, +footer a:hover { + text-decoration: none; +} + +a.button:focus, +a.button:hover, +input[type='button']:focus, +input[type='button']:hover, +input[type='file']:focus::-webkit-file-upload-button, +input[type='file']:hover::-webkit-file-upload-button, +::-webkit-file-upload-button:hover, +footer a:focus, +footer a:not(:disabled):hover, +button:not(:disabled):focus, +button:not(:disabled):hover { + background-image: linear-gradient(rgba(255, 255, 255, 0.1) 0 0); +} + +button.image { + width: 40px; + height: 40px; + padding: 0px; + display: flex; + align-items: center; + justify-content: center; +} +button.image > img { + width: 32px; + height: 32px; +} +button.secondary { + background-color: var(--brand-input-background); + color: var(--brand-text); + border-color: var(--brand-input-border); +} +button.secondary:not(:disabled):hover { + background-color: var(--brand-input-background); +} +button.plain { + border-color: transparent; + background-color: transparent; + color: var(--brand-primary); +} +button.plain:not(:disabled):not(:read-only):hover { + border-color: transparent; + background-color: transparent; +} + +button.small, +::-webkit-file-upload-button, +td button { + padding: 5px 10px; + font-size: 10px; +} +td button.plain { + width: auto; + height: auto; +} + +button.center { + text-align: center; +} + +::-webkit-file-upload-button { + margin-right: 10px; +} + +pre { + margin: 0; + padding: 5px; + border-radius: 5px; + font-size: 12px; + font-family: 'Courier New', Courier, monospace; + white-space: pre-wrap; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + width: 100%; + min-height: 20px; +} + +header { + padding-bottom: 10px; + border-bottom: 2px solid var(--brand-border); +} + +footer { + padding-top: 10px; + border-top: 1px solid var(--brand-border); +} + +fieldset { + display: flex; + flex-direction: column; + align-items: flex-start; + border: 0; + padding: 0; + font-size: 12px; + gap: 5px; +} + +fieldset.row { + flex-direction: row; + align-items: center; + gap: 10px; +} + +label { + font-size: 12px; + font-weight: 600; +} + +select, +input[type='text'], +input[type='url'], +input[type='email'], +input[type='password'], +input[type='file'], +input[type='number'], +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'], +input[type='color'], +textarea { + border-radius: 5px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + font-size: 12px; + outline: 0; + color: var(--brand-text); + width: 50%; + min-width: 200px; + padding: 8px 12px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +textarea { + min-height: 64px; + resize: none; +} + +textarea.resizable { + resize: both; +} + +select.full, +input[type='text'].full, +input[type='email'].full, +input[type='url'].full, +input[type='password'].full, +input[type='file'].full, +input[type='number'].full, +input[type='date'].full, +input[type='time'].full, +input[type='datetime-local'].full, +input[type='month'].full, +input[type='week'].full, +input[type='range'].full, +textarea.full { + width: 95%; +} + +select:focus, +select:not(:disabled):hover, +input[type='text']:not(:read-only):focus, +input[type='text']:not(:disabled):not(:read-only):hover, +input[type='email']:not(:read-only):focus, +input[type='email']:not(:disabled):not(:read-only):hover, +input[type='url']:not(:read-only):focus, +input[type='url']:not(:disabled):not(:read-only):hover, +input[type='password']:not(:read-only):focus, +input[type='password']:not(:disabled):not(:read-only):hover, +input[type='file']:not(:read-only):focus, +input[type='file']:not(:disabled):not(:read-only):hover, +input[type='number']:not(:read-only):focus, +input[type='number']:not(:disabled):not(:read-only):hover, +input[type='date']:not(:read-only):focus, +input[type='date']:not(:disabled):not(:read-only):hover, +input[type='time']:not(:read-only):focus, +input[type='time']:not(:disabled):not(:read-only):hover, +input[type='datetime-local']:not(:read-only):focus, +input[type='datetime-local']:not(:disabled):not(:read-only):hover, +input[type='month']:not(:read-only):focus, +input[type='month']:not(:disabled):not(:read-only):hover, +input[type='week']:not(:read-only):focus, +input[type='week']:not(:disabled):not(:read-only):hover, +textarea:not(:read-only):focus, +textarea:not(:disabled):not(:read-only):hover, +input[type='checkbox']:focus, +input[type='checkbox']:not(:disabled):hover, +input[type='radio']:focus, +input[type='radio']:not(:disabled):hover, +input[type='color']:focus, +input[type='color']:not(:disabled):hover { + border-color: var(--brand-input-border-highlight); +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'] { + width: 200px; + min-width: auto; +} + +.theme-dark ::-webkit-calendar-picker-indicator { + filter: invert(1); +} + +::-webkit-datetime-edit-day-field:focus, +::-webkit-datetime-edit-month-field:focus, +::-webkit-datetime-edit-year-field:focus, +::-webkit-datetime-edit-hour-field:focus, +::-webkit-datetime-edit-minute-field:focus, +::-webkit-datetime-edit-week-field:focus { + background-color: var(--brand-primary); + color: #ffffff; +} + +::-webkit-outer-spin-button, +::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type='file'] { + padding: 4px 12px; +} + +select { + appearance: none; +} + +select:not([multiple]):not(:disabled) { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-size: 12px; + background-position: calc(100% - 12px) 12px; + background-color: var(--brand-input-background); +} + +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + +option { + color: var(--brand-text); + padding: 6px; + margin-bottom: 1px; +} + +option:hover { + background: var(--brand-input-border) + linear-gradient(0deg, var(--brand-input-border) 0%, var(--brand-input-border) 100%); + border-radius: 5px; +} + +option:checked { + background: var(--brand-primary) linear-gradient(0deg, var(--brand-primary) 0%, var(--brand-primary) 100%); + color: #ffffff; + border-radius: 5px; +} + +input[type='range'] { + -webkit-appearance: none; + height: 20px; + width: 200px; + background: transparent; + outline: none; +} + +input[type='range']::-webkit-slider-runnable-track { + -webkit-appearance: none; + height: 10px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + border-radius: 5px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: 20px; + width: 20px; + border-radius: 5px; + margin-top: -6px; + border: 1px solid var(--brand-input-border); + background: var(--brand-input-background); + cursor: pointer; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']:hover::-webkit-slider-runnable-track, +input[type='range']:focus::-webkit-slider-runnable-track, +input[type='range']:hover::-webkit-slider-thumb, +input[type='range']:focus::-webkit-slider-thumb { + border-color: var(--brand-input-border-highlight); +} + +button:disabled, +select:disabled, +input:disabled, +textarea:disabled, +footer a:disabled, +a[disabled] { + opacity: 0.3; + cursor: default; + pointer-events: none; + resize: none; +} + +select:invalid, +input:invalid, +textarea:invalid { + border-color: var(--brand-error); +} + +fieldset > span { + margin-left: 10px; + width: 50px; +} + +input[type='text'].large, +input[type='password'].large, +input[type='file'].large, +input[type='email'].large, +input[type='url'].large, +input[type='date'].large, +input[type='time'].large { + font-size: 20px; + padding: 20px 10px; +} + +input[type='text'].center, +input[type='password'].center, +input[type='email'].center, +input[type='url'].center { + text-align: center; +} + +input[type='checkbox'], +input[type='radio'] { + appearance: none; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + color: var(--brand-input-text); + outline: 0; + width: 20px; + height: 20px; + margin: 2px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='radio'] { + border-radius: 50%; +} + +input[type='checkbox']::before, +input[type='radio']::before { + content: ''; + display: none; + width: 16px; + height: 16px; + margin: 1px; + background-color: var(--brand-text); + opacity: 0.8; +} + +input[type='checkbox']:checked::before { + display: inline-block; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +input[type='radio']:checked::before { + display: inline-block; + clip-path: circle(35% at 52% 50%); +} + +input[type='checkbox'] + label, +input[type='radio'] + label { + white-space: nowrap; +} + +input[type='color'] { + width: 100px; + min-width: auto; + padding: 5px; +} + +input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + background: transparent; +} + +input[type='color']::-webkit-color-swatch { + border-radius: 5px; + border: none; +} + +/* This disables the auto zoom on iDevices */ +@supports (-webkit-touch-callout: none) { + select, + input[type='text'], + input[type='url'], + input[type='email'], + input[type='password'], + input[type='file'], + input[type='number'], + input[type='date'], + input[type='time'], + input[type='datetime-local'], + input[type='month'], + input[type='week'], + input[type='color'], + textarea { + font-size: 16px; + } +} + +hr { + width: 100%; + border: 0; + border-bottom: 1px solid var(--brand-input-border); +} + +ul { + font-size: 12px; + display: flex; + flex-direction: column; + gap: 10px; + list-style-type: none; +} + +li { + font-size: 12px; + position: relative; + padding: 0 0 10px; +} + +li::before { + content: ' '; + display: inline-block; + background-color: var(--brand-primary); + width: 8px; + height: 8px; + border-radius: 2px; + position: absolute; + left: -13px; + top: 3px; +} + +em { + font-size: 12px; +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.fill { + flex: 1; +} + +.fill_2 { + flex: 2; +} + +.scroll { + overflow: auto; +} + +.scroll-vertical { + overflow-y: auto; +} + +.scroll-horizontal { + overflow-x: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.middle { + align-items: center; +} + +.bottom { + align-items: flex-end; +} + +.spread { + justify-content: space-between; +} + +.around { + justify-content: space-around; +} + +.left { + display: flex; + align-items: flex-start; +} + +.center { + display: flex; + justify-content: center; +} + +.right { + display: flex; + justify-content: flex-end; +} + +.wrap { + flex-wrap: wrap; +} + +.gap5 { + gap: 5px; +} + +.gap10 { + gap: 10px; +} + +.gap20 { + gap: 20px; +} + +.gap40 { + gap: 40px; +} + +.pad10 { + padding: 10px; +} + +.pad20 { + padding: 20px; +} + +.pad0 { + padding: 0px; +} + +.table { + display: flex; + flex: 1; + flex-direction: column; + font-size: 10px; +} + +table { + width: 100%; + font-size: 10px; + border: 0; + border-collapse: collapse; +} + +table, +.table { + border: var(--brand-input-border) 1px solid; +} + +.table-row { + display: flex; + flex: 1; + flex-direction: row; +} + +table > tr:first-child, +thead > tr, +.table-row.header { + background-color: var(--brand-table-header); +} + +table > tr:nth-child(even), +.table > div:nth-child(even), +tbody > tr:nth-child(odd) { + background-color: var(--brand-table-row-even); +} + +table > tr:nth-child(odd), +.table > div:not(:first-child):nth-child(odd), +tbody > tr:nth-child(even) { + background-color: var(--brand-table-row-odd); +} + +th, +.table-row.header > div { + color: var(--brand-table-header-text); + font-weight: bold; + padding: 10px 5px; + text-align: left; + word-break: break-word; +} + +.table-row > div { + flex: 1; +} + +td, +.table-row:not(.header) > div { + padding: 5px; + word-break: break-word; + color: var(--brand-text); +} + +.table-row:not(.header) > div { + display: flex; + align-items: center; +} + +@media screen and (max-width: 736px) { + .table-row { + flex-direction: column; + } + + .table-row.header { + display: none; + } + + .table-row:not(.header) > div { + display: flex; + align-items: center; + flex: 1; + gap: 10px; + } + + .table-row:not(.header) > div:before { + content: attr(data-name); + font-weight: bold; + white-space: nowrap; + width: 20%; + } + + .table-row > div.right { + justify-content: flex-start; + } + + .table-row > div.center { + justify-content: flex-start; + } +} + +.border { + border: 1px solid var(--brand-input-border); + border-radius: 5px; +} + +.drag { + user-select: none; + -webkit-app-region: drag; +} + +.no-drag { + -webkit-app-region: none; +} + +.form { + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; + font-size: 12px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; +} + +.form-group.large { + gap: 20px; +} + +.width-full { + width: 100%; +} + +.max-width-full { + max-width: 100%; +} + +.width-responsive { + max-width: fit-content; +} + +.hidden { + display: none; +} + +.pointer { + cursor: pointer; +} + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/use-content-creation-rules/public/html/app.html b/how-to/use-content-creation-rules/public/html/app.html index ab43e165..54865548 100644 --- a/how-to/use-content-creation-rules/public/html/app.html +++ b/how-to/use-content-creation-rules/public/html/app.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-content-creation-rules/public/html/default-platform-window.html b/how-to/use-content-creation-rules/public/html/default-platform-window.html index 6b46c262..48046bb3 100644 --- a/how-to/use-content-creation-rules/public/html/default-platform-window.html +++ b/how-to/use-content-creation-rules/public/html/default-platform-window.html @@ -1,5 +1,5 @@ - - + + diff --git a/how-to/use-content-creation-rules/public/html/platform-provider.html b/how-to/use-content-creation-rules/public/html/platform-provider.html index 749de8e2..ef86f4e5 100644 --- a/how-to/use-content-creation-rules/public/html/platform-provider.html +++ b/how-to/use-content-creation-rules/public/html/platform-provider.html @@ -1,5 +1,5 @@ - - + + diff --git a/how-to/use-content-creation-rules/scripts/kill.mjs b/how-to/use-content-creation-rules/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/use-content-creation-rules/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/use-content-creation-rules/scripts/launch.mjs b/how-to/use-content-creation-rules/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/use-content-creation-rules/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/use-content-creation-rules/server/src/index.ts b/how-to/use-content-creation-rules/server/src/index.ts deleted file mode 100644 index 3a135273..00000000 --- a/how-to/use-content-creation-rules/server/src/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import express from "express"; -import path from "path"; - -const app = express(); - -const mainPath = path.join(__dirname, "..", "..", "public"); -const commonPath = path.join(__dirname, "..", "..", "..", "common", "public"); -const port = 5050; - -console.log(`Main Path / = ${mainPath}`); -console.log(`Common Path /common = ${commonPath}`); -console.log("Root path checks both the main and common directories."); -app.use(express.static(mainPath)); -app.use("/common", express.static(commonPath)); -app.listen(port, () => { - console.log("server is listening on port", port); -}); diff --git a/how-to/use-content-creation-rules/server/tsconfig.json b/how-to/use-content-creation-rules/server/tsconfig.json deleted file mode 100644 index adb16a6f..00000000 --- a/how-to/use-content-creation-rules/server/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "es2021", - "module": "commonjs", - "sourceMap": true, - "rootDir": "./src", - "outDir": "build", - "skipLibCheck": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", - "moduleResolution": "node" - }, - "include": ["./src/**/*.ts"] -} diff --git a/how-to/use-dynamic-manifest/basic/package.json b/how-to/use-dynamic-manifest/basic/package.json index b5cdef25..cb4c1b69 100644 --- a/how-to/use-dynamic-manifest/basic/package.json +++ b/how-to/use-dynamic-manifest/basic/package.json @@ -8,21 +8,20 @@ "build-server": "tsc --project ./server", "start": "npm run server", "server": "node ./server/build/index.js", - "client": "npm --prefix ../../common/ run client http://localhost:5050/manifest?env=dev", - "dev": "npm --prefix ../../common/ run client http://localhost:5050/manifest?env=dev", - "staging": "npm --prefix ../../common/ run client http://localhost:5050/manifest?env=staging", + "client": "node ./scripts/launch.mjs http://localhost:5050/manifest?env=dev", + "dev": "node ./scripts/launch.mjs http://localhost:5050/manifest?env=dev", + "staging": "node ./scripts/launch.mjs http://localhost:5050/manifest?env=staging", "kill": "npm --prefix ../../common/ run kill", - "setup": "cd ../../../ && npm install && cd how-to/use-dynamic-manifest/basic && npm run build", - "validate": "npm --prefix ../../../ run validate" + "setup": "cd ../../../ && npm install && cd how-to/use-dynamic-manifest/basic && npm run build" }, "author": "pj.singh@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "openfin-adapter": "^26.70.16", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } } diff --git a/how-to/use-dynamic-manifest/basic/public/common/images/icon-blue.png b/how-to/use-dynamic-manifest/basic/public/common/images/icon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fc78450293c9ff813b9d8bb19e5f3918795beeba GIT binary patch literal 1028 zcmV+f1pE7mP);txuo(sHhB6W3YG5`oAu(|@5JwGR0@_rb|qK6~mh) zPHNEo2hGbNd@X023)BVmoi;D4qu}=porgN=f+RB`pNBf?f(8a)4R$&( ztl0hqyjrQv$VwS4M=U6fJcptvY;wwOTW@8aWGyI3p0oH8*6`g72chvV5wl8kS)i&bleVxAK(7h5FbCl=%?&*4(x8Oj#h@e>PjndfYNfe4%N6AN;g z=ai&^EXGeR$YGu%-Lh@Q_a7V@NGwSFTNLCu(*Db)|4S^$WuDV7sDDI7kjp%WUAzRF zvs7Y1uJWAm3EA@Gd$uVLRz-SsSvSwAo`eOnr+N}!h80$M(B2;K=_7C|mwukZne%W~ z(5yx?=lQ&SA1IDH(#UhTlvvDJuZAt!11=?QCajl|_JpJom`U@TBv1fb5T3HrxRxmO zL{XaOG=fWpyAqq&G*O9MrFl+0l*4>SvQadPN~++7sjRAOq@xB(q3+_K>!^KByxEN%AD^ z9gMWi^+C3Ijua img { + width: 32px; + height: 32px; +} +button.secondary { + background-color: var(--brand-input-background); + color: var(--brand-text); + border-color: var(--brand-input-border); +} +button.secondary:not(:disabled):hover { + background-color: var(--brand-input-background); +} +button.plain { + border-color: transparent; + background-color: transparent; + color: var(--brand-primary); +} +button.plain:not(:disabled):not(:read-only):hover { + border-color: transparent; + background-color: transparent; +} + +button.small, +::-webkit-file-upload-button, +td button { + padding: 5px 10px; + font-size: 10px; +} +td button.plain { + width: auto; + height: auto; +} + +button.center { + text-align: center; +} + +::-webkit-file-upload-button { + margin-right: 10px; +} + +pre { + margin: 0; + padding: 5px; + border-radius: 5px; + font-size: 12px; + font-family: 'Courier New', Courier, monospace; + white-space: pre-wrap; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + width: 100%; + min-height: 20px; +} + +header { + padding-bottom: 10px; + border-bottom: 2px solid var(--brand-border); +} + +footer { + padding-top: 10px; + border-top: 1px solid var(--brand-border); +} + +fieldset { + display: flex; + flex-direction: column; + align-items: flex-start; + border: 0; + padding: 0; + font-size: 12px; + gap: 5px; +} + +fieldset.row { + flex-direction: row; + align-items: center; + gap: 10px; +} + +label { + font-size: 12px; + font-weight: 600; +} + +select, +input[type='text'], +input[type='url'], +input[type='email'], +input[type='password'], +input[type='file'], +input[type='number'], +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'], +input[type='color'], +textarea { + border-radius: 5px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + font-size: 12px; + outline: 0; + color: var(--brand-text); + width: 50%; + min-width: 200px; + padding: 8px 12px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +textarea { + min-height: 64px; + resize: none; +} + +textarea.resizable { + resize: both; +} + +select.full, +input[type='text'].full, +input[type='email'].full, +input[type='url'].full, +input[type='password'].full, +input[type='file'].full, +input[type='number'].full, +input[type='date'].full, +input[type='time'].full, +input[type='datetime-local'].full, +input[type='month'].full, +input[type='week'].full, +input[type='range'].full, +textarea.full { + width: 95%; +} + +select:focus, +select:not(:disabled):hover, +input[type='text']:not(:read-only):focus, +input[type='text']:not(:disabled):not(:read-only):hover, +input[type='email']:not(:read-only):focus, +input[type='email']:not(:disabled):not(:read-only):hover, +input[type='url']:not(:read-only):focus, +input[type='url']:not(:disabled):not(:read-only):hover, +input[type='password']:not(:read-only):focus, +input[type='password']:not(:disabled):not(:read-only):hover, +input[type='file']:not(:read-only):focus, +input[type='file']:not(:disabled):not(:read-only):hover, +input[type='number']:not(:read-only):focus, +input[type='number']:not(:disabled):not(:read-only):hover, +input[type='date']:not(:read-only):focus, +input[type='date']:not(:disabled):not(:read-only):hover, +input[type='time']:not(:read-only):focus, +input[type='time']:not(:disabled):not(:read-only):hover, +input[type='datetime-local']:not(:read-only):focus, +input[type='datetime-local']:not(:disabled):not(:read-only):hover, +input[type='month']:not(:read-only):focus, +input[type='month']:not(:disabled):not(:read-only):hover, +input[type='week']:not(:read-only):focus, +input[type='week']:not(:disabled):not(:read-only):hover, +textarea:not(:read-only):focus, +textarea:not(:disabled):not(:read-only):hover, +input[type='checkbox']:focus, +input[type='checkbox']:not(:disabled):hover, +input[type='radio']:focus, +input[type='radio']:not(:disabled):hover, +input[type='color']:focus, +input[type='color']:not(:disabled):hover { + border-color: var(--brand-input-border-highlight); +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'] { + width: 200px; + min-width: auto; +} + +.theme-dark ::-webkit-calendar-picker-indicator { + filter: invert(1); +} + +::-webkit-datetime-edit-day-field:focus, +::-webkit-datetime-edit-month-field:focus, +::-webkit-datetime-edit-year-field:focus, +::-webkit-datetime-edit-hour-field:focus, +::-webkit-datetime-edit-minute-field:focus, +::-webkit-datetime-edit-week-field:focus { + background-color: var(--brand-primary); + color: #ffffff; +} + +::-webkit-outer-spin-button, +::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type='file'] { + padding: 4px 12px; +} + +select { + appearance: none; +} + +select:not([multiple]):not(:disabled) { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-size: 12px; + background-position: calc(100% - 12px) 12px; + background-color: var(--brand-input-background); +} + +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + +option { + color: var(--brand-text); + padding: 6px; + margin-bottom: 1px; +} + +option:hover { + background: var(--brand-input-border) + linear-gradient(0deg, var(--brand-input-border) 0%, var(--brand-input-border) 100%); + border-radius: 5px; +} + +option:checked { + background: var(--brand-primary) linear-gradient(0deg, var(--brand-primary) 0%, var(--brand-primary) 100%); + color: #ffffff; + border-radius: 5px; +} + +input[type='range'] { + -webkit-appearance: none; + height: 20px; + width: 200px; + background: transparent; + outline: none; +} + +input[type='range']::-webkit-slider-runnable-track { + -webkit-appearance: none; + height: 10px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + border-radius: 5px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: 20px; + width: 20px; + border-radius: 5px; + margin-top: -6px; + border: 1px solid var(--brand-input-border); + background: var(--brand-input-background); + cursor: pointer; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']:hover::-webkit-slider-runnable-track, +input[type='range']:focus::-webkit-slider-runnable-track, +input[type='range']:hover::-webkit-slider-thumb, +input[type='range']:focus::-webkit-slider-thumb { + border-color: var(--brand-input-border-highlight); +} + +button:disabled, +select:disabled, +input:disabled, +textarea:disabled, +footer a:disabled, +a[disabled] { + opacity: 0.3; + cursor: default; + pointer-events: none; + resize: none; +} + +select:invalid, +input:invalid, +textarea:invalid { + border-color: var(--brand-error); +} + +fieldset > span { + margin-left: 10px; + width: 50px; +} + +input[type='text'].large, +input[type='password'].large, +input[type='file'].large, +input[type='email'].large, +input[type='url'].large, +input[type='date'].large, +input[type='time'].large { + font-size: 20px; + padding: 20px 10px; +} + +input[type='text'].center, +input[type='password'].center, +input[type='email'].center, +input[type='url'].center { + text-align: center; +} + +input[type='checkbox'], +input[type='radio'] { + appearance: none; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + color: var(--brand-input-text); + outline: 0; + width: 20px; + height: 20px; + margin: 2px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='radio'] { + border-radius: 50%; +} + +input[type='checkbox']::before, +input[type='radio']::before { + content: ''; + display: none; + width: 16px; + height: 16px; + margin: 1px; + background-color: var(--brand-text); + opacity: 0.8; +} + +input[type='checkbox']:checked::before { + display: inline-block; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +input[type='radio']:checked::before { + display: inline-block; + clip-path: circle(35% at 52% 50%); +} + +input[type='checkbox'] + label, +input[type='radio'] + label { + white-space: nowrap; +} + +input[type='color'] { + width: 100px; + min-width: auto; + padding: 5px; +} + +input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + background: transparent; +} + +input[type='color']::-webkit-color-swatch { + border-radius: 5px; + border: none; +} + +/* This disables the auto zoom on iDevices */ +@supports (-webkit-touch-callout: none) { + select, + input[type='text'], + input[type='url'], + input[type='email'], + input[type='password'], + input[type='file'], + input[type='number'], + input[type='date'], + input[type='time'], + input[type='datetime-local'], + input[type='month'], + input[type='week'], + input[type='color'], + textarea { + font-size: 16px; + } +} + +hr { + width: 100%; + border: 0; + border-bottom: 1px solid var(--brand-input-border); +} + +ul { + font-size: 12px; + display: flex; + flex-direction: column; + gap: 10px; + list-style-type: none; +} + +li { + font-size: 12px; + position: relative; + padding: 0 0 10px; +} + +li::before { + content: ' '; + display: inline-block; + background-color: var(--brand-primary); + width: 8px; + height: 8px; + border-radius: 2px; + position: absolute; + left: -13px; + top: 3px; +} + +em { + font-size: 12px; +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.fill { + flex: 1; +} + +.fill_2 { + flex: 2; +} + +.scroll { + overflow: auto; +} + +.scroll-vertical { + overflow-y: auto; +} + +.scroll-horizontal { + overflow-x: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.middle { + align-items: center; +} + +.bottom { + align-items: flex-end; +} + +.spread { + justify-content: space-between; +} + +.around { + justify-content: space-around; +} + +.left { + display: flex; + align-items: flex-start; +} + +.center { + display: flex; + justify-content: center; +} + +.right { + display: flex; + justify-content: flex-end; +} + +.wrap { + flex-wrap: wrap; +} + +.gap5 { + gap: 5px; +} + +.gap10 { + gap: 10px; +} + +.gap20 { + gap: 20px; +} + +.gap40 { + gap: 40px; +} + +.pad10 { + padding: 10px; +} + +.pad20 { + padding: 20px; +} + +.pad0 { + padding: 0px; +} + +.table { + display: flex; + flex: 1; + flex-direction: column; + font-size: 10px; +} + +table { + width: 100%; + font-size: 10px; + border: 0; + border-collapse: collapse; +} + +table, +.table { + border: var(--brand-input-border) 1px solid; +} + +.table-row { + display: flex; + flex: 1; + flex-direction: row; +} + +table > tr:first-child, +thead > tr, +.table-row.header { + background-color: var(--brand-table-header); +} + +table > tr:nth-child(even), +.table > div:nth-child(even), +tbody > tr:nth-child(odd) { + background-color: var(--brand-table-row-even); +} + +table > tr:nth-child(odd), +.table > div:not(:first-child):nth-child(odd), +tbody > tr:nth-child(even) { + background-color: var(--brand-table-row-odd); +} + +th, +.table-row.header > div { + color: var(--brand-table-header-text); + font-weight: bold; + padding: 10px 5px; + text-align: left; + word-break: break-word; +} + +.table-row > div { + flex: 1; +} + +td, +.table-row:not(.header) > div { + padding: 5px; + word-break: break-word; + color: var(--brand-text); +} + +.table-row:not(.header) > div { + display: flex; + align-items: center; +} + +@media screen and (max-width: 736px) { + .table-row { + flex-direction: column; + } + + .table-row.header { + display: none; + } + + .table-row:not(.header) > div { + display: flex; + align-items: center; + flex: 1; + gap: 10px; + } + + .table-row:not(.header) > div:before { + content: attr(data-name); + font-weight: bold; + white-space: nowrap; + width: 20%; + } + + .table-row > div.right { + justify-content: flex-start; + } + + .table-row > div.center { + justify-content: flex-start; + } +} + +.border { + border: 1px solid var(--brand-input-border); + border-radius: 5px; +} + +.drag { + user-select: none; + -webkit-app-region: drag; +} + +.no-drag { + -webkit-app-region: none; +} + +.form { + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; + font-size: 12px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; +} + +.form-group.large { + gap: 20px; +} + +.width-full { + width: 100%; +} + +.max-width-full { + max-width: 100%; +} + +.width-responsive { + max-width: fit-content; +} + +.hidden { + display: none; +} + +.pointer { + cursor: pointer; +} + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/use-dynamic-manifest/basic/public/html/app-dev.html b/how-to/use-dynamic-manifest/basic/public/html/app-dev.html index 96267b10..a685a700 100644 --- a/how-to/use-dynamic-manifest/basic/public/html/app-dev.html +++ b/how-to/use-dynamic-manifest/basic/public/html/app-dev.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-dynamic-manifest/basic/public/html/app-staging.html b/how-to/use-dynamic-manifest/basic/public/html/app-staging.html index 9bb358d9..5b4e4640 100644 --- a/how-to/use-dynamic-manifest/basic/public/html/app-staging.html +++ b/how-to/use-dynamic-manifest/basic/public/html/app-staging.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-dynamic-manifest/basic/scripts/kill.mjs b/how-to/use-dynamic-manifest/basic/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/use-dynamic-manifest/basic/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/use-dynamic-manifest/basic/scripts/launch.mjs b/how-to/use-dynamic-manifest/basic/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/use-dynamic-manifest/basic/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/use-dynamic-manifest/basic/server/src/index.ts b/how-to/use-dynamic-manifest/basic/server/src/index.ts index 141a2e6a..e5b52e26 100644 --- a/how-to/use-dynamic-manifest/basic/server/src/index.ts +++ b/how-to/use-dynamic-manifest/basic/server/src/index.ts @@ -4,12 +4,9 @@ import path from "path"; const app = express(); const mainPath = path.join(__dirname, "..", "..", "public"); -const commonPath = path.join(__dirname, "..", "..", "..", "..", "common", "public"); const port = 5050; console.log(`Main Path / = ${mainPath}`); -console.log(`Common Path /common = ${commonPath}`); -console.log("Root path checks both the main and common directories."); app.get("/manifest", (req, res) => { const env = req.query.env; @@ -117,7 +114,6 @@ app.get("/favicon.ico", (req, res) => { }); app.use(express.static(mainPath)); -app.use("/common", express.static(commonPath)); app.listen(port, () => { console.log("server is listening on port", port); diff --git a/how-to/use-dynamic-manifest/basic/server/tsconfig.json b/how-to/use-dynamic-manifest/basic/server/tsconfig.json index adb16a6f..86f342dd 100644 --- a/how-to/use-dynamic-manifest/basic/server/tsconfig.json +++ b/how-to/use-dynamic-manifest/basic/server/tsconfig.json @@ -6,9 +6,9 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node" }, "include": ["./src/**/*.ts"] diff --git a/how-to/use-interop/setup-multi-platform-interop/client/src/provider.ts b/how-to/use-interop/setup-multi-platform-interop/client/src/provider.ts index cdc3a99f..7037553b 100644 --- a/how-to/use-interop/setup-multi-platform-interop/client/src/provider.ts +++ b/how-to/use-interop/setup-multi-platform-interop/client/src/provider.ts @@ -136,7 +136,7 @@ function interopOverride( public async setContextOnExternalClient( context: ExternalContext, clientIdentity: OpenFin.ClientIdentity - ) { + ): Promise { // use accessor syntax for this.getClientState as it is not a public inherited method from InteropBroker // eslint-disable-next-line @typescript-eslint/dot-notation const state = this["getClientState"](clientIdentity); diff --git a/how-to/use-interop/setup-multi-platform-interop/client/src/window.ts b/how-to/use-interop/setup-multi-platform-interop/client/src/window.ts index b6c8b1e2..b18cf80a 100644 --- a/how-to/use-interop/setup-multi-platform-interop/client/src/window.ts +++ b/how-to/use-interop/setup-multi-platform-interop/client/src/window.ts @@ -19,7 +19,7 @@ openfinApplication * Joins a context group by passing in the top-level variable `lastFocusedView` as the `target` parameter of the `joinContextGroup` function. */ -const changeContextGroup = async (event: Event): Promise => { +async function changeContextGroup(event: Event): Promise { const selectedColorElement: HTMLElement = event.target as HTMLElement; const color: string = selectedColorElement.title; await fin.me.interop.joinContextGroup(color, lastFocusedView); @@ -30,7 +30,7 @@ const changeContextGroup = async (event: Event): Promise => { ...contextGroups.map(({ displayMetadata }: PlatformContextGroup) => `${displayMetadata.name}-channel`) ); document.querySelector(`#tab-${lastFocusedView.name}`).classList.add(`${color}-channel`); -}; +} /** * @function addContextGroupButtons @@ -39,7 +39,7 @@ const changeContextGroup = async (event: Event): Promise => { * 2. Iterates all context groups and creates a corresponding button per context group (color channel). * 3. Adds a click listener to each button with the `changeContextGroup` function as the listener callback. */ -const addContextGroupButtons = async (): Promise => { +async function addContextGroupButtons(): Promise { const contextGroups: PlatformContextGroups = await fin.me.interop.getContextGroups(); const windowFrameStyleSheet: CSSStyleSheet = document.styleSheets[0]; const buttonsWrapper: HTMLElement = document.querySelector("#buttons-wrapper"); @@ -58,21 +58,25 @@ const addContextGroupButtons = async (): Promise => { newButton.addEventListener("click", changeContextGroup); buttonsWrapper.prepend(newButton); } -}; +} -const maxOrRestore = async (): Promise => { +async function maxOrRestore(): Promise { if ((await openfinWindow.getState()) === "normal") { return openfinWindow.maximize(); } return openfinWindow.restore(); -}; +} -const closeWindow = async (): Promise => openfinWindow.close(); +async function closeWindow(): Promise { + return openfinWindow.close(); +} -const minimizeWindow = async (): Promise => openfinWindow.minimize(); +async function minimizeWindow(): Promise { + return openfinWindow.minimize(); +} -const setupTitleBar = async (): Promise => { +async function setupTitleBar(): Promise { const title: HTMLElement = document.querySelector("#title"); const minBtn: HTMLElement = document.querySelector("#minimize-button"); const maxBtn: HTMLElement = document.querySelector("#expand-button"); @@ -85,7 +89,7 @@ const setupTitleBar = async (): Promise => { closeBtn.addEventListener("click", closeWindow); await addContextGroupButtons(); -}; +} window.addEventListener("DOMContentLoaded", async () => { await fin.Platform.Layout.init({ containerId: CONTAINER_ID }); diff --git a/how-to/use-interop/setup-multi-platform-interop/client/tsconfig.json b/how-to/use-interop/setup-multi-platform-interop/client/tsconfig.json index 65f1c0a1..1bfae137 100644 --- a/how-to/use-interop/setup-multi-platform-interop/client/tsconfig.json +++ b/how-to/use-interop/setup-multi-platform-interop/client/tsconfig.json @@ -6,11 +6,11 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node", - "types": ["../../../common/types/fin"] + "types": ["./types/fin"] }, "include": ["./src/**/*.ts"] } diff --git a/how-to/use-interop/setup-multi-platform-interop/client/types/fin.d.ts b/how-to/use-interop/setup-multi-platform-interop/client/types/fin.d.ts new file mode 100644 index 00000000..8936d86c --- /dev/null +++ b/how-to/use-interop/setup-multi-platform-interop/client/types/fin.d.ts @@ -0,0 +1,5 @@ +import type { fin as FinApi } from "@openfin/core"; + +declare global { + const fin: typeof FinApi; +} diff --git a/how-to/use-interop/setup-multi-platform-interop/package.json b/how-to/use-interop/setup-multi-platform-interop/package.json index 74520c05..1ee0c348 100644 --- a/how-to/use-interop/setup-multi-platform-interop/package.json +++ b/how-to/use-interop/setup-multi-platform-interop/package.json @@ -4,25 +4,21 @@ "description": "", "main": "index.js", "scripts": { - "build": "npm run build-server & npm run build-client", - "build-server": "tsc --project ./server", + "kill": "node ./scripts/kill.mjs", + "client": "node ./scripts/launch.mjs", + "secondclient": "node ./scripts/launch.mjs http://localhost:5050/second.manifest.fin.json", "build-client": "webpack build --config ./client/webpack.config.js --mode=development", - "build-client-prod": "webpack build --config ./client/webpack.config.js --mode=production", - "start": "npm run server", - "client": "npm --prefix ../../common/ run client", - "secondclient": "npm --prefix ../../common/ run client http://localhost:5050/manifest2.fin.json", - "server": "node ./server/build/index.js", - "kill": "npm --prefix ../../common/ run kill", - "setup": "cd ../../../ && npm install && cd how-to/use-interop/setup-multi-platform-interop && npm run build", - "validate": "npm --prefix ../../../ run validate" + "build": "npm run build-client", + "start": "npx --yes http-server ./public -p 5050 -c-1", + "setup": "cd ../../../ && npm install && cd how-to/use-interop/setup-multi-platform-interop && npm run build" }, "author": "adam.saland@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "openfin-adapter": "^26.70.16", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } } diff --git a/how-to/use-interop/setup-multi-platform-interop/public/common/images/icon-blue.png b/how-to/use-interop/setup-multi-platform-interop/public/common/images/icon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fc78450293c9ff813b9d8bb19e5f3918795beeba GIT binary patch literal 1028 zcmV+f1pE7mP);txuo(sHhB6W3YG5`oAu(|@5JwGR0@_rb|qK6~mh) zPHNEo2hGbNd@X023)BVmoi;D4qu}=porgN=f+RB`pNBf?f(8a)4R$&( ztl0hqyjrQv$VwS4M=U6fJcptvY;wwOTW@8aWGyI3p0oH8*6`g72chvV5wl8kS)i&bleVxAK(7h5FbCl=%?&*4(x8Oj#h@e>PjndfYNfe4%N6AN;g z=ai&^EXGeR$YGu%-Lh@Q_a7V@NGwSFTNLCu(*Db)|4S^$WuDV7sDDI7kjp%WUAzRF zvs7Y1uJWAm3EA@Gd$uVLRz-SsSvSwAo`eOnr+N}!h80$M(B2;K=_7C|mwukZne%W~ z(5yx?=lQ&SA1IDH(#UhTlvvDJuZAt!11=?QCajl|_JpJom`U@TBv1fb5T3HrxRxmO zL{XaOG=fWpyAqq&G*O9MrFl+0l*4>SvQadPN~++7sjRAOq@xB(q3+_K>!^KByxEN%AD^ z9gMWi^+C3Ijua img { + width: 32px; + height: 32px; +} +button.secondary { + background-color: var(--brand-input-background); + color: var(--brand-text); + border-color: var(--brand-input-border); +} +button.secondary:not(:disabled):hover { + background-color: var(--brand-input-background); +} +button.plain { + border-color: transparent; + background-color: transparent; + color: var(--brand-primary); +} +button.plain:not(:disabled):not(:read-only):hover { + border-color: transparent; + background-color: transparent; +} + +button.small, +::-webkit-file-upload-button, +td button { + padding: 5px 10px; + font-size: 10px; +} +td button.plain { + width: auto; + height: auto; +} + +button.center { + text-align: center; +} + +::-webkit-file-upload-button { + margin-right: 10px; +} + +pre { + margin: 0; + padding: 5px; + border-radius: 5px; + font-size: 12px; + font-family: 'Courier New', Courier, monospace; + white-space: pre-wrap; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + width: 100%; + min-height: 20px; +} + +header { + padding-bottom: 10px; + border-bottom: 2px solid var(--brand-border); +} + +footer { + padding-top: 10px; + border-top: 1px solid var(--brand-border); +} + +fieldset { + display: flex; + flex-direction: column; + align-items: flex-start; + border: 0; + padding: 0; + font-size: 12px; + gap: 5px; +} + +fieldset.row { + flex-direction: row; + align-items: center; + gap: 10px; +} + +label { + font-size: 12px; + font-weight: 600; +} + +select, +input[type='text'], +input[type='url'], +input[type='email'], +input[type='password'], +input[type='file'], +input[type='number'], +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'], +input[type='color'], +textarea { + border-radius: 5px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + font-size: 12px; + outline: 0; + color: var(--brand-text); + width: 50%; + min-width: 200px; + padding: 8px 12px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +textarea { + min-height: 64px; + resize: none; +} + +textarea.resizable { + resize: both; +} + +select.full, +input[type='text'].full, +input[type='email'].full, +input[type='url'].full, +input[type='password'].full, +input[type='file'].full, +input[type='number'].full, +input[type='date'].full, +input[type='time'].full, +input[type='datetime-local'].full, +input[type='month'].full, +input[type='week'].full, +input[type='range'].full, +textarea.full { + width: 95%; +} + +select:focus, +select:not(:disabled):hover, +input[type='text']:not(:read-only):focus, +input[type='text']:not(:disabled):not(:read-only):hover, +input[type='email']:not(:read-only):focus, +input[type='email']:not(:disabled):not(:read-only):hover, +input[type='url']:not(:read-only):focus, +input[type='url']:not(:disabled):not(:read-only):hover, +input[type='password']:not(:read-only):focus, +input[type='password']:not(:disabled):not(:read-only):hover, +input[type='file']:not(:read-only):focus, +input[type='file']:not(:disabled):not(:read-only):hover, +input[type='number']:not(:read-only):focus, +input[type='number']:not(:disabled):not(:read-only):hover, +input[type='date']:not(:read-only):focus, +input[type='date']:not(:disabled):not(:read-only):hover, +input[type='time']:not(:read-only):focus, +input[type='time']:not(:disabled):not(:read-only):hover, +input[type='datetime-local']:not(:read-only):focus, +input[type='datetime-local']:not(:disabled):not(:read-only):hover, +input[type='month']:not(:read-only):focus, +input[type='month']:not(:disabled):not(:read-only):hover, +input[type='week']:not(:read-only):focus, +input[type='week']:not(:disabled):not(:read-only):hover, +textarea:not(:read-only):focus, +textarea:not(:disabled):not(:read-only):hover, +input[type='checkbox']:focus, +input[type='checkbox']:not(:disabled):hover, +input[type='radio']:focus, +input[type='radio']:not(:disabled):hover, +input[type='color']:focus, +input[type='color']:not(:disabled):hover { + border-color: var(--brand-input-border-highlight); +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'] { + width: 200px; + min-width: auto; +} + +.theme-dark ::-webkit-calendar-picker-indicator { + filter: invert(1); +} + +::-webkit-datetime-edit-day-field:focus, +::-webkit-datetime-edit-month-field:focus, +::-webkit-datetime-edit-year-field:focus, +::-webkit-datetime-edit-hour-field:focus, +::-webkit-datetime-edit-minute-field:focus, +::-webkit-datetime-edit-week-field:focus { + background-color: var(--brand-primary); + color: #ffffff; +} + +::-webkit-outer-spin-button, +::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type='file'] { + padding: 4px 12px; +} + +select { + appearance: none; +} + +select:not([multiple]):not(:disabled) { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-size: 12px; + background-position: calc(100% - 12px) 12px; + background-color: var(--brand-input-background); +} + +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + +option { + color: var(--brand-text); + padding: 6px; + margin-bottom: 1px; +} + +option:hover { + background: var(--brand-input-border) + linear-gradient(0deg, var(--brand-input-border) 0%, var(--brand-input-border) 100%); + border-radius: 5px; +} + +option:checked { + background: var(--brand-primary) linear-gradient(0deg, var(--brand-primary) 0%, var(--brand-primary) 100%); + color: #ffffff; + border-radius: 5px; +} + +input[type='range'] { + -webkit-appearance: none; + height: 20px; + width: 200px; + background: transparent; + outline: none; +} + +input[type='range']::-webkit-slider-runnable-track { + -webkit-appearance: none; + height: 10px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + border-radius: 5px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: 20px; + width: 20px; + border-radius: 5px; + margin-top: -6px; + border: 1px solid var(--brand-input-border); + background: var(--brand-input-background); + cursor: pointer; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']:hover::-webkit-slider-runnable-track, +input[type='range']:focus::-webkit-slider-runnable-track, +input[type='range']:hover::-webkit-slider-thumb, +input[type='range']:focus::-webkit-slider-thumb { + border-color: var(--brand-input-border-highlight); +} + +button:disabled, +select:disabled, +input:disabled, +textarea:disabled, +footer a:disabled, +a[disabled] { + opacity: 0.3; + cursor: default; + pointer-events: none; + resize: none; +} + +select:invalid, +input:invalid, +textarea:invalid { + border-color: var(--brand-error); +} + +fieldset > span { + margin-left: 10px; + width: 50px; +} + +input[type='text'].large, +input[type='password'].large, +input[type='file'].large, +input[type='email'].large, +input[type='url'].large, +input[type='date'].large, +input[type='time'].large { + font-size: 20px; + padding: 20px 10px; +} + +input[type='text'].center, +input[type='password'].center, +input[type='email'].center, +input[type='url'].center { + text-align: center; +} + +input[type='checkbox'], +input[type='radio'] { + appearance: none; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + color: var(--brand-input-text); + outline: 0; + width: 20px; + height: 20px; + margin: 2px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='radio'] { + border-radius: 50%; +} + +input[type='checkbox']::before, +input[type='radio']::before { + content: ''; + display: none; + width: 16px; + height: 16px; + margin: 1px; + background-color: var(--brand-text); + opacity: 0.8; +} + +input[type='checkbox']:checked::before { + display: inline-block; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +input[type='radio']:checked::before { + display: inline-block; + clip-path: circle(35% at 52% 50%); +} + +input[type='checkbox'] + label, +input[type='radio'] + label { + white-space: nowrap; +} + +input[type='color'] { + width: 100px; + min-width: auto; + padding: 5px; +} + +input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + background: transparent; +} + +input[type='color']::-webkit-color-swatch { + border-radius: 5px; + border: none; +} + +/* This disables the auto zoom on iDevices */ +@supports (-webkit-touch-callout: none) { + select, + input[type='text'], + input[type='url'], + input[type='email'], + input[type='password'], + input[type='file'], + input[type='number'], + input[type='date'], + input[type='time'], + input[type='datetime-local'], + input[type='month'], + input[type='week'], + input[type='color'], + textarea { + font-size: 16px; + } +} + +hr { + width: 100%; + border: 0; + border-bottom: 1px solid var(--brand-input-border); +} + +ul { + font-size: 12px; + display: flex; + flex-direction: column; + gap: 10px; + list-style-type: none; +} + +li { + font-size: 12px; + position: relative; + padding: 0 0 10px; +} + +li::before { + content: ' '; + display: inline-block; + background-color: var(--brand-primary); + width: 8px; + height: 8px; + border-radius: 2px; + position: absolute; + left: -13px; + top: 3px; +} + +em { + font-size: 12px; +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.fill { + flex: 1; +} + +.fill_2 { + flex: 2; +} + +.scroll { + overflow: auto; +} + +.scroll-vertical { + overflow-y: auto; +} + +.scroll-horizontal { + overflow-x: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.middle { + align-items: center; +} + +.bottom { + align-items: flex-end; +} + +.spread { + justify-content: space-between; +} + +.around { + justify-content: space-around; +} + +.left { + display: flex; + align-items: flex-start; +} + +.center { + display: flex; + justify-content: center; +} + +.right { + display: flex; + justify-content: flex-end; +} + +.wrap { + flex-wrap: wrap; +} + +.gap5 { + gap: 5px; +} + +.gap10 { + gap: 10px; +} + +.gap20 { + gap: 20px; +} + +.gap40 { + gap: 40px; +} + +.pad10 { + padding: 10px; +} + +.pad20 { + padding: 20px; +} + +.pad0 { + padding: 0px; +} + +.table { + display: flex; + flex: 1; + flex-direction: column; + font-size: 10px; +} + +table { + width: 100%; + font-size: 10px; + border: 0; + border-collapse: collapse; +} + +table, +.table { + border: var(--brand-input-border) 1px solid; +} + +.table-row { + display: flex; + flex: 1; + flex-direction: row; +} + +table > tr:first-child, +thead > tr, +.table-row.header { + background-color: var(--brand-table-header); +} + +table > tr:nth-child(even), +.table > div:nth-child(even), +tbody > tr:nth-child(odd) { + background-color: var(--brand-table-row-even); +} + +table > tr:nth-child(odd), +.table > div:not(:first-child):nth-child(odd), +tbody > tr:nth-child(even) { + background-color: var(--brand-table-row-odd); +} + +th, +.table-row.header > div { + color: var(--brand-table-header-text); + font-weight: bold; + padding: 10px 5px; + text-align: left; + word-break: break-word; +} + +.table-row > div { + flex: 1; +} + +td, +.table-row:not(.header) > div { + padding: 5px; + word-break: break-word; + color: var(--brand-text); +} + +.table-row:not(.header) > div { + display: flex; + align-items: center; +} + +@media screen and (max-width: 736px) { + .table-row { + flex-direction: column; + } + + .table-row.header { + display: none; + } + + .table-row:not(.header) > div { + display: flex; + align-items: center; + flex: 1; + gap: 10px; + } + + .table-row:not(.header) > div:before { + content: attr(data-name); + font-weight: bold; + white-space: nowrap; + width: 20%; + } + + .table-row > div.right { + justify-content: flex-start; + } + + .table-row > div.center { + justify-content: flex-start; + } +} + +.border { + border: 1px solid var(--brand-input-border); + border-radius: 5px; +} + +.drag { + user-select: none; + -webkit-app-region: drag; +} + +.no-drag { + -webkit-app-region: none; +} + +.form { + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; + font-size: 12px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; +} + +.form-group.large { + gap: 20px; +} + +.width-full { + width: 100%; +} + +.max-width-full { + max-width: 100%; +} + +.width-responsive { + max-width: fit-content; +} + +.hidden { + display: none; +} + +.pointer { + cursor: pointer; +} + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/use-interop/setup-multi-platform-interop/public/favicon.ico b/how-to/use-interop/setup-multi-platform-interop/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0b6e09e66a4928f206aa862087f92992c4591220 GIT binary patch literal 108568 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 literal 0 HcmV?d00001 diff --git a/how-to/use-interop/setup-multi-platform-interop/public/html/provider.html b/how-to/use-interop/setup-multi-platform-interop/public/html/provider.html index 0842d726..91029415 100644 --- a/how-to/use-interop/setup-multi-platform-interop/public/html/provider.html +++ b/how-to/use-interop/setup-multi-platform-interop/public/html/provider.html @@ -1,5 +1,5 @@ - - + + diff --git a/how-to/use-interop/setup-multi-platform-interop/public/html/window.html b/how-to/use-interop/setup-multi-platform-interop/public/html/window.html index 86d9bd54..4a3e7430 100644 --- a/how-to/use-interop/setup-multi-platform-interop/public/html/window.html +++ b/how-to/use-interop/setup-multi-platform-interop/public/html/window.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-interop/setup-multi-platform-interop/public/manifest2.fin.json b/how-to/use-interop/setup-multi-platform-interop/public/second.manifest.fin.json similarity index 100% rename from how-to/use-interop/setup-multi-platform-interop/public/manifest2.fin.json rename to how-to/use-interop/setup-multi-platform-interop/public/second.manifest.fin.json diff --git a/how-to/use-interop/setup-multi-platform-interop/scripts/kill.mjs b/how-to/use-interop/setup-multi-platform-interop/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/use-interop/setup-multi-platform-interop/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/use-interop/setup-multi-platform-interop/scripts/launch.mjs b/how-to/use-interop/setup-multi-platform-interop/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/use-interop/setup-multi-platform-interop/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/use-interop/setup-multi-platform-interop/server/src/index.ts b/how-to/use-interop/setup-multi-platform-interop/server/src/index.ts deleted file mode 100644 index 694c7722..00000000 --- a/how-to/use-interop/setup-multi-platform-interop/server/src/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import express from "express"; -import path from "path"; - -const app = express(); - -const mainPath = path.join(__dirname, "..", "..", "public"); -const commonPath = path.join(__dirname, "..", "..", "..", "..", "common", "public"); -const port = 5050; - -console.log(`Main Path / = ${mainPath}`); -console.log(`Common Path /common = ${commonPath}`); -console.log("Root path checks both the main and common directories."); -app.use(express.static(mainPath)); -app.use("/common", express.static(commonPath)); -app.listen(port, () => { - console.log("server is listening on port", port); -}); diff --git a/how-to/use-interop/setup-multi-platform-interop/server/tsconfig.json b/how-to/use-interop/setup-multi-platform-interop/server/tsconfig.json deleted file mode 100644 index adb16a6f..00000000 --- a/how-to/use-interop/setup-multi-platform-interop/server/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "es2021", - "module": "commonjs", - "sourceMap": true, - "rootDir": "./src", - "outDir": "build", - "skipLibCheck": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", - "moduleResolution": "node" - }, - "include": ["./src/**/*.ts"] -} diff --git a/how-to/use-launch-external-process/client/tsconfig.json b/how-to/use-launch-external-process/client/tsconfig.json index 95b189eb..1bfae137 100644 --- a/how-to/use-launch-external-process/client/tsconfig.json +++ b/how-to/use-launch-external-process/client/tsconfig.json @@ -6,11 +6,11 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node", - "types": ["../../common/types/fin"] + "types": ["./types/fin"] }, "include": ["./src/**/*.ts"] } diff --git a/how-to/use-launch-external-process/client/types/fin.d.ts b/how-to/use-launch-external-process/client/types/fin.d.ts new file mode 100644 index 00000000..8936d86c --- /dev/null +++ b/how-to/use-launch-external-process/client/types/fin.d.ts @@ -0,0 +1,5 @@ +import type { fin as FinApi } from "@openfin/core"; + +declare global { + const fin: typeof FinApi; +} diff --git a/how-to/use-launch-external-process/desktop-owner-settings.bat b/how-to/use-launch-external-process/desktop-owner-settings.bat deleted file mode 100644 index 0537457a..00000000 --- a/how-to/use-launch-external-process/desktop-owner-settings.bat +++ /dev/null @@ -1,13 +0,0 @@ -@echo off -reg query HKEY_CURRENT_USER\Software\OpenFin\RVM\Settings -v DesktopOwnerSettings 2>nul >nul - -if %ERRORLEVEL% EQU 0 ( - echo Warning: You already have a desktop owner settings value as shown below. - echo If you choose to overwrite it will set this value, you will need to restore it later. - echo If you are not sure what this means, please choose No at the prompt below and - echo Review https://developers.openfin.co/of-docs/docs/desktop-owner-settings - echo. - reg query HKEY_CURRENT_USER\Software\OpenFin\RVM\Settings -v DesktopOwnerSettings - -) -reg add "HKCU\Software\OpenFin\RVM\Settings" -v "DesktopOwnerSettings" -d "http://localhost:5050/dos.json" \ No newline at end of file diff --git a/how-to/use-launch-external-process/package.json b/how-to/use-launch-external-process/package.json index d56a8acd..d4f181bc 100644 --- a/how-to/use-launch-external-process/package.json +++ b/how-to/use-launch-external-process/package.json @@ -4,26 +4,21 @@ "description": "An example of how to use launch external process", "main": "index.js", "scripts": { - "dos": "desktop-owner-settings.bat && (npm run kill)", - "build": "npm run build-server & npm run build-client", - "build-server": "tsc --project ./server", + "dos": "node ./scripts/dos.mjs && node ./scripts/kill.mjs", + "kill": "node ./scripts/kill.mjs", + "client": "node ./scripts/launch.mjs", "build-client": "webpack build --config ./client/webpack.config.js --mode=development", - "build-client-prod": "webpack build --config ./client/webpack.config.js --mode=production", - "start": "npm run server", - "client": "npm --prefix ../common/ run client", - "server": "node ./server/build/index.js", - "kill": "npm --prefix ../common/ run kill", - "setup": "cd ../../ && npm install && cd how-to/use-launch-external-process && npm run build", - "validate": "npm --prefix ../../ run validate" + "build": "npm run build-client", + "start": "npx --yes http-server ./public -p 5050 -c-1", + "setup": "cd ../../ && npm install && cd how-to/use-launch-external-process && npm run build" }, "author": "@adam-saland", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "openfin-adapter": "^26.70.16", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } } diff --git a/how-to/use-launch-external-process/public/app.html b/how-to/use-launch-external-process/public/app.html index eb66c690..51db8e91 100644 --- a/how-to/use-launch-external-process/public/app.html +++ b/how-to/use-launch-external-process/public/app.html @@ -1,5 +1,5 @@ - - + + diff --git a/how-to/use-launch-external-process/public/common/images/icon-blue.png b/how-to/use-launch-external-process/public/common/images/icon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fc78450293c9ff813b9d8bb19e5f3918795beeba GIT binary patch literal 1028 zcmV+f1pE7mP);txuo(sHhB6W3YG5`oAu(|@5JwGR0@_rb|qK6~mh) zPHNEo2hGbNd@X023)BVmoi;D4qu}=porgN=f+RB`pNBf?f(8a)4R$&( ztl0hqyjrQv$VwS4M=U6fJcptvY;wwOTW@8aWGyI3p0oH8*6`g72chvV5wl8kS)i&bleVxAK(7h5FbCl=%?&*4(x8Oj#h@e>PjndfYNfe4%N6AN;g z=ai&^EXGeR$YGu%-Lh@Q_a7V@NGwSFTNLCu(*Db)|4S^$WuDV7sDDI7kjp%WUAzRF zvs7Y1uJWAm3EA@Gd$uVLRz-SsSvSwAo`eOnr+N}!h80$M(B2;K=_7C|mwukZne%W~ z(5yx?=lQ&SA1IDH(#UhTlvvDJuZAt!11=?QCajl|_JpJom`U@TBv1fb5T3HrxRxmO zL{XaOG=fWpyAqq&G*O9MrFl+0l*4>SvQadPN~++7sjRAOq@xB(q3+_K>!^KByxEN%AD^ z9gMWi^+C3Ijua img { + width: 32px; + height: 32px; +} +button.secondary { + background-color: var(--brand-input-background); + color: var(--brand-text); + border-color: var(--brand-input-border); +} +button.secondary:not(:disabled):hover { + background-color: var(--brand-input-background); +} +button.plain { + border-color: transparent; + background-color: transparent; + color: var(--brand-primary); +} +button.plain:not(:disabled):not(:read-only):hover { + border-color: transparent; + background-color: transparent; +} + +button.small, +::-webkit-file-upload-button, +td button { + padding: 5px 10px; + font-size: 10px; +} +td button.plain { + width: auto; + height: auto; +} + +button.center { + text-align: center; +} + +::-webkit-file-upload-button { + margin-right: 10px; +} + +pre { + margin: 0; + padding: 5px; + border-radius: 5px; + font-size: 12px; + font-family: 'Courier New', Courier, monospace; + white-space: pre-wrap; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + width: 100%; + min-height: 20px; +} + +header { + padding-bottom: 10px; + border-bottom: 2px solid var(--brand-border); +} + +footer { + padding-top: 10px; + border-top: 1px solid var(--brand-border); +} + +fieldset { + display: flex; + flex-direction: column; + align-items: flex-start; + border: 0; + padding: 0; + font-size: 12px; + gap: 5px; +} + +fieldset.row { + flex-direction: row; + align-items: center; + gap: 10px; +} + +label { + font-size: 12px; + font-weight: 600; +} + +select, +input[type='text'], +input[type='url'], +input[type='email'], +input[type='password'], +input[type='file'], +input[type='number'], +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'], +input[type='color'], +textarea { + border-radius: 5px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + font-size: 12px; + outline: 0; + color: var(--brand-text); + width: 50%; + min-width: 200px; + padding: 8px 12px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +textarea { + min-height: 64px; + resize: none; +} + +textarea.resizable { + resize: both; +} + +select.full, +input[type='text'].full, +input[type='email'].full, +input[type='url'].full, +input[type='password'].full, +input[type='file'].full, +input[type='number'].full, +input[type='date'].full, +input[type='time'].full, +input[type='datetime-local'].full, +input[type='month'].full, +input[type='week'].full, +input[type='range'].full, +textarea.full { + width: 95%; +} + +select:focus, +select:not(:disabled):hover, +input[type='text']:not(:read-only):focus, +input[type='text']:not(:disabled):not(:read-only):hover, +input[type='email']:not(:read-only):focus, +input[type='email']:not(:disabled):not(:read-only):hover, +input[type='url']:not(:read-only):focus, +input[type='url']:not(:disabled):not(:read-only):hover, +input[type='password']:not(:read-only):focus, +input[type='password']:not(:disabled):not(:read-only):hover, +input[type='file']:not(:read-only):focus, +input[type='file']:not(:disabled):not(:read-only):hover, +input[type='number']:not(:read-only):focus, +input[type='number']:not(:disabled):not(:read-only):hover, +input[type='date']:not(:read-only):focus, +input[type='date']:not(:disabled):not(:read-only):hover, +input[type='time']:not(:read-only):focus, +input[type='time']:not(:disabled):not(:read-only):hover, +input[type='datetime-local']:not(:read-only):focus, +input[type='datetime-local']:not(:disabled):not(:read-only):hover, +input[type='month']:not(:read-only):focus, +input[type='month']:not(:disabled):not(:read-only):hover, +input[type='week']:not(:read-only):focus, +input[type='week']:not(:disabled):not(:read-only):hover, +textarea:not(:read-only):focus, +textarea:not(:disabled):not(:read-only):hover, +input[type='checkbox']:focus, +input[type='checkbox']:not(:disabled):hover, +input[type='radio']:focus, +input[type='radio']:not(:disabled):hover, +input[type='color']:focus, +input[type='color']:not(:disabled):hover { + border-color: var(--brand-input-border-highlight); +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'] { + width: 200px; + min-width: auto; +} + +.theme-dark ::-webkit-calendar-picker-indicator { + filter: invert(1); +} + +::-webkit-datetime-edit-day-field:focus, +::-webkit-datetime-edit-month-field:focus, +::-webkit-datetime-edit-year-field:focus, +::-webkit-datetime-edit-hour-field:focus, +::-webkit-datetime-edit-minute-field:focus, +::-webkit-datetime-edit-week-field:focus { + background-color: var(--brand-primary); + color: #ffffff; +} + +::-webkit-outer-spin-button, +::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type='file'] { + padding: 4px 12px; +} + +select { + appearance: none; +} + +select:not([multiple]):not(:disabled) { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-size: 12px; + background-position: calc(100% - 12px) 12px; + background-color: var(--brand-input-background); +} + +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + +option { + color: var(--brand-text); + padding: 6px; + margin-bottom: 1px; +} + +option:hover { + background: var(--brand-input-border) + linear-gradient(0deg, var(--brand-input-border) 0%, var(--brand-input-border) 100%); + border-radius: 5px; +} + +option:checked { + background: var(--brand-primary) linear-gradient(0deg, var(--brand-primary) 0%, var(--brand-primary) 100%); + color: #ffffff; + border-radius: 5px; +} + +input[type='range'] { + -webkit-appearance: none; + height: 20px; + width: 200px; + background: transparent; + outline: none; +} + +input[type='range']::-webkit-slider-runnable-track { + -webkit-appearance: none; + height: 10px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + border-radius: 5px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: 20px; + width: 20px; + border-radius: 5px; + margin-top: -6px; + border: 1px solid var(--brand-input-border); + background: var(--brand-input-background); + cursor: pointer; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']:hover::-webkit-slider-runnable-track, +input[type='range']:focus::-webkit-slider-runnable-track, +input[type='range']:hover::-webkit-slider-thumb, +input[type='range']:focus::-webkit-slider-thumb { + border-color: var(--brand-input-border-highlight); +} + +button:disabled, +select:disabled, +input:disabled, +textarea:disabled, +footer a:disabled, +a[disabled] { + opacity: 0.3; + cursor: default; + pointer-events: none; + resize: none; +} + +select:invalid, +input:invalid, +textarea:invalid { + border-color: var(--brand-error); +} + +fieldset > span { + margin-left: 10px; + width: 50px; +} + +input[type='text'].large, +input[type='password'].large, +input[type='file'].large, +input[type='email'].large, +input[type='url'].large, +input[type='date'].large, +input[type='time'].large { + font-size: 20px; + padding: 20px 10px; +} + +input[type='text'].center, +input[type='password'].center, +input[type='email'].center, +input[type='url'].center { + text-align: center; +} + +input[type='checkbox'], +input[type='radio'] { + appearance: none; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + color: var(--brand-input-text); + outline: 0; + width: 20px; + height: 20px; + margin: 2px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='radio'] { + border-radius: 50%; +} + +input[type='checkbox']::before, +input[type='radio']::before { + content: ''; + display: none; + width: 16px; + height: 16px; + margin: 1px; + background-color: var(--brand-text); + opacity: 0.8; +} + +input[type='checkbox']:checked::before { + display: inline-block; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +input[type='radio']:checked::before { + display: inline-block; + clip-path: circle(35% at 52% 50%); +} + +input[type='checkbox'] + label, +input[type='radio'] + label { + white-space: nowrap; +} + +input[type='color'] { + width: 100px; + min-width: auto; + padding: 5px; +} + +input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + background: transparent; +} + +input[type='color']::-webkit-color-swatch { + border-radius: 5px; + border: none; +} + +/* This disables the auto zoom on iDevices */ +@supports (-webkit-touch-callout: none) { + select, + input[type='text'], + input[type='url'], + input[type='email'], + input[type='password'], + input[type='file'], + input[type='number'], + input[type='date'], + input[type='time'], + input[type='datetime-local'], + input[type='month'], + input[type='week'], + input[type='color'], + textarea { + font-size: 16px; + } +} + +hr { + width: 100%; + border: 0; + border-bottom: 1px solid var(--brand-input-border); +} + +ul { + font-size: 12px; + display: flex; + flex-direction: column; + gap: 10px; + list-style-type: none; +} + +li { + font-size: 12px; + position: relative; + padding: 0 0 10px; +} + +li::before { + content: ' '; + display: inline-block; + background-color: var(--brand-primary); + width: 8px; + height: 8px; + border-radius: 2px; + position: absolute; + left: -13px; + top: 3px; +} + +em { + font-size: 12px; +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.fill { + flex: 1; +} + +.fill_2 { + flex: 2; +} + +.scroll { + overflow: auto; +} + +.scroll-vertical { + overflow-y: auto; +} + +.scroll-horizontal { + overflow-x: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.middle { + align-items: center; +} + +.bottom { + align-items: flex-end; +} + +.spread { + justify-content: space-between; +} + +.around { + justify-content: space-around; +} + +.left { + display: flex; + align-items: flex-start; +} + +.center { + display: flex; + justify-content: center; +} + +.right { + display: flex; + justify-content: flex-end; +} + +.wrap { + flex-wrap: wrap; +} + +.gap5 { + gap: 5px; +} + +.gap10 { + gap: 10px; +} + +.gap20 { + gap: 20px; +} + +.gap40 { + gap: 40px; +} + +.pad10 { + padding: 10px; +} + +.pad20 { + padding: 20px; +} + +.pad0 { + padding: 0px; +} + +.table { + display: flex; + flex: 1; + flex-direction: column; + font-size: 10px; +} + +table { + width: 100%; + font-size: 10px; + border: 0; + border-collapse: collapse; +} + +table, +.table { + border: var(--brand-input-border) 1px solid; +} + +.table-row { + display: flex; + flex: 1; + flex-direction: row; +} + +table > tr:first-child, +thead > tr, +.table-row.header { + background-color: var(--brand-table-header); +} + +table > tr:nth-child(even), +.table > div:nth-child(even), +tbody > tr:nth-child(odd) { + background-color: var(--brand-table-row-even); +} + +table > tr:nth-child(odd), +.table > div:not(:first-child):nth-child(odd), +tbody > tr:nth-child(even) { + background-color: var(--brand-table-row-odd); +} + +th, +.table-row.header > div { + color: var(--brand-table-header-text); + font-weight: bold; + padding: 10px 5px; + text-align: left; + word-break: break-word; +} + +.table-row > div { + flex: 1; +} + +td, +.table-row:not(.header) > div { + padding: 5px; + word-break: break-word; + color: var(--brand-text); +} + +.table-row:not(.header) > div { + display: flex; + align-items: center; +} + +@media screen and (max-width: 736px) { + .table-row { + flex-direction: column; + } + + .table-row.header { + display: none; + } + + .table-row:not(.header) > div { + display: flex; + align-items: center; + flex: 1; + gap: 10px; + } + + .table-row:not(.header) > div:before { + content: attr(data-name); + font-weight: bold; + white-space: nowrap; + width: 20%; + } + + .table-row > div.right { + justify-content: flex-start; + } + + .table-row > div.center { + justify-content: flex-start; + } +} + +.border { + border: 1px solid var(--brand-input-border); + border-radius: 5px; +} + +.drag { + user-select: none; + -webkit-app-region: drag; +} + +.no-drag { + -webkit-app-region: none; +} + +.form { + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; + font-size: 12px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; +} + +.form-group.large { + gap: 20px; +} + +.width-full { + width: 100%; +} + +.max-width-full { + max-width: 100%; +} + +.width-responsive { + max-width: fit-content; +} + +.hidden { + display: none; +} + +.pointer { + cursor: pointer; +} + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/use-launch-external-process/public/favicon.ico b/how-to/use-launch-external-process/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0b6e09e66a4928f206aa862087f92992c4591220 GIT binary patch literal 108568 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 literal 0 HcmV?d00001 diff --git a/how-to/use-launch-external-process/scripts/dos.mjs b/how-to/use-launch-external-process/scripts/dos.mjs new file mode 100644 index 00000000..6d61d87c --- /dev/null +++ b/how-to/use-launch-external-process/scripts/dos.mjs @@ -0,0 +1,73 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will read the registry to see if there is a setting for DOS (Desktop Owner Settings) + * If there is you can either abort or overwrite it with the value served from the local dev server. + */ +import { spawnSync } from 'child_process'; + +// The common location for the DOS settings when running the local dev examples +const DOS_URL = 'http://localhost:8080/common/dos.json'; + +/** + * Run the process. + */ +async function run() { + console.log('Configure DOS'); + console.log('============='); + console.log(); + console.log(`Platform: ${process.platform}`); + + /** + * Wait for a keypress. + * @param keyCode The key code to look for. + * @returns Nothing. + */ + function waitForKey(keyCode) { + process.stdin.setRawMode(true); + return new Promise((resolve) => { + process.stdin.on('data', (chunk) => { + if (chunk[0] === keyCode) { + console.error(); + console.error('Set DOS cancelled'); + process.exit(1); + } + process.stdin.setRawMode(false); + resolve(); + }); + }); + } + + if (process.platform === 'win32') { + const res = spawnSync(`reg query "HKCU\\Software\\OpenFin\\RVM\\Settings" -v "DesktopOwnerSettings"`, { + shell: true + }); + const output = res.output.toString(); + if (!output.includes('ERROR')) { + console.warn(); + console.warn('Warning: You already have a desktop owner settings value as shown below.'); + console.warn(); + const valIndex = output.indexOf('REG_SZ'); + const valIndexEnd = output.indexOf('\n', valIndex); + console.warn('DOS:', output.slice(valIndex + 6, valIndexEnd).trim()); + console.warn(); + console.warn('If you choose to overwrite this value, you will need to restore it later.'); + console.warn( + 'If you are not sure what this means, please press Ctrl-C to exit, or any other key to continue' + ); + console.warn('More Information: https://developers.openfin.co/of-docs/docs/desktop-owner-settings'); + await waitForKey(3); + } + console.log(); + console.log('Setting DOS to', DOS_URL); + console.log(); + spawnSync( + `reg add "HKCU\\Software\\OpenFin\\RVM\\Settings" -f -v "DesktopOwnerSettings" -d "${DOS_URL}"`, + { shell: true } + ); + process.exit(0); + } else { + console.error('DOS settings are not available on your platform'); + } +} + +run().catch((err) => console.error(err)); diff --git a/how-to/use-launch-external-process/scripts/kill.mjs b/how-to/use-launch-external-process/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/use-launch-external-process/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/use-launch-external-process/scripts/launch.mjs b/how-to/use-launch-external-process/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/use-launch-external-process/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/use-launch-external-process/server/src/index.ts b/how-to/use-launch-external-process/server/src/index.ts deleted file mode 100644 index 3a135273..00000000 --- a/how-to/use-launch-external-process/server/src/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import express from "express"; -import path from "path"; - -const app = express(); - -const mainPath = path.join(__dirname, "..", "..", "public"); -const commonPath = path.join(__dirname, "..", "..", "..", "common", "public"); -const port = 5050; - -console.log(`Main Path / = ${mainPath}`); -console.log(`Common Path /common = ${commonPath}`); -console.log("Root path checks both the main and common directories."); -app.use(express.static(mainPath)); -app.use("/common", express.static(commonPath)); -app.listen(port, () => { - console.log("server is listening on port", port); -}); diff --git a/how-to/use-launch-external-process/server/tsconfig.json b/how-to/use-launch-external-process/server/tsconfig.json deleted file mode 100644 index adb16a6f..00000000 --- a/how-to/use-launch-external-process/server/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "es2021", - "module": "commonjs", - "sourceMap": true, - "rootDir": "./src", - "outDir": "build", - "skipLibCheck": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", - "moduleResolution": "node" - }, - "include": ["./src/**/*.ts"] -} diff --git a/how-to/use-logging-apis/client/src/app.ts b/how-to/use-logging-apis/client/src/app.ts index 88105efd..76f677e3 100644 --- a/how-to/use-logging-apis/client/src/app.ts +++ b/how-to/use-logging-apis/client/src/app.ts @@ -41,7 +41,7 @@ async function initDom(): Promise { * 4. Uploads the created runtime debug log file to a server endpoint. */ -async function uploadHandler(submitEvent: Event) { +async function uploadHandler(submitEvent: Event): Promise { submitEvent.preventDefault(); if (!fileName) { fileName = "debug.log"; @@ -70,7 +70,7 @@ async function uploadHandler(submitEvent: Event) { * Sends a message to the OpenFin RVM to send the application logs. */ -async function sendApplicationLogs() { +async function sendApplicationLogs(): Promise { try { const appLogResponse = await fin.Application.getCurrentSync().sendApplicationLog(); console.log(`Log ID: ${appLogResponse.logId}`); @@ -97,7 +97,7 @@ async function getLogFromName(name: string): Promise { * @description * Creates an HTMLOptionElement for each of the Runtime debug logs. */ -async function createLogDropDown(parentElement: HTMLSelectElement) { +async function createLogDropDown(parentElement: HTMLSelectElement): Promise { const logList: OpenFin.LogInfo[] = await fin.System.getLogList(); for (const log of logList) { diff --git a/how-to/use-logging-apis/client/tsconfig.json b/how-to/use-logging-apis/client/tsconfig.json index de68f4e3..70cf837a 100644 --- a/how-to/use-logging-apis/client/tsconfig.json +++ b/how-to/use-logging-apis/client/tsconfig.json @@ -6,6 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node" diff --git a/how-to/use-logging-apis/client/types/fin.d.ts b/how-to/use-logging-apis/client/types/fin.d.ts new file mode 100644 index 00000000..8936d86c --- /dev/null +++ b/how-to/use-logging-apis/client/types/fin.d.ts @@ -0,0 +1,5 @@ +import type { fin as FinApi } from "@openfin/core"; + +declare global { + const fin: typeof FinApi; +} diff --git a/how-to/use-logging-apis/package.json b/how-to/use-logging-apis/package.json index e58f10a8..15853ad3 100644 --- a/how-to/use-logging-apis/package.json +++ b/how-to/use-logging-apis/package.json @@ -4,30 +4,29 @@ "description": "A demonstration of how to use logging apis", "main": "index.js", "scripts": { - "build": "npm run build-server & npm run build-client", - "build-server": "tsc --project ./server", + "kill": "node ./scripts/kill.mjs", + "client": "node ./scripts/launch.mjs", + "server": "node ./server/build/index.js", "build-client": "webpack build --config ./client/webpack.config.js --mode=development", - "build-client-prod": "webpack build --config ./client/webpack.config.js --mode=production", + "build-server": "tsc --project ./server", + "build": "npm run build-client && npm run build-server", "start": "npm run server", - "client": "npm --prefix ../common/ run client", - "server": "node ./server/build/index.js", - "kill": "npm --prefix ../common/ run kill", - "setup": "cd ../../ && npm install && cd how-to/use-logging-apis && npm run build", - "validate": "npm --prefix ../../ run validate" + "setup": "cd ../../ && npm install && cd how-to/use-logging-apis && npm run build" }, "author": "martyn.janes@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "@openfin/core": "^28.72.17", "@types/multer": "^1.4.7", - "@types/node": "^18.14.2", + "@types/node": "^20.4.1", "body-parser": "^1.20.2", "express": "^4.18.2", + "openfin-adapter": "^26.70.16", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" }, "dependencies": { "connect-busboy": "^1.0.0", diff --git a/how-to/use-logging-apis/public/common/images/icon-blue.png b/how-to/use-logging-apis/public/common/images/icon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fc78450293c9ff813b9d8bb19e5f3918795beeba GIT binary patch literal 1028 zcmV+f1pE7mP);txuo(sHhB6W3YG5`oAu(|@5JwGR0@_rb|qK6~mh) zPHNEo2hGbNd@X023)BVmoi;D4qu}=porgN=f+RB`pNBf?f(8a)4R$&( ztl0hqyjrQv$VwS4M=U6fJcptvY;wwOTW@8aWGyI3p0oH8*6`g72chvV5wl8kS)i&bleVxAK(7h5FbCl=%?&*4(x8Oj#h@e>PjndfYNfe4%N6AN;g z=ai&^EXGeR$YGu%-Lh@Q_a7V@NGwSFTNLCu(*Db)|4S^$WuDV7sDDI7kjp%WUAzRF zvs7Y1uJWAm3EA@Gd$uVLRz-SsSvSwAo`eOnr+N}!h80$M(B2;K=_7C|mwukZne%W~ z(5yx?=lQ&SA1IDH(#UhTlvvDJuZAt!11=?QCajl|_JpJom`U@TBv1fb5T3HrxRxmO zL{XaOG=fWpyAqq&G*O9MrFl+0l*4>SvQadPN~++7sjRAOq@xB(q3+_K>!^KByxEN%AD^ z9gMWi^+C3Ijua img { + width: 32px; + height: 32px; +} +button.secondary { + background-color: var(--brand-input-background); + color: var(--brand-text); + border-color: var(--brand-input-border); +} +button.secondary:not(:disabled):hover { + background-color: var(--brand-input-background); +} +button.plain { + border-color: transparent; + background-color: transparent; + color: var(--brand-primary); +} +button.plain:not(:disabled):not(:read-only):hover { + border-color: transparent; + background-color: transparent; +} + +button.small, +::-webkit-file-upload-button, +td button { + padding: 5px 10px; + font-size: 10px; +} +td button.plain { + width: auto; + height: auto; +} + +button.center { + text-align: center; +} + +::-webkit-file-upload-button { + margin-right: 10px; +} + +pre { + margin: 0; + padding: 5px; + border-radius: 5px; + font-size: 12px; + font-family: 'Courier New', Courier, monospace; + white-space: pre-wrap; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + width: 100%; + min-height: 20px; +} + +header { + padding-bottom: 10px; + border-bottom: 2px solid var(--brand-border); +} + +footer { + padding-top: 10px; + border-top: 1px solid var(--brand-border); +} + +fieldset { + display: flex; + flex-direction: column; + align-items: flex-start; + border: 0; + padding: 0; + font-size: 12px; + gap: 5px; +} + +fieldset.row { + flex-direction: row; + align-items: center; + gap: 10px; +} + +label { + font-size: 12px; + font-weight: 600; +} + +select, +input[type='text'], +input[type='url'], +input[type='email'], +input[type='password'], +input[type='file'], +input[type='number'], +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'], +input[type='color'], +textarea { + border-radius: 5px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + font-size: 12px; + outline: 0; + color: var(--brand-text); + width: 50%; + min-width: 200px; + padding: 8px 12px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +textarea { + min-height: 64px; + resize: none; +} + +textarea.resizable { + resize: both; +} + +select.full, +input[type='text'].full, +input[type='email'].full, +input[type='url'].full, +input[type='password'].full, +input[type='file'].full, +input[type='number'].full, +input[type='date'].full, +input[type='time'].full, +input[type='datetime-local'].full, +input[type='month'].full, +input[type='week'].full, +input[type='range'].full, +textarea.full { + width: 95%; +} + +select:focus, +select:not(:disabled):hover, +input[type='text']:not(:read-only):focus, +input[type='text']:not(:disabled):not(:read-only):hover, +input[type='email']:not(:read-only):focus, +input[type='email']:not(:disabled):not(:read-only):hover, +input[type='url']:not(:read-only):focus, +input[type='url']:not(:disabled):not(:read-only):hover, +input[type='password']:not(:read-only):focus, +input[type='password']:not(:disabled):not(:read-only):hover, +input[type='file']:not(:read-only):focus, +input[type='file']:not(:disabled):not(:read-only):hover, +input[type='number']:not(:read-only):focus, +input[type='number']:not(:disabled):not(:read-only):hover, +input[type='date']:not(:read-only):focus, +input[type='date']:not(:disabled):not(:read-only):hover, +input[type='time']:not(:read-only):focus, +input[type='time']:not(:disabled):not(:read-only):hover, +input[type='datetime-local']:not(:read-only):focus, +input[type='datetime-local']:not(:disabled):not(:read-only):hover, +input[type='month']:not(:read-only):focus, +input[type='month']:not(:disabled):not(:read-only):hover, +input[type='week']:not(:read-only):focus, +input[type='week']:not(:disabled):not(:read-only):hover, +textarea:not(:read-only):focus, +textarea:not(:disabled):not(:read-only):hover, +input[type='checkbox']:focus, +input[type='checkbox']:not(:disabled):hover, +input[type='radio']:focus, +input[type='radio']:not(:disabled):hover, +input[type='color']:focus, +input[type='color']:not(:disabled):hover { + border-color: var(--brand-input-border-highlight); +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'] { + width: 200px; + min-width: auto; +} + +.theme-dark ::-webkit-calendar-picker-indicator { + filter: invert(1); +} + +::-webkit-datetime-edit-day-field:focus, +::-webkit-datetime-edit-month-field:focus, +::-webkit-datetime-edit-year-field:focus, +::-webkit-datetime-edit-hour-field:focus, +::-webkit-datetime-edit-minute-field:focus, +::-webkit-datetime-edit-week-field:focus { + background-color: var(--brand-primary); + color: #ffffff; +} + +::-webkit-outer-spin-button, +::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type='file'] { + padding: 4px 12px; +} + +select { + appearance: none; +} + +select:not([multiple]):not(:disabled) { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-size: 12px; + background-position: calc(100% - 12px) 12px; + background-color: var(--brand-input-background); +} + +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + +option { + color: var(--brand-text); + padding: 6px; + margin-bottom: 1px; +} + +option:hover { + background: var(--brand-input-border) + linear-gradient(0deg, var(--brand-input-border) 0%, var(--brand-input-border) 100%); + border-radius: 5px; +} + +option:checked { + background: var(--brand-primary) linear-gradient(0deg, var(--brand-primary) 0%, var(--brand-primary) 100%); + color: #ffffff; + border-radius: 5px; +} + +input[type='range'] { + -webkit-appearance: none; + height: 20px; + width: 200px; + background: transparent; + outline: none; +} + +input[type='range']::-webkit-slider-runnable-track { + -webkit-appearance: none; + height: 10px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + border-radius: 5px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: 20px; + width: 20px; + border-radius: 5px; + margin-top: -6px; + border: 1px solid var(--brand-input-border); + background: var(--brand-input-background); + cursor: pointer; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']:hover::-webkit-slider-runnable-track, +input[type='range']:focus::-webkit-slider-runnable-track, +input[type='range']:hover::-webkit-slider-thumb, +input[type='range']:focus::-webkit-slider-thumb { + border-color: var(--brand-input-border-highlight); +} + +button:disabled, +select:disabled, +input:disabled, +textarea:disabled, +footer a:disabled, +a[disabled] { + opacity: 0.3; + cursor: default; + pointer-events: none; + resize: none; +} + +select:invalid, +input:invalid, +textarea:invalid { + border-color: var(--brand-error); +} + +fieldset > span { + margin-left: 10px; + width: 50px; +} + +input[type='text'].large, +input[type='password'].large, +input[type='file'].large, +input[type='email'].large, +input[type='url'].large, +input[type='date'].large, +input[type='time'].large { + font-size: 20px; + padding: 20px 10px; +} + +input[type='text'].center, +input[type='password'].center, +input[type='email'].center, +input[type='url'].center { + text-align: center; +} + +input[type='checkbox'], +input[type='radio'] { + appearance: none; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + color: var(--brand-input-text); + outline: 0; + width: 20px; + height: 20px; + margin: 2px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='radio'] { + border-radius: 50%; +} + +input[type='checkbox']::before, +input[type='radio']::before { + content: ''; + display: none; + width: 16px; + height: 16px; + margin: 1px; + background-color: var(--brand-text); + opacity: 0.8; +} + +input[type='checkbox']:checked::before { + display: inline-block; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +input[type='radio']:checked::before { + display: inline-block; + clip-path: circle(35% at 52% 50%); +} + +input[type='checkbox'] + label, +input[type='radio'] + label { + white-space: nowrap; +} + +input[type='color'] { + width: 100px; + min-width: auto; + padding: 5px; +} + +input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + background: transparent; +} + +input[type='color']::-webkit-color-swatch { + border-radius: 5px; + border: none; +} + +/* This disables the auto zoom on iDevices */ +@supports (-webkit-touch-callout: none) { + select, + input[type='text'], + input[type='url'], + input[type='email'], + input[type='password'], + input[type='file'], + input[type='number'], + input[type='date'], + input[type='time'], + input[type='datetime-local'], + input[type='month'], + input[type='week'], + input[type='color'], + textarea { + font-size: 16px; + } +} + +hr { + width: 100%; + border: 0; + border-bottom: 1px solid var(--brand-input-border); +} + +ul { + font-size: 12px; + display: flex; + flex-direction: column; + gap: 10px; + list-style-type: none; +} + +li { + font-size: 12px; + position: relative; + padding: 0 0 10px; +} + +li::before { + content: ' '; + display: inline-block; + background-color: var(--brand-primary); + width: 8px; + height: 8px; + border-radius: 2px; + position: absolute; + left: -13px; + top: 3px; +} + +em { + font-size: 12px; +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.fill { + flex: 1; +} + +.fill_2 { + flex: 2; +} + +.scroll { + overflow: auto; +} + +.scroll-vertical { + overflow-y: auto; +} + +.scroll-horizontal { + overflow-x: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.middle { + align-items: center; +} + +.bottom { + align-items: flex-end; +} + +.spread { + justify-content: space-between; +} + +.around { + justify-content: space-around; +} + +.left { + display: flex; + align-items: flex-start; +} + +.center { + display: flex; + justify-content: center; +} + +.right { + display: flex; + justify-content: flex-end; +} + +.wrap { + flex-wrap: wrap; +} + +.gap5 { + gap: 5px; +} + +.gap10 { + gap: 10px; +} + +.gap20 { + gap: 20px; +} + +.gap40 { + gap: 40px; +} + +.pad10 { + padding: 10px; +} + +.pad20 { + padding: 20px; +} + +.pad0 { + padding: 0px; +} + +.table { + display: flex; + flex: 1; + flex-direction: column; + font-size: 10px; +} + +table { + width: 100%; + font-size: 10px; + border: 0; + border-collapse: collapse; +} + +table, +.table { + border: var(--brand-input-border) 1px solid; +} + +.table-row { + display: flex; + flex: 1; + flex-direction: row; +} + +table > tr:first-child, +thead > tr, +.table-row.header { + background-color: var(--brand-table-header); +} + +table > tr:nth-child(even), +.table > div:nth-child(even), +tbody > tr:nth-child(odd) { + background-color: var(--brand-table-row-even); +} + +table > tr:nth-child(odd), +.table > div:not(:first-child):nth-child(odd), +tbody > tr:nth-child(even) { + background-color: var(--brand-table-row-odd); +} + +th, +.table-row.header > div { + color: var(--brand-table-header-text); + font-weight: bold; + padding: 10px 5px; + text-align: left; + word-break: break-word; +} + +.table-row > div { + flex: 1; +} + +td, +.table-row:not(.header) > div { + padding: 5px; + word-break: break-word; + color: var(--brand-text); +} + +.table-row:not(.header) > div { + display: flex; + align-items: center; +} + +@media screen and (max-width: 736px) { + .table-row { + flex-direction: column; + } + + .table-row.header { + display: none; + } + + .table-row:not(.header) > div { + display: flex; + align-items: center; + flex: 1; + gap: 10px; + } + + .table-row:not(.header) > div:before { + content: attr(data-name); + font-weight: bold; + white-space: nowrap; + width: 20%; + } + + .table-row > div.right { + justify-content: flex-start; + } + + .table-row > div.center { + justify-content: flex-start; + } +} + +.border { + border: 1px solid var(--brand-input-border); + border-radius: 5px; +} + +.drag { + user-select: none; + -webkit-app-region: drag; +} + +.no-drag { + -webkit-app-region: none; +} + +.form { + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; + font-size: 12px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; +} + +.form-group.large { + gap: 20px; +} + +.width-full { + width: 100%; +} + +.max-width-full { + max-width: 100%; +} + +.width-responsive { + max-width: fit-content; +} + +.hidden { + display: none; +} + +.pointer { + cursor: pointer; +} + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/use-logging-apis/public/html/app.html b/how-to/use-logging-apis/public/html/app.html index bc035e04..ad830945 100644 --- a/how-to/use-logging-apis/public/html/app.html +++ b/how-to/use-logging-apis/public/html/app.html @@ -1,5 +1,5 @@ - - + + How to collect debug logs @@ -7,7 +7,6 @@ - @@ -17,7 +16,6 @@

How to collect logs.

Demonstrate how to use logging APIs

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¨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�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�qds1tr+f8P)Ejzw*K-;eKt1Luh32 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

@^6G#&bLsp2K+)(K4p3*8ZjoK5l9b( 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≶^X2Bh|NX}@(@td85xowT2Q3C>b|6>z1hI>n@bK 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�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

- OpenFin
diff --git a/how-to/use-logging-apis/scripts/kill.mjs b/how-to/use-logging-apis/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/use-logging-apis/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/use-logging-apis/scripts/launch.mjs b/how-to/use-logging-apis/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/use-logging-apis/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/use-logging-apis/server/tsconfig.json b/how-to/use-logging-apis/server/tsconfig.json index 66319539..86f342dd 100644 --- a/how-to/use-logging-apis/server/tsconfig.json +++ b/how-to/use-logging-apis/server/tsconfig.json @@ -6,6 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node" diff --git a/how-to/use-platform/warn-before-closing-dialog/client/src/dialog.ts b/how-to/use-platform/warn-before-closing-dialog/client/src/dialog.ts index 61fb5858..fe8f2acb 100644 --- a/how-to/use-platform/warn-before-closing-dialog/client/src/dialog.ts +++ b/how-to/use-platform/warn-before-closing-dialog/client/src/dialog.ts @@ -1,6 +1,6 @@ import { fin } from "@openfin/core"; -function populatePreventedViews(views) { +function populatePreventedViews(views): void { for (const view of views) { console.log("add view", view); const viewP = document.createElement("p"); @@ -9,7 +9,7 @@ function populatePreventedViews(views) { } } -function populate() { +function populate(): void { const params = new URLSearchParams(window.location.search); const closeType = params.get("closeType"); @@ -34,7 +34,7 @@ function populate() { } } -async function handleClose(userDecision) { +async function handleClose(userDecision): Promise { try { const client = await fin.InterApplicationBus.Channel.connect("userDecisionProvider"); await client.dispatch("get-user-decision", userDecision); diff --git a/how-to/use-platform/warn-before-closing-dialog/client/src/provider.ts b/how-to/use-platform/warn-before-closing-dialog/client/src/provider.ts index 6eaff1d3..380f45ea 100644 --- a/how-to/use-platform/warn-before-closing-dialog/client/src/provider.ts +++ b/how-to/use-platform/warn-before-closing-dialog/client/src/provider.ts @@ -1,9 +1,9 @@ -const launchDialog = async (viewsPreventingUnload, windowId, closeType): Promise => { +async function launchDialog(viewsPreventingUnload, windowId, closeType): Promise { const views = { views: viewsPreventingUnload }; const queryString = new URLSearchParams(`views=${JSON.stringify(views)}&closeType=${closeType}`); const baseUrl = window.location.href.replace("provider", "dialog"); const url = `${baseUrl}?${queryString.toString()}`; - const handleUserDecisionPromise = async (resolve, reject) => { + async function handleUserDecisionPromise(resolve, reject): Promise { try { const dialogWindow = fin.Window.wrapSync({ uuid: fin.me.identity.uuid, name: "before-unload-dialog" }); @@ -33,13 +33,13 @@ const launchDialog = async (viewsPreventingUnload, windowId, closeType): Promise } catch (error) { reject(error); } - }; + } return new Promise(handleUserDecisionPromise); -}; +} -const overrideCallback = ( +function overrideCallback( PlatformProvider: OpenFin.Constructor -): OpenFin.PlatformProvider => { +): OpenFin.PlatformProvider { class beforeUnloadDialogOverride extends PlatformProvider { public async getUserDecisionForBeforeUnload( payload: OpenFin.ViewsPreventingUnloadPayload @@ -56,6 +56,6 @@ const overrideCallback = ( } } return new beforeUnloadDialogOverride(); -}; +} fin.Platform.init({ overrideCallback }).catch((error) => console.error(error)); diff --git a/how-to/use-platform/warn-before-closing-dialog/client/src/view.ts b/how-to/use-platform/warn-before-closing-dialog/client/src/view.ts index fa3692a0..4c23f19d 100644 --- a/how-to/use-platform/warn-before-closing-dialog/client/src/view.ts +++ b/how-to/use-platform/warn-before-closing-dialog/client/src/view.ts @@ -16,7 +16,7 @@ document.addEventListener("DOMContentLoaded", () => { }); }); -function beforeUnloadListener(e) { +function beforeUnloadListener(e): void { e.preventDefault(); e.returnValue = ""; } diff --git a/how-to/use-platform/warn-before-closing-dialog/client/tsconfig.json b/how-to/use-platform/warn-before-closing-dialog/client/tsconfig.json index 65f1c0a1..1bfae137 100644 --- a/how-to/use-platform/warn-before-closing-dialog/client/tsconfig.json +++ b/how-to/use-platform/warn-before-closing-dialog/client/tsconfig.json @@ -6,11 +6,11 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node", - "types": ["../../../common/types/fin"] + "types": ["./types/fin"] }, "include": ["./src/**/*.ts"] } diff --git a/how-to/use-platform/warn-before-closing-dialog/client/types/fin.d.ts b/how-to/use-platform/warn-before-closing-dialog/client/types/fin.d.ts new file mode 100644 index 00000000..8936d86c --- /dev/null +++ b/how-to/use-platform/warn-before-closing-dialog/client/types/fin.d.ts @@ -0,0 +1,5 @@ +import type { fin as FinApi } from "@openfin/core"; + +declare global { + const fin: typeof FinApi; +} diff --git a/how-to/use-platform/warn-before-closing-dialog/package.json b/how-to/use-platform/warn-before-closing-dialog/package.json index f4b63163..c438403b 100644 --- a/how-to/use-platform/warn-before-closing-dialog/package.json +++ b/how-to/use-platform/warn-before-closing-dialog/package.json @@ -4,27 +4,20 @@ "description": "", "main": "index.js", "scripts": { - "build": "npm run build-server & npm run build-client", - "watch": "npm run build-server & npm run watch-client", - "build-server": "tsc --project ./server", - "watch-client": "webpack watch --config ./client/webpack.config.js --mode=development", + "kill": "node ./scripts/kill.mjs", + "client": "node ./scripts/launch.mjs", "build-client": "webpack build --config ./client/webpack.config.js --mode=development", - "build-client-prod": "webpack build --config ./client/webpack.config.js --mode=production", - "start": "npm run server", - "client": "npm --prefix ../../common/ run client", - "server": "node ./server/build/index.js", - "kill": "npm --prefix ../../common/ run kill", - "setup": "cd ../../../ && npm install && cd how-to/use-platform/warn-before-closing-dialog && npm run build", - "validate": "npm --prefix ../../../ run validate" + "build": "npm run build-client", + "start": "npx --yes http-server ./public -p 5050 -c-1", + "setup": "cd ../../../ && npm install && cd how-to/use-platform/warn-before-closing-dialog && npm run build" }, "license": "ISC", "devDependencies": { "@openfin/core": "^27.70.8", - "express": "^4.17.2", - "source-map-loader": "^3.0.1", - "ts-loader": "^9.2.6", - "typescript": "^4.5.4", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "openfin-adapter": "^26.70.16", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } } diff --git a/how-to/use-platform/warn-before-closing-dialog/public/common/images/icon-blue.png b/how-to/use-platform/warn-before-closing-dialog/public/common/images/icon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fc78450293c9ff813b9d8bb19e5f3918795beeba GIT binary patch literal 1028 zcmV+f1pE7mP);txuo(sHhB6W3YG5`oAu(|@5JwGR0@_rb|qK6~mh) zPHNEo2hGbNd@X023)BVmoi;D4qu}=porgN=f+RB`pNBf?f(8a)4R$&( ztl0hqyjrQv$VwS4M=U6fJcptvY;wwOTW@8aWGyI3p0oH8*6`g72chvV5wl8kS)i&bleVxAK(7h5FbCl=%?&*4(x8Oj#h@e>PjndfYNfe4%N6AN;g z=ai&^EXGeR$YGu%-Lh@Q_a7V@NGwSFTNLCu(*Db)|4S^$WuDV7sDDI7kjp%WUAzRF zvs7Y1uJWAm3EA@Gd$uVLRz-SsSvSwAo`eOnr+N}!h80$M(B2;K=_7C|mwukZne%W~ z(5yx?=lQ&SA1IDH(#UhTlvvDJuZAt!11=?QCajl|_JpJom`U@TBv1fb5T3HrxRxmO zL{XaOG=fWpyAqq&G*O9MrFl+0l*4>SvQadPN~++7sjRAOq@xB(q3+_K>!^KByxEN%AD^ z9gMWi^+C3Ijua img { + width: 32px; + height: 32px; +} +button.secondary { + background-color: var(--brand-input-background); + color: var(--brand-text); + border-color: var(--brand-input-border); +} +button.secondary:not(:disabled):hover { + background-color: var(--brand-input-background); +} +button.plain { + border-color: transparent; + background-color: transparent; + color: var(--brand-primary); +} +button.plain:not(:disabled):not(:read-only):hover { + border-color: transparent; + background-color: transparent; +} + +button.small, +::-webkit-file-upload-button, +td button { + padding: 5px 10px; + font-size: 10px; +} +td button.plain { + width: auto; + height: auto; +} + +button.center { + text-align: center; +} + +::-webkit-file-upload-button { + margin-right: 10px; +} + +pre { + margin: 0; + padding: 5px; + border-radius: 5px; + font-size: 12px; + font-family: 'Courier New', Courier, monospace; + white-space: pre-wrap; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + width: 100%; + min-height: 20px; +} + +header { + padding-bottom: 10px; + border-bottom: 2px solid var(--brand-border); +} + +footer { + padding-top: 10px; + border-top: 1px solid var(--brand-border); +} + +fieldset { + display: flex; + flex-direction: column; + align-items: flex-start; + border: 0; + padding: 0; + font-size: 12px; + gap: 5px; +} + +fieldset.row { + flex-direction: row; + align-items: center; + gap: 10px; +} + +label { + font-size: 12px; + font-weight: 600; +} + +select, +input[type='text'], +input[type='url'], +input[type='email'], +input[type='password'], +input[type='file'], +input[type='number'], +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'], +input[type='color'], +textarea { + border-radius: 5px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + font-size: 12px; + outline: 0; + color: var(--brand-text); + width: 50%; + min-width: 200px; + padding: 8px 12px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +textarea { + min-height: 64px; + resize: none; +} + +textarea.resizable { + resize: both; +} + +select.full, +input[type='text'].full, +input[type='email'].full, +input[type='url'].full, +input[type='password'].full, +input[type='file'].full, +input[type='number'].full, +input[type='date'].full, +input[type='time'].full, +input[type='datetime-local'].full, +input[type='month'].full, +input[type='week'].full, +input[type='range'].full, +textarea.full { + width: 95%; +} + +select:focus, +select:not(:disabled):hover, +input[type='text']:not(:read-only):focus, +input[type='text']:not(:disabled):not(:read-only):hover, +input[type='email']:not(:read-only):focus, +input[type='email']:not(:disabled):not(:read-only):hover, +input[type='url']:not(:read-only):focus, +input[type='url']:not(:disabled):not(:read-only):hover, +input[type='password']:not(:read-only):focus, +input[type='password']:not(:disabled):not(:read-only):hover, +input[type='file']:not(:read-only):focus, +input[type='file']:not(:disabled):not(:read-only):hover, +input[type='number']:not(:read-only):focus, +input[type='number']:not(:disabled):not(:read-only):hover, +input[type='date']:not(:read-only):focus, +input[type='date']:not(:disabled):not(:read-only):hover, +input[type='time']:not(:read-only):focus, +input[type='time']:not(:disabled):not(:read-only):hover, +input[type='datetime-local']:not(:read-only):focus, +input[type='datetime-local']:not(:disabled):not(:read-only):hover, +input[type='month']:not(:read-only):focus, +input[type='month']:not(:disabled):not(:read-only):hover, +input[type='week']:not(:read-only):focus, +input[type='week']:not(:disabled):not(:read-only):hover, +textarea:not(:read-only):focus, +textarea:not(:disabled):not(:read-only):hover, +input[type='checkbox']:focus, +input[type='checkbox']:not(:disabled):hover, +input[type='radio']:focus, +input[type='radio']:not(:disabled):hover, +input[type='color']:focus, +input[type='color']:not(:disabled):hover { + border-color: var(--brand-input-border-highlight); +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'] { + width: 200px; + min-width: auto; +} + +.theme-dark ::-webkit-calendar-picker-indicator { + filter: invert(1); +} + +::-webkit-datetime-edit-day-field:focus, +::-webkit-datetime-edit-month-field:focus, +::-webkit-datetime-edit-year-field:focus, +::-webkit-datetime-edit-hour-field:focus, +::-webkit-datetime-edit-minute-field:focus, +::-webkit-datetime-edit-week-field:focus { + background-color: var(--brand-primary); + color: #ffffff; +} + +::-webkit-outer-spin-button, +::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type='file'] { + padding: 4px 12px; +} + +select { + appearance: none; +} + +select:not([multiple]):not(:disabled) { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-size: 12px; + background-position: calc(100% - 12px) 12px; + background-color: var(--brand-input-background); +} + +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + +option { + color: var(--brand-text); + padding: 6px; + margin-bottom: 1px; +} + +option:hover { + background: var(--brand-input-border) + linear-gradient(0deg, var(--brand-input-border) 0%, var(--brand-input-border) 100%); + border-radius: 5px; +} + +option:checked { + background: var(--brand-primary) linear-gradient(0deg, var(--brand-primary) 0%, var(--brand-primary) 100%); + color: #ffffff; + border-radius: 5px; +} + +input[type='range'] { + -webkit-appearance: none; + height: 20px; + width: 200px; + background: transparent; + outline: none; +} + +input[type='range']::-webkit-slider-runnable-track { + -webkit-appearance: none; + height: 10px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + border-radius: 5px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: 20px; + width: 20px; + border-radius: 5px; + margin-top: -6px; + border: 1px solid var(--brand-input-border); + background: var(--brand-input-background); + cursor: pointer; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']:hover::-webkit-slider-runnable-track, +input[type='range']:focus::-webkit-slider-runnable-track, +input[type='range']:hover::-webkit-slider-thumb, +input[type='range']:focus::-webkit-slider-thumb { + border-color: var(--brand-input-border-highlight); +} + +button:disabled, +select:disabled, +input:disabled, +textarea:disabled, +footer a:disabled, +a[disabled] { + opacity: 0.3; + cursor: default; + pointer-events: none; + resize: none; +} + +select:invalid, +input:invalid, +textarea:invalid { + border-color: var(--brand-error); +} + +fieldset > span { + margin-left: 10px; + width: 50px; +} + +input[type='text'].large, +input[type='password'].large, +input[type='file'].large, +input[type='email'].large, +input[type='url'].large, +input[type='date'].large, +input[type='time'].large { + font-size: 20px; + padding: 20px 10px; +} + +input[type='text'].center, +input[type='password'].center, +input[type='email'].center, +input[type='url'].center { + text-align: center; +} + +input[type='checkbox'], +input[type='radio'] { + appearance: none; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + color: var(--brand-input-text); + outline: 0; + width: 20px; + height: 20px; + margin: 2px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='radio'] { + border-radius: 50%; +} + +input[type='checkbox']::before, +input[type='radio']::before { + content: ''; + display: none; + width: 16px; + height: 16px; + margin: 1px; + background-color: var(--brand-text); + opacity: 0.8; +} + +input[type='checkbox']:checked::before { + display: inline-block; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +input[type='radio']:checked::before { + display: inline-block; + clip-path: circle(35% at 52% 50%); +} + +input[type='checkbox'] + label, +input[type='radio'] + label { + white-space: nowrap; +} + +input[type='color'] { + width: 100px; + min-width: auto; + padding: 5px; +} + +input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + background: transparent; +} + +input[type='color']::-webkit-color-swatch { + border-radius: 5px; + border: none; +} + +/* This disables the auto zoom on iDevices */ +@supports (-webkit-touch-callout: none) { + select, + input[type='text'], + input[type='url'], + input[type='email'], + input[type='password'], + input[type='file'], + input[type='number'], + input[type='date'], + input[type='time'], + input[type='datetime-local'], + input[type='month'], + input[type='week'], + input[type='color'], + textarea { + font-size: 16px; + } +} + +hr { + width: 100%; + border: 0; + border-bottom: 1px solid var(--brand-input-border); +} + +ul { + font-size: 12px; + display: flex; + flex-direction: column; + gap: 10px; + list-style-type: none; +} + +li { + font-size: 12px; + position: relative; + padding: 0 0 10px; +} + +li::before { + content: ' '; + display: inline-block; + background-color: var(--brand-primary); + width: 8px; + height: 8px; + border-radius: 2px; + position: absolute; + left: -13px; + top: 3px; +} + +em { + font-size: 12px; +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.fill { + flex: 1; +} + +.fill_2 { + flex: 2; +} + +.scroll { + overflow: auto; +} + +.scroll-vertical { + overflow-y: auto; +} + +.scroll-horizontal { + overflow-x: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.middle { + align-items: center; +} + +.bottom { + align-items: flex-end; +} + +.spread { + justify-content: space-between; +} + +.around { + justify-content: space-around; +} + +.left { + display: flex; + align-items: flex-start; +} + +.center { + display: flex; + justify-content: center; +} + +.right { + display: flex; + justify-content: flex-end; +} + +.wrap { + flex-wrap: wrap; +} + +.gap5 { + gap: 5px; +} + +.gap10 { + gap: 10px; +} + +.gap20 { + gap: 20px; +} + +.gap40 { + gap: 40px; +} + +.pad10 { + padding: 10px; +} + +.pad20 { + padding: 20px; +} + +.pad0 { + padding: 0px; +} + +.table { + display: flex; + flex: 1; + flex-direction: column; + font-size: 10px; +} + +table { + width: 100%; + font-size: 10px; + border: 0; + border-collapse: collapse; +} + +table, +.table { + border: var(--brand-input-border) 1px solid; +} + +.table-row { + display: flex; + flex: 1; + flex-direction: row; +} + +table > tr:first-child, +thead > tr, +.table-row.header { + background-color: var(--brand-table-header); +} + +table > tr:nth-child(even), +.table > div:nth-child(even), +tbody > tr:nth-child(odd) { + background-color: var(--brand-table-row-even); +} + +table > tr:nth-child(odd), +.table > div:not(:first-child):nth-child(odd), +tbody > tr:nth-child(even) { + background-color: var(--brand-table-row-odd); +} + +th, +.table-row.header > div { + color: var(--brand-table-header-text); + font-weight: bold; + padding: 10px 5px; + text-align: left; + word-break: break-word; +} + +.table-row > div { + flex: 1; +} + +td, +.table-row:not(.header) > div { + padding: 5px; + word-break: break-word; + color: var(--brand-text); +} + +.table-row:not(.header) > div { + display: flex; + align-items: center; +} + +@media screen and (max-width: 736px) { + .table-row { + flex-direction: column; + } + + .table-row.header { + display: none; + } + + .table-row:not(.header) > div { + display: flex; + align-items: center; + flex: 1; + gap: 10px; + } + + .table-row:not(.header) > div:before { + content: attr(data-name); + font-weight: bold; + white-space: nowrap; + width: 20%; + } + + .table-row > div.right { + justify-content: flex-start; + } + + .table-row > div.center { + justify-content: flex-start; + } +} + +.border { + border: 1px solid var(--brand-input-border); + border-radius: 5px; +} + +.drag { + user-select: none; + -webkit-app-region: drag; +} + +.no-drag { + -webkit-app-region: none; +} + +.form { + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; + font-size: 12px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; +} + +.form-group.large { + gap: 20px; +} + +.width-full { + width: 100%; +} + +.max-width-full { + max-width: 100%; +} + +.width-responsive { + max-width: fit-content; +} + +.hidden { + display: none; +} + +.pointer { + cursor: pointer; +} + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/use-platform/warn-before-closing-dialog/public/favicon.ico b/how-to/use-platform/warn-before-closing-dialog/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0b6e09e66a4928f206aa862087f92992c4591220 GIT binary patch literal 108568 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 literal 0 HcmV?d00001 diff --git a/how-to/use-platform/warn-before-closing-dialog/public/html/dialog.html b/how-to/use-platform/warn-before-closing-dialog/public/html/dialog.html index 92635c26..cb3bd627 100644 --- a/how-to/use-platform/warn-before-closing-dialog/public/html/dialog.html +++ b/how-to/use-platform/warn-before-closing-dialog/public/html/dialog.html @@ -1,5 +1,5 @@ - - + + diff --git a/how-to/use-platform/warn-before-closing-dialog/public/html/provider.html b/how-to/use-platform/warn-before-closing-dialog/public/html/provider.html index 37c4d9ac..f2bf9c81 100644 --- a/how-to/use-platform/warn-before-closing-dialog/public/html/provider.html +++ b/how-to/use-platform/warn-before-closing-dialog/public/html/provider.html @@ -1,5 +1,5 @@ - - + + diff --git a/how-to/use-platform/warn-before-closing-dialog/public/html/view.html b/how-to/use-platform/warn-before-closing-dialog/public/html/view.html index 9fd9519d..0e253287 100644 --- a/how-to/use-platform/warn-before-closing-dialog/public/html/view.html +++ b/how-to/use-platform/warn-before-closing-dialog/public/html/view.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-platform/warn-before-closing-dialog/scripts/kill.mjs b/how-to/use-platform/warn-before-closing-dialog/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/use-platform/warn-before-closing-dialog/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/use-platform/warn-before-closing-dialog/scripts/launch.mjs b/how-to/use-platform/warn-before-closing-dialog/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/use-platform/warn-before-closing-dialog/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/use-platform/warn-before-closing-dialog/server/src/index.ts b/how-to/use-platform/warn-before-closing-dialog/server/src/index.ts deleted file mode 100644 index 694c7722..00000000 --- a/how-to/use-platform/warn-before-closing-dialog/server/src/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import express from "express"; -import path from "path"; - -const app = express(); - -const mainPath = path.join(__dirname, "..", "..", "public"); -const commonPath = path.join(__dirname, "..", "..", "..", "..", "common", "public"); -const port = 5050; - -console.log(`Main Path / = ${mainPath}`); -console.log(`Common Path /common = ${commonPath}`); -console.log("Root path checks both the main and common directories."); -app.use(express.static(mainPath)); -app.use("/common", express.static(commonPath)); -app.listen(port, () => { - console.log("server is listening on port", port); -}); diff --git a/how-to/use-platform/warn-before-closing-dialog/server/tsconfig.json b/how-to/use-platform/warn-before-closing-dialog/server/tsconfig.json deleted file mode 100644 index adb16a6f..00000000 --- a/how-to/use-platform/warn-before-closing-dialog/server/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "es2021", - "module": "commonjs", - "sourceMap": true, - "rootDir": "./src", - "outDir": "build", - "skipLibCheck": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", - "moduleResolution": "node" - }, - "include": ["./src/**/*.ts"] -} diff --git a/how-to/use-popup-window/advanced/client/src/app.ts b/how-to/use-popup-window/advanced/client/src/app.ts index 93dbb9dd..3aaa6e15 100644 --- a/how-to/use-popup-window/advanced/client/src/app.ts +++ b/how-to/use-popup-window/advanced/client/src/app.ts @@ -2,7 +2,7 @@ export {}; document.addEventListener("DOMContentLoaded", init); -async function init() { +async function init(): Promise { // provision about:blank window to later show as popup await fin.Window.create({ name: "popup", autoShow: false }); const showPopupButton = document.querySelector("#btn-show-popup"); diff --git a/how-to/use-popup-window/advanced/client/src/popup.ts b/how-to/use-popup-window/advanced/client/src/popup.ts index 0468a43b..11614e6c 100644 --- a/how-to/use-popup-window/advanced/client/src/popup.ts +++ b/how-to/use-popup-window/advanced/client/src/popup.ts @@ -4,7 +4,7 @@ const me = fin.me as OpenFin.Window; document.addEventListener("DOMContentLoaded", init); -async function init() { +async function init(): Promise { const okButton = document.querySelector("#btn-ok"); const confirmButton = document.querySelector("#btn-confirm"); const cancelButton = document.querySelector("#btn-cancel"); @@ -25,7 +25,7 @@ async function init() { await me.on("shown", renderShownDate); } -async function renderShownDate() { +async function renderShownDate(): Promise { const shownDateEl = document.querySelector("#shown-date"); const { customData } = await me.getOptions(); const { shownAsPopup }: { shownAsPopup: number } = customData; diff --git a/how-to/use-popup-window/advanced/client/tsconfig.json b/how-to/use-popup-window/advanced/client/tsconfig.json index 65f1c0a1..1bfae137 100644 --- a/how-to/use-popup-window/advanced/client/tsconfig.json +++ b/how-to/use-popup-window/advanced/client/tsconfig.json @@ -6,11 +6,11 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node", - "types": ["../../../common/types/fin"] + "types": ["./types/fin"] }, "include": ["./src/**/*.ts"] } diff --git a/how-to/use-popup-window/advanced/client/types/fin.d.ts b/how-to/use-popup-window/advanced/client/types/fin.d.ts new file mode 100644 index 00000000..8936d86c --- /dev/null +++ b/how-to/use-popup-window/advanced/client/types/fin.d.ts @@ -0,0 +1,5 @@ +import type { fin as FinApi } from "@openfin/core"; + +declare global { + const fin: typeof FinApi; +} diff --git a/how-to/use-popup-window/advanced/package.json b/how-to/use-popup-window/advanced/package.json index b336e582..904796bc 100644 --- a/how-to/use-popup-window/advanced/package.json +++ b/how-to/use-popup-window/advanced/package.json @@ -4,27 +4,22 @@ "description": "A demonstration that shows how to use an existing window as a popup.", "main": "index.js", "scripts": { - "build": "npm run build-server & npm run build-client", - "build-server": "tsc --project ./server", + "kill": "node ./scripts/kill.mjs", + "client": "node ./scripts/launch.mjs", "build-client": "webpack build --config ./client/webpack.config.js --mode=development", - "build-client-prod": "webpack build --config ./client/webpack.config.js --mode=production", - "start": "npm run server", - "client": "npm --prefix ../../common/ run client", - "server": "node ./server/build/app.js", - "kill": "npm --prefix ../../common/ run kill", - "setup": "cd ../../../ && npm install && cd how-to/use-popup-window/advanced && npm run build", - "validate": "npm --prefix ../../../ run validate" + "build": "npm run build-client", + "start": "npx --yes http-server ./public -p 5050 -c-1", + "setup": "cd ../../../ && npm install && cd how-to/use-popup-window/advanced && npm run build" }, "author": "connor.mccafferty@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "@openfin/core": "^28.72.17", - "@types/node": "^18.14.2", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "@types/node": "^20.4.1", + "openfin-adapter": "^26.70.16", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } } diff --git a/how-to/use-popup-window/advanced/public/common/images/icon-blue.png b/how-to/use-popup-window/advanced/public/common/images/icon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fc78450293c9ff813b9d8bb19e5f3918795beeba GIT binary patch literal 1028 zcmV+f1pE7mP);txuo(sHhB6W3YG5`oAu(|@5JwGR0@_rb|qK6~mh) zPHNEo2hGbNd@X023)BVmoi;D4qu}=porgN=f+RB`pNBf?f(8a)4R$&( ztl0hqyjrQv$VwS4M=U6fJcptvY;wwOTW@8aWGyI3p0oH8*6`g72chvV5wl8kS)i&bleVxAK(7h5FbCl=%?&*4(x8Oj#h@e>PjndfYNfe4%N6AN;g z=ai&^EXGeR$YGu%-Lh@Q_a7V@NGwSFTNLCu(*Db)|4S^$WuDV7sDDI7kjp%WUAzRF zvs7Y1uJWAm3EA@Gd$uVLRz-SsSvSwAo`eOnr+N}!h80$M(B2;K=_7C|mwukZne%W~ z(5yx?=lQ&SA1IDH(#UhTlvvDJuZAt!11=?QCajl|_JpJom`U@TBv1fb5T3HrxRxmO zL{XaOG=fWpyAqq&G*O9MrFl+0l*4>SvQadPN~++7sjRAOq@xB(q3+_K>!^KByxEN%AD^ z9gMWi^+C3Ijua img { + width: 32px; + height: 32px; +} +button.secondary { + background-color: var(--brand-input-background); + color: var(--brand-text); + border-color: var(--brand-input-border); +} +button.secondary:not(:disabled):hover { + background-color: var(--brand-input-background); +} +button.plain { + border-color: transparent; + background-color: transparent; + color: var(--brand-primary); +} +button.plain:not(:disabled):not(:read-only):hover { + border-color: transparent; + background-color: transparent; +} + +button.small, +::-webkit-file-upload-button, +td button { + padding: 5px 10px; + font-size: 10px; +} +td button.plain { + width: auto; + height: auto; +} + +button.center { + text-align: center; +} + +::-webkit-file-upload-button { + margin-right: 10px; +} + +pre { + margin: 0; + padding: 5px; + border-radius: 5px; + font-size: 12px; + font-family: 'Courier New', Courier, monospace; + white-space: pre-wrap; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + width: 100%; + min-height: 20px; +} + +header { + padding-bottom: 10px; + border-bottom: 2px solid var(--brand-border); +} + +footer { + padding-top: 10px; + border-top: 1px solid var(--brand-border); +} + +fieldset { + display: flex; + flex-direction: column; + align-items: flex-start; + border: 0; + padding: 0; + font-size: 12px; + gap: 5px; +} + +fieldset.row { + flex-direction: row; + align-items: center; + gap: 10px; +} + +label { + font-size: 12px; + font-weight: 600; +} + +select, +input[type='text'], +input[type='url'], +input[type='email'], +input[type='password'], +input[type='file'], +input[type='number'], +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'], +input[type='color'], +textarea { + border-radius: 5px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + font-size: 12px; + outline: 0; + color: var(--brand-text); + width: 50%; + min-width: 200px; + padding: 8px 12px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +textarea { + min-height: 64px; + resize: none; +} + +textarea.resizable { + resize: both; +} + +select.full, +input[type='text'].full, +input[type='email'].full, +input[type='url'].full, +input[type='password'].full, +input[type='file'].full, +input[type='number'].full, +input[type='date'].full, +input[type='time'].full, +input[type='datetime-local'].full, +input[type='month'].full, +input[type='week'].full, +input[type='range'].full, +textarea.full { + width: 95%; +} + +select:focus, +select:not(:disabled):hover, +input[type='text']:not(:read-only):focus, +input[type='text']:not(:disabled):not(:read-only):hover, +input[type='email']:not(:read-only):focus, +input[type='email']:not(:disabled):not(:read-only):hover, +input[type='url']:not(:read-only):focus, +input[type='url']:not(:disabled):not(:read-only):hover, +input[type='password']:not(:read-only):focus, +input[type='password']:not(:disabled):not(:read-only):hover, +input[type='file']:not(:read-only):focus, +input[type='file']:not(:disabled):not(:read-only):hover, +input[type='number']:not(:read-only):focus, +input[type='number']:not(:disabled):not(:read-only):hover, +input[type='date']:not(:read-only):focus, +input[type='date']:not(:disabled):not(:read-only):hover, +input[type='time']:not(:read-only):focus, +input[type='time']:not(:disabled):not(:read-only):hover, +input[type='datetime-local']:not(:read-only):focus, +input[type='datetime-local']:not(:disabled):not(:read-only):hover, +input[type='month']:not(:read-only):focus, +input[type='month']:not(:disabled):not(:read-only):hover, +input[type='week']:not(:read-only):focus, +input[type='week']:not(:disabled):not(:read-only):hover, +textarea:not(:read-only):focus, +textarea:not(:disabled):not(:read-only):hover, +input[type='checkbox']:focus, +input[type='checkbox']:not(:disabled):hover, +input[type='radio']:focus, +input[type='radio']:not(:disabled):hover, +input[type='color']:focus, +input[type='color']:not(:disabled):hover { + border-color: var(--brand-input-border-highlight); +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'] { + width: 200px; + min-width: auto; +} + +.theme-dark ::-webkit-calendar-picker-indicator { + filter: invert(1); +} + +::-webkit-datetime-edit-day-field:focus, +::-webkit-datetime-edit-month-field:focus, +::-webkit-datetime-edit-year-field:focus, +::-webkit-datetime-edit-hour-field:focus, +::-webkit-datetime-edit-minute-field:focus, +::-webkit-datetime-edit-week-field:focus { + background-color: var(--brand-primary); + color: #ffffff; +} + +::-webkit-outer-spin-button, +::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type='file'] { + padding: 4px 12px; +} + +select { + appearance: none; +} + +select:not([multiple]):not(:disabled) { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-size: 12px; + background-position: calc(100% - 12px) 12px; + background-color: var(--brand-input-background); +} + +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + +option { + color: var(--brand-text); + padding: 6px; + margin-bottom: 1px; +} + +option:hover { + background: var(--brand-input-border) + linear-gradient(0deg, var(--brand-input-border) 0%, var(--brand-input-border) 100%); + border-radius: 5px; +} + +option:checked { + background: var(--brand-primary) linear-gradient(0deg, var(--brand-primary) 0%, var(--brand-primary) 100%); + color: #ffffff; + border-radius: 5px; +} + +input[type='range'] { + -webkit-appearance: none; + height: 20px; + width: 200px; + background: transparent; + outline: none; +} + +input[type='range']::-webkit-slider-runnable-track { + -webkit-appearance: none; + height: 10px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + border-radius: 5px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: 20px; + width: 20px; + border-radius: 5px; + margin-top: -6px; + border: 1px solid var(--brand-input-border); + background: var(--brand-input-background); + cursor: pointer; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']:hover::-webkit-slider-runnable-track, +input[type='range']:focus::-webkit-slider-runnable-track, +input[type='range']:hover::-webkit-slider-thumb, +input[type='range']:focus::-webkit-slider-thumb { + border-color: var(--brand-input-border-highlight); +} + +button:disabled, +select:disabled, +input:disabled, +textarea:disabled, +footer a:disabled, +a[disabled] { + opacity: 0.3; + cursor: default; + pointer-events: none; + resize: none; +} + +select:invalid, +input:invalid, +textarea:invalid { + border-color: var(--brand-error); +} + +fieldset > span { + margin-left: 10px; + width: 50px; +} + +input[type='text'].large, +input[type='password'].large, +input[type='file'].large, +input[type='email'].large, +input[type='url'].large, +input[type='date'].large, +input[type='time'].large { + font-size: 20px; + padding: 20px 10px; +} + +input[type='text'].center, +input[type='password'].center, +input[type='email'].center, +input[type='url'].center { + text-align: center; +} + +input[type='checkbox'], +input[type='radio'] { + appearance: none; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + color: var(--brand-input-text); + outline: 0; + width: 20px; + height: 20px; + margin: 2px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='radio'] { + border-radius: 50%; +} + +input[type='checkbox']::before, +input[type='radio']::before { + content: ''; + display: none; + width: 16px; + height: 16px; + margin: 1px; + background-color: var(--brand-text); + opacity: 0.8; +} + +input[type='checkbox']:checked::before { + display: inline-block; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +input[type='radio']:checked::before { + display: inline-block; + clip-path: circle(35% at 52% 50%); +} + +input[type='checkbox'] + label, +input[type='radio'] + label { + white-space: nowrap; +} + +input[type='color'] { + width: 100px; + min-width: auto; + padding: 5px; +} + +input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + background: transparent; +} + +input[type='color']::-webkit-color-swatch { + border-radius: 5px; + border: none; +} + +/* This disables the auto zoom on iDevices */ +@supports (-webkit-touch-callout: none) { + select, + input[type='text'], + input[type='url'], + input[type='email'], + input[type='password'], + input[type='file'], + input[type='number'], + input[type='date'], + input[type='time'], + input[type='datetime-local'], + input[type='month'], + input[type='week'], + input[type='color'], + textarea { + font-size: 16px; + } +} + +hr { + width: 100%; + border: 0; + border-bottom: 1px solid var(--brand-input-border); +} + +ul { + font-size: 12px; + display: flex; + flex-direction: column; + gap: 10px; + list-style-type: none; +} + +li { + font-size: 12px; + position: relative; + padding: 0 0 10px; +} + +li::before { + content: ' '; + display: inline-block; + background-color: var(--brand-primary); + width: 8px; + height: 8px; + border-radius: 2px; + position: absolute; + left: -13px; + top: 3px; +} + +em { + font-size: 12px; +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.fill { + flex: 1; +} + +.fill_2 { + flex: 2; +} + +.scroll { + overflow: auto; +} + +.scroll-vertical { + overflow-y: auto; +} + +.scroll-horizontal { + overflow-x: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.middle { + align-items: center; +} + +.bottom { + align-items: flex-end; +} + +.spread { + justify-content: space-between; +} + +.around { + justify-content: space-around; +} + +.left { + display: flex; + align-items: flex-start; +} + +.center { + display: flex; + justify-content: center; +} + +.right { + display: flex; + justify-content: flex-end; +} + +.wrap { + flex-wrap: wrap; +} + +.gap5 { + gap: 5px; +} + +.gap10 { + gap: 10px; +} + +.gap20 { + gap: 20px; +} + +.gap40 { + gap: 40px; +} + +.pad10 { + padding: 10px; +} + +.pad20 { + padding: 20px; +} + +.pad0 { + padding: 0px; +} + +.table { + display: flex; + flex: 1; + flex-direction: column; + font-size: 10px; +} + +table { + width: 100%; + font-size: 10px; + border: 0; + border-collapse: collapse; +} + +table, +.table { + border: var(--brand-input-border) 1px solid; +} + +.table-row { + display: flex; + flex: 1; + flex-direction: row; +} + +table > tr:first-child, +thead > tr, +.table-row.header { + background-color: var(--brand-table-header); +} + +table > tr:nth-child(even), +.table > div:nth-child(even), +tbody > tr:nth-child(odd) { + background-color: var(--brand-table-row-even); +} + +table > tr:nth-child(odd), +.table > div:not(:first-child):nth-child(odd), +tbody > tr:nth-child(even) { + background-color: var(--brand-table-row-odd); +} + +th, +.table-row.header > div { + color: var(--brand-table-header-text); + font-weight: bold; + padding: 10px 5px; + text-align: left; + word-break: break-word; +} + +.table-row > div { + flex: 1; +} + +td, +.table-row:not(.header) > div { + padding: 5px; + word-break: break-word; + color: var(--brand-text); +} + +.table-row:not(.header) > div { + display: flex; + align-items: center; +} + +@media screen and (max-width: 736px) { + .table-row { + flex-direction: column; + } + + .table-row.header { + display: none; + } + + .table-row:not(.header) > div { + display: flex; + align-items: center; + flex: 1; + gap: 10px; + } + + .table-row:not(.header) > div:before { + content: attr(data-name); + font-weight: bold; + white-space: nowrap; + width: 20%; + } + + .table-row > div.right { + justify-content: flex-start; + } + + .table-row > div.center { + justify-content: flex-start; + } +} + +.border { + border: 1px solid var(--brand-input-border); + border-radius: 5px; +} + +.drag { + user-select: none; + -webkit-app-region: drag; +} + +.no-drag { + -webkit-app-region: none; +} + +.form { + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; + font-size: 12px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; +} + +.form-group.large { + gap: 20px; +} + +.width-full { + width: 100%; +} + +.max-width-full { + max-width: 100%; +} + +.width-responsive { + max-width: fit-content; +} + +.hidden { + display: none; +} + +.pointer { + cursor: pointer; +} + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/use-popup-window/advanced/public/favicon.ico b/how-to/use-popup-window/advanced/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0b6e09e66a4928f206aa862087f92992c4591220 GIT binary patch literal 108568 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 literal 0 HcmV?d00001 diff --git a/how-to/use-popup-window/advanced/public/html/app.html b/how-to/use-popup-window/advanced/public/html/app.html index 6b1bd160..806b6662 100644 --- a/how-to/use-popup-window/advanced/public/html/app.html +++ b/how-to/use-popup-window/advanced/public/html/app.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-popup-window/advanced/public/html/popup.html b/how-to/use-popup-window/advanced/public/html/popup.html index a80e0e68..eac6b9c0 100644 --- a/how-to/use-popup-window/advanced/public/html/popup.html +++ b/how-to/use-popup-window/advanced/public/html/popup.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-popup-window/advanced/scripts/kill.mjs b/how-to/use-popup-window/advanced/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/use-popup-window/advanced/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/use-popup-window/advanced/scripts/launch.mjs b/how-to/use-popup-window/advanced/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/use-popup-window/advanced/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/use-popup-window/advanced/server/src/app.ts b/how-to/use-popup-window/advanced/server/src/app.ts deleted file mode 100644 index 694c7722..00000000 --- a/how-to/use-popup-window/advanced/server/src/app.ts +++ /dev/null @@ -1,17 +0,0 @@ -import express from "express"; -import path from "path"; - -const app = express(); - -const mainPath = path.join(__dirname, "..", "..", "public"); -const commonPath = path.join(__dirname, "..", "..", "..", "..", "common", "public"); -const port = 5050; - -console.log(`Main Path / = ${mainPath}`); -console.log(`Common Path /common = ${commonPath}`); -console.log("Root path checks both the main and common directories."); -app.use(express.static(mainPath)); -app.use("/common", express.static(commonPath)); -app.listen(port, () => { - console.log("server is listening on port", port); -}); diff --git a/how-to/use-popup-window/advanced/server/tsconfig.json b/how-to/use-popup-window/advanced/server/tsconfig.json deleted file mode 100644 index adb16a6f..00000000 --- a/how-to/use-popup-window/advanced/server/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "es2021", - "module": "commonjs", - "sourceMap": true, - "rootDir": "./src", - "outDir": "build", - "skipLibCheck": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", - "moduleResolution": "node" - }, - "include": ["./src/**/*.ts"] -} diff --git a/how-to/use-popup-window/modal/client/src/app.ts b/how-to/use-popup-window/modal/client/src/app.ts index e8a0aba4..4ad910f5 100644 --- a/how-to/use-popup-window/modal/client/src/app.ts +++ b/how-to/use-popup-window/modal/client/src/app.ts @@ -2,7 +2,7 @@ export {}; document.addEventListener("DOMContentLoaded", init); -function init() { +function init(): void { const showPopupButton = document.querySelector("#btn-show-popup"); showPopupButton.addEventListener("click", createPopupWindow); } diff --git a/how-to/use-popup-window/modal/client/src/popup.ts b/how-to/use-popup-window/modal/client/src/popup.ts index 10848707..2f12cec7 100644 --- a/how-to/use-popup-window/modal/client/src/popup.ts +++ b/how-to/use-popup-window/modal/client/src/popup.ts @@ -4,7 +4,7 @@ const me = fin.me as OpenFin.Window; document.addEventListener("DOMContentLoaded", init); -function init() { +function init(): void { const okButton = document.querySelector("#btn-ok"); const confirmButton = document.querySelector("#btn-confirm"); const cancelButton = document.querySelector("#btn-cancel"); diff --git a/how-to/use-popup-window/modal/client/tsconfig.json b/how-to/use-popup-window/modal/client/tsconfig.json index 65f1c0a1..1bfae137 100644 --- a/how-to/use-popup-window/modal/client/tsconfig.json +++ b/how-to/use-popup-window/modal/client/tsconfig.json @@ -6,11 +6,11 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node", - "types": ["../../../common/types/fin"] + "types": ["./types/fin"] }, "include": ["./src/**/*.ts"] } diff --git a/how-to/use-popup-window/modal/client/types/fin.d.ts b/how-to/use-popup-window/modal/client/types/fin.d.ts new file mode 100644 index 00000000..8936d86c --- /dev/null +++ b/how-to/use-popup-window/modal/client/types/fin.d.ts @@ -0,0 +1,5 @@ +import type { fin as FinApi } from "@openfin/core"; + +declare global { + const fin: typeof FinApi; +} diff --git a/how-to/use-popup-window/modal/package.json b/how-to/use-popup-window/modal/package.json index d07201e2..6b5097e6 100644 --- a/how-to/use-popup-window/modal/package.json +++ b/how-to/use-popup-window/modal/package.json @@ -4,27 +4,22 @@ "description": "A demonstration of a modal popup window.", "main": "index.js", "scripts": { - "build": "npm run build-server & npm run build-client", - "build-server": "tsc --project ./server", + "kill": "node ./scripts/kill.mjs", + "client": "node ./scripts/launch.mjs", "build-client": "webpack build --config ./client/webpack.config.js --mode=development", - "build-client-prod": "webpack build --config ./client/webpack.config.js --mode=production", - "start": "npm run server", - "client": "npm --prefix ../../common/ run client", - "server": "node ./server/build/app.js", - "kill": "npm --prefix ../../common/ run kill", - "setup": "cd ../../../ && npm install && cd how-to/use-popup-window/modal && npm run build", - "validate": "npm --prefix ../../../ run validate" + "build": "npm run build-client", + "start": "npx --yes http-server ./public -p 5050 -c-1", + "setup": "cd ../../../ && npm install && cd how-to/use-popup-window/modal && npm run build" }, "author": "connor.mccafferty@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "@openfin/core": "^28.72.17", - "@types/node": "^18.14.2", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "@types/node": "^20.4.1", + "openfin-adapter": "^26.70.16", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } } diff --git a/how-to/use-popup-window/modal/public/common/images/icon-blue.png b/how-to/use-popup-window/modal/public/common/images/icon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fc78450293c9ff813b9d8bb19e5f3918795beeba GIT binary patch literal 1028 zcmV+f1pE7mP);txuo(sHhB6W3YG5`oAu(|@5JwGR0@_rb|qK6~mh) zPHNEo2hGbNd@X023)BVmoi;D4qu}=porgN=f+RB`pNBf?f(8a)4R$&( ztl0hqyjrQv$VwS4M=U6fJcptvY;wwOTW@8aWGyI3p0oH8*6`g72chvV5wl8kS)i&bleVxAK(7h5FbCl=%?&*4(x8Oj#h@e>PjndfYNfe4%N6AN;g z=ai&^EXGeR$YGu%-Lh@Q_a7V@NGwSFTNLCu(*Db)|4S^$WuDV7sDDI7kjp%WUAzRF zvs7Y1uJWAm3EA@Gd$uVLRz-SsSvSwAo`eOnr+N}!h80$M(B2;K=_7C|mwukZne%W~ z(5yx?=lQ&SA1IDH(#UhTlvvDJuZAt!11=?QCajl|_JpJom`U@TBv1fb5T3HrxRxmO zL{XaOG=fWpyAqq&G*O9MrFl+0l*4>SvQadPN~++7sjRAOq@xB(q3+_K>!^KByxEN%AD^ z9gMWi^+C3Ijua img { + width: 32px; + height: 32px; +} +button.secondary { + background-color: var(--brand-input-background); + color: var(--brand-text); + border-color: var(--brand-input-border); +} +button.secondary:not(:disabled):hover { + background-color: var(--brand-input-background); +} +button.plain { + border-color: transparent; + background-color: transparent; + color: var(--brand-primary); +} +button.plain:not(:disabled):not(:read-only):hover { + border-color: transparent; + background-color: transparent; +} + +button.small, +::-webkit-file-upload-button, +td button { + padding: 5px 10px; + font-size: 10px; +} +td button.plain { + width: auto; + height: auto; +} + +button.center { + text-align: center; +} + +::-webkit-file-upload-button { + margin-right: 10px; +} + +pre { + margin: 0; + padding: 5px; + border-radius: 5px; + font-size: 12px; + font-family: 'Courier New', Courier, monospace; + white-space: pre-wrap; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + width: 100%; + min-height: 20px; +} + +header { + padding-bottom: 10px; + border-bottom: 2px solid var(--brand-border); +} + +footer { + padding-top: 10px; + border-top: 1px solid var(--brand-border); +} + +fieldset { + display: flex; + flex-direction: column; + align-items: flex-start; + border: 0; + padding: 0; + font-size: 12px; + gap: 5px; +} + +fieldset.row { + flex-direction: row; + align-items: center; + gap: 10px; +} + +label { + font-size: 12px; + font-weight: 600; +} + +select, +input[type='text'], +input[type='url'], +input[type='email'], +input[type='password'], +input[type='file'], +input[type='number'], +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'], +input[type='color'], +textarea { + border-radius: 5px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + font-size: 12px; + outline: 0; + color: var(--brand-text); + width: 50%; + min-width: 200px; + padding: 8px 12px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +textarea { + min-height: 64px; + resize: none; +} + +textarea.resizable { + resize: both; +} + +select.full, +input[type='text'].full, +input[type='email'].full, +input[type='url'].full, +input[type='password'].full, +input[type='file'].full, +input[type='number'].full, +input[type='date'].full, +input[type='time'].full, +input[type='datetime-local'].full, +input[type='month'].full, +input[type='week'].full, +input[type='range'].full, +textarea.full { + width: 95%; +} + +select:focus, +select:not(:disabled):hover, +input[type='text']:not(:read-only):focus, +input[type='text']:not(:disabled):not(:read-only):hover, +input[type='email']:not(:read-only):focus, +input[type='email']:not(:disabled):not(:read-only):hover, +input[type='url']:not(:read-only):focus, +input[type='url']:not(:disabled):not(:read-only):hover, +input[type='password']:not(:read-only):focus, +input[type='password']:not(:disabled):not(:read-only):hover, +input[type='file']:not(:read-only):focus, +input[type='file']:not(:disabled):not(:read-only):hover, +input[type='number']:not(:read-only):focus, +input[type='number']:not(:disabled):not(:read-only):hover, +input[type='date']:not(:read-only):focus, +input[type='date']:not(:disabled):not(:read-only):hover, +input[type='time']:not(:read-only):focus, +input[type='time']:not(:disabled):not(:read-only):hover, +input[type='datetime-local']:not(:read-only):focus, +input[type='datetime-local']:not(:disabled):not(:read-only):hover, +input[type='month']:not(:read-only):focus, +input[type='month']:not(:disabled):not(:read-only):hover, +input[type='week']:not(:read-only):focus, +input[type='week']:not(:disabled):not(:read-only):hover, +textarea:not(:read-only):focus, +textarea:not(:disabled):not(:read-only):hover, +input[type='checkbox']:focus, +input[type='checkbox']:not(:disabled):hover, +input[type='radio']:focus, +input[type='radio']:not(:disabled):hover, +input[type='color']:focus, +input[type='color']:not(:disabled):hover { + border-color: var(--brand-input-border-highlight); +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'] { + width: 200px; + min-width: auto; +} + +.theme-dark ::-webkit-calendar-picker-indicator { + filter: invert(1); +} + +::-webkit-datetime-edit-day-field:focus, +::-webkit-datetime-edit-month-field:focus, +::-webkit-datetime-edit-year-field:focus, +::-webkit-datetime-edit-hour-field:focus, +::-webkit-datetime-edit-minute-field:focus, +::-webkit-datetime-edit-week-field:focus { + background-color: var(--brand-primary); + color: #ffffff; +} + +::-webkit-outer-spin-button, +::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type='file'] { + padding: 4px 12px; +} + +select { + appearance: none; +} + +select:not([multiple]):not(:disabled) { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-size: 12px; + background-position: calc(100% - 12px) 12px; + background-color: var(--brand-input-background); +} + +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + +option { + color: var(--brand-text); + padding: 6px; + margin-bottom: 1px; +} + +option:hover { + background: var(--brand-input-border) + linear-gradient(0deg, var(--brand-input-border) 0%, var(--brand-input-border) 100%); + border-radius: 5px; +} + +option:checked { + background: var(--brand-primary) linear-gradient(0deg, var(--brand-primary) 0%, var(--brand-primary) 100%); + color: #ffffff; + border-radius: 5px; +} + +input[type='range'] { + -webkit-appearance: none; + height: 20px; + width: 200px; + background: transparent; + outline: none; +} + +input[type='range']::-webkit-slider-runnable-track { + -webkit-appearance: none; + height: 10px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + border-radius: 5px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: 20px; + width: 20px; + border-radius: 5px; + margin-top: -6px; + border: 1px solid var(--brand-input-border); + background: var(--brand-input-background); + cursor: pointer; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']:hover::-webkit-slider-runnable-track, +input[type='range']:focus::-webkit-slider-runnable-track, +input[type='range']:hover::-webkit-slider-thumb, +input[type='range']:focus::-webkit-slider-thumb { + border-color: var(--brand-input-border-highlight); +} + +button:disabled, +select:disabled, +input:disabled, +textarea:disabled, +footer a:disabled, +a[disabled] { + opacity: 0.3; + cursor: default; + pointer-events: none; + resize: none; +} + +select:invalid, +input:invalid, +textarea:invalid { + border-color: var(--brand-error); +} + +fieldset > span { + margin-left: 10px; + width: 50px; +} + +input[type='text'].large, +input[type='password'].large, +input[type='file'].large, +input[type='email'].large, +input[type='url'].large, +input[type='date'].large, +input[type='time'].large { + font-size: 20px; + padding: 20px 10px; +} + +input[type='text'].center, +input[type='password'].center, +input[type='email'].center, +input[type='url'].center { + text-align: center; +} + +input[type='checkbox'], +input[type='radio'] { + appearance: none; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + color: var(--brand-input-text); + outline: 0; + width: 20px; + height: 20px; + margin: 2px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='radio'] { + border-radius: 50%; +} + +input[type='checkbox']::before, +input[type='radio']::before { + content: ''; + display: none; + width: 16px; + height: 16px; + margin: 1px; + background-color: var(--brand-text); + opacity: 0.8; +} + +input[type='checkbox']:checked::before { + display: inline-block; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +input[type='radio']:checked::before { + display: inline-block; + clip-path: circle(35% at 52% 50%); +} + +input[type='checkbox'] + label, +input[type='radio'] + label { + white-space: nowrap; +} + +input[type='color'] { + width: 100px; + min-width: auto; + padding: 5px; +} + +input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + background: transparent; +} + +input[type='color']::-webkit-color-swatch { + border-radius: 5px; + border: none; +} + +/* This disables the auto zoom on iDevices */ +@supports (-webkit-touch-callout: none) { + select, + input[type='text'], + input[type='url'], + input[type='email'], + input[type='password'], + input[type='file'], + input[type='number'], + input[type='date'], + input[type='time'], + input[type='datetime-local'], + input[type='month'], + input[type='week'], + input[type='color'], + textarea { + font-size: 16px; + } +} + +hr { + width: 100%; + border: 0; + border-bottom: 1px solid var(--brand-input-border); +} + +ul { + font-size: 12px; + display: flex; + flex-direction: column; + gap: 10px; + list-style-type: none; +} + +li { + font-size: 12px; + position: relative; + padding: 0 0 10px; +} + +li::before { + content: ' '; + display: inline-block; + background-color: var(--brand-primary); + width: 8px; + height: 8px; + border-radius: 2px; + position: absolute; + left: -13px; + top: 3px; +} + +em { + font-size: 12px; +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.fill { + flex: 1; +} + +.fill_2 { + flex: 2; +} + +.scroll { + overflow: auto; +} + +.scroll-vertical { + overflow-y: auto; +} + +.scroll-horizontal { + overflow-x: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.middle { + align-items: center; +} + +.bottom { + align-items: flex-end; +} + +.spread { + justify-content: space-between; +} + +.around { + justify-content: space-around; +} + +.left { + display: flex; + align-items: flex-start; +} + +.center { + display: flex; + justify-content: center; +} + +.right { + display: flex; + justify-content: flex-end; +} + +.wrap { + flex-wrap: wrap; +} + +.gap5 { + gap: 5px; +} + +.gap10 { + gap: 10px; +} + +.gap20 { + gap: 20px; +} + +.gap40 { + gap: 40px; +} + +.pad10 { + padding: 10px; +} + +.pad20 { + padding: 20px; +} + +.pad0 { + padding: 0px; +} + +.table { + display: flex; + flex: 1; + flex-direction: column; + font-size: 10px; +} + +table { + width: 100%; + font-size: 10px; + border: 0; + border-collapse: collapse; +} + +table, +.table { + border: var(--brand-input-border) 1px solid; +} + +.table-row { + display: flex; + flex: 1; + flex-direction: row; +} + +table > tr:first-child, +thead > tr, +.table-row.header { + background-color: var(--brand-table-header); +} + +table > tr:nth-child(even), +.table > div:nth-child(even), +tbody > tr:nth-child(odd) { + background-color: var(--brand-table-row-even); +} + +table > tr:nth-child(odd), +.table > div:not(:first-child):nth-child(odd), +tbody > tr:nth-child(even) { + background-color: var(--brand-table-row-odd); +} + +th, +.table-row.header > div { + color: var(--brand-table-header-text); + font-weight: bold; + padding: 10px 5px; + text-align: left; + word-break: break-word; +} + +.table-row > div { + flex: 1; +} + +td, +.table-row:not(.header) > div { + padding: 5px; + word-break: break-word; + color: var(--brand-text); +} + +.table-row:not(.header) > div { + display: flex; + align-items: center; +} + +@media screen and (max-width: 736px) { + .table-row { + flex-direction: column; + } + + .table-row.header { + display: none; + } + + .table-row:not(.header) > div { + display: flex; + align-items: center; + flex: 1; + gap: 10px; + } + + .table-row:not(.header) > div:before { + content: attr(data-name); + font-weight: bold; + white-space: nowrap; + width: 20%; + } + + .table-row > div.right { + justify-content: flex-start; + } + + .table-row > div.center { + justify-content: flex-start; + } +} + +.border { + border: 1px solid var(--brand-input-border); + border-radius: 5px; +} + +.drag { + user-select: none; + -webkit-app-region: drag; +} + +.no-drag { + -webkit-app-region: none; +} + +.form { + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; + font-size: 12px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; +} + +.form-group.large { + gap: 20px; +} + +.width-full { + width: 100%; +} + +.max-width-full { + max-width: 100%; +} + +.width-responsive { + max-width: fit-content; +} + +.hidden { + display: none; +} + +.pointer { + cursor: pointer; +} + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/use-popup-window/modal/public/favicon.ico b/how-to/use-popup-window/modal/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0b6e09e66a4928f206aa862087f92992c4591220 GIT binary patch literal 108568 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 literal 0 HcmV?d00001 diff --git a/how-to/use-popup-window/modal/public/html/app.html b/how-to/use-popup-window/modal/public/html/app.html index c16f5aa7..67c99e0f 100644 --- a/how-to/use-popup-window/modal/public/html/app.html +++ b/how-to/use-popup-window/modal/public/html/app.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-popup-window/modal/public/html/popup.html b/how-to/use-popup-window/modal/public/html/popup.html index 41639ed4..571f1de3 100644 --- a/how-to/use-popup-window/modal/public/html/popup.html +++ b/how-to/use-popup-window/modal/public/html/popup.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-popup-window/modal/scripts/kill.mjs b/how-to/use-popup-window/modal/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/use-popup-window/modal/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/use-popup-window/modal/scripts/launch.mjs b/how-to/use-popup-window/modal/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/use-popup-window/modal/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/use-popup-window/modal/server/src/app.ts b/how-to/use-popup-window/modal/server/src/app.ts deleted file mode 100644 index 694c7722..00000000 --- a/how-to/use-popup-window/modal/server/src/app.ts +++ /dev/null @@ -1,17 +0,0 @@ -import express from "express"; -import path from "path"; - -const app = express(); - -const mainPath = path.join(__dirname, "..", "..", "public"); -const commonPath = path.join(__dirname, "..", "..", "..", "..", "common", "public"); -const port = 5050; - -console.log(`Main Path / = ${mainPath}`); -console.log(`Common Path /common = ${commonPath}`); -console.log("Root path checks both the main and common directories."); -app.use(express.static(mainPath)); -app.use("/common", express.static(commonPath)); -app.listen(port, () => { - console.log("server is listening on port", port); -}); diff --git a/how-to/use-popup-window/modal/server/tsconfig.json b/how-to/use-popup-window/modal/server/tsconfig.json deleted file mode 100644 index adb16a6f..00000000 --- a/how-to/use-popup-window/modal/server/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "es2021", - "module": "commonjs", - "sourceMap": true, - "rootDir": "./src", - "outDir": "build", - "skipLibCheck": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", - "moduleResolution": "node" - }, - "include": ["./src/**/*.ts"] -} diff --git a/how-to/use-popup-window/multiple-results/client/src/app.ts b/how-to/use-popup-window/multiple-results/client/src/app.ts index 59073b13..9b730430 100644 --- a/how-to/use-popup-window/multiple-results/client/src/app.ts +++ b/how-to/use-popup-window/multiple-results/client/src/app.ts @@ -2,7 +2,7 @@ export {}; document.addEventListener("DOMContentLoaded", init); -function init() { +function init(): void { const showPopupButton = document.querySelector("#btn-show-popup"); showPopupButton.addEventListener("click", createPopupWindow); } diff --git a/how-to/use-popup-window/multiple-results/client/src/popup.ts b/how-to/use-popup-window/multiple-results/client/src/popup.ts index f61414b9..33a163e7 100644 --- a/how-to/use-popup-window/multiple-results/client/src/popup.ts +++ b/how-to/use-popup-window/multiple-results/client/src/popup.ts @@ -2,11 +2,11 @@ const me = fin.me as OpenFin.Window; document.addEventListener("DOMContentLoaded", init); -async function init() { +async function init(): Promise { await createGroupButtons(); } -async function createGroupButtons() { +async function createGroupButtons(): Promise { const { customData: contextGroups } = await me.getOptions(); for (const group of contextGroups) { const groupBtn = document.createElement("button"); diff --git a/how-to/use-popup-window/multiple-results/client/tsconfig.json b/how-to/use-popup-window/multiple-results/client/tsconfig.json index 65f1c0a1..1bfae137 100644 --- a/how-to/use-popup-window/multiple-results/client/tsconfig.json +++ b/how-to/use-popup-window/multiple-results/client/tsconfig.json @@ -6,11 +6,11 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node", - "types": ["../../../common/types/fin"] + "types": ["./types/fin"] }, "include": ["./src/**/*.ts"] } diff --git a/how-to/use-popup-window/multiple-results/client/types/fin.d.ts b/how-to/use-popup-window/multiple-results/client/types/fin.d.ts new file mode 100644 index 00000000..8936d86c --- /dev/null +++ b/how-to/use-popup-window/multiple-results/client/types/fin.d.ts @@ -0,0 +1,5 @@ +import type { fin as FinApi } from "@openfin/core"; + +declare global { + const fin: typeof FinApi; +} diff --git a/how-to/use-popup-window/multiple-results/package.json b/how-to/use-popup-window/multiple-results/package.json index 4d9cab67..63c248b4 100644 --- a/how-to/use-popup-window/multiple-results/package.json +++ b/how-to/use-popup-window/multiple-results/package.json @@ -4,27 +4,22 @@ "description": "A demonstration of a popup window that can return multiple results.", "main": "index.js", "scripts": { - "build": "npm run build-server & npm run build-client", - "build-server": "tsc --project ./server", + "kill": "node ./scripts/kill.mjs", + "client": "node ./scripts/launch.mjs", "build-client": "webpack build --config ./client/webpack.config.js --mode=development", - "build-client-prod": "webpack build --config ./client/webpack.config.js --mode=production", - "start": "npm run server", - "client": "npm --prefix ../../common/ run client", - "server": "node ./server/build/app.js", - "kill": "npm --prefix ../../common/ run kill", - "setup": "cd ../../../ && npm install && cd how-to/use-popup-window/multiple-results && npm run build", - "validate": "npm --prefix ../../../ run validate" + "build": "npm run build-client", + "start": "npx --yes http-server ./public -p 5050 -c-1", + "setup": "cd ../../../ && npm install && cd how-to/use-popup-window/multiple-results && npm run build" }, "author": "connor.mccafferty@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "@openfin/core": "^28.72.17", - "@types/node": "^18.14.2", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "@types/node": "^20.4.1", + "openfin-adapter": "^26.70.16", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } } diff --git a/how-to/use-popup-window/multiple-results/public/common/images/icon-blue.png b/how-to/use-popup-window/multiple-results/public/common/images/icon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fc78450293c9ff813b9d8bb19e5f3918795beeba GIT binary patch literal 1028 zcmV+f1pE7mP);txuo(sHhB6W3YG5`oAu(|@5JwGR0@_rb|qK6~mh) zPHNEo2hGbNd@X023)BVmoi;D4qu}=porgN=f+RB`pNBf?f(8a)4R$&( ztl0hqyjrQv$VwS4M=U6fJcptvY;wwOTW@8aWGyI3p0oH8*6`g72chvV5wl8kS)i&bleVxAK(7h5FbCl=%?&*4(x8Oj#h@e>PjndfYNfe4%N6AN;g z=ai&^EXGeR$YGu%-Lh@Q_a7V@NGwSFTNLCu(*Db)|4S^$WuDV7sDDI7kjp%WUAzRF zvs7Y1uJWAm3EA@Gd$uVLRz-SsSvSwAo`eOnr+N}!h80$M(B2;K=_7C|mwukZne%W~ z(5yx?=lQ&SA1IDH(#UhTlvvDJuZAt!11=?QCajl|_JpJom`U@TBv1fb5T3HrxRxmO zL{XaOG=fWpyAqq&G*O9MrFl+0l*4>SvQadPN~++7sjRAOq@xB(q3+_K>!^KByxEN%AD^ z9gMWi^+C3Ijua img { + width: 32px; + height: 32px; +} +button.secondary { + background-color: var(--brand-input-background); + color: var(--brand-text); + border-color: var(--brand-input-border); +} +button.secondary:not(:disabled):hover { + background-color: var(--brand-input-background); +} +button.plain { + border-color: transparent; + background-color: transparent; + color: var(--brand-primary); +} +button.plain:not(:disabled):not(:read-only):hover { + border-color: transparent; + background-color: transparent; +} + +button.small, +::-webkit-file-upload-button, +td button { + padding: 5px 10px; + font-size: 10px; +} +td button.plain { + width: auto; + height: auto; +} + +button.center { + text-align: center; +} + +::-webkit-file-upload-button { + margin-right: 10px; +} + +pre { + margin: 0; + padding: 5px; + border-radius: 5px; + font-size: 12px; + font-family: 'Courier New', Courier, monospace; + white-space: pre-wrap; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + width: 100%; + min-height: 20px; +} + +header { + padding-bottom: 10px; + border-bottom: 2px solid var(--brand-border); +} + +footer { + padding-top: 10px; + border-top: 1px solid var(--brand-border); +} + +fieldset { + display: flex; + flex-direction: column; + align-items: flex-start; + border: 0; + padding: 0; + font-size: 12px; + gap: 5px; +} + +fieldset.row { + flex-direction: row; + align-items: center; + gap: 10px; +} + +label { + font-size: 12px; + font-weight: 600; +} + +select, +input[type='text'], +input[type='url'], +input[type='email'], +input[type='password'], +input[type='file'], +input[type='number'], +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'], +input[type='color'], +textarea { + border-radius: 5px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + font-size: 12px; + outline: 0; + color: var(--brand-text); + width: 50%; + min-width: 200px; + padding: 8px 12px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +textarea { + min-height: 64px; + resize: none; +} + +textarea.resizable { + resize: both; +} + +select.full, +input[type='text'].full, +input[type='email'].full, +input[type='url'].full, +input[type='password'].full, +input[type='file'].full, +input[type='number'].full, +input[type='date'].full, +input[type='time'].full, +input[type='datetime-local'].full, +input[type='month'].full, +input[type='week'].full, +input[type='range'].full, +textarea.full { + width: 95%; +} + +select:focus, +select:not(:disabled):hover, +input[type='text']:not(:read-only):focus, +input[type='text']:not(:disabled):not(:read-only):hover, +input[type='email']:not(:read-only):focus, +input[type='email']:not(:disabled):not(:read-only):hover, +input[type='url']:not(:read-only):focus, +input[type='url']:not(:disabled):not(:read-only):hover, +input[type='password']:not(:read-only):focus, +input[type='password']:not(:disabled):not(:read-only):hover, +input[type='file']:not(:read-only):focus, +input[type='file']:not(:disabled):not(:read-only):hover, +input[type='number']:not(:read-only):focus, +input[type='number']:not(:disabled):not(:read-only):hover, +input[type='date']:not(:read-only):focus, +input[type='date']:not(:disabled):not(:read-only):hover, +input[type='time']:not(:read-only):focus, +input[type='time']:not(:disabled):not(:read-only):hover, +input[type='datetime-local']:not(:read-only):focus, +input[type='datetime-local']:not(:disabled):not(:read-only):hover, +input[type='month']:not(:read-only):focus, +input[type='month']:not(:disabled):not(:read-only):hover, +input[type='week']:not(:read-only):focus, +input[type='week']:not(:disabled):not(:read-only):hover, +textarea:not(:read-only):focus, +textarea:not(:disabled):not(:read-only):hover, +input[type='checkbox']:focus, +input[type='checkbox']:not(:disabled):hover, +input[type='radio']:focus, +input[type='radio']:not(:disabled):hover, +input[type='color']:focus, +input[type='color']:not(:disabled):hover { + border-color: var(--brand-input-border-highlight); +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'] { + width: 200px; + min-width: auto; +} + +.theme-dark ::-webkit-calendar-picker-indicator { + filter: invert(1); +} + +::-webkit-datetime-edit-day-field:focus, +::-webkit-datetime-edit-month-field:focus, +::-webkit-datetime-edit-year-field:focus, +::-webkit-datetime-edit-hour-field:focus, +::-webkit-datetime-edit-minute-field:focus, +::-webkit-datetime-edit-week-field:focus { + background-color: var(--brand-primary); + color: #ffffff; +} + +::-webkit-outer-spin-button, +::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type='file'] { + padding: 4px 12px; +} + +select { + appearance: none; +} + +select:not([multiple]):not(:disabled) { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-size: 12px; + background-position: calc(100% - 12px) 12px; + background-color: var(--brand-input-background); +} + +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + +option { + color: var(--brand-text); + padding: 6px; + margin-bottom: 1px; +} + +option:hover { + background: var(--brand-input-border) + linear-gradient(0deg, var(--brand-input-border) 0%, var(--brand-input-border) 100%); + border-radius: 5px; +} + +option:checked { + background: var(--brand-primary) linear-gradient(0deg, var(--brand-primary) 0%, var(--brand-primary) 100%); + color: #ffffff; + border-radius: 5px; +} + +input[type='range'] { + -webkit-appearance: none; + height: 20px; + width: 200px; + background: transparent; + outline: none; +} + +input[type='range']::-webkit-slider-runnable-track { + -webkit-appearance: none; + height: 10px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + border-radius: 5px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: 20px; + width: 20px; + border-radius: 5px; + margin-top: -6px; + border: 1px solid var(--brand-input-border); + background: var(--brand-input-background); + cursor: pointer; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']:hover::-webkit-slider-runnable-track, +input[type='range']:focus::-webkit-slider-runnable-track, +input[type='range']:hover::-webkit-slider-thumb, +input[type='range']:focus::-webkit-slider-thumb { + border-color: var(--brand-input-border-highlight); +} + +button:disabled, +select:disabled, +input:disabled, +textarea:disabled, +footer a:disabled, +a[disabled] { + opacity: 0.3; + cursor: default; + pointer-events: none; + resize: none; +} + +select:invalid, +input:invalid, +textarea:invalid { + border-color: var(--brand-error); +} + +fieldset > span { + margin-left: 10px; + width: 50px; +} + +input[type='text'].large, +input[type='password'].large, +input[type='file'].large, +input[type='email'].large, +input[type='url'].large, +input[type='date'].large, +input[type='time'].large { + font-size: 20px; + padding: 20px 10px; +} + +input[type='text'].center, +input[type='password'].center, +input[type='email'].center, +input[type='url'].center { + text-align: center; +} + +input[type='checkbox'], +input[type='radio'] { + appearance: none; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + color: var(--brand-input-text); + outline: 0; + width: 20px; + height: 20px; + margin: 2px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='radio'] { + border-radius: 50%; +} + +input[type='checkbox']::before, +input[type='radio']::before { + content: ''; + display: none; + width: 16px; + height: 16px; + margin: 1px; + background-color: var(--brand-text); + opacity: 0.8; +} + +input[type='checkbox']:checked::before { + display: inline-block; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +input[type='radio']:checked::before { + display: inline-block; + clip-path: circle(35% at 52% 50%); +} + +input[type='checkbox'] + label, +input[type='radio'] + label { + white-space: nowrap; +} + +input[type='color'] { + width: 100px; + min-width: auto; + padding: 5px; +} + +input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + background: transparent; +} + +input[type='color']::-webkit-color-swatch { + border-radius: 5px; + border: none; +} + +/* This disables the auto zoom on iDevices */ +@supports (-webkit-touch-callout: none) { + select, + input[type='text'], + input[type='url'], + input[type='email'], + input[type='password'], + input[type='file'], + input[type='number'], + input[type='date'], + input[type='time'], + input[type='datetime-local'], + input[type='month'], + input[type='week'], + input[type='color'], + textarea { + font-size: 16px; + } +} + +hr { + width: 100%; + border: 0; + border-bottom: 1px solid var(--brand-input-border); +} + +ul { + font-size: 12px; + display: flex; + flex-direction: column; + gap: 10px; + list-style-type: none; +} + +li { + font-size: 12px; + position: relative; + padding: 0 0 10px; +} + +li::before { + content: ' '; + display: inline-block; + background-color: var(--brand-primary); + width: 8px; + height: 8px; + border-radius: 2px; + position: absolute; + left: -13px; + top: 3px; +} + +em { + font-size: 12px; +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.fill { + flex: 1; +} + +.fill_2 { + flex: 2; +} + +.scroll { + overflow: auto; +} + +.scroll-vertical { + overflow-y: auto; +} + +.scroll-horizontal { + overflow-x: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.middle { + align-items: center; +} + +.bottom { + align-items: flex-end; +} + +.spread { + justify-content: space-between; +} + +.around { + justify-content: space-around; +} + +.left { + display: flex; + align-items: flex-start; +} + +.center { + display: flex; + justify-content: center; +} + +.right { + display: flex; + justify-content: flex-end; +} + +.wrap { + flex-wrap: wrap; +} + +.gap5 { + gap: 5px; +} + +.gap10 { + gap: 10px; +} + +.gap20 { + gap: 20px; +} + +.gap40 { + gap: 40px; +} + +.pad10 { + padding: 10px; +} + +.pad20 { + padding: 20px; +} + +.pad0 { + padding: 0px; +} + +.table { + display: flex; + flex: 1; + flex-direction: column; + font-size: 10px; +} + +table { + width: 100%; + font-size: 10px; + border: 0; + border-collapse: collapse; +} + +table, +.table { + border: var(--brand-input-border) 1px solid; +} + +.table-row { + display: flex; + flex: 1; + flex-direction: row; +} + +table > tr:first-child, +thead > tr, +.table-row.header { + background-color: var(--brand-table-header); +} + +table > tr:nth-child(even), +.table > div:nth-child(even), +tbody > tr:nth-child(odd) { + background-color: var(--brand-table-row-even); +} + +table > tr:nth-child(odd), +.table > div:not(:first-child):nth-child(odd), +tbody > tr:nth-child(even) { + background-color: var(--brand-table-row-odd); +} + +th, +.table-row.header > div { + color: var(--brand-table-header-text); + font-weight: bold; + padding: 10px 5px; + text-align: left; + word-break: break-word; +} + +.table-row > div { + flex: 1; +} + +td, +.table-row:not(.header) > div { + padding: 5px; + word-break: break-word; + color: var(--brand-text); +} + +.table-row:not(.header) > div { + display: flex; + align-items: center; +} + +@media screen and (max-width: 736px) { + .table-row { + flex-direction: column; + } + + .table-row.header { + display: none; + } + + .table-row:not(.header) > div { + display: flex; + align-items: center; + flex: 1; + gap: 10px; + } + + .table-row:not(.header) > div:before { + content: attr(data-name); + font-weight: bold; + white-space: nowrap; + width: 20%; + } + + .table-row > div.right { + justify-content: flex-start; + } + + .table-row > div.center { + justify-content: flex-start; + } +} + +.border { + border: 1px solid var(--brand-input-border); + border-radius: 5px; +} + +.drag { + user-select: none; + -webkit-app-region: drag; +} + +.no-drag { + -webkit-app-region: none; +} + +.form { + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; + font-size: 12px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; +} + +.form-group.large { + gap: 20px; +} + +.width-full { + width: 100%; +} + +.max-width-full { + max-width: 100%; +} + +.width-responsive { + max-width: fit-content; +} + +.hidden { + display: none; +} + +.pointer { + cursor: pointer; +} + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/use-popup-window/multiple-results/public/favicon.ico b/how-to/use-popup-window/multiple-results/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0b6e09e66a4928f206aa862087f92992c4591220 GIT binary patch literal 108568 zcmeI52Rv2(|HsdD&17UZ%t|WlJ*j9?^li|TmQ>P`R9p=-HMAF6+Dm)grgkLNSH8JT zQc9($$p7`e&Mo;-7Z=w*_tCS@`JD6lyg%>pIiK@6pL6cTFdRmnQCDY>8Zj=i3^R&h z7$c+Xd>HoM#=eFP*?dig@z7=%OUvxMSx1I3Xu~i(9-CL>Fr8;X06rvdmkGnT&Eqg; z$U_wNWba49Fp#UEoQ*J_$A4Kib_`GhE5T=w3YG#DkVlQ5yXZK}Xry037Rwi;PC$74 zXN_OC*y9|eTY#vpDBUP#{Yoeokw^XW*r!S|a(*b!LhX{>GXd!Wb1Sd6avFeYxwCE;dx3K9sWLSAPkP=hXiU@;W){QT@F1Ctvsh@}DyZ2D3qR zKy`G1EpP)l{YTqWb|@hKQCT8qOi0FA@C}H3M(s@nROd(8eEI_EA*v@z&to6ynzPC; z+jNX&Gg47KQ7Uf#B^e_@fzKaOhHanvaS-?fetZ6=8!`-$LZ~qepPOwGhsQ8nJ`1)n zbTAKbEFEP;btt8A#t2vf8h?Zz^*@g@*#-0dpS3{~=?oAHGC>Bo4<-Y3kay)G?j^Z^ z`tLT7v;TI3-~o)=UJ)D!uf#uM^o z?rULw?dIH{gnD$H7hW5X=BoxB17v3nK>eKN4LooO)b@JM#b95P~0NeoiGp}+v_mM9Lf?wJeDIwaA zbPOQ*IqT-N{Sjq`fLmgerTS4oIDZngnLEXC(v8O6MJ@{dwi7pHaMX zH~S+`$ABU@1@e-SdtV~TiQE2Wl+DxkA_dsv1#SO^n7Yz9AWr)Q^*@aff9ih%lrg9F z^ZST&Lt2pjHyGtL}AIFM9 zv`^Qb{Layw?bEfVKPX5Ozb#9$0L>lf+|1clUfUG=;+TKefZTX7+W!}2=p6g4O$9kf zvH--Om7#o_|UY zqHJZ5r_7StN$rCQAQb#b=iJ8wQHSOYC8h5Fv_owJx_T=C2c@NdN3<>O+&3@V=p1fT()v?-EM7?S(o5WZG_RxeGoiea3If|6t@&I9 z;_8}Txnqzav3sIF`GD1(#?9$~=7{;}CGLK@ulVgc#GiB$_c+?2IFs&!foOgvuAaXu z_Z;$ifMV%KBDqNEK4BV=r0ycS$Ocy+oa-YM*R8*lqk4eWyfuLds0%CrtQ6n|A^0!5#1nBm$b> zh}-^ol%=)j)`0G9O##_Yak~NXy2lggFG{H`T92W&p8~2E1loaL=6uKt`y5i5ldl2d ztmBB<$(d4H?tpwHlqvF$D34SZcmui*$XQq1?PSzj2&f+m#ZwAsE>7!h;>yWgE&+Az z0SAcG{-2bN0qUF1AO+->BTk;K8C!tJPx9DaR!CXY9-R;5_g{SeKgzQ^*m7jUTp&)L z%*!USVHO~Nbp}NlPpH4s+ChFQ|IdCZ3-rNVke7bq>=U4F6A)Yk8Pty0z84vSI>J~X z^(#W#6gz+Ls0cFXTyFzJs)?Oa9YFVPG-it9@4U)fLfyiSHzbe7cQYWi-lBq32Q&qR z9gC=a0eBDcvQ3x|DvA1RKF8Q0^;bKvkdh+8hc5PywuEhA6rKf<7Z>YqWQ#PkW)8t zw%4JK0?1d-ybe%#P}J)e-FJ8aVeFCWfqg*S>){cUtp*C@d$v63UX=L*=}z-YHCCQb z2W*oKE5PsOB{bHO-zoND>ngP1?5YBya#+Pk_`a?&s642NZ&qDLpwSfA& zBFI;F_89qC1CX7jzycIx{+x;O;qF)W`90q=1mfzOyByv3 zH6&Rj{h>C25r_x5^%6H9hq^RAm$dq#G1C}r3yPqBX+OUxYX3P0+m%bv|3y82X)Q_^ z%M$NEXpn82<_m=xKk3|UOEOC9!|G4-Ihr?!d(Mi=1)|O`Yni2C2Wx{NQkr*(bo*0! z5M^o2vNTlwrA^X-g>2Xae%F_1t%T<0RlqNDN;^aP02)jBfN<~{d}n!ulKWKveJ*2mP9Wv{VvU57z;X{&Za4Nor&@ShEYI@-Ppk} z$YKY+hs7ue7<}J~M=wEfXs3m+2vSI*j}J5`NSejgBMl&zlO>dkSEhvR2o$gz?WP+F zgnGb!peY^4yO0sC~1LY0}I_pEdq4UO6Q)) z?%XNOd;bG706oVR)-P$jCDEQpcckg(jW?A@fkz`Bzhqa&PQ?!1R+m6EK>7JxH$(H61>Blk$X<=>6s~%lDXbn`V$3a#< zT4Ub=^0K2S`~1p?{q!7QPchiP3NnjjtzJ^+6dNB}cP_|1ueg0;6XZ(uyqL9L2Wcb_ z*Di6((Q^nTYC~E-q#I}fl7YB(iCd2D3xsn)X|x}@iN=1$Oa(Upjmt%~rLgts9m@;A71RUtJ_)U33!i@=E$}c&by&zwdIs+U zLct+$9NYq;HS~h&P5Q=w5HKAK1N4r8H`oQ}8ef<-1FDk38LAbaT=N!N-Wv7v21_YKtnt(%aKzJt7E6?7jxw>bs+ z0^$4->5sN)gYqmjkWw5dP6cfzzw+cmdL~D93)}gn@f;b^aipXN-9t+9+#)^J0O2z# zq{5adWids14&-M?VfIs-9)RwNa#;HNO)3khACliB=>zIhbZ-3c0k)|vI@js^E{u)& z)uFbQ02+^eZ*U$*sSZ#FVIaRY3cG(jWD3_*ky1Mpqr!|kziXeyqG}|+upg=mXk3p2 zziX?Y$EaUA0Fqx5+y@1f@w@WWXPp7bFRb~(x~vQzq`zygFvre8CiQ!F@KwU{A3&Zy zD75XOiX;Ox1ay5XjGg(_`3QNv!4V0|rS@p-{^c4cvZtUa?*c?76geeXzy}mI&iU1Q2$_<$pROZ=K#}bh z2_RXZxa_AncYgjU%>H!9>qa_D;zM#+imU%0hWx_VnO~h3kXM^@mc)m(y*S6eacD!5 z*T18XC!AYJ(Ej4O{@FuU6A%sZi)TUh)4Yf79VI>X`$$N?oVJ{WObu37ngh|emGgLE zw)v2uO)@3%AvvHp=D(?s+n<$BZP2>OK2R8&MRn-B?*t?ndv(Z@^!*QApI3q(YXPjz zbkBVTi0mmy`U>?109q$2a_C70PzA+t|GN!xb=Wq9x{9`u8iB1K4Tx($jU9GC1{BG5 zs?Sm!>mRfZv=sbeyGY?2ZCAwh5WojiCoezHIQIwy0Mb>cw@6k&Q?|Y=(&|9c>tF96 zGaT50Kd!@|j3@?l?pcDVU>(>FLV-W%2aJK(_c$mkl1tZeb3ppgIWrP?gQBc|Qaql6 zOJEP6KE4`E0IdMUv`8^3XiP=rMeQQh17pBRkN_mH#z=F`Q(!o#1=N5rCP+mplv+wU z02&vp!DS$cYpm#ejEB6@fNU<6*#6G3tWFdQXCUdd3mS9Vv2FZLjZ!%#(hDiAuh6p+ zQOqQf(*0UnAayYpIh)n3Ceph=5;luu&~TsUwv((AK#}B2 z>xXm$biEG+lD2;nD_dI47sa0D@ido}wEe3fQzG}5#pOWgCyM`uVz9rgy#Gu-m@Z-a zY0Y935caX+ik~FpvO0D_N^4A#ItSiBR&$aq?H|$+Xo3hJDf^E>mhc|7jMz^;pnKh~ z67az%$e{HGsqg!u*s!|Nn(6^i)IJal84`P*AkwioQ`UZpS6y%u6xIiP)D_P8kQS%P z5|>T-vNS?UcF-6ut{-Tfgx2h80ihg;D_8;oMY+KcM_-^|7VI{Fremz3J8Cd!H0e}0UxgD zM;9z0mHwQrngFfQFD+o3e#n9T)(!oT1O2&O5`kZOz~8Y!=6_TAn>n=qHz|)jE=-{$ zQXVNQl&?mf;qYN3wJU%VNRJf!iUS{dWiVtoe&XS$VaUP`VJ#$-3hhK~q5V{w_9GSg zEq9uS9}U^^d8WDJh4y@?yeO_e;!HmnA^dwjFb@{dKO@@0hf^xQ6Or9^$^TF18lX8_ zCqU0T_JSBdYc8U5RFu-WdIxL)uAmht6LYhY_pJ1`h?r5#X?>pN7Zbrz@B;kq`XuTD zqLk*hbiLXMXw9n5WLqX@(e4?5hDf*Y5*K+^5j}?rA{xDpI{hU2>k5u9grN ziaX82IsDu1@e2BPn;MQwG7=?^aADcffDKxB3~o@2T1xIq{8$Enh(?`y~;nu z>jCmH3$33Q<@rNl;{3Zh!O%zezGCru;O~~s#$F!jQt-QYl=Ly0e+*>x`@4fwjMlUM zZIARhDCrpgslAKPiQWY-Mi2bGqRFp-?zw}&pJGuO$7u{00m|os67HrVpCUB}v7j{K zD^8pHpqo07um}EbapX^yVMu8WPMlbjMj84(NDEfizdL9Ww4U`R&HJ{2(uk|LZPGKw zajd=)^uXUOiuI>9(g#4?Sd>;d>Z8F8@fz1LR9EALRD6H0I0Cf60VhD20tZ z#Xqo&#GlrIok;KUPtiR4b8NpVL-9WgU8|7(<)6ZPfc(co-^ZeHRa(#Y+WlQwN)y&DF}?7278CghDZT3v3;yKWvT~e$ z^ND_!pnM$2r)!IRgOt8Y#Rp|2w&LhXYZq%k`Mbe+#2U^zOn6 zAiO6;nujO;zFp)8K-YVk>;Hc{?{oLjblA8K=mTM&|NA2T(_+>K6_5@A4?$U4_r8@PemKn|4IQGj#@^vr|$GePG#t>e(Vm+Tu2!T|OC;`VJ>l285M z9#{$bf*OE+Pk^3%(Qg@w{7Jr*ivB@*uzJz>)f)5y^d0y~fX20%z#r@Y^zKFyNCTx6 z7n)npyLt4xfakz*Kz(r!I1Nb0I8d58(pX5pH%QOB_+TCI1>{Te=@>xYgXjk6+Nl9b ztWTgViaDLrRls1d7Lebbg3|O`etqg2^m-0c0j<;718+cm zue@ z4zbP?loO3>bj`8^s{!@z(u(z;+NJ(U>*Rbe5>y2e>jNYU&@(Jg5Cfz&=Hw^RO#r5W z8bGX==jSZcC)?#g8?XvU`}2r&=y)Cs0u@1iru}h0)de)3v;%alr1h&m^~KUWPGkK( zK=&3jR{haNaSM>jRBjwE*cZuBpOuY#q8T4g|5FG~+5x+jL$A z02-$XWNSeRlWaiqhl3ykh@)F+l_C9TENB759tTmDY^2za053sl=`U`(ub?B{KhybH zkZ=~bEXillMY;w^dmkVl(tRb(5C7N)P=@TIv2!p;1meb^w93&q=MJd97C4@Ttw3!7 z8f!KJy6%*g{o=MueSqdL!v33=-J)Yi>AQ>4Jl_@BOn#pWiv7IL?Ju+`8V9OjI~<5~ zlIHXx^fVLco{vqYIDWN^*s~vc>X1F9^`W*wGw?5v=Gc>NG-nL~D&QBFQ6A8FME5w- zKDQ-X9)s2(-|_4h1B)rcwolj9(cmMH_CD|lIt~RtJVM(nH15+}O4@Cp^^RHKkMo%y zMi%1+^dSFL0*8UL`;PRx42*%$E0h8n6KFgw3;N%Io`#?pqgpW0qzmW_-T`U%Aey9S$${>pml+=;KN(clkQ>3kF>_O6qE(Mj(mxMP**yD`h}u@+n zbrV~V45VFWT5FpMiaC;n6Hj^pT07eXq}`XK-!)JJc$N`;Y0PR53KyUfs71N~nxD`; zinRBE1n5X}*3dGbEBW#Xs18aXl7(x6bOSv=S(pRRIuET|l$C2gtzYVa!Ud-UYLRZB zA)v8J+RuN|Z#H;XMs%fhc6!ID1R`0uCP+6x*Hn6cuPnrW4fHH4@jn7x%R>AOpeH?V zD+}?b^@_3*|DDiP6%_8|EP-028z^h>FDv(}LGZ178Hj&b8~^$6X;~Pn7D7+Dzb=6@ zxo}O8ZlJ8q|H{h!AHC;8{w-W^N}v|2Us=2V^MKyce*V9Oj=iKg_SC)D_?NZypYG5* z2}pAvh=G1J$-mP2A>BY(T>q^Kz0U(_jz6ub)3XX`4ZrBzFN@EANcR9h>w(hP2k3nT z`d*W?$DaIHR-XT+Lf1azQx^KpjI>?@XzVv3J*D--`mij$|3UBgYO{J%AE*Gf0%<${ zX-t|6%EH)B&(g~3`(M-tIsj=~x2EqI(=}CEPkqt&N#}lfZk0qBYmXtLwd24rSE^8hR(uybbfwiZKCmPASkW5Kor_;L%K-o zhjarpf8Ge_{-|8F}*(cqf4m_pmnTa;297{zNE@f?ArtCgMZYuqzjNvEM@8Y z-xT{sBHhLD8C#a_x#(F2&A}xV-~8mzwTTaC9YW}1ar7+dGOTX(kRAl2bAI+n!~U<( z?>G>i_ecxmE-DY`Jf!)}KJXb7hg~UP7P=S~I&2q;;)S6dziLpf%m9 zph!Mt>sLZL4%`Hi>i3@@i{>PKL7sEc0(ID8C=9*GcXVG&^AY-P^m`!ku{5TnAFV^s zxUB#r;uVquXe_7+=(~foen@QX+W29Z&aEv z&^C>$v4GAOI=`lZ!N38KZ|#5up!E?YAciOYt|H_UK<9Nm-~tYT=O7i3kHv{aNtU5L zM{8d50i8#5T~q;bpw!37veJ9tD~dZ^pXi=vA$S0!G2WuSMPvCn;0%la%{$79yQM}? z@)--wOQwLwK$_!D@u$A&4s?J}f2nb38B&Dx9gUH7!EQk3l<54D#+3Ty5zrEppYKKJ zYw#bPHx&DBfYv6YG2S_KqQ1ET=z{WdUNW(_fiE9{oPL(Z?Jv-gVqXcA$G+&XCm&jX zhd>(Rol_@T7ophGnov$SsSg`Rq#{Jbw>7iN7(>p81|v_FTT z{z&uu#-Kd*l8HU}u|J@-S!q4rMS9UQ(=nht_C<_6RcHN3Yh&kt$j8#0hC@$n(!2aq zG!KvuSw*&jBL6i)MX!ZPt&pzDH{(l8jSv$+`qRh4*^p(JPt<*x1wg z-w~vM;)p2yYo)$Gk})bSS+Aidt?vr2SrTx;UoC?5qY}~+ zptxctNx5gCC(Tp;>bObDc=97K1aUx;aVjoZv^G)xY)3*J0KTO7TY^`hxMC(LxwIzb z2_$5Fxft>#=nLrGC`rYsxa53-j!vLFa1!zW`4YH-bWmJzla${ffuo+QM_L)fNLBBUp%$Apn7kPkca)q5$p3))0G*2hP@H{$?m6gs-xJV!bjcZ7-cr6Epf~`U53~jJyJ^Mo zo(O&KWD}?dsJ(pkDL+s;9$@1_@7<39^sG=4?+eo0;xy<7R6*$&SKg{v9-#OD8Vjlb z`mQLA2Q*KoXLI6S8@{6Ke_$tY1oS<=^6zqq6#?lfgqTrZ&;*^pRInG^19^RanBFbF z1GWIVuWSYW-@nI^mHoj3mYkn-hB3^UPhl9foOwRODCErZ7>1KGPkkUq{yXJ;e(uP~ zD{t}hIGX=O0W|-=`5X!f=y>jY4h4nBbL9C{K6jq`vwh+563p{RpB(K8^En*)r#w~9 z>F`{6q5E?jXY)QHgN5P95g?)a8OB0%oXs1G^1^WBaJV45y&n$cW#@kwl%4&d0NdP; z23T<-fj_d@J6L72W%y)eZwuO;!+kzf&5-2ru|bk~ zth&N1B=fVI%dU<At*QK5R>CS9> z|CIk3z3fvVci!-)zl8qJkr(zwi=W4Zd7qzoVLWr>h4KG+SlB6ZTpom-GKadtb2EoJ z!okfjXMG4{v-9nGc2TKNr2+z|(ygmi@9ZIn!zjvQ&!9BAbn9wBn|j)d)MoNzH~Thg*1*K4O6 z41IYctARP*>c%wvV4)$KjCA1Z9<`b}od^@CGd=tb>{uV60w zlAFM+W^VA5d5%io)4D7jnWA$@u{rmh$*_kC75}Z`Vm|X&(uT%O&S|bq|LA*%+k(;U z9AEWLlEHGBN!mjg1Nlvy&((FG$Ubc5B0JMRY0blnn-xy->iRZdHh1#Q)C%4hYmrgY zkJnzHzCgEaz$L+_bTvoCB;5!mY4fYZ^XDoZ*IJwLF-+~f+pv~b+~p@()K|FA4dgsp zYPqKMHUraT^D7PfG|=Ai-2g#9ftS|9-P69>4-!-obaSdcNt+qS{p9zqvwo#^8Pmge zZBmI-npxRlQNKr>otevWZ{-ZSm_({+)sy)&=be?l`oK>eOtX&gr!9SDq2khG#v*My ztCv}-Bb4G)PAjFZ^5%D3+I|V=o^B7``lww#m17r9=rhU8{e+%l(;b|&;K6gYj8VI- z*u(w0)ovf<3UB{Yjq{y7Yw@TLf!4T)PEy)rJ>ObxAm`Q7-J4Ag`e&I7PPx1oy6*FF zjhADdtF~QmR83#AYo(!If&#u|j;`*L)gvlCIyQR0HkU6iIJZS0;JCLns#lHMb+tCX zf7Hcuyf+pZ!Mv9h1T(IFoi6im{pa9y+Be)5&maHk7IT&}bK#Y^m%CSSg3PD1xL#S0 z|JL%>7(eYDZUJjESJ)Y3)iXethi2sc-7E24gqZ2y|xphisC$b-YRM z$>xkw@B8Q8dEE<-UUXaAWwcXc&w&lcm^0TVSJ{;^(C_G(n~CO~zi@ik`#Y~N(&5bw z*gNR3-LgAz;Su*NZ+7n1yUF=}mdhQO<=d)$dTpT_b7lSeM#|$?wr*fF3^ER>H~YLM z=(A;&MfLsWP3|5$=UU^(ODfo`J>jLAGUjx`P^JIEYR10ij~%0Cy8EF_SHEf+50u^S z_SzQC>95(WtK;F5i4K-B!UF>`R|~HCYzq&qbAH|!wHh~QXWIdpy4%_Kt5U)#om&wT3NZei3H|4qA<1PiMyJ#=C7wnW7S|L9MSI+8lbmKl04<+*U5NDUJ*N$S z%=wUm%-kJSlbMGyiV-!!^%LvG@Ew>7D?067xqp1i*hu4@w+AXMsx`(lc4>T4@B8jS zvV7Z)GQ&BFy>w%bx;|eq>-Az)Er+Syr#itmf`F+Gt(W#4$x&P+XH>b`F4Z18k6*t~ zMNgU6$aaw&e~sxC87CV}s?13Y{ND6Q$|oB}+0s*15OSg!aDuLSd&>^b96&Ov$EM{2BcB;R?%*O}Bhsuo30PLg9Zjc*Cj6b9+;PmU}n% zuI9{>%1rx9jd+pI?KjIA9@0>UWIx_4zMGbM(_t>wJLGQloMGg6K}LP)k=H%1?3Cy2 znA0k6y25**+Q$_)R&tUV#_8%OlcJN-ft20LZydT}_RKyG zda&G%X&&+)qv_Xs_mPiL%Z6<_#YwTY@iTGP@@(Rzvb|k!#e-VPmJMfC;vV)GT;HH# zoJ?E)*|SY6CU93*YNmLks-3t?Nq48p5V;j?cimO39Q}erkq=+nisZLK;g;io_gbzTkGlhUE_Bb^mghT zJ7>%Y?2qQ2R&2{1*K0<@%Fc}^aaYaxC{yRM%u=I~JI@E27&jc2DC@@TvrK4sa;PPG ziEAg0r;4YBr`#zSW3!ct`{muvPd;HXGfKnsy0V!`e?cojhq$^%TCGNK_H9Pe$$IZ|o}j z!D*V4xjFNy;arV529_r7ddD>Oud1fu+khM2`M)`>`6dmkJZ@t<-=+7_&_X13x8ZF>vFzGd2Or@BTF& z_sGlMeEUNi=g793!#VR$$gbcu@g3{iAXx8wpK69-K_(RrdC&bIYoKsHMCa|S7Zw{v zcDVYs)(!PWyPb5dPanGE?%@4P&bsxQu}H;6Z4$RRcR%+Ww>k4pbDPUR#%8d(=IowY znr4^fUv}Bw>Z-L%w;6j>uBuDd5sMoTSYWaokUl{3NvMjc1 zmo+y-uH0=pJwB@0O=I2Qx?Z+&FGJ=u)!j1S%NMgXp7IN7Eoz}@`bgJ(il1HEV6}Fs zU6xrNQ0eRb*2?XoQBuZf%@dl>&K#ZEs8@7*$C`ot4$O0zbX!Iz*euOvO3KBZ^<8QQ z99HNXz4H56l`m7)-r2fvrEVHGb8J6dwJr~w+N|3Uz0}CY`f23iJ-+G9#&<{)*fce4 zZGRB%RvkUnd5eN=dZ(_;=g?=zk2ZdD zD!EJ2Oq16-=dI>D4ok*4rJ%v9+?9FBIUIFn?X{FyueW}&3hAv{eYHt_X5cc#Y5`}D z)%tpP`@m)MGaDSdwsN%Rr?vAlV#Y2zcXE-LMH~K_>-FZ<3uB%)6F5$Z3N(sxIhpx* znO@CW?Y)OBNE|ja;HmQFj^`t+yKb#z9Od$MVJq+My6ybU{f_xAHoJeIlH&pYr4AJ> z57qA&In7{L$0J4`Kh_a^dWsi z(HZSxowj?$la?1h@ole~zr8SBX{Ft|9W`4xbFcSEZyJHR9b<52yVcM;%CbiGCa>r&~!+C;H79a>~x<;tR9! zU#iR;5^pvCPIT|M*Ms^Pd^cIQW8l)3vbEN1wW@1f^~0MCQ)v^`HwKNQ=^3{HkpmNjxErR3bddu97-t~Cf%{%X` z>b~(|-gcb+dd$1Vi!K|7&(5s=;oN6U{b%Ei_0~6D-N1jYcg+-Qfoizk6z2!Q13Zk6 z2_jskB^WhScV5yjL-pYL&7IB%uaBB@PQyC&(cRO|&$jZOa@*L?PrS1%_Wosq@muUn zWs?)X50%Mib*Mtz>jSO*?CjiYCApiXDJ^7g)h4P>S4@CUl%6~5TkFKs4dcD)m=tfar+@boReD64oYI;aXSxXU9}x@_7o=l0ugCaq75?yfyy z%%w_#V^^zqYP?Xd*tc<)TB%hV{WC$Mbzt(?L?gdzV}>r{RScaQdTLqC6pz$)3;DA1 zZ>_Ezmi%Q})ai-CS0vRAeY`A7?!^8!VZmM#<18wlTDvza>gj{1@83rp(tTdJf;q_#+)o(Bx7ipY3J5OhcN0o@ad-}^`67FL>)~SJ}dDnG`bK2! zp9MPMn`gCgy?sLV+kWjzwwHPjzrC0r$n)v=cGb=${hoXIaMS;(bMAn3eYTeA)KNn=3+dz~jY!y{H!dTin)m88=IrX4Uj{7>&D^~G?4hr&9aOFNom)I;bGL`n_69t(deiCEUJI+WZri;k zh4ubu!8sPvYWVYwn-=Q4ss6gj9}?^*-ALvS6=?5vb~cGr-lK3obVJ(t z3h{Ry9=T(fJ@k=K*<3|?I~ z)IhaY@Xe#Mw#HSf-f7VM+bfO-HH!NbWzMS~bo{+;*zt>3O260m?Sb~4 zA2n(Dt+Ccdv&gUhR?2BRUnWM#29IkzRA#2;_d)?e0YjN0~P^G|ReMV**6 zq3?IM?TeA2TC^t{XSK05r=MBV)t9S6P$TCn-->?+P{l3sPF`LEg*L9o)rYC+ZA zqjq{b)!eL>;@IT)507p)Qo$rl>G;^5}+RCe5!?87{ zeR_UTe{5#c%Gwh=r&islqc!5h%B$TEDfYQ+w5!^nz^5{*iv4=2jvp8wpp&YTp5C_J z(Em;?n{cX{9OqWz9?M7dZjahM`;gVj9lXsUL#CTn>>r%)Rdd_d7cvc1YG!O$@j0OC zT-847Gi%4CnrOX~IoF|`oZqgQ4XU5CfAzi2b!V^XEyrkthxWVE|H+jlnopVrna=7L z%N;W!G>(bvbWSDalwr3SgDN{$a($3?(7WP9Wr6vT#rLmyZXpwKiO<_&Kvy=bcm18*e?d-AgstC!1ILFXYDn3(NWJgE>6p=YaF<| zUbVI=5tzB0Uj5m!v6b$mkG)Rro*rKBfVtP&>sPnz;%sniD%Voa@Sc9P!B4_?q!FpGp;#`5JG|`3Y=lFmDYV zSR+#?qZj{&iqF9MAy^5b> zqF1b(Vnq9U&+m3v>3(zmkmvSw#vY!MZo97XrJk3k8Z}gG<2&tuoci(;W~xhXY^iAZ zAj97{a8T`p-gBQdJS4Mc`>?eYZ{FO(Us-Eh%aeBI!IgS;ag$vV{OmwIX4otFmuM_{ z$(}kxqZ?}3^$Q-%J1|AvkvaT+goj&EO-I3*Yd3Rq2 zugIM(GKIGf+}n4m$6x>67xyt9PKP%J2i4&6jc0mx?b`DSW8-i#^8T(~Y84hHxH>Gb zJg*xgygjKR7t!~^a_)z1lbnVpt!*AO@>P|E?y1bFj}DG2_!p|Ia=Ul=if@ejOxba6 za!W$Zb}MyKZoTNdT!+4P{klZWj*eLoyr#>M`w@2yy7?tqzF4*Cz%a9z{w;@SuksdH z8cZG3YSU+z##U{19i8McQg3@`zxy6LFHCAIe?WPMqu*AQBZJ?{Zq`)iy)rv^T}FM? za4Q{tn{?S#OT&#gYc?V17X}46jMO!%wypWt%WYGd>+mAOLpF_V@4VM*RLGhI^?2@Y zmLLEZ=e4t(5WD5NdaH2PTRqS%om4gc8OS_&=(~sMe%W$h=xU`-2F(;U4o$Awth)Wp z8vgr+@0_(#&Zyd>(Eg2vepb=+YkNS(VbE7UuCL~Hxt6OP0<=>e`}lHVR}8O zzP4l3?A~*-nBy`DavN$K{n|_3tUhI74R6Y|pEJmJOk|vi z`nNaAzVCwLd^G*I{0Y3#QTM+GEP6RwU*20eL(8*4a<3J}tC)D%+Y!y)8u?@?ch%dm zqurWCcFYj@x5nMS)^3s6V^QM5eYouG{McR)A8EU;Te$1mU27INb0!3je_*?9WlEnG zwZ~q%K5K_e3ub8NFB+;D^M+M-w-}Jw#WvZnuHIA`PtA0nuwBXW_g?R7HOh6;ln@6? zwL1LRPAg;w4j<*CyC8l4dEaw(6+;X*XDOslOU+nvy|#9XqgAx++;HXpblkyAc6v}% z_gX0lm#PGeTKh2Jwbl8v6HKDx=RPs>>S@^V{)|eUkC}Hl!gN1(eALu~YU5Q_sk$83 zOFOfFRogl`CslTSZV>Pxyh+bC?n)`E!+PJ{Vdg(f;ed|g>vx>X?~eyPYyP78r}ir8 z8rScgthQ$P=N-41h-G&?)KXe%aE;nD@?CQ$UVe~LoZL+P1|}g7mD(=yNFKuddZo=Y z({)QHsi!MV;#M#l{iu;|(weyyhMu(7%1AIXZ5R$ko>&`srGIqUHdH>NcF#{Lm(^qU z4ph$2y#9Ejo%xuKhwHw)ICaa`#qS!L%WR*tAZ&27$CM^noDXTZINs{zjk)GL2b*Apkrh5O6GCRioxnT|OGo`KUFP?X^myGX zYKYsG&5t})cg;yRS)xBLRCi@^yh2-^&Jy45Itv!8Ue)!#Q+D$n8FE^LDvetm?Bx~J z{C20XdC|>HqW3-C>s!g@`@l$Sp;iy&U}J{GE_P z2`jJ0o#TE=eSN92cg&<}+g`-asq@W4^G3wZQL24D@vig;c(A9w0nNEOJQ}dsx|=~l zpKn=B8zm>s^xf%lhB3X5?yxX)^t!R^ z;m|p1R(t)9@66Iky7_7B^N;UrpME#3$<&Oszy3PGZfS~h4VnMC))>$!Fr-^cU(>4} z`TOnS{S5A%3JF{@!6A9;{B|jO6TLl57LG7D)YYvcI)3v{bwhY>`#0$R;y=GbZid#o zzgxaics+!9ddakB?ODf_ZP&fFdmqt#g!ZLrD(3Rfwgk0^^gns}t$g#~#}gWG-vuXM z?D+4yMXLw>`)+FJy3CJucklKMoBXb6(A9gs@BZ_gAMY>YuBaW?E^wWPTZhGMy`nO0 z?;YCxukAwF5bl@o!}fR5TA6irZ+^XcOYWByO;X0R)*PlNr;rvb8=7g>`9M|M?c9o+ z75ZCt*w!iP-Ff#tA=>|KsT?(yqmlgY)$q;p-~PMS^VGD^)R1onYk4JGrH$yH`sr=r zj0oR#$*EgCxWi{R)ZJ_P5%;}Kw)iX@sP=-h?e6W1_Y&{a4^MmZborB&BO6?lIiPQQ zLFSO^XOrl|+Jg@-XQqVu`?S{JeYraR`(OB$kC|bU#=KU{>esm4Xyain3C~{sqcC8ZPUkG|*6R-R*b@KRD%4J6 z`6v^^!Ry!dIo2!grrNAZN~0_;w*T7Y>Y>=#FW*d@5_;dhz4zV^QEAPqFT1+&Y34sW z+$Oj?Rty(g_2;csjId9grTHPMM}%uysQ*{l z0skpfKEdoz&m3gyF}lt+?=Jl~2bMct*7ek0@)t&!cFg<+o0U0HJ z^6?QzDnDG<@9UAPcj7Bl8@t`Veb33>NdXRv1m=Q%eU5pzicNDny7%Iq=)jDxqwO>o z4{dZ|*xFlu{o7nteB5Q*s)0O;D-^@7B z#x5|G(~C(9)fuBQaY@Hm2j)tb+NLQz1daN<9-rhdqw(t97TL|`!xiqCIT%EAdsAcU zZr^iVGUZR+HCWBL$9>-=k#}>jV5QILhcavQ&V&t0jR;$@tlQ=-iIIzZx(xL3POrt2 zbJ}ppG-jBV%YZM4#sTbne#?hew*Ry+M~gMFFteP80Cp_$7A<4UJ%yl%>>_CQNzMi74NSa z?lRCr^WnSwS_2u)5y>Y9%{+8wiRqIk;Sn(-s&zX5aB-L*q7NS2v{ns$!#}pHo2%=^ zoS4}kYaEtQ4Kcd656?`j-gIo!$p8FHpJoosu7v7AvrpDa_HC+kD#};C z&BQB1W3YFJq4uT?d)hXcf2gt&-^laRejQ~?y{~%hS3Rn6qm9{zcY7Z&C>3npz)4ew zSEF|0xPKqWs4FIL=7#XRZVqIY4_DWZKcYYGtN#TZOT7hVEsv<^w|Eg#yX~B=BhEac zm3;?~P+o9VzqzB;9UUHjQ-j{!uQ%qZg>>pn&jC6_8JXAQ;D%+@@USOc=%GXv9o~Uzmpbsbx}WipabRRB zHRwZ9Zs1voP4&pYqgnE}xx0S=k5YIGXD{bZZpN8ue=&Mt?|y+h+Nlq} zf~O3djBCiK%C0*Zfz4{|Ctho+sKZ1nYT4K0P3w>6DGe7}T3nY+t#3)sQI~m79WkZNcWd=shKeFBHbM+3Nbev$!g(f`L2mhTgt@zDu zbxmbUGOxEsPyVUnz9SVqLVG(+bL@^K{Ki_5QBMX&8+4WTRP$6(wltwfBfQ)D(>fTh z{KsnG&PS1sj1Eus08^tAM^5J0u=pdr<)bP&JwlCD@1vZq*;%P{JjQ9mJIq@Zt`Or? zk-4MkX#eRmlbX#v8osIX_Pw>zYQ5rmS7_^d)Hb<(4D+aeGv`}LCj1k8 zL#_|krrQjgsaA&9)3OE%90hZ2vtpf;gO8q8X{*?F-he@s-?w*fkRtD$K6U|~fNEjI zN6miu(p!U)zhqTO*FF7iC>~WdGda3TzeB6HW9_fGAMS0H9Bm-;y;3u~gGTrD@F=9V zrmqk8Z6}=$P2}YiqP(*j*u}&fc|O{IKizeQm6p~ZPMlKQygKshx3&J*@<64%8NHYp znSvd7$}#0%*$mmW=i7`??crqfHO_)DxLo`0PUnAZmtC#k!glv8}yxE4|r@W8Z&o!yUI4H%b z&NMi#h=-sLWg5=CnUTPoVYlm@y*q!ufy=7kf3~DlxH$g6Ie*!Z6<5a9>Swk4yXrly z7j8k{1ez<7@Yq|wlB3LYr#c6!osd1oo$S(fwG-nhzcwRqOO4ImZ$3WIKC3yka}AkR z!CZ%mGv(7|+*KO3OMbt2j`tL^>(yOe#CJ8nct_1=){|5A5mwF(H67#zsSWb=P#V>H zXxhG@m}4p@8ojpfv46bfX2Y*vFE`?SO&EGxJ+hdyexrQk%lvv8CR{^}MRQkIPQky`E8dg5Z6_4{2#zJRaBLzx1vy zXmii<(o^n6zKK)&NlN|L_Z(E8C?2R9)8KT)ah<<^{}#4u!d10d!=Idr;akmaSh=R^ zM*ls&)>pf?RFPAuWxc=hqB}3DTJ8315WC-EwwG=-OSP{a;kIAucqI-#7te1gADLdQ zliIW0W_m4Dl+Iu7s`YY9pJyu1N&2YF|gE+5ZP;9IVO! literal 0 HcmV?d00001 diff --git a/how-to/use-popup-window/multiple-results/public/html/app.html b/how-to/use-popup-window/multiple-results/public/html/app.html index 026c2eab..cdfa9d44 100644 --- a/how-to/use-popup-window/multiple-results/public/html/app.html +++ b/how-to/use-popup-window/multiple-results/public/html/app.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-popup-window/multiple-results/public/html/popup.html b/how-to/use-popup-window/multiple-results/public/html/popup.html index bc7465f9..75eea86b 100644 --- a/how-to/use-popup-window/multiple-results/public/html/popup.html +++ b/how-to/use-popup-window/multiple-results/public/html/popup.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-popup-window/multiple-results/scripts/kill.mjs b/how-to/use-popup-window/multiple-results/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/use-popup-window/multiple-results/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/use-popup-window/multiple-results/scripts/launch.mjs b/how-to/use-popup-window/multiple-results/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/use-popup-window/multiple-results/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/use-popup-window/multiple-results/server/src/app.ts b/how-to/use-popup-window/multiple-results/server/src/app.ts deleted file mode 100644 index 694c7722..00000000 --- a/how-to/use-popup-window/multiple-results/server/src/app.ts +++ /dev/null @@ -1,17 +0,0 @@ -import express from "express"; -import path from "path"; - -const app = express(); - -const mainPath = path.join(__dirname, "..", "..", "public"); -const commonPath = path.join(__dirname, "..", "..", "..", "..", "common", "public"); -const port = 5050; - -console.log(`Main Path / = ${mainPath}`); -console.log(`Common Path /common = ${commonPath}`); -console.log("Root path checks both the main and common directories."); -app.use(express.static(mainPath)); -app.use("/common", express.static(commonPath)); -app.listen(port, () => { - console.log("server is listening on port", port); -}); diff --git a/how-to/use-popup-window/multiple-results/server/tsconfig.json b/how-to/use-popup-window/multiple-results/server/tsconfig.json deleted file mode 100644 index adb16a6f..00000000 --- a/how-to/use-popup-window/multiple-results/server/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "es2021", - "module": "commonjs", - "sourceMap": true, - "rootDir": "./src", - "outDir": "build", - "skipLibCheck": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", - "moduleResolution": "node" - }, - "include": ["./src/**/*.ts"] -} diff --git a/how-to/use-popup-window/single-result/client/src/app.ts b/how-to/use-popup-window/single-result/client/src/app.ts index 668b83c7..34428295 100644 --- a/how-to/use-popup-window/single-result/client/src/app.ts +++ b/how-to/use-popup-window/single-result/client/src/app.ts @@ -2,7 +2,7 @@ export {}; document.addEventListener("DOMContentLoaded", init); -function init() { +function init(): void { const showPopupButton = document.querySelector("#btn-show-popup"); showPopupButton.addEventListener("click", createPopupWindow); } diff --git a/how-to/use-popup-window/single-result/client/src/popup.ts b/how-to/use-popup-window/single-result/client/src/popup.ts index 10848707..2f12cec7 100644 --- a/how-to/use-popup-window/single-result/client/src/popup.ts +++ b/how-to/use-popup-window/single-result/client/src/popup.ts @@ -4,7 +4,7 @@ const me = fin.me as OpenFin.Window; document.addEventListener("DOMContentLoaded", init); -function init() { +function init(): void { const okButton = document.querySelector("#btn-ok"); const confirmButton = document.querySelector("#btn-confirm"); const cancelButton = document.querySelector("#btn-cancel"); diff --git a/how-to/use-popup-window/single-result/client/tsconfig.json b/how-to/use-popup-window/single-result/client/tsconfig.json index 65f1c0a1..1bfae137 100644 --- a/how-to/use-popup-window/single-result/client/tsconfig.json +++ b/how-to/use-popup-window/single-result/client/tsconfig.json @@ -6,11 +6,11 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node", - "types": ["../../../common/types/fin"] + "types": ["./types/fin"] }, "include": ["./src/**/*.ts"] } diff --git a/how-to/use-popup-window/single-result/client/types/fin.d.ts b/how-to/use-popup-window/single-result/client/types/fin.d.ts new file mode 100644 index 00000000..8936d86c --- /dev/null +++ b/how-to/use-popup-window/single-result/client/types/fin.d.ts @@ -0,0 +1,5 @@ +import type { fin as FinApi } from "@openfin/core"; + +declare global { + const fin: typeof FinApi; +} diff --git a/how-to/use-popup-window/single-result/package.json b/how-to/use-popup-window/single-result/package.json index b63da810..381394cb 100644 --- a/how-to/use-popup-window/single-result/package.json +++ b/how-to/use-popup-window/single-result/package.json @@ -4,27 +4,22 @@ "description": "A demonstration of a single use popup window.", "main": "index.js", "scripts": { - "build": "npm run build-server & npm run build-client", - "build-server": "tsc --project ./server", + "kill": "node ./scripts/kill.mjs", + "client": "node ./scripts/launch.mjs", "build-client": "webpack build --config ./client/webpack.config.js --mode=development", - "build-client-prod": "webpack build --config ./client/webpack.config.js --mode=production", - "start": "npm run server", - "client": "npm --prefix ../../common/ run client", - "server": "node ./server/build/app.js", - "kill": "npm --prefix ../../common/ run kill", - "setup": "cd ../../../ && npm install && cd how-to/use-poupup-window/single-result && npm run build", - "validate": "npm --prefix ../../../ run validate" + "build": "npm run build-client", + "start": "npx --yes http-server ./public -p 5050 -c-1", + "setup": "cd ../../../ && npm install && cd how-to/use-poupup-window/single-result && npm run build" }, "author": "connor.mccafferty@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "@openfin/core": "^28.72.17", - "@types/node": "^18.14.2", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "@types/node": "^20.4.1", + "openfin-adapter": "^26.70.16", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } } diff --git a/how-to/use-popup-window/single-result/public/common/images/icon-blue.png b/how-to/use-popup-window/single-result/public/common/images/icon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fc78450293c9ff813b9d8bb19e5f3918795beeba GIT binary patch literal 1028 zcmV+f1pE7mP);txuo(sHhB6W3YG5`oAu(|@5JwGR0@_rb|qK6~mh) zPHNEo2hGbNd@X023)BVmoi;D4qu}=porgN=f+RB`pNBf?f(8a)4R$&( ztl0hqyjrQv$VwS4M=U6fJcptvY;wwOTW@8aWGyI3p0oH8*6`g72chvV5wl8kS)i&bleVxAK(7h5FbCl=%?&*4(x8Oj#h@e>PjndfYNfe4%N6AN;g z=ai&^EXGeR$YGu%-Lh@Q_a7V@NGwSFTNLCu(*Db)|4S^$WuDV7sDDI7kjp%WUAzRF zvs7Y1uJWAm3EA@Gd$uVLRz-SsSvSwAo`eOnr+N}!h80$M(B2;K=_7C|mwukZne%W~ z(5yx?=lQ&SA1IDH(#UhTlvvDJuZAt!11=?QCajl|_JpJom`U@TBv1fb5T3HrxRxmO zL{XaOG=fWpyAqq&G*O9MrFl+0l*4>SvQadPN~++7sjRAOq@xB(q3+_K>!^KByxEN%AD^ z9gMWi^+C3Ijua img { + width: 32px; + height: 32px; +} +button.secondary { + background-color: var(--brand-input-background); + color: var(--brand-text); + border-color: var(--brand-input-border); +} +button.secondary:not(:disabled):hover { + background-color: var(--brand-input-background); +} +button.plain { + border-color: transparent; + background-color: transparent; + color: var(--brand-primary); +} +button.plain:not(:disabled):not(:read-only):hover { + border-color: transparent; + background-color: transparent; +} + +button.small, +::-webkit-file-upload-button, +td button { + padding: 5px 10px; + font-size: 10px; +} +td button.plain { + width: auto; + height: auto; +} + +button.center { + text-align: center; +} + +::-webkit-file-upload-button { + margin-right: 10px; +} + +pre { + margin: 0; + padding: 5px; + border-radius: 5px; + font-size: 12px; + font-family: 'Courier New', Courier, monospace; + white-space: pre-wrap; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + width: 100%; + min-height: 20px; +} + +header { + padding-bottom: 10px; + border-bottom: 2px solid var(--brand-border); +} + +footer { + padding-top: 10px; + border-top: 1px solid var(--brand-border); +} + +fieldset { + display: flex; + flex-direction: column; + align-items: flex-start; + border: 0; + padding: 0; + font-size: 12px; + gap: 5px; +} + +fieldset.row { + flex-direction: row; + align-items: center; + gap: 10px; +} + +label { + font-size: 12px; + font-weight: 600; +} + +select, +input[type='text'], +input[type='url'], +input[type='email'], +input[type='password'], +input[type='file'], +input[type='number'], +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'], +input[type='color'], +textarea { + border-radius: 5px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + font-size: 12px; + outline: 0; + color: var(--brand-text); + width: 50%; + min-width: 200px; + padding: 8px 12px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +textarea { + min-height: 64px; + resize: none; +} + +textarea.resizable { + resize: both; +} + +select.full, +input[type='text'].full, +input[type='email'].full, +input[type='url'].full, +input[type='password'].full, +input[type='file'].full, +input[type='number'].full, +input[type='date'].full, +input[type='time'].full, +input[type='datetime-local'].full, +input[type='month'].full, +input[type='week'].full, +input[type='range'].full, +textarea.full { + width: 95%; +} + +select:focus, +select:not(:disabled):hover, +input[type='text']:not(:read-only):focus, +input[type='text']:not(:disabled):not(:read-only):hover, +input[type='email']:not(:read-only):focus, +input[type='email']:not(:disabled):not(:read-only):hover, +input[type='url']:not(:read-only):focus, +input[type='url']:not(:disabled):not(:read-only):hover, +input[type='password']:not(:read-only):focus, +input[type='password']:not(:disabled):not(:read-only):hover, +input[type='file']:not(:read-only):focus, +input[type='file']:not(:disabled):not(:read-only):hover, +input[type='number']:not(:read-only):focus, +input[type='number']:not(:disabled):not(:read-only):hover, +input[type='date']:not(:read-only):focus, +input[type='date']:not(:disabled):not(:read-only):hover, +input[type='time']:not(:read-only):focus, +input[type='time']:not(:disabled):not(:read-only):hover, +input[type='datetime-local']:not(:read-only):focus, +input[type='datetime-local']:not(:disabled):not(:read-only):hover, +input[type='month']:not(:read-only):focus, +input[type='month']:not(:disabled):not(:read-only):hover, +input[type='week']:not(:read-only):focus, +input[type='week']:not(:disabled):not(:read-only):hover, +textarea:not(:read-only):focus, +textarea:not(:disabled):not(:read-only):hover, +input[type='checkbox']:focus, +input[type='checkbox']:not(:disabled):hover, +input[type='radio']:focus, +input[type='radio']:not(:disabled):hover, +input[type='color']:focus, +input[type='color']:not(:disabled):hover { + border-color: var(--brand-input-border-highlight); +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'] { + width: 200px; + min-width: auto; +} + +.theme-dark ::-webkit-calendar-picker-indicator { + filter: invert(1); +} + +::-webkit-datetime-edit-day-field:focus, +::-webkit-datetime-edit-month-field:focus, +::-webkit-datetime-edit-year-field:focus, +::-webkit-datetime-edit-hour-field:focus, +::-webkit-datetime-edit-minute-field:focus, +::-webkit-datetime-edit-week-field:focus { + background-color: var(--brand-primary); + color: #ffffff; +} + +::-webkit-outer-spin-button, +::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type='file'] { + padding: 4px 12px; +} + +select { + appearance: none; +} + +select:not([multiple]):not(:disabled) { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-size: 12px; + background-position: calc(100% - 12px) 12px; + background-color: var(--brand-input-background); +} + +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + +option { + color: var(--brand-text); + padding: 6px; + margin-bottom: 1px; +} + +option:hover { + background: var(--brand-input-border) + linear-gradient(0deg, var(--brand-input-border) 0%, var(--brand-input-border) 100%); + border-radius: 5px; +} + +option:checked { + background: var(--brand-primary) linear-gradient(0deg, var(--brand-primary) 0%, var(--brand-primary) 100%); + color: #ffffff; + border-radius: 5px; +} + +input[type='range'] { + -webkit-appearance: none; + height: 20px; + width: 200px; + background: transparent; + outline: none; +} + +input[type='range']::-webkit-slider-runnable-track { + -webkit-appearance: none; + height: 10px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + border-radius: 5px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: 20px; + width: 20px; + border-radius: 5px; + margin-top: -6px; + border: 1px solid var(--brand-input-border); + background: var(--brand-input-background); + cursor: pointer; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']:hover::-webkit-slider-runnable-track, +input[type='range']:focus::-webkit-slider-runnable-track, +input[type='range']:hover::-webkit-slider-thumb, +input[type='range']:focus::-webkit-slider-thumb { + border-color: var(--brand-input-border-highlight); +} + +button:disabled, +select:disabled, +input:disabled, +textarea:disabled, +footer a:disabled, +a[disabled] { + opacity: 0.3; + cursor: default; + pointer-events: none; + resize: none; +} + +select:invalid, +input:invalid, +textarea:invalid { + border-color: var(--brand-error); +} + +fieldset > span { + margin-left: 10px; + width: 50px; +} + +input[type='text'].large, +input[type='password'].large, +input[type='file'].large, +input[type='email'].large, +input[type='url'].large, +input[type='date'].large, +input[type='time'].large { + font-size: 20px; + padding: 20px 10px; +} + +input[type='text'].center, +input[type='password'].center, +input[type='email'].center, +input[type='url'].center { + text-align: center; +} + +input[type='checkbox'], +input[type='radio'] { + appearance: none; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + color: var(--brand-input-text); + outline: 0; + width: 20px; + height: 20px; + margin: 2px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='radio'] { + border-radius: 50%; +} + +input[type='checkbox']::before, +input[type='radio']::before { + content: ''; + display: none; + width: 16px; + height: 16px; + margin: 1px; + background-color: var(--brand-text); + opacity: 0.8; +} + +input[type='checkbox']:checked::before { + display: inline-block; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +input[type='radio']:checked::before { + display: inline-block; + clip-path: circle(35% at 52% 50%); +} + +input[type='checkbox'] + label, +input[type='radio'] + label { + white-space: nowrap; +} + +input[type='color'] { + width: 100px; + min-width: auto; + padding: 5px; +} + +input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + background: transparent; +} + +input[type='color']::-webkit-color-swatch { + border-radius: 5px; + border: none; +} + +/* This disables the auto zoom on iDevices */ +@supports (-webkit-touch-callout: none) { + select, + input[type='text'], + input[type='url'], + input[type='email'], + input[type='password'], + input[type='file'], + input[type='number'], + input[type='date'], + input[type='time'], + input[type='datetime-local'], + input[type='month'], + input[type='week'], + input[type='color'], + textarea { + font-size: 16px; + } +} + +hr { + width: 100%; + border: 0; + border-bottom: 1px solid var(--brand-input-border); +} + +ul { + font-size: 12px; + display: flex; + flex-direction: column; + gap: 10px; + list-style-type: none; +} + +li { + font-size: 12px; + position: relative; + padding: 0 0 10px; +} + +li::before { + content: ' '; + display: inline-block; + background-color: var(--brand-primary); + width: 8px; + height: 8px; + border-radius: 2px; + position: absolute; + left: -13px; + top: 3px; +} + +em { + font-size: 12px; +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.fill { + flex: 1; +} + +.fill_2 { + flex: 2; +} + +.scroll { + overflow: auto; +} + +.scroll-vertical { + overflow-y: auto; +} + +.scroll-horizontal { + overflow-x: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.middle { + align-items: center; +} + +.bottom { + align-items: flex-end; +} + +.spread { + justify-content: space-between; +} + +.around { + justify-content: space-around; +} + +.left { + display: flex; + align-items: flex-start; +} + +.center { + display: flex; + justify-content: center; +} + +.right { + display: flex; + justify-content: flex-end; +} + +.wrap { + flex-wrap: wrap; +} + +.gap5 { + gap: 5px; +} + +.gap10 { + gap: 10px; +} + +.gap20 { + gap: 20px; +} + +.gap40 { + gap: 40px; +} + +.pad10 { + padding: 10px; +} + +.pad20 { + padding: 20px; +} + +.pad0 { + padding: 0px; +} + +.table { + display: flex; + flex: 1; + flex-direction: column; + font-size: 10px; +} + +table { + width: 100%; + font-size: 10px; + border: 0; + border-collapse: collapse; +} + +table, +.table { + border: var(--brand-input-border) 1px solid; +} + +.table-row { + display: flex; + flex: 1; + flex-direction: row; +} + +table > tr:first-child, +thead > tr, +.table-row.header { + background-color: var(--brand-table-header); +} + +table > tr:nth-child(even), +.table > div:nth-child(even), +tbody > tr:nth-child(odd) { + background-color: var(--brand-table-row-even); +} + +table > tr:nth-child(odd), +.table > div:not(:first-child):nth-child(odd), +tbody > tr:nth-child(even) { + background-color: var(--brand-table-row-odd); +} + +th, +.table-row.header > div { + color: var(--brand-table-header-text); + font-weight: bold; + padding: 10px 5px; + text-align: left; + word-break: break-word; +} + +.table-row > div { + flex: 1; +} + +td, +.table-row:not(.header) > div { + padding: 5px; + word-break: break-word; + color: var(--brand-text); +} + +.table-row:not(.header) > div { + display: flex; + align-items: center; +} + +@media screen and (max-width: 736px) { + .table-row { + flex-direction: column; + } + + .table-row.header { + display: none; + } + + .table-row:not(.header) > div { + display: flex; + align-items: center; + flex: 1; + gap: 10px; + } + + .table-row:not(.header) > div:before { + content: attr(data-name); + font-weight: bold; + white-space: nowrap; + width: 20%; + } + + .table-row > div.right { + justify-content: flex-start; + } + + .table-row > div.center { + justify-content: flex-start; + } +} + +.border { + border: 1px solid var(--brand-input-border); + border-radius: 5px; +} + +.drag { + user-select: none; + -webkit-app-region: drag; +} + +.no-drag { + -webkit-app-region: none; +} + +.form { + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; + font-size: 12px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; +} + +.form-group.large { + gap: 20px; +} + +.width-full { + width: 100%; +} + +.max-width-full { + max-width: 100%; +} + +.width-responsive { + max-width: fit-content; +} + +.hidden { + display: none; +} + +.pointer { + cursor: pointer; +} + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/use-popup-window/single-result/public/favicon.ico b/how-to/use-popup-window/single-result/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0b6e09e66a4928f206aa862087f92992c4591220 GIT binary patch literal 108568 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 literal 0 HcmV?d00001 diff --git a/how-to/use-popup-window/single-result/public/html/app.html b/how-to/use-popup-window/single-result/public/html/app.html index 30fdc48b..2437664f 100644 --- a/how-to/use-popup-window/single-result/public/html/app.html +++ b/how-to/use-popup-window/single-result/public/html/app.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-popup-window/single-result/public/html/popup.html b/how-to/use-popup-window/single-result/public/html/popup.html index 5193689f..1391171c 100644 --- a/how-to/use-popup-window/single-result/public/html/popup.html +++ b/how-to/use-popup-window/single-result/public/html/popup.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-popup-window/single-result/scripts/kill.mjs b/how-to/use-popup-window/single-result/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/use-popup-window/single-result/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/use-popup-window/single-result/scripts/launch.mjs b/how-to/use-popup-window/single-result/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/use-popup-window/single-result/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/use-popup-window/single-result/server/src/app.ts b/how-to/use-popup-window/single-result/server/src/app.ts deleted file mode 100644 index 694c7722..00000000 --- a/how-to/use-popup-window/single-result/server/src/app.ts +++ /dev/null @@ -1,17 +0,0 @@ -import express from "express"; -import path from "path"; - -const app = express(); - -const mainPath = path.join(__dirname, "..", "..", "public"); -const commonPath = path.join(__dirname, "..", "..", "..", "..", "common", "public"); -const port = 5050; - -console.log(`Main Path / = ${mainPath}`); -console.log(`Common Path /common = ${commonPath}`); -console.log("Root path checks both the main and common directories."); -app.use(express.static(mainPath)); -app.use("/common", express.static(commonPath)); -app.listen(port, () => { - console.log("server is listening on port", port); -}); diff --git a/how-to/use-popup-window/single-result/server/tsconfig.json b/how-to/use-popup-window/single-result/server/tsconfig.json deleted file mode 100644 index adb16a6f..00000000 --- a/how-to/use-popup-window/single-result/server/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "es2021", - "module": "commonjs", - "sourceMap": true, - "rootDir": "./src", - "outDir": "build", - "skipLibCheck": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", - "moduleResolution": "node" - }, - "include": ["./src/**/*.ts"] -} diff --git a/how-to/use-preloads/basic/client/src/preload-platform.ts b/how-to/use-preloads/basic/client/src/preload-platform.ts index 597f74c6..d4ea0641 100644 --- a/how-to/use-preloads/basic/client/src/preload-platform.ts +++ b/how-to/use-preloads/basic/client/src/preload-platform.ts @@ -8,6 +8,6 @@ if (window !== window.top) { }); } -function initPlatformPreload() { +function initPlatformPreload(): void { console.log("Platform preload loaded."); } diff --git a/how-to/use-preloads/basic/client/src/preload-view.ts b/how-to/use-preloads/basic/client/src/preload-view.ts index d3bb1e18..a96f2a3e 100644 --- a/how-to/use-preloads/basic/client/src/preload-view.ts +++ b/how-to/use-preloads/basic/client/src/preload-view.ts @@ -8,6 +8,6 @@ if (window !== window.top) { }); } -async function initViewPreload() { +async function initViewPreload(): Promise { console.log("View preload loaded."); } diff --git a/how-to/use-preloads/basic/client/src/preload-window.ts b/how-to/use-preloads/basic/client/src/preload-window.ts index 206abae9..3b29fd11 100644 --- a/how-to/use-preloads/basic/client/src/preload-window.ts +++ b/how-to/use-preloads/basic/client/src/preload-window.ts @@ -8,6 +8,6 @@ if (window !== window.top) { }); } -function initWindowPreload() { +function initWindowPreload(): void { console.log("Window preload loaded."); } diff --git a/how-to/use-preloads/basic/client/tsconfig.json b/how-to/use-preloads/basic/client/tsconfig.json index 65f1c0a1..1bfae137 100644 --- a/how-to/use-preloads/basic/client/tsconfig.json +++ b/how-to/use-preloads/basic/client/tsconfig.json @@ -6,11 +6,11 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node", - "types": ["../../../common/types/fin"] + "types": ["./types/fin"] }, "include": ["./src/**/*.ts"] } diff --git a/how-to/use-preloads/basic/package.json b/how-to/use-preloads/basic/package.json index 64ec0585..a3c72453 100644 --- a/how-to/use-preloads/basic/package.json +++ b/how-to/use-preloads/basic/package.json @@ -19,10 +19,11 @@ "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "express": "^4.18.2", + "openfin-adapter": "^26.70.16", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } } diff --git a/how-to/use-preloads/basic/public/html/app.html b/how-to/use-preloads/basic/public/html/app.html index 1a5489b9..adf2522f 100644 --- a/how-to/use-preloads/basic/public/html/app.html +++ b/how-to/use-preloads/basic/public/html/app.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-preloads/basic/server/tsconfig.json b/how-to/use-preloads/basic/server/tsconfig.json index adb16a6f..86f342dd 100644 --- a/how-to/use-preloads/basic/server/tsconfig.json +++ b/how-to/use-preloads/basic/server/tsconfig.json @@ -6,9 +6,9 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node" }, "include": ["./src/**/*.ts"] diff --git a/how-to/use-preloads/restart-on-refresh/client/src/preload-view.ts b/how-to/use-preloads/restart-on-refresh/client/src/preload-view.ts index 62090b38..709f4cc5 100644 --- a/how-to/use-preloads/restart-on-refresh/client/src/preload-view.ts +++ b/how-to/use-preloads/restart-on-refresh/client/src/preload-view.ts @@ -9,7 +9,7 @@ if (window !== window.top) { }); } -async function initViewPreload() { +async function initViewPreload(): Promise { console.log("View preload loaded."); const navigationEntries = performance.getEntriesByType("navigation"); // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/how-to/use-preloads/restart-on-refresh/client/tsconfig.json b/how-to/use-preloads/restart-on-refresh/client/tsconfig.json index 65f1c0a1..1bfae137 100644 --- a/how-to/use-preloads/restart-on-refresh/client/tsconfig.json +++ b/how-to/use-preloads/restart-on-refresh/client/tsconfig.json @@ -6,11 +6,11 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node", - "types": ["../../../common/types/fin"] + "types": ["./types/fin"] }, "include": ["./src/**/*.ts"] } diff --git a/how-to/use-preloads/restart-on-refresh/package.json b/how-to/use-preloads/restart-on-refresh/package.json index bd80bc2c..0a8f733c 100644 --- a/how-to/use-preloads/restart-on-refresh/package.json +++ b/how-to/use-preloads/restart-on-refresh/package.json @@ -19,10 +19,11 @@ "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "express": "^4.18.2", + "openfin-adapter": "^26.70.16", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } } diff --git a/how-to/use-preloads/restart-on-refresh/public/js/preload-view.bundle.js b/how-to/use-preloads/restart-on-refresh/public/js/preload-view.bundle.js index df5a7e4f..a0a0c164 100644 --- a/how-to/use-preloads/restart-on-refresh/public/js/preload-view.bundle.js +++ b/how-to/use-preloads/restart-on-refresh/public/js/preload-view.bundle.js @@ -3,47 +3,47 @@ var __webpack_exports__ = {}; /*!************************************!*\ !*** ./client/src/preload-view.ts ***! \************************************/ -if (window !== window.top) { - console.log("We don't want to load execute when running in an iframe."); -} -else if (document.readyState === "complete") { - // eslint-disable-next-line no-void - void initViewPreload(); -} -else { - window.addEventListener("load", async () => { - await initViewPreload(); - }); -} -async function initViewPreload() { - console.log("View preload loaded."); - const navigationEntries = performance.getEntriesByType("navigation"); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - if (navigationEntries.length > 0 && navigationEntries[0].type === "reload") { - console.log("Navigation Entries from Performance API Indicate that this page has been reloaded."); - console.log("This example is a use case that was was asked for. Can I restart and navigate to the originally loaded url in a view when a user reloads the page?"); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const fin = window.fin; - if (fin !== undefined) { - const viewOptions = await fin.me.getOptions(); - console.log("View Options:", viewOptions); - if (location.href !== viewOptions.url) { - console.log(`Current url: ${location.href} does not match the defined view url: ${viewOptions.url} navigating to the original url on refresh.`); - location.href = viewOptions.url; - } - else { - console.log("Reload was detected on the originally loaded url. Performing no actions."); - } - } - else { - console.error("This is a preload script so should only ever be loaded into an OpenFin container"); - } - } - else { - console.log(`First load of: ${location.href}`); - } -} +if (window !== window.top) { + console.log("We don't want to load execute when running in an iframe."); +} +else if (document.readyState === "complete") { + // eslint-disable-next-line no-void + void initViewPreload(); +} +else { + window.addEventListener("load", async () => { + await initViewPreload(); + }); +} +async function initViewPreload() { + console.log("View preload loaded."); + const navigationEntries = performance.getEntriesByType("navigation"); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + if (navigationEntries.length > 0 && navigationEntries[0].type === "reload") { + console.log("Navigation Entries from Performance API Indicate that this page has been reloaded."); + console.log("This example is a use case that was was asked for. Can I restart and navigate to the originally loaded url in a view when a user reloads the page?"); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const fin = window.fin; + if (fin !== undefined) { + const viewOptions = await fin.me.getOptions(); + console.log("View Options:", viewOptions); + if (location.href !== viewOptions.url) { + console.log(`Current url: ${location.href} does not match the defined view url: ${viewOptions.url} navigating to the original url on refresh.`); + location.href = viewOptions.url; + } + else { + console.log("Reload was detected on the originally loaded url. Performing no actions."); + } + } + else { + console.error("This is a preload script so should only ever be loaded into an OpenFin container"); + } + } + else { + console.log(`First load of: ${location.href}`); + } +} /******/ })() ; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZC12aWV3LmJ1bmRsZS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBLElBQUksTUFBTSxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUU7SUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQywwREFBMEQsQ0FBQyxDQUFDO0NBQ3hFO0tBQU0sSUFBSSxRQUFRLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRTtJQUM5QyxtQ0FBbUM7SUFDbkMsS0FBSyxlQUFlLEVBQUUsQ0FBQztDQUN2QjtLQUFNO0lBQ04sTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxLQUFLLElBQUksRUFBRTtRQUMxQyxNQUFNLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0NBQ0g7QUFFRCxLQUFLLFVBQVUsZUFBZTtJQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDcEMsTUFBTSxpQkFBaUIsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckUsOERBQThEO0lBQzlELElBQUksaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSyxpQkFBaUIsQ0FBQyxDQUFDLENBQVMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQ3BGLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0ZBQW9GLENBQUMsQ0FBQztRQUNsRyxPQUFPLENBQUMsR0FBRyxDQUNWLG9KQUFvSixDQUNwSixDQUFDO1FBQ0YsOERBQThEO1FBQzlELE1BQU0sR0FBRyxHQUFJLE1BQWMsQ0FBQyxHQUFHLENBQUM7UUFDaEMsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1lBQ3RCLE1BQU0sV0FBVyxHQUFHLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM5QyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUMxQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLEdBQUcsRUFBRTtnQkFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FDVixnQkFBZ0IsUUFBUSxDQUFDLElBQUkseUNBQXlDLFdBQVcsQ0FBQyxHQUFHLDZDQUE2QyxDQUNsSSxDQUFDO2dCQUNGLFFBQVEsQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQzthQUNoQztpQkFBTTtnQkFDTixPQUFPLENBQUMsR0FBRyxDQUFDLDBFQUEwRSxDQUFDLENBQUM7YUFDeEY7U0FDRDthQUFNO1lBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyxrRkFBa0YsQ0FBQyxDQUFDO1NBQ2xHO0tBQ0Q7U0FBTTtRQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBQy9DO0FBQ0YsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL3VzZS1wcmVsb2Fkcy1yZXN0YXJ0LW9uLXJlZnJlc2gvLi9jbGllbnQvc3JjL3ByZWxvYWQtdmlldy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpZiAod2luZG93ICE9PSB3aW5kb3cudG9wKSB7XG5cdGNvbnNvbGUubG9nKFwiV2UgZG9uJ3Qgd2FudCB0byBsb2FkIGV4ZWN1dGUgd2hlbiBydW5uaW5nIGluIGFuIGlmcmFtZS5cIik7XG59IGVsc2UgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09IFwiY29tcGxldGVcIikge1xuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdm9pZFxuXHR2b2lkIGluaXRWaWV3UHJlbG9hZCgpO1xufSBlbHNlIHtcblx0d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsIGFzeW5jICgpID0+IHtcblx0XHRhd2FpdCBpbml0Vmlld1ByZWxvYWQoKTtcblx0fSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGluaXRWaWV3UHJlbG9hZCgpIHtcblx0Y29uc29sZS5sb2coXCJWaWV3IHByZWxvYWQgbG9hZGVkLlwiKTtcblx0Y29uc3QgbmF2aWdhdGlvbkVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwibmF2aWdhdGlvblwiKTtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcblx0aWYgKG5hdmlnYXRpb25FbnRyaWVzLmxlbmd0aCA+IDAgJiYgKG5hdmlnYXRpb25FbnRyaWVzWzBdIGFzIGFueSkudHlwZSA9PT0gXCJyZWxvYWRcIikge1xuXHRcdGNvbnNvbGUubG9nKFwiTmF2aWdhdGlvbiBFbnRyaWVzIGZyb20gUGVyZm9ybWFuY2UgQVBJIEluZGljYXRlIHRoYXQgdGhpcyBwYWdlIGhhcyBiZWVuIHJlbG9hZGVkLlwiKTtcblx0XHRjb25zb2xlLmxvZyhcblx0XHRcdFwiVGhpcyBleGFtcGxlIGlzIGEgdXNlIGNhc2UgdGhhdCB3YXMgd2FzIGFza2VkIGZvci4gQ2FuIEkgcmVzdGFydCBhbmQgbmF2aWdhdGUgdG8gdGhlIG9yaWdpbmFsbHkgbG9hZGVkIHVybCBpbiBhIHZpZXcgd2hlbiBhIHVzZXIgcmVsb2FkcyB0aGUgcGFnZT9cIlxuXHRcdCk7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcblx0XHRjb25zdCBmaW4gPSAod2luZG93IGFzIGFueSkuZmluO1xuXHRcdGlmIChmaW4gIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0Y29uc3Qgdmlld09wdGlvbnMgPSBhd2FpdCBmaW4ubWUuZ2V0T3B0aW9ucygpO1xuXHRcdFx0Y29uc29sZS5sb2coXCJWaWV3IE9wdGlvbnM6XCIsIHZpZXdPcHRpb25zKTtcblx0XHRcdGlmIChsb2NhdGlvbi5ocmVmICE9PSB2aWV3T3B0aW9ucy51cmwpIHtcblx0XHRcdFx0Y29uc29sZS5sb2coXG5cdFx0XHRcdFx0YEN1cnJlbnQgdXJsOiAke2xvY2F0aW9uLmhyZWZ9IGRvZXMgbm90IG1hdGNoIHRoZSBkZWZpbmVkIHZpZXcgdXJsOiAke3ZpZXdPcHRpb25zLnVybH0gbmF2aWdhdGluZyB0byB0aGUgb3JpZ2luYWwgdXJsIG9uIHJlZnJlc2guYFxuXHRcdFx0XHQpO1xuXHRcdFx0XHRsb2NhdGlvbi5ocmVmID0gdmlld09wdGlvbnMudXJsO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y29uc29sZS5sb2coXCJSZWxvYWQgd2FzIGRldGVjdGVkIG9uIHRoZSBvcmlnaW5hbGx5IGxvYWRlZCB1cmwuIFBlcmZvcm1pbmcgbm8gYWN0aW9ucy5cIik7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnNvbGUuZXJyb3IoXCJUaGlzIGlzIGEgcHJlbG9hZCBzY3JpcHQgc28gc2hvdWxkIG9ubHkgZXZlciBiZSBsb2FkZWQgaW50byBhbiBPcGVuRmluIGNvbnRhaW5lclwiKTtcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0Y29uc29sZS5sb2coYEZpcnN0IGxvYWQgb2Y6ICR7bG9jYXRpb24uaHJlZn1gKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZC12aWV3LmJ1bmRsZS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBLElBQUksTUFBTSxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUU7SUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQywwREFBMEQsQ0FBQyxDQUFDO0NBQ3hFO0tBQU0sSUFBSSxRQUFRLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRTtJQUM5QyxtQ0FBbUM7SUFDbkMsS0FBSyxlQUFlLEVBQUUsQ0FBQztDQUN2QjtLQUFNO0lBQ04sTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxLQUFLLElBQUksRUFBRTtRQUMxQyxNQUFNLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0NBQ0g7QUFFRCxLQUFLLFVBQVUsZUFBZTtJQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDcEMsTUFBTSxpQkFBaUIsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckUsOERBQThEO0lBQzlELElBQUksaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSyxpQkFBaUIsQ0FBQyxDQUFDLENBQVMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQ3BGLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0ZBQW9GLENBQUMsQ0FBQztRQUNsRyxPQUFPLENBQUMsR0FBRyxDQUNWLG9KQUFvSixDQUNwSixDQUFDO1FBQ0YsOERBQThEO1FBQzlELE1BQU0sR0FBRyxHQUFJLE1BQWMsQ0FBQyxHQUFHLENBQUM7UUFDaEMsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1lBQ3RCLE1BQU0sV0FBVyxHQUFHLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM5QyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUMxQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLEdBQUcsRUFBRTtnQkFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FDVixnQkFBZ0IsUUFBUSxDQUFDLElBQUkseUNBQXlDLFdBQVcsQ0FBQyxHQUFHLDZDQUE2QyxDQUNsSSxDQUFDO2dCQUNGLFFBQVEsQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQzthQUNoQztpQkFBTTtnQkFDTixPQUFPLENBQUMsR0FBRyxDQUFDLDBFQUEwRSxDQUFDLENBQUM7YUFDeEY7U0FDRDthQUFNO1lBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyxrRkFBa0YsQ0FBQyxDQUFDO1NBQ2xHO0tBQ0Q7U0FBTTtRQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBQy9DO0FBQ0YsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL3VzZS1wcmVsb2Fkcy1yZXN0YXJ0LW9uLXJlZnJlc2gvLi9jbGllbnQvc3JjL3ByZWxvYWQtdmlldy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpZiAod2luZG93ICE9PSB3aW5kb3cudG9wKSB7XG5cdGNvbnNvbGUubG9nKFwiV2UgZG9uJ3Qgd2FudCB0byBsb2FkIGV4ZWN1dGUgd2hlbiBydW5uaW5nIGluIGFuIGlmcmFtZS5cIik7XG59IGVsc2UgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09IFwiY29tcGxldGVcIikge1xuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdm9pZFxuXHR2b2lkIGluaXRWaWV3UHJlbG9hZCgpO1xufSBlbHNlIHtcblx0d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsIGFzeW5jICgpID0+IHtcblx0XHRhd2FpdCBpbml0Vmlld1ByZWxvYWQoKTtcblx0fSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGluaXRWaWV3UHJlbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcblx0Y29uc29sZS5sb2coXCJWaWV3IHByZWxvYWQgbG9hZGVkLlwiKTtcblx0Y29uc3QgbmF2aWdhdGlvbkVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwibmF2aWdhdGlvblwiKTtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcblx0aWYgKG5hdmlnYXRpb25FbnRyaWVzLmxlbmd0aCA+IDAgJiYgKG5hdmlnYXRpb25FbnRyaWVzWzBdIGFzIGFueSkudHlwZSA9PT0gXCJyZWxvYWRcIikge1xuXHRcdGNvbnNvbGUubG9nKFwiTmF2aWdhdGlvbiBFbnRyaWVzIGZyb20gUGVyZm9ybWFuY2UgQVBJIEluZGljYXRlIHRoYXQgdGhpcyBwYWdlIGhhcyBiZWVuIHJlbG9hZGVkLlwiKTtcblx0XHRjb25zb2xlLmxvZyhcblx0XHRcdFwiVGhpcyBleGFtcGxlIGlzIGEgdXNlIGNhc2UgdGhhdCB3YXMgd2FzIGFza2VkIGZvci4gQ2FuIEkgcmVzdGFydCBhbmQgbmF2aWdhdGUgdG8gdGhlIG9yaWdpbmFsbHkgbG9hZGVkIHVybCBpbiBhIHZpZXcgd2hlbiBhIHVzZXIgcmVsb2FkcyB0aGUgcGFnZT9cIlxuXHRcdCk7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcblx0XHRjb25zdCBmaW4gPSAod2luZG93IGFzIGFueSkuZmluO1xuXHRcdGlmIChmaW4gIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0Y29uc3Qgdmlld09wdGlvbnMgPSBhd2FpdCBmaW4ubWUuZ2V0T3B0aW9ucygpO1xuXHRcdFx0Y29uc29sZS5sb2coXCJWaWV3IE9wdGlvbnM6XCIsIHZpZXdPcHRpb25zKTtcblx0XHRcdGlmIChsb2NhdGlvbi5ocmVmICE9PSB2aWV3T3B0aW9ucy51cmwpIHtcblx0XHRcdFx0Y29uc29sZS5sb2coXG5cdFx0XHRcdFx0YEN1cnJlbnQgdXJsOiAke2xvY2F0aW9uLmhyZWZ9IGRvZXMgbm90IG1hdGNoIHRoZSBkZWZpbmVkIHZpZXcgdXJsOiAke3ZpZXdPcHRpb25zLnVybH0gbmF2aWdhdGluZyB0byB0aGUgb3JpZ2luYWwgdXJsIG9uIHJlZnJlc2guYFxuXHRcdFx0XHQpO1xuXHRcdFx0XHRsb2NhdGlvbi5ocmVmID0gdmlld09wdGlvbnMudXJsO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y29uc29sZS5sb2coXCJSZWxvYWQgd2FzIGRldGVjdGVkIG9uIHRoZSBvcmlnaW5hbGx5IGxvYWRlZCB1cmwuIFBlcmZvcm1pbmcgbm8gYWN0aW9ucy5cIik7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnNvbGUuZXJyb3IoXCJUaGlzIGlzIGEgcHJlbG9hZCBzY3JpcHQgc28gc2hvdWxkIG9ubHkgZXZlciBiZSBsb2FkZWQgaW50byBhbiBPcGVuRmluIGNvbnRhaW5lclwiKTtcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0Y29uc29sZS5sb2coYEZpcnN0IGxvYWQgb2Y6ICR7bG9jYXRpb24uaHJlZn1gKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file diff --git a/how-to/use-preloads/restart-on-refresh/server/tsconfig.json b/how-to/use-preloads/restart-on-refresh/server/tsconfig.json index adb16a6f..86f342dd 100644 --- a/how-to/use-preloads/restart-on-refresh/server/tsconfig.json +++ b/how-to/use-preloads/restart-on-refresh/server/tsconfig.json @@ -6,9 +6,9 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node" }, "include": ["./src/**/*.ts"] diff --git a/how-to/use-security-realms/client/tsconfig.json b/how-to/use-security-realms/client/tsconfig.json index 95b189eb..1bfae137 100644 --- a/how-to/use-security-realms/client/tsconfig.json +++ b/how-to/use-security-realms/client/tsconfig.json @@ -6,11 +6,11 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node", - "types": ["../../common/types/fin"] + "types": ["./types/fin"] }, "include": ["./src/**/*.ts"] } diff --git a/how-to/use-security-realms/package.json b/how-to/use-security-realms/package.json index 2bc56ae6..18db1319 100755 --- a/how-to/use-security-realms/package.json +++ b/how-to/use-security-realms/package.json @@ -19,10 +19,11 @@ "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "express": "^4.18.2", + "openfin-adapter": "^26.70.16", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } } diff --git a/how-to/use-security-realms/public/html/app.html b/how-to/use-security-realms/public/html/app.html index 638e3d56..e7860545 100755 --- a/how-to/use-security-realms/public/html/app.html +++ b/how-to/use-security-realms/public/html/app.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-security-realms/public/html/view-app.html b/how-to/use-security-realms/public/html/view-app.html index 24da1cb0..59802877 100755 --- a/how-to/use-security-realms/public/html/view-app.html +++ b/how-to/use-security-realms/public/html/view-app.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-security-realms/server/tsconfig.json b/how-to/use-security-realms/server/tsconfig.json index adb16a6f..86f342dd 100755 --- a/how-to/use-security-realms/server/tsconfig.json +++ b/how-to/use-security-realms/server/tsconfig.json @@ -6,9 +6,9 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node" }, "include": ["./src/**/*.ts"] diff --git a/how-to/use-window-options/client/src/app.ts b/how-to/use-window-options/client/src/app.ts index 98f19ef2..1b50abd6 100644 --- a/how-to/use-window-options/client/src/app.ts +++ b/how-to/use-window-options/client/src/app.ts @@ -116,7 +116,7 @@ async function initDom(): Promise { updatePreview(); } -function populateForm() { +function populateForm(): void { // Common options connectInput(selectedCommonOptions, "optionName", "name"); connectInput(selectedCommonOptions, "optionUrl", "url"); @@ -159,7 +159,7 @@ function populateForm() { updateFramelessState(); } -function updateResizeState() { +function updateResizeState(): void { const resizable = selectedCommonOptions.resizable ?? defaultCommonOptions.resizable; const widthElem: HTMLElement = document.querySelector("#resizeWidth"); widthElem.style.display = resizable ? "flex" : "none"; @@ -175,13 +175,13 @@ function updateResizeState() { } } -function updateFramelessState() { +function updateFramelessState(): void { const frame = selectedCommonOptions.frame ?? defaultCommonOptions.frame; const sectionFrameless: HTMLElement = document.querySelector("#sectionFrameless"); sectionFrameless.style.display = frame ? "none" : "flex"; } -function updateResizeWidth() { +function updateResizeWidth(): void { if ( selectedCommonOptions.maxWidth !== -1 && selectedCommonOptions.maxWidth <= selectedCommonOptions.minWidth @@ -194,7 +194,7 @@ function updateResizeWidth() { } } -function updateResizeHeight() { +function updateResizeHeight(): void { if ( selectedCommonOptions.maxHeight !== -1 && selectedCommonOptions.maxHeight <= selectedCommonOptions.minHeight @@ -207,7 +207,7 @@ function updateResizeHeight() { } } -function updateDefaultPosition() { +function updateDefaultPosition(): void { const isCentered = selectedCommonOptions.defaultCentered ?? defaultCommonOptions.defaultCentered; const defaultPositionElem: HTMLDivElement = document.querySelector("#defaultPosition"); @@ -237,7 +237,7 @@ function getProperty(obj: Partial, key: K): P { return obj[key] as unknown as P; } -function connectInput(selectedValues: Partial, fieldId: string, property: K) { +function connectInput(selectedValues: Partial, fieldId: string, property: K): void { const option = document.querySelector(`#${fieldId}`); option.value = getProperty(selectedValues, property) ?? ""; option.addEventListener("input", () => { @@ -251,7 +251,7 @@ function connectCheckbox( fieldId: string, property: K, changed?: () => void -) { +): void { const option = document.querySelector(`#${fieldId}`); option.checked = getProperty(selectedValues, property); option.addEventListener("change", () => { @@ -268,7 +268,7 @@ function connectRange( fieldId: string, property: K, changed?: () => void -) { +): void { const option = document.querySelector(`#${fieldId}`); const optionValue = document.querySelector(`#${fieldId}Value`); @@ -289,7 +289,7 @@ function connectColor( fieldId: string, property: K, changed?: () => void -) { +): void { const option = document.querySelector(`#${fieldId}`); const optionValue = document.querySelector(`#${fieldId}Value`); @@ -305,7 +305,7 @@ function connectColor( }); } -function finalizeWindowOptions() { +function finalizeWindowOptions(): OpenFin.WindowCreationOptions { const finalWindowOptions: OpenFin.WindowCreationOptions = { name: selectedCommonOptions.name, url: selectedCommonOptions.url, @@ -351,11 +351,11 @@ function finalizeWindowOptions() { return finalWindowOptions; } -function updatePreview() { +function updatePreview(): void { const previewElem = document.querySelector("#preview"); previewElem.textContent = createPreview(); } -function createPreview() { +function createPreview(): string { return `await fin.Window.create(${JSON.stringify(finalizeWindowOptions(), undefined, " ")});`; } diff --git a/how-to/use-window-options/client/tsconfig.json b/how-to/use-window-options/client/tsconfig.json index 95b189eb..1bfae137 100644 --- a/how-to/use-window-options/client/tsconfig.json +++ b/how-to/use-window-options/client/tsconfig.json @@ -6,11 +6,11 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node", - "types": ["../../common/types/fin"] + "types": ["./types/fin"] }, "include": ["./src/**/*.ts"] } diff --git a/how-to/use-window-options/package.json b/how-to/use-window-options/package.json index fa1d7cd5..408c2930 100644 --- a/how-to/use-window-options/package.json +++ b/how-to/use-window-options/package.json @@ -19,10 +19,11 @@ "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "express": "^4.18.2", + "openfin-adapter": "^26.70.16", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } } diff --git a/how-to/use-window-options/public/html/app.html b/how-to/use-window-options/public/html/app.html index ed377d79..28858924 100644 --- a/how-to/use-window-options/public/html/app.html +++ b/how-to/use-window-options/public/html/app.html @@ -1,5 +1,5 @@ - - + + Window Options Example @@ -7,7 +7,6 @@ - @@ -17,7 +16,6 @@

Window Options Example

Demonstrate the customization options available for opening windows.

- OpenFin
diff --git a/how-to/use-window-options/public/html/preview.html b/how-to/use-window-options/public/html/preview.html index 461e15c0..086f62a1 100644 --- a/how-to/use-window-options/public/html/preview.html +++ b/how-to/use-window-options/public/html/preview.html @@ -1,12 +1,11 @@ - - + + Window Options Preview - @@ -16,7 +15,6 @@

Window Options Preview

Demonstrate the customization options available for opening windows.

- OpenFin
diff --git a/how-to/use-window-options/server/tsconfig.json b/how-to/use-window-options/server/tsconfig.json index adb16a6f..86f342dd 100644 --- a/how-to/use-window-options/server/tsconfig.json +++ b/how-to/use-window-options/server/tsconfig.json @@ -6,9 +6,9 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node" }, "include": ["./src/**/*.ts"] diff --git a/package-lock.json b/package-lock.json index 2a2f5c89..e9f92e53 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,24 +12,23 @@ "how-to/**" ], "devDependencies": { - "eslint": "^8.35.0", - "eslint-config-airbnb": "^19.0.4", - "eslint-config-airbnb-base": "^15.0.0", - "eslint-config-airbnb-typescript": "^17.0.0", - "eslint-config-prettier": "^8.6.0", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-promise": "^6.1.1", - "eslint-plugin-simple-import-sort": "^10.0.0", - "eslint-plugin-unicorn": "^45.0.2", - "eslint-plugin-unused-imports": "^2.0.0", - "fast-glob": "^3.2.12", - "fs-extra": "^11.1.0", - "glob": "^10.0.0", - "markdownlint-cli": "^0.33.0", - "prettier": "^2.8.4", - "replace-in-file": "^6.3.5", - "yargs": "^17.7.1" + "eslint": "8.44.0", + "eslint-config-airbnb": "19.0.4", + "eslint-config-airbnb-typescript": "17.0.0", + "eslint-config-prettier": "8.8.0", + "eslint-plugin-import": "2.26.0", + "eslint-plugin-jsdoc": "46.4.3", + "eslint-plugin-prettier": "4.2.1", + "eslint-plugin-promise": "6.1.1", + "eslint-plugin-simple-import-sort": "10.0.0", + "eslint-plugin-unicorn": "47.0.0", + "eslint-plugin-unused-imports": "2.0.0", + "fast-glob": "3.3.0", + "fs-extra": "11.1.1", + "markdownlint-cli": "0.35.0", + "prettier": "3.0.0", + "replace-in-file": "7.0.1", + "yargs": "17.7.2" } }, "how-to/automation-testing/create-window-js": { @@ -37,9 +36,9 @@ "version": "1.0.0", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "@openfin/automation-cli": "^1.0.1", - "@openfin/automation-helpers": "^1.0.1", - "@openfin/automation-native": "^1.0.1", + "@openfin/automation-cli": "^1.0.13", + "@openfin/automation-helpers": "^1.0.13", + "@openfin/automation-native": "^1.0.13", "chai": "4.3.7", "mochawesome": "7.1.3" } @@ -49,9 +48,9 @@ "version": "1.0.0", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "@openfin/automation-cli": "^1.0.1", - "@openfin/automation-helpers": "^1.0.1", - "@openfin/automation-native": "^1.0.1", + "@openfin/automation-cli": "^1.0.13", + "@openfin/automation-helpers": "^1.0.13", + "@openfin/automation-native": "^1.0.13", "chai": "4.3.7", "mochawesome": "7.1.3" } @@ -61,9 +60,9 @@ "version": "1.0.0", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "@openfin/automation-cli": "^1.0.1", - "@openfin/automation-helpers": "^1.0.1", - "@openfin/automation-native": "^1.0.1", + "@openfin/automation-cli": "^1.0.13", + "@openfin/automation-helpers": "^1.0.13", + "@openfin/automation-native": "^1.0.13", "chai": "4.3.7", "mochawesome": "7.1.3" } @@ -76,14 +75,14 @@ "@openfin/core": "^27.70.8" }, "devDependencies": { - "@types/express": "^4.17.11", - "@types/node": "^17.0.41", - "express": "^4.17.1", + "@types/express": "^4.17.17", + "@types/node": "^20.4.1", + "express": "^4.18.2", "openfin-adapter": "^26.70.16", - "ts-loader": "^9.2.6", - "typescript": "^4.4.4", - "webpack": "^5.51.1", - "webpack-cli": "^4.8.0" + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, "how-to/create-window": { @@ -93,2104 +92,298 @@ "devDependencies": { "express": "^4.18.2", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - } - }, - "how-to/create-window/node_modules/@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, - "how-to/create-window/node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "engines": { - "node": ">=14.15.0" + "how-to/integration-excel": { + "version": "0.0.1", + "license": "SEE LICENSE IN LICENSE.MD", + "dependencies": { + "@openfin/excel": "^1.4.1" }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "devDependencies": { + "@finos/fdc3": "^2.0.3", + "express": "^4.18.2", + "source-map-loader": "^4.0.1", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, - "how-to/create-window/node_modules/@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } + "how-to/use-a-manifest/create-a-single-page-platform": { + "version": "0.0.1", + "license": "SEE LICENSE IN LICENSE.MD", + "devDependencies": { + "express": "^4.18.2", + "source-map-loader": "^4.0.1", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, - "how-to/create-window/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" + "how-to/use-channel-api/issue-commands-to-a-platform": { + "name": "use-channel-api-issue-commands-to-a-platform", + "version": "0.0.1", + "license": "SEE LICENSE IN LICENSE.MD", + "devDependencies": { + "express": "^4.18.2", + "source-map-loader": "^4.0.1", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, - "how-to/create-window/node_modules/webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } + "how-to/use-content-creation-rules": { + "version": "0.0.1", + "license": "SEE LICENSE IN LICENSE.MD", + "devDependencies": { + "express": "^4.18.2", + "source-map-loader": "^4.0.1", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, - "how-to/integration-excel": { + "how-to/use-dynamic-manifest/basic": { + "name": "use-dynamic-manifest-basic", "version": "0.0.1", "license": "SEE LICENSE IN LICENSE.MD", - "dependencies": { - "@openfin/excel": "^1.4.1" - }, "devDependencies": { - "@finos/fdc3": "^1.2.0", "express": "^4.18.2", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, - "how-to/integration-excel/node_modules/@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "how-to/use-interop/setup-multi-platform-interop": { + "name": "setup-cross-platform-interop", + "version": "1.0.0", + "license": "SEE LICENSE IN LICENSE.MD", + "devDependencies": { + "express": "^4.18.2", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, - "how-to/integration-excel/node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "how-to/use-launch-external-process": { + "name": "launch-external-process", + "version": "0.0.1", + "license": "SEE LICENSE IN LICENSE.MD", + "devDependencies": { + "express": "^4.18.2", + "source-map-loader": "^4.0.1", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, - "how-to/integration-excel/node_modules/@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "how-to/use-logging-apis": { + "version": "0.0.1", + "license": "SEE LICENSE IN LICENSE.MD", + "dependencies": { + "connect-busboy": "^1.0.0", + "multer": "^1.4.5-lts.1" }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } + "devDependencies": { + "@openfin/core": "^28.72.17", + "@types/multer": "^1.4.7", + "@types/node": "^20.4.1", + "body-parser": "^1.20.2", + "express": "^4.18.2", + "source-map-loader": "^4.0.1", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, - "how-to/integration-excel/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "how-to/use-logging-apis/node_modules/@openfin/core": { + "version": "28.72.19", + "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", + "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", "dev": true, - "engines": { - "node": ">=14" + "dependencies": { + "lodash": "^4.17.21" } }, - "how-to/integration-excel/node_modules/webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } + "how-to/use-platform/warn-before-closing-dialog": { + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "@openfin/core": "^27.70.8", + "express": "^4.18.2", + "source-map-loader": "^4.0.1", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, - "how-to/use-a-manifest/create-a-single-page-platform": { + "how-to/use-popup-window/advanced": { + "name": "use-popup-window-advanced", "version": "0.0.1", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { + "@openfin/core": "^28.72.17", + "@types/node": "^20.4.1", "express": "^4.18.2", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, - "how-to/use-a-manifest/create-a-single-page-platform/node_modules/@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", + "how-to/use-popup-window/advanced/node_modules/@openfin/core": { + "version": "28.72.19", + "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", + "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "dependencies": { + "lodash": "^4.17.21" } }, - "how-to/use-a-manifest/create-a-single-page-platform/node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "how-to/use-popup-window/modal": { + "name": "use-popup-window-modal", + "version": "0.0.1", + "license": "SEE LICENSE IN LICENSE.MD", + "devDependencies": { + "@openfin/core": "^28.72.17", + "@types/node": "^20.4.1", + "express": "^4.18.2", + "source-map-loader": "^4.0.1", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, - "how-to/use-a-manifest/create-a-single-page-platform/node_modules/@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-a-manifest/create-a-single-page-platform/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "how-to/use-a-manifest/create-a-single-page-platform/node_modules/webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-channel-api/issue-commands-to-a-platform": { - "name": "use-channel-api-issue-commands-to-a-platform", - "version": "0.0.1", - "license": "SEE LICENSE IN LICENSE.MD", - "devDependencies": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - } - }, - "how-to/use-channel-api/issue-commands-to-a-platform/node_modules/@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-channel-api/issue-commands-to-a-platform/node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-channel-api/issue-commands-to-a-platform/node_modules/@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-channel-api/issue-commands-to-a-platform/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "how-to/use-channel-api/issue-commands-to-a-platform/node_modules/webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-content-creation-rules": { - "version": "0.0.1", - "license": "SEE LICENSE IN LICENSE.MD", - "devDependencies": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - } - }, - "how-to/use-content-creation-rules/node_modules/@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-content-creation-rules/node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-content-creation-rules/node_modules/@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-content-creation-rules/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "how-to/use-content-creation-rules/node_modules/webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-dynamic-manifest/basic": { - "name": "use-dynamic-manifest-basic", - "version": "0.0.1", - "license": "SEE LICENSE IN LICENSE.MD", - "devDependencies": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - } - }, - "how-to/use-dynamic-manifest/basic/node_modules/@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-dynamic-manifest/basic/node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-dynamic-manifest/basic/node_modules/@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-dynamic-manifest/basic/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "how-to/use-dynamic-manifest/basic/node_modules/webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-interop/setup-multi-platform-interop": { - "name": "setup-cross-platform-interop", - "version": "1.0.0", - "license": "SEE LICENSE IN LICENSE.MD", - "devDependencies": { - "express": "^4.18.2", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - } - }, - "how-to/use-interop/setup-multi-platform-interop/node_modules/@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-interop/setup-multi-platform-interop/node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-interop/setup-multi-platform-interop/node_modules/@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-interop/setup-multi-platform-interop/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "how-to/use-interop/setup-multi-platform-interop/node_modules/webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-launch-external-process": { - "name": "launch-external-process", - "version": "0.0.1", - "license": "SEE LICENSE IN LICENSE.MD", - "devDependencies": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - } - }, - "how-to/use-launch-external-process/node_modules/@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-launch-external-process/node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-launch-external-process/node_modules/@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-launch-external-process/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "how-to/use-launch-external-process/node_modules/webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-logging-apis": { - "version": "0.0.1", - "license": "SEE LICENSE IN LICENSE.MD", - "dependencies": { - "connect-busboy": "^1.0.0", - "multer": "^1.4.5-lts.1" - }, - "devDependencies": { - "@openfin/core": "^28.72.17", - "@types/multer": "^1.4.7", - "@types/node": "^18.14.2", - "body-parser": "^1.20.2", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - } - }, - "how-to/use-logging-apis/node_modules/@openfin/core": { - "version": "28.72.19", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", - "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21" - } - }, - "how-to/use-logging-apis/node_modules/@types/node": { - "version": "18.16.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.14.tgz", - "integrity": "sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==", - "dev": true - }, - "how-to/use-logging-apis/node_modules/@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-logging-apis/node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-logging-apis/node_modules/@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-logging-apis/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "how-to/use-logging-apis/node_modules/webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-platform/warn-before-closing-dialog": { - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@openfin/core": "^27.70.8", - "express": "^4.17.2", - "source-map-loader": "^3.0.1", - "ts-loader": "^9.2.6", - "typescript": "^4.5.4", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - } - }, - "how-to/use-platform/warn-before-closing-dialog/node_modules/@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-platform/warn-before-closing-dialog/node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-platform/warn-before-closing-dialog/node_modules/@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-platform/warn-before-closing-dialog/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "how-to/use-platform/warn-before-closing-dialog/node_modules/source-map-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", - "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", - "dev": true, - "dependencies": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "how-to/use-platform/warn-before-closing-dialog/node_modules/webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-popup-window/advanced": { - "name": "use-popup-window-advanced", - "version": "0.0.1", - "license": "SEE LICENSE IN LICENSE.MD", - "devDependencies": { - "@openfin/core": "^28.72.17", - "@types/node": "^18.14.2", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - } - }, - "how-to/use-popup-window/advanced/node_modules/@openfin/core": { - "version": "28.72.19", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", - "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21" - } - }, - "how-to/use-popup-window/advanced/node_modules/@types/node": { - "version": "18.16.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.14.tgz", - "integrity": "sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==", - "dev": true - }, - "how-to/use-popup-window/advanced/node_modules/@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-popup-window/advanced/node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-popup-window/advanced/node_modules/@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-popup-window/advanced/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "how-to/use-popup-window/advanced/node_modules/webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-popup-window/modal": { - "name": "use-popup-window-modal", - "version": "0.0.1", - "license": "SEE LICENSE IN LICENSE.MD", - "devDependencies": { - "@openfin/core": "^28.72.17", - "@types/node": "^18.14.2", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - } - }, - "how-to/use-popup-window/modal/node_modules/@openfin/core": { - "version": "28.72.19", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", - "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21" - } - }, - "how-to/use-popup-window/modal/node_modules/@types/node": { - "version": "18.16.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.14.tgz", - "integrity": "sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==", - "dev": true - }, - "how-to/use-popup-window/modal/node_modules/@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-popup-window/modal/node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-popup-window/modal/node_modules/@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-popup-window/modal/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "how-to/use-popup-window/modal/node_modules/webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-popup-window/multiple-results": { - "name": "use-popup-window-multiple-results", - "version": "0.0.1", - "license": "SEE LICENSE IN LICENSE.MD", - "devDependencies": { - "@openfin/core": "^28.72.17", - "@types/node": "^18.14.2", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - } - }, - "how-to/use-popup-window/multiple-results/node_modules/@openfin/core": { - "version": "28.72.19", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", - "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21" - } - }, - "how-to/use-popup-window/multiple-results/node_modules/@types/node": { - "version": "18.16.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.14.tgz", - "integrity": "sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==", - "dev": true - }, - "how-to/use-popup-window/multiple-results/node_modules/@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-popup-window/multiple-results/node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-popup-window/multiple-results/node_modules/@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-popup-window/multiple-results/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "how-to/use-popup-window/multiple-results/node_modules/webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-popup-window/single-result": { - "name": "use-popup-window-single-result", - "version": "0.0.1", - "license": "SEE LICENSE IN LICENSE.MD", - "devDependencies": { - "@openfin/core": "^28.72.17", - "@types/node": "^18.14.2", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - } - }, - "how-to/use-popup-window/single-result/node_modules/@openfin/core": { - "version": "28.72.19", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", - "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21" - } - }, - "how-to/use-popup-window/single-result/node_modules/@types/node": { - "version": "18.16.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.14.tgz", - "integrity": "sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==", - "dev": true - }, - "how-to/use-popup-window/single-result/node_modules/@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-popup-window/single-result/node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-popup-window/single-result/node_modules/@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-popup-window/single-result/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "how-to/use-popup-window/single-result/node_modules/webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-preloads/basic": { - "name": "use-preloads-hello-world", - "version": "0.0.1", - "license": "SEE LICENSE IN LICENSE.MD", - "devDependencies": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - } - }, - "how-to/use-preloads/basic/node_modules/@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-preloads/basic/node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-preloads/basic/node_modules/@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-preloads/basic/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "how-to/use-preloads/basic/node_modules/webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-preloads/restart-on-refresh": { - "name": "use-preloads-restart-on-refresh", - "version": "0.0.1", - "license": "SEE LICENSE IN LICENSE.MD", - "devDependencies": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - } - }, - "how-to/use-preloads/restart-on-refresh/node_modules/@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-preloads/restart-on-refresh/node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-preloads/restart-on-refresh/node_modules/@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-preloads/restart-on-refresh/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "how-to/use-preloads/restart-on-refresh/node_modules/webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-security-realms": { - "version": "0.0.1", - "license": "SEE LICENSE IN LICENSE.MD", - "devDependencies": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - } - }, - "how-to/use-security-realms/node_modules/@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-security-realms/node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - } - }, - "how-to/use-security-realms/node_modules/@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "how-to/use-security-realms/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "how-to/use-security-realms/node_modules/webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } + "how-to/use-popup-window/modal/node_modules/@openfin/core": { + "version": "28.72.19", + "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", + "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21" } }, - "how-to/use-window-options": { + "how-to/use-popup-window/multiple-results": { + "name": "use-popup-window-multiple-results", "version": "0.0.1", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { + "@openfin/core": "^28.72.17", + "@types/node": "^20.4.1", "express": "^4.18.2", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, - "how-to/use-window-options/node_modules/@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", + "how-to/use-popup-window/multiple-results/node_modules/@openfin/core": { + "version": "28.72.19", + "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", + "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "dependencies": { + "lodash": "^4.17.21" } }, - "how-to/use-window-options/node_modules/@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "how-to/use-popup-window/single-result": { + "name": "use-popup-window-single-result", + "version": "0.0.1", + "license": "SEE LICENSE IN LICENSE.MD", + "devDependencies": { + "@openfin/core": "^28.72.17", + "@types/node": "^20.4.1", + "express": "^4.18.2", + "source-map-loader": "^4.0.1", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, - "how-to/use-window-options/node_modules/@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", + "how-to/use-popup-window/single-result/node_modules/@openfin/core": { + "version": "28.72.19", + "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", + "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", "dev": true, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } + "dependencies": { + "lodash": "^4.17.21" } }, - "how-to/use-window-options/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "engines": { - "node": ">=14" + "how-to/use-preloads/basic": { + "name": "use-preloads-hello-world", + "version": "0.0.1", + "license": "SEE LICENSE IN LICENSE.MD", + "devDependencies": { + "express": "^4.18.2", + "source-map-loader": "^4.0.1", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, - "how-to/use-window-options/node_modules/webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", + "how-to/use-preloads/restart-on-refresh": { + "name": "use-preloads-restart-on-refresh", + "version": "0.0.1", + "license": "SEE LICENSE IN LICENSE.MD", + "devDependencies": { + "express": "^4.18.2", + "source-map-loader": "^4.0.1", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" + } + }, + "how-to/use-security-realms": { + "version": "0.0.1", + "license": "SEE LICENSE IN LICENSE.MD", + "devDependencies": { + "express": "^4.18.2", + "source-map-loader": "^4.0.1", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" + } + }, + "how-to/use-window-options": { + "version": "0.0.1", + "license": "SEE LICENSE IN LICENSE.MD", + "devDependencies": { + "express": "^4.18.2", + "source-map-loader": "^4.0.1", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } + "node": ">=0.10.0" } }, "node_modules/@ampproject/remapping": { @@ -2207,47 +400,47 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", "dev": true, "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.9.tgz", - "integrity": "sha512-FUGed8kfhyWvbYug/Un/VPJD41rDIgoVVcR+FuzhzOYyRz5uED+Gd3SLZml0Uw2l2aHFb7ZgdW5mGA3G2cCCnQ==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.6.tgz", + "integrity": "sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.21.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz", - "integrity": "sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==", + "version": "7.22.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.8.tgz", + "integrity": "sha512-75+KxFB4CZqYRXjx4NlR4J7yGvKumBuZTmV4NV6v09dVXXkuYVYLT68N6HCzLvfJ+fWCxQsntNzKwwIXL4bHnw==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-compilation-targets": "^7.21.5", - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helpers": "^7.21.5", - "@babel/parser": "^7.21.8", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.7", + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", + "@nicolo-ribaudo/semver-v6": "^6.3.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" + "json5": "^2.2.2" }, "engines": { "node": ">=6.9.0" @@ -2275,22 +468,13 @@ "node": ">=6" } }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/generator": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.9.tgz", - "integrity": "sha512-F3fZga2uv09wFdEjEQIJxXALXfz0+JaOb7SabvVMmjHxeVTuGW8wgE8Vp1Hd7O+zMTYtcfEISGRzPkeiaPPsvg==", + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.7.tgz", + "integrity": "sha512-p+jPjMG+SI8yvIaxGgeW24u7q9+5+TGpZh8/CuB7RhBKd7RCy8FayNEFNNKrNK/eUcY/4ExQqLmyrvBXKsIcwQ==", "dev": true, "dependencies": { - "@babel/types": "^7.21.5", + "@babel/types": "^7.22.5", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -2312,16 +496,16 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", - "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.6.tgz", + "integrity": "sha512-534sYEqWD9VfUm3IPn2SLcH4Q3P86XL+QvqdC7ZsFrzyyPF3T4XGiVghF6PTYNdWg6pXuoqXxNQAhbYeEInTzA==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.21.5", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "@babel/compat-data": "^7.22.6", + "@babel/helper-validator-option": "^7.22.5", + "@nicolo-ribaudo/semver-v6": "^6.3.3", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1" }, "engines": { "node": ">=6.9.0" @@ -2339,15 +523,6 @@ "yallist": "^3.0.2" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -2355,151 +530,151 @@ "dev": true }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", - "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", "dev": true, "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "dev": true, "dependencies": { - "@babel/types": "^7.21.4" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", - "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", + "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-simple-access": "^7.21.5", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", - "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", - "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, "dependencies": { - "@babel/types": "^7.21.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", - "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", - "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", + "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", "dev": true, "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.6", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -2579,9 +754,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.9.tgz", - "integrity": "sha512-q5PNg/Bi1OpGgx5jYlvWZwAorZepEudDMCLtj967aeS7WMont7dUZI46M2XwcIQqvUlMxWfdLFu4S/qSxeUu5g==", + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", + "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -2651,12 +826,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", - "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2753,12 +928,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", - "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2768,9 +943,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz", - "integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz", + "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==", "dev": true, "dependencies": { "regenerator-runtime": "^0.13.11" @@ -2780,33 +955,33 @@ } }, "node_modules/@babel/template": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", - "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.21.4", - "@babel/parser": "^7.21.9", - "@babel/types": "^7.21.5" + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", - "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.5", - "@babel/types": "^7.21.5", + "version": "7.22.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", + "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.7", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/types": "^7.22.5", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -2824,13 +999,13 @@ } }, "node_modules/@babel/types": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", - "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.21.5", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" }, "engines": { @@ -2874,6 +1049,20 @@ "node": ">=10.0.0" } }, + "node_modules/@es-joy/jsdoccomment": { + "version": "0.39.4", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.39.4.tgz", + "integrity": "sha512-Jvw915fjqQct445+yron7Dufix9A+m9j1fCJYlCo1FWlRvTxa3pjJelxdSTdaLWcTwRU6vbL+NYjO4YuNIS5Qg==", + "dev": true, + "dependencies": { + "comment-parser": "1.3.1", + "esquery": "^1.5.0", + "jsdoc-type-pratt-parser": "~4.0.0" + }, + "engines": { + "node": ">=16" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -2899,14 +1088,14 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", - "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", + "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.2", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -2922,27 +1111,24 @@ } }, "node_modules/@eslint/js": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", - "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", + "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@finos/fdc3": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@finos/fdc3/-/fdc3-1.2.0.tgz", - "integrity": "sha512-im/vqpS96qsCKMPkwR/Fg2t2FQtwh+/LOvTekIY0eYyuz/CZQoqhwcxwk/Re0pqJiA3inisV7DSfQ1JYLi+bxw==", - "dev": true, - "engines": { - "node": ">=10" - } + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@finos/fdc3/-/fdc3-2.0.3.tgz", + "integrity": "sha512-sq+iGbjU6yRl7xHhp62nB1tV4biFaHZgUAInzPTJvzXWl9xjZMmXvvbeZW6WGZaCSvjQhJPSrmWs+4z2c73T+g==", + "dev": true }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -3002,9 +1188,9 @@ } }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { "ansi-regex": "^6.0.1" @@ -3125,16 +1311,16 @@ } }, "node_modules/@jest/console": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.5.0.tgz", - "integrity": "sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.1.tgz", + "integrity": "sha512-Aj772AYgwTSr5w8qnyoJ0eDYvN6bMsH3ORH1ivMotrInHLKdUz6BDlaEXHdM6kODaBIkNIyQGzsMvRdOv7VG7Q==", "dev": true, "dependencies": { - "@jest/types": "^29.5.0", + "@jest/types": "^29.6.1", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", + "jest-message-util": "^29.6.1", + "jest-util": "^29.6.1", "slash": "^3.0.0" }, "engines": { @@ -3142,16 +1328,16 @@ } }, "node_modules/@jest/core": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.5.0.tgz", - "integrity": "sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.1.tgz", + "integrity": "sha512-CcowHypRSm5oYQ1obz1wfvkjZZ2qoQlrKKvlfPwh5jUXVU12TWr2qMeH8chLMuTFzHh5a1g2yaqlqDICbr+ukQ==", "dev": true, "dependencies": { - "@jest/console": "^29.5.0", - "@jest/reporters": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", + "@jest/console": "^29.6.1", + "@jest/reporters": "^29.6.1", + "@jest/test-result": "^29.6.1", + "@jest/transform": "^29.6.1", + "@jest/types": "^29.6.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", @@ -3159,20 +1345,20 @@ "exit": "^0.1.2", "graceful-fs": "^4.2.9", "jest-changed-files": "^29.5.0", - "jest-config": "^29.5.0", - "jest-haste-map": "^29.5.0", - "jest-message-util": "^29.5.0", + "jest-config": "^29.6.1", + "jest-haste-map": "^29.6.1", + "jest-message-util": "^29.6.1", "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-resolve-dependencies": "^29.5.0", - "jest-runner": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "jest-watcher": "^29.5.0", + "jest-resolve": "^29.6.1", + "jest-resolve-dependencies": "^29.6.1", + "jest-runner": "^29.6.1", + "jest-runtime": "^29.6.1", + "jest-snapshot": "^29.6.1", + "jest-util": "^29.6.1", + "jest-validate": "^29.6.1", + "jest-watcher": "^29.6.1", "micromatch": "^4.0.4", - "pretty-format": "^29.5.0", + "pretty-format": "^29.6.1", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, @@ -3189,37 +1375,37 @@ } }, "node_modules/@jest/environment": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.5.0.tgz", - "integrity": "sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.1.tgz", + "integrity": "sha512-RMMXx4ws+Gbvw3DfLSuo2cfQlK7IwGbpuEWXCqyYDcqYTI+9Ju3a5hDnXaxjNsa6uKh9PQF2v+qg+RLe63tz5A==", "dev": true, "dependencies": { - "@jest/fake-timers": "^29.5.0", - "@jest/types": "^29.5.0", + "@jest/fake-timers": "^29.6.1", + "@jest/types": "^29.6.1", "@types/node": "*", - "jest-mock": "^29.5.0" + "jest-mock": "^29.6.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.5.0.tgz", - "integrity": "sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.1.tgz", + "integrity": "sha512-N5xlPrAYaRNyFgVf2s9Uyyvr795jnB6rObuPx4QFvNJz8aAjpZUDfO4bh5G/xuplMID8PrnuF1+SfSyDxhsgYg==", "dev": true, "dependencies": { - "expect": "^29.5.0", - "jest-snapshot": "^29.5.0" + "expect": "^29.6.1", + "jest-snapshot": "^29.6.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect-utils": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.5.0.tgz", - "integrity": "sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.1.tgz", + "integrity": "sha512-o319vIf5pEMx0LmzSxxkYYxo4wrRLKHq9dP1yJU7FoPTB0LfAKSz8SWD6D/6U3v/O52t9cF5t+MeJiRsfk7zMw==", "dev": true, "dependencies": { "jest-get-type": "^29.4.3" @@ -3229,49 +1415,49 @@ } }, "node_modules/@jest/fake-timers": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.5.0.tgz", - "integrity": "sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.1.tgz", + "integrity": "sha512-RdgHgbXyosCDMVYmj7lLpUwXA4c69vcNzhrt69dJJdf8azUrpRh3ckFCaTPNjsEeRi27Cig0oKDGxy5j7hOgHg==", "dev": true, "dependencies": { - "@jest/types": "^29.5.0", + "@jest/types": "^29.6.1", "@sinonjs/fake-timers": "^10.0.2", "@types/node": "*", - "jest-message-util": "^29.5.0", - "jest-mock": "^29.5.0", - "jest-util": "^29.5.0" + "jest-message-util": "^29.6.1", + "jest-mock": "^29.6.1", + "jest-util": "^29.6.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.5.0.tgz", - "integrity": "sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.1.tgz", + "integrity": "sha512-2VjpaGy78JY9n9370H8zGRCFbYVWwjY6RdDMhoJHa1sYfwe6XM/azGN0SjY8kk7BOZApIejQ1BFPyH7FPG0w3A==", "dev": true, "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/expect": "^29.5.0", - "@jest/types": "^29.5.0", - "jest-mock": "^29.5.0" + "@jest/environment": "^29.6.1", + "@jest/expect": "^29.6.1", + "@jest/types": "^29.6.1", + "jest-mock": "^29.6.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/reporters": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.5.0.tgz", - "integrity": "sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.1.tgz", + "integrity": "sha512-9zuaI9QKr9JnoZtFQlw4GREQbxgmNYXU6QuWtmuODvk5nvPUeBYapVR/VYMyi2WSx3jXTLJTJji8rN6+Cm4+FA==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@jridgewell/trace-mapping": "^0.3.15", + "@jest/console": "^29.6.1", + "@jest/test-result": "^29.6.1", + "@jest/transform": "^29.6.1", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", @@ -3283,9 +1469,9 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", - "jest-worker": "^29.5.0", + "jest-message-util": "^29.6.1", + "jest-util": "^29.6.1", + "jest-worker": "^29.6.1", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", @@ -3324,24 +1510,24 @@ } }, "node_modules/@jest/schemas": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz", - "integrity": "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==", + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", "dev": true, "dependencies": { - "@sinclair/typebox": "^0.25.16" + "@sinclair/typebox": "^0.27.8" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/source-map": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.4.3.tgz", - "integrity": "sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==", + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", + "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.15", + "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", "graceful-fs": "^4.2.9" }, @@ -3350,13 +1536,13 @@ } }, "node_modules/@jest/test-result": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.5.0.tgz", - "integrity": "sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.1.tgz", + "integrity": "sha512-Ynr13ZRcpX6INak0TPUukU8GWRfm/vAytE3JbJNGAvINySWYdfE7dGZMbk36oVuK4CigpbhMn8eg1dixZ7ZJOw==", "dev": true, "dependencies": { - "@jest/console": "^29.5.0", - "@jest/types": "^29.5.0", + "@jest/console": "^29.6.1", + "@jest/types": "^29.6.1", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, @@ -3365,14 +1551,14 @@ } }, "node_modules/@jest/test-sequencer": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.5.0.tgz", - "integrity": "sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.1.tgz", + "integrity": "sha512-oBkC36PCDf/wb6dWeQIhaviU0l5u6VCsXa119yqdUosYAt7/FbQU2M2UoziO3igj/HBDEgp57ONQ3fm0v9uyyg==", "dev": true, "dependencies": { - "@jest/test-result": "^29.5.0", + "@jest/test-result": "^29.6.1", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", + "jest-haste-map": "^29.6.1", "slash": "^3.0.0" }, "engines": { @@ -3380,22 +1566,22 @@ } }, "node_modules/@jest/transform": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.5.0.tgz", - "integrity": "sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.1.tgz", + "integrity": "sha512-URnTneIU3ZjRSaf906cvf6Hpox3hIeJXRnz3VDSw5/X93gR8ycdfSIEy19FlVx8NFmpN7fe3Gb1xF+NjXaQLWg==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/types": "^29.5.0", - "@jridgewell/trace-mapping": "^0.3.15", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^2.0.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", + "jest-haste-map": "^29.6.1", "jest-regex-util": "^29.4.3", - "jest-util": "^29.5.0", + "jest-util": "^29.6.1", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", @@ -3406,12 +1592,12 @@ } }, "node_modules/@jest/types": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz", - "integrity": "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", "dev": true, "dependencies": { - "@jest/schemas": "^29.4.3", + "@jest/schemas": "^29.6.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -3907,9 +2093,9 @@ } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", @@ -3938,6 +2124,15 @@ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, + "node_modules/@nicolo-ribaudo/semver-v6": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz", + "integrity": "sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -3974,23 +2169,23 @@ } }, "node_modules/@nut-tree/libnut": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@nut-tree/libnut/-/libnut-2.5.1.tgz", - "integrity": "sha512-W41FRAuA2fT7Y44+9A59NWzYhNA6Qibuvxgx9Sf5bQ5QrLIAyKGWjRpW/doUXaTAwUOvcqg7TC2w7jrn9nwkAA==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@nut-tree/libnut/-/libnut-2.5.2.tgz", + "integrity": "sha512-IwlGgalGQjjCrbPq52HTLtsR6MRsGJ6c4GhgHmgwJPD/yBVCzsU5EA2rwDgjKSgK+jiLOpykySDZQ+owhyd1zw==", "dev": true, "dependencies": { - "@nut-tree/libnut-darwin": "2.5.1", - "@nut-tree/libnut-linux": "2.5.1", - "@nut-tree/libnut-win32": "2.5.1" + "@nut-tree/libnut-darwin": "2.5.2", + "@nut-tree/libnut-linux": "2.5.2", + "@nut-tree/libnut-win32": "2.5.2" }, "engines": { "node": ">=10.15.3" } }, "node_modules/@nut-tree/libnut-darwin": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@nut-tree/libnut-darwin/-/libnut-darwin-2.5.1.tgz", - "integrity": "sha512-JIr5Plmm9n5aoOAmwjghCtbmOY4FzOTypRN/mlb5N+68aX+w5RpgOV2HXmcQPbtqYTTOoSEGRBdzK8M36KHRsw==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@nut-tree/libnut-darwin/-/libnut-darwin-2.5.2.tgz", + "integrity": "sha512-OKqCgpBbZj2oNQkLM+mM7TyiLBAQsRyN7Q5UXVKbyXnzcQTU1FZBJ1mLGvdfzzspajznL3Mkl08AQE+xYYbTMw==", "cpu": [ "x64", "arm64" @@ -4012,9 +2207,9 @@ } }, "node_modules/@nut-tree/libnut-linux": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@nut-tree/libnut-linux/-/libnut-linux-2.5.1.tgz", - "integrity": "sha512-2rXZsOpx5U6cJE1zGfrDa6fGaAr1cQFJInsmpV55vg93/k0X5RY6iXLNbBXot/NBJKrTcQRIHeKpffLRk8fKPg==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@nut-tree/libnut-linux/-/libnut-linux-2.5.2.tgz", + "integrity": "sha512-uY6XDuNE8soYRUhV23g6KQN5BRR43MYNLyPnrrQa5Wtfgm6oW9kBRu6JtkWz6Fn6trAWrVAKnbPoTiEgHuGz9w==", "cpu": [ "x64", "arm64" @@ -4036,9 +2231,9 @@ } }, "node_modules/@nut-tree/libnut-win32": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@nut-tree/libnut-win32/-/libnut-win32-2.5.1.tgz", - "integrity": "sha512-Y95nMNM6WeioPrfzsGjvzUxtIQGYXfooFjSEUaGOA3pxP6bQlmfhVPYZrxwYtFr7mDoxHE9/PrDg1qiYtYhZkw==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@nut-tree/libnut-win32/-/libnut-win32-2.5.2.tgz", + "integrity": "sha512-cnNAQ0pzUMH7hrSjTWRiFfXid3sbSZ78jpv1rA154dlka3wqo6m1OtaX4PLVQK4irZl5REz74iPdHcjeTy9rtg==", "cpu": [ "x64", "arm64" @@ -4074,9 +2269,9 @@ } }, "node_modules/@nut-tree/nut-js": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@nut-tree/nut-js/-/nut-js-3.1.1.tgz", - "integrity": "sha512-0o+9docVUTgbJ4dA+lYT9LHIHf5rpV3IlTxHsx9hlwsFOiIbxOHB98+/+1IcQpHrAjRF/MhzQ8lVpFud+5hTGw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@nut-tree/nut-js/-/nut-js-3.1.2.tgz", + "integrity": "sha512-hi7DBZz9O/t4goeQu3hKeauQbb0PcBmurScl3/t5L3I1pub3ibV24sft8KNSS3INKnGCj7I3Ma5iNHQ24g+95g==", "cpu": [ "x64", "arm64" @@ -4088,9 +2283,9 @@ "win32" ], "dependencies": { - "@nut-tree/libnut": "2.5.1", + "@nut-tree/libnut": "2.5.2", "clipboardy": "2.3.0", - "jimp": "0.16.2", + "jimp": "0.16.13", "node-abort-controller": "2.0.0" } }, @@ -4192,9 +2387,9 @@ } }, "node_modules/@openfin/automation-helpers/node_modules/@types/node": { - "version": "16.18.32", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.32.tgz", - "integrity": "sha512-zpnXe4dEz6PrWz9u7dqyRoq9VxwCvoXRPy/ewhmMa1CgEyVmtL1NJPQ2MX+4pf97vetquVKkpiMx0MwI8pjNOw==", + "version": "16.18.38", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.38.tgz", + "integrity": "sha512-6sfo1qTulpVbkxECP+AVrHV9OoJqhzCsfTNp5NIG+enM4HyM3HvZCO798WShIXBN0+QtDIcutJCjsVYnQP5rIQ==", "dev": true }, "node_modules/@openfin/automation-helpers/node_modules/openfin-adapter": { @@ -4256,15 +2451,15 @@ } }, "node_modules/@sinclair/typebox": { - "version": "0.25.24", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", - "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==", + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, "node_modules/@sindresorhus/is": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.3.0.tgz", - "integrity": "sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.4.1.tgz", + "integrity": "sha512-axlrvsHlHlFmKKMEg4VyvMzFr93JWJj4eIfXY1STVuO2fsImCa7ncaiG5gC8HKOX590AW5RtRsC41/B+OfrSqw==", "dev": true, "engines": { "node": ">=14.16" @@ -4283,9 +2478,9 @@ } }, "node_modules/@sinonjs/fake-timers": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.2.0.tgz", - "integrity": "sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, "dependencies": { "@sinonjs/commons": "^3.0.0" @@ -4366,9 +2561,9 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.0.tgz", - "integrity": "sha512-TBOjqAGf0hmaqRwpii5LLkJLg7c6OMm4nHLmpsUxwk9bBHtoTC6dAHdVWdGv4TBxj2CZOZY8Xfq8WmfoVi7n4Q==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", "dev": true, "dependencies": { "@babel/types": "^7.20.7" @@ -4394,9 +2589,9 @@ } }, "node_modules/@types/eslint": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.0.tgz", - "integrity": "sha512-nbq2mvc/tBrK9zQQuItvjJl++GTN5j06DaPtp3hZCpngmG6Q3xoyEmd0TwZI0gAy/G1X0zhGBbr2imsGFdFV0g==", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.0.tgz", + "integrity": "sha512-gsF+c/0XOguWgaOgvFs+xnnRqt9GwgTvIks36WpE6ueeI4KCEHHd8K/CKHqhOqrJKsYH8m27kRzQEvWXAwXUTw==", "dev": true, "dependencies": { "@types/estree": "*", @@ -4458,6 +2653,12 @@ "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", "dev": true }, + "node_modules/@types/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==", + "dev": true + }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", @@ -4483,9 +2684,9 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", "dev": true }, "node_modules/@types/json5": { @@ -4510,9 +2711,9 @@ } }, "node_modules/@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "version": "20.4.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.1.tgz", + "integrity": "sha512-JIzsAvJeA/5iY6Y/OxZbv1lUcc8dNSE77lb2gnBH+/PJ3lFR1Ccvgwl5JWnHAkNHcRsT0TbpVOsiMKZ1F/yyJg==", "dev": true }, "node_modules/@types/normalize-package-data": { @@ -4522,9 +2723,9 @@ "dev": true }, "node_modules/@types/prettier": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", - "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", "dev": true }, "node_modules/@types/qs": { @@ -4557,11 +2758,12 @@ } }, "node_modules/@types/serve-static": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz", - "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", + "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", "dev": true, "dependencies": { + "@types/http-errors": "*", "@types/mime": "*", "@types/node": "*" } @@ -4573,9 +2775,9 @@ "dev": true }, "node_modules/@types/ws": { - "version": "8.5.4", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", - "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", + "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", "dev": true, "dependencies": { "@types/node": "*" @@ -4597,18 +2799,18 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.7.tgz", - "integrity": "sha512-BL+jYxUFIbuYwy+4fF86k5vdT9lT0CNJ6HtwrIvGh0PhH8s0yy5rjaKH2fDCrz5ITHy07WCzVGNvAmjJh4IJFA==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dev": true, "peer": true, "dependencies": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/type-utils": "5.59.7", - "@typescript-eslint/utils": "5.59.7", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", "semver": "^7.3.7", @@ -4632,15 +2834,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.7.tgz", - "integrity": "sha512-VhpsIEuq/8i5SF+mPg9jSdIwgMBBp0z9XqjiEay+81PYLJuroN+ET1hM5IhkiYMJd9MkTz8iJLt7aaGAgzWUbQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/typescript-estree": "5.59.7", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "debug": "^4.3.4" }, "engines": { @@ -4660,14 +2862,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.7.tgz", - "integrity": "sha512-FL6hkYWK9zBGdxT2wWEd2W8ocXMu3K94i3gvMrjXpx+koFYdYV7KprKfirpgY34vTGzEPPuKoERpP8kD5h7vZQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, "peer": true, "dependencies": { - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/visitor-keys": "5.59.7" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4678,14 +2880,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.7.tgz", - "integrity": "sha512-ozuz/GILuYG7osdY5O5yg0QxXUAEoI4Go3Do5xeu+ERH9PorHBPSdvD3Tjp2NN2bNLh1NJQSsQu2TPu/Ly+HaQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, "peer": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.59.7", - "@typescript-eslint/utils": "5.59.7", + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -4706,9 +2908,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.7.tgz", - "integrity": "sha512-UnVS2MRRg6p7xOSATscWkKjlf/NDKuqo5TdbWck6rIRZbmKpVNTLALzNvcjIfHBE7736kZOFc/4Z3VcZwuOM/A==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, "peer": true, "engines": { @@ -4720,14 +2922,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.7.tgz", - "integrity": "sha512-4A1NtZ1I3wMN2UGDkU9HMBL+TIQfbrh4uS0WDMMpf3xMRursDbqEf1ahh6vAAe3mObt8k3ZATnezwG4pdtWuUQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, "peer": true, "dependencies": { - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/visitor-keys": "5.59.7", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4748,18 +2950,18 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.7.tgz", - "integrity": "sha512-yCX9WpdQKaLufz5luG4aJbOpdXf/fjwGMcLFXZVPUz3QqLirG5QcwwnIHNf8cjLjxK4qtzTO8udUtMQSAToQnQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/typescript-estree": "5.59.7", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "eslint-scope": "^5.1.1", "semver": "^7.3.7" }, @@ -4775,13 +2977,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.7.tgz", - "integrity": "sha512-tyN+X2jvMslUszIiYbF0ZleP+RqQsFVpGrKI6e0Eet1w8WmhsAtmzaqm8oM8WJQ1ysLwhnsK/4hYHJjOgJVfQQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, "peer": true, "dependencies": { - "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -5046,9 +3248,9 @@ } }, "node_modules/@wdio/logger/node_modules/chalk": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", - "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" @@ -5076,9 +3278,9 @@ } }, "node_modules/@wdio/types/node_modules/@types/node": { - "version": "18.16.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.14.tgz", - "integrity": "sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==", + "version": "18.16.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.19.tgz", + "integrity": "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==", "dev": true }, "node_modules/@wdio/utils": { @@ -5243,34 +3445,42 @@ } }, "node_modules/@webpack-cli/configtest": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", - "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", "dev": true, + "engines": { + "node": ">=14.15.0" + }, "peerDependencies": { - "webpack": "4.x.x || 5.x.x", - "webpack-cli": "4.x.x" + "webpack": "5.x.x", + "webpack-cli": "5.x.x" } }, "node_modules/@webpack-cli/info": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", - "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", "dev": true, - "dependencies": { - "envinfo": "^7.7.3" + "engines": { + "node": ">=14.15.0" }, "peerDependencies": { - "webpack-cli": "4.x.x" + "webpack": "5.x.x", + "webpack-cli": "5.x.x" } }, "node_modules/@webpack-cli/serve": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", - "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", "dev": true, + "engines": { + "node": ">=14.15.0" + }, "peerDependencies": { - "webpack-cli": "4.x.x" + "webpack": "5.x.x", + "webpack-cli": "5.x.x" }, "peerDependenciesMeta": { "webpack-dev-server": { @@ -5310,9 +3520,9 @@ } }, "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -5481,6 +3691,15 @@ } ] }, + "node_modules/are-docs-informative": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", + "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", + "dev": true, + "engines": { + "node": ">=14" + } + }, "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", @@ -5494,13 +3713,13 @@ "dev": true }, "node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "dev": true, "peer": true, "dependencies": { - "deep-equal": "^2.0.5" + "dequal": "^2.0.3" } }, "node_modules/array-buffer-byte-length": { @@ -5574,6 +3793,7 @@ "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", "dev": true, + "peer": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -5652,22 +3872,22 @@ } }, "node_modules/axobject-query": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", - "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", "dev": true, "peer": true, "dependencies": { - "deep-equal": "^2.0.5" + "dequal": "^2.0.3" } }, "node_modules/babel-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.5.0.tgz", - "integrity": "sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.1.tgz", + "integrity": "sha512-qu+3bdPEQC6KZSPz+4Fyjbga5OODNcp49j6GKzG1EKbkfyJBxEYGVUmVGpwCSeGouG52R4EgYMLb6p9YeEEQ4A==", "dev": true, "dependencies": { - "@jest/transform": "^29.5.0", + "@jest/transform": "^29.6.1", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", "babel-preset-jest": "^29.5.0", @@ -5835,18 +4055,6 @@ "ms": "2.0.0" } }, - "node_modules/body-parser/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -5882,9 +4090,9 @@ "dev": true }, "node_modules/browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "version": "4.21.9", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", + "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", "dev": true, "funding": [ { @@ -5894,13 +4102,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" }, "bin": { "browserslist": "cli.js" @@ -6010,9 +4222,9 @@ } }, "node_modules/cacheable-request": { - "version": "10.2.10", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.10.tgz", - "integrity": "sha512-v6WB+Epm/qO4Hdlio/sfUn69r5Shgh39SsE9DSd4bIezP0mblOlObI+I0kUEM7J0JFc+I7pSeMeYaOYtX1N/VQ==", + "version": "10.2.12", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.12.tgz", + "integrity": "sha512-qtWGB5kn2OLjx47pYUkWicyOpK1vy9XZhq8yRTXOy+KAmjjESSRLx6SiExnnaGGUP1NM6/vmygMu0fGylNh9tw==", "dev": true, "dependencies": { "@types/http-cache-semantics": "^4.0.1", @@ -6071,9 +4283,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001489", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001489.tgz", - "integrity": "sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==", + "version": "1.0.30001515", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001515.tgz", + "integrity": "sha512-eEFDwUOZbE24sb+Ecsx3+OvNETqjWIdabMy52oOkIgcUtAsQifjUG9q4U9dgTHJM2mfk4uEPxc0+xuFdJ629QA==", "dev": true, "funding": [ { @@ -6206,9 +4418,9 @@ } }, "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", "dev": true }, "node_modules/clean-regexp": { @@ -6322,9 +4534,9 @@ } }, "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", "dev": true }, "node_modules/color-convert": { @@ -6361,12 +4573,21 @@ } }, "node_modules/commander": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", - "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", + "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/comment-parser": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz", + "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==", "dev": true, "engines": { - "node": "^12.20.0 || >=14" + "node": ">= 12.0.0" } }, "node_modules/concat-map": { @@ -6573,36 +4794,6 @@ "node": ">=6" } }, - "node_modules/deep-equal": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.1.tgz", - "integrity": "sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==", - "dev": true, - "peer": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.0", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.2", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -6670,6 +4861,16 @@ "node": ">= 0.8" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -6751,9 +4952,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.408", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.408.tgz", - "integrity": "sha512-vjeaj0u/UYnzA/CIdGXzzcxRLCqRwREYc9YfaWInjIEr7/XPttZ6ShpyqapchEy0S2r6LpLjDBTnNj7ZxnxJKg==", + "version": "1.4.455", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.455.tgz", + "integrity": "sha512-8tgdX0Odl24LtmLwxotpJCVjIndN559AvaOtd67u+2mo+IDsgsTF580NB+uuDCqsHw8yFg53l5+imFV9Fw3cbA==", "dev": true }, "node_modules/emittery": { @@ -6793,9 +4994,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.14.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz", - "integrity": "sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -6818,9 +5019,9 @@ } }, "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", "dev": true, "bin": { "envinfo": "dist/cli.js" @@ -6886,31 +5087,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "dev": true, - "peer": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/es-module-lexer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", - "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", "dev": true }, "node_modules/es-set-tostringtag": { @@ -6981,16 +5161,16 @@ } }, "node_modules/eslint": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", - "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz", + "integrity": "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.41.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -7001,7 +5181,7 @@ "escape-string-regexp": "^4.0.0", "eslint-scope": "^7.2.0", "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", + "espree": "^9.6.0", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -7021,7 +5201,7 @@ "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" @@ -7077,9 +5257,9 @@ } }, "node_modules/eslint-config-airbnb-base/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -7159,25 +5339,23 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.27.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", "dev": true, "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.7.4", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", "has": "^1.0.3", - "is-core-module": "^2.11.0", + "is-core-module": "^2.8.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", + "object.values": "^1.1.5", + "resolve": "^1.22.0", "tsconfig-paths": "^3.14.1" }, "engines": { @@ -7188,12 +5366,12 @@ } }, "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "ms": "2.0.0" } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { @@ -7208,13 +5386,33 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/eslint-plugin-import/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/eslint-plugin-jsdoc": { + "version": "46.4.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.4.3.tgz", + "integrity": "sha512-Prc7ol+vCIghPeECpwZq5+P+VZfoi87suywvbYCiCnkI1kTmVSdcOC2M8mioglWxBbd28wbb1OVjg/8OzGzatA==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "@es-joy/jsdoccomment": "~0.39.4", + "are-docs-informative": "^0.0.2", + "comment-parser": "1.3.1", + "debug": "^4.3.4", + "escape-string-regexp": "^4.0.0", + "esquery": "^1.5.0", + "is-builtin-module": "^3.2.1", + "semver": "^7.5.1", + "spdx-expression-parse": "^3.0.1" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" } }, "node_modules/eslint-plugin-jsx-a11y": { @@ -7249,9 +5447,9 @@ } }, "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "peer": true, "bin": { @@ -7366,9 +5564,9 @@ } }, "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "peer": true, "bin": { @@ -7385,36 +5583,36 @@ } }, "node_modules/eslint-plugin-unicorn": { - "version": "45.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-45.0.2.tgz", - "integrity": "sha512-Y0WUDXRyGDMcKLiwgL3zSMpHrXI00xmdyixEGIg90gHnj0PcHY4moNv3Ppje/kDivdAy5vUeUr7z211ImPv2gw==", + "version": "47.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-47.0.0.tgz", + "integrity": "sha512-ivB3bKk7fDIeWOUmmMm9o3Ax9zbMz1Bsza/R2qm46ufw4T6VBFBaJIR1uN3pCKSmSXm8/9Nri8V+iUut1NhQGA==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.19.1", - "@eslint-community/eslint-utils": "^4.1.2", - "ci-info": "^3.6.1", + "@eslint-community/eslint-utils": "^4.4.0", + "ci-info": "^3.8.0", "clean-regexp": "^1.0.0", - "esquery": "^1.4.0", + "esquery": "^1.5.0", "indent-string": "^4.0.0", - "is-builtin-module": "^3.2.0", + "is-builtin-module": "^3.2.1", "jsesc": "^3.0.2", "lodash": "^4.17.21", "pluralize": "^8.0.0", "read-pkg-up": "^7.0.1", "regexp-tree": "^0.1.24", - "regjsparser": "^0.9.1", + "regjsparser": "^0.10.0", "safe-regex": "^2.1.1", "semver": "^7.3.8", "strip-indent": "^3.0.0" }, "engines": { - "node": ">=14.18" + "node": ">=16" }, "funding": { "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" }, "peerDependencies": { - "eslint": ">=8.28.0" + "eslint": ">=8.38.0" } }, "node_modules/eslint-plugin-unused-imports": { @@ -7498,12 +5696,12 @@ } }, "node_modules/espree": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", - "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz", + "integrity": "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==", "dev": true, "dependencies": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" }, @@ -7631,9 +5829,9 @@ } }, "node_modules/execa/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "bin": { "semver": "bin/semver" @@ -7694,16 +5892,17 @@ } }, "node_modules/expect": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.5.0.tgz", - "integrity": "sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.1.tgz", + "integrity": "sha512-XEdDLonERCU1n9uR56/Stx9OqojaLAQtZf9PrCHH9Hl8YXiEIka3H4NXJ3NOIBmQJTg7+j7buh34PMHfJujc8g==", "dev": true, "dependencies": { - "@jest/expect-utils": "^29.5.0", + "@jest/expect-utils": "^29.6.1", + "@types/node": "*", "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0" + "jest-matcher-utils": "^29.6.1", + "jest-message-util": "^29.6.1", + "jest-util": "^29.6.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -7784,18 +5983,6 @@ "ms": "2.0.0" } }, - "node_modules/express/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -7830,9 +6017,9 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", + "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -8247,9 +6434,9 @@ } }, "node_modules/glob": { - "version": "10.2.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", - "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", + "version": "10.2.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.7.tgz", + "integrity": "sha512-jTKehsravOJo8IJxUGfZILnkvVJM/MOfHRs8QcXolVef2zNI9Tqyy5+SeuOAZd3upViEZQLyFpQhYiHLrMUNmA==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", @@ -8296,9 +6483,9 @@ } }, "node_modules/glob/node_modules/minimatch": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", - "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -8384,9 +6571,9 @@ } }, "node_modules/got": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.0.tgz", - "integrity": "sha512-WTcaQ963xV97MN3x0/CbAriXFZcXCfgxVp91I+Ze6pawQOa7SgzwSx2zIJJsX+kTajMnVs0xcFD1TxZKFqhdnQ==", + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", "dev": true, "dependencies": { "@sindresorhus/is": "^5.2.0", @@ -8426,13 +6613,6 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true, - "peer": true - }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -8586,12 +6766,12 @@ } }, "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { "node": ">=0.10.0" @@ -8770,23 +6950,6 @@ "node": ">= 0.10" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "peer": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-array-buffer": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", @@ -8961,16 +7124,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "dev": true, - "peer": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -9053,16 +7206,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "dev": true, - "peer": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", @@ -9145,16 +7288,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "dev": true, - "peer": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -9167,20 +7300,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dev": true, - "peer": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -9194,11 +7313,9 @@ } }, "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "peer": true + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "node_modules/isexe": { "version": "2.0.0", @@ -9241,9 +7358,9 @@ } }, "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -9461,28 +7578,28 @@ "dev": true }, "node_modules/jest-circus": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.5.0.tgz", - "integrity": "sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.1.tgz", + "integrity": "sha512-tPbYLEiBU4MYAL2XoZme/bgfUeotpDBd81lgHLCbDZZFaGmECk0b+/xejPFtmiBP87GgP/y4jplcRpbH+fgCzQ==", "dev": true, "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/expect": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", + "@jest/environment": "^29.6.1", + "@jest/expect": "^29.6.1", + "@jest/test-result": "^29.6.1", + "@jest/types": "^29.6.1", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^29.5.0", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", + "jest-each": "^29.6.1", + "jest-matcher-utils": "^29.6.1", + "jest-message-util": "^29.6.1", + "jest-runtime": "^29.6.1", + "jest-snapshot": "^29.6.1", + "jest-util": "^29.6.1", "p-limit": "^3.1.0", - "pretty-format": "^29.5.0", + "pretty-format": "^29.6.1", "pure-rand": "^6.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" @@ -9492,21 +7609,21 @@ } }, "node_modules/jest-cli": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.5.0.tgz", - "integrity": "sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.1.tgz", + "integrity": "sha512-607dSgTA4ODIN6go9w6xY3EYkyPFGicx51a69H7yfvt7lN53xNswEVLovq+E77VsTRi5fWprLH0yl4DJgE8Ing==", "dev": true, "dependencies": { - "@jest/core": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", + "@jest/core": "^29.6.1", + "@jest/test-result": "^29.6.1", + "@jest/types": "^29.6.1", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", + "jest-config": "^29.6.1", + "jest-util": "^29.6.1", + "jest-validate": "^29.6.1", "prompts": "^2.0.1", "yargs": "^17.3.1" }, @@ -9526,31 +7643,31 @@ } }, "node_modules/jest-config": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.5.0.tgz", - "integrity": "sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.1.tgz", + "integrity": "sha512-XdjYV2fy2xYixUiV2Wc54t3Z4oxYPAELUzWnV6+mcbq0rh742X2p52pii5A3oeRzYjLnQxCsZmp0qpI6klE2cQ==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.5.0", - "@jest/types": "^29.5.0", - "babel-jest": "^29.5.0", + "@jest/test-sequencer": "^29.6.1", + "@jest/types": "^29.6.1", + "babel-jest": "^29.6.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^29.5.0", - "jest-environment-node": "^29.5.0", + "jest-circus": "^29.6.1", + "jest-environment-node": "^29.6.1", "jest-get-type": "^29.4.3", "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-runner": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", + "jest-resolve": "^29.6.1", + "jest-runner": "^29.6.1", + "jest-util": "^29.6.1", + "jest-validate": "^29.6.1", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^29.5.0", + "pretty-format": "^29.6.1", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -9591,15 +7708,15 @@ } }, "node_modules/jest-diff": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.5.0.tgz", - "integrity": "sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.1.tgz", + "integrity": "sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==", "dev": true, "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.4.3", "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" + "pretty-format": "^29.6.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -9618,33 +7735,33 @@ } }, "node_modules/jest-each": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.5.0.tgz", - "integrity": "sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.1.tgz", + "integrity": "sha512-n5eoj5eiTHpKQCAVcNTT7DRqeUmJ01hsAL0Q1SMiBHcBcvTKDELixQOGMCpqhbIuTcfC4kMfSnpmDqRgRJcLNQ==", "dev": true, "dependencies": { - "@jest/types": "^29.5.0", + "@jest/types": "^29.6.1", "chalk": "^4.0.0", "jest-get-type": "^29.4.3", - "jest-util": "^29.5.0", - "pretty-format": "^29.5.0" + "jest-util": "^29.6.1", + "pretty-format": "^29.6.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-environment-node": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.5.0.tgz", - "integrity": "sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.1.tgz", + "integrity": "sha512-ZNIfAiE+foBog24W+2caIldl4Irh8Lx1PUhg/GZ0odM1d/h2qORAsejiFc7zb+SEmYPn1yDZzEDSU5PmDkmVLQ==", "dev": true, "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/fake-timers": "^29.5.0", - "@jest/types": "^29.5.0", + "@jest/environment": "^29.6.1", + "@jest/fake-timers": "^29.6.1", + "@jest/types": "^29.6.1", "@types/node": "*", - "jest-mock": "^29.5.0", - "jest-util": "^29.5.0" + "jest-mock": "^29.6.1", + "jest-util": "^29.6.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -9660,20 +7777,20 @@ } }, "node_modules/jest-haste-map": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.5.0.tgz", - "integrity": "sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.1.tgz", + "integrity": "sha512-0m7f9PZXxOCk1gRACiVgX85knUKPKLPg4oRCjLoqIm9brTHXaorMA0JpmtmVkQiT8nmXyIVoZd/nnH1cfC33ig==", "dev": true, "dependencies": { - "@jest/types": "^29.5.0", + "@jest/types": "^29.6.1", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", "jest-regex-util": "^29.4.3", - "jest-util": "^29.5.0", - "jest-worker": "^29.5.0", + "jest-util": "^29.6.1", + "jest-worker": "^29.6.1", "micromatch": "^4.0.4", "walker": "^1.0.8" }, @@ -9685,46 +7802,46 @@ } }, "node_modules/jest-leak-detector": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.5.0.tgz", - "integrity": "sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.1.tgz", + "integrity": "sha512-OrxMNyZirpOEwkF3UHnIkAiZbtkBWiye+hhBweCHkVbCgyEy71Mwbb5zgeTNYWJBi1qgDVfPC1IwO9dVEeTLwQ==", "dev": true, "dependencies": { "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" + "pretty-format": "^29.6.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-matcher-utils": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz", - "integrity": "sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.1.tgz", + "integrity": "sha512-SLaztw9d2mfQQKHmJXKM0HCbl2PPVld/t9Xa6P9sgiExijviSp7TnZZpw2Fpt+OI3nwUO/slJbOfzfUMKKC5QA==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^29.5.0", + "jest-diff": "^29.6.1", "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" + "pretty-format": "^29.6.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-message-util": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.5.0.tgz", - "integrity": "sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.1.tgz", + "integrity": "sha512-KoAW2zAmNSd3Gk88uJ56qXUWbFk787QKmjjJVOjtGFmmGSZgDBrlIL4AfQw1xyMYPNVD7dNInfIbur9B2rd/wQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.5.0", + "@jest/types": "^29.6.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.5.0", + "pretty-format": "^29.6.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -9733,14 +7850,14 @@ } }, "node_modules/jest-mock": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.5.0.tgz", - "integrity": "sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.1.tgz", + "integrity": "sha512-brovyV9HBkjXAEdRooaTQK42n8usKoSRR3gihzUpYeV/vwqgSoNfrksO7UfSACnPmxasO/8TmHM3w9Hp3G1dgw==", "dev": true, "dependencies": { - "@jest/types": "^29.5.0", + "@jest/types": "^29.6.1", "@types/node": "*", - "jest-util": "^29.5.0" + "jest-util": "^29.6.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -9773,17 +7890,17 @@ } }, "node_modules/jest-resolve": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.5.0.tgz", - "integrity": "sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.1.tgz", + "integrity": "sha512-AeRkyS8g37UyJiP9w3mmI/VXU/q8l/IH52vj/cDAyScDcemRbSBhfX/NMYIGilQgSVwsjxrCHf3XJu4f+lxCMg==", "dev": true, "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", + "jest-haste-map": "^29.6.1", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", + "jest-util": "^29.6.1", + "jest-validate": "^29.6.1", "resolve": "^1.20.0", "resolve.exports": "^2.0.0", "slash": "^3.0.0" @@ -9793,43 +7910,43 @@ } }, "node_modules/jest-resolve-dependencies": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.5.0.tgz", - "integrity": "sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.1.tgz", + "integrity": "sha512-BbFvxLXtcldaFOhNMXmHRWx1nXQO5LoXiKSGQcA1LxxirYceZT6ch8KTE1bK3X31TNG/JbkI7OkS/ABexVahiw==", "dev": true, "dependencies": { "jest-regex-util": "^29.4.3", - "jest-snapshot": "^29.5.0" + "jest-snapshot": "^29.6.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.5.0.tgz", - "integrity": "sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.1.tgz", + "integrity": "sha512-tw0wb2Q9yhjAQ2w8rHRDxteryyIck7gIzQE4Reu3JuOBpGp96xWgF0nY8MDdejzrLCZKDcp8JlZrBN/EtkQvPQ==", "dev": true, "dependencies": { - "@jest/console": "^29.5.0", - "@jest/environment": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", + "@jest/console": "^29.6.1", + "@jest/environment": "^29.6.1", + "@jest/test-result": "^29.6.1", + "@jest/transform": "^29.6.1", + "@jest/types": "^29.6.1", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.13.1", "graceful-fs": "^4.2.9", "jest-docblock": "^29.4.3", - "jest-environment-node": "^29.5.0", - "jest-haste-map": "^29.5.0", - "jest-leak-detector": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-resolve": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-util": "^29.5.0", - "jest-watcher": "^29.5.0", - "jest-worker": "^29.5.0", + "jest-environment-node": "^29.6.1", + "jest-haste-map": "^29.6.1", + "jest-leak-detector": "^29.6.1", + "jest-message-util": "^29.6.1", + "jest-resolve": "^29.6.1", + "jest-runtime": "^29.6.1", + "jest-util": "^29.6.1", + "jest-watcher": "^29.6.1", + "jest-worker": "^29.6.1", "p-limit": "^3.1.0", "source-map-support": "0.5.13" }, @@ -9838,31 +7955,31 @@ } }, "node_modules/jest-runtime": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.5.0.tgz", - "integrity": "sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/fake-timers": "^29.5.0", - "@jest/globals": "^29.5.0", - "@jest/source-map": "^29.4.3", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.1.tgz", + "integrity": "sha512-D6/AYOA+Lhs5e5il8+5pSLemjtJezUr+8zx+Sn8xlmOux3XOqx4d8l/2udBea8CRPqqrzhsKUsN/gBDE/IcaPQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.6.1", + "@jest/fake-timers": "^29.6.1", + "@jest/globals": "^29.6.1", + "@jest/source-map": "^29.6.0", + "@jest/test-result": "^29.6.1", + "@jest/transform": "^29.6.1", + "@jest/types": "^29.6.1", "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-mock": "^29.5.0", + "jest-haste-map": "^29.6.1", + "jest-message-util": "^29.6.1", + "jest-mock": "^29.6.1", "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", + "jest-resolve": "^29.6.1", + "jest-snapshot": "^29.6.1", + "jest-util": "^29.6.1", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, @@ -9900,46 +8017,44 @@ } }, "node_modules/jest-snapshot": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.5.0.tgz", - "integrity": "sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.1.tgz", + "integrity": "sha512-G4UQE1QQ6OaCgfY+A0uR1W2AY0tGXUPQpoUClhWHq1Xdnx1H6JOrC2nH5lqnOEqaDgbHFgIwZ7bNq24HpB180A==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", "@babel/plugin-syntax-jsx": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/babel__traverse": "^7.0.6", + "@jest/expect-utils": "^29.6.1", + "@jest/transform": "^29.6.1", + "@jest/types": "^29.6.1", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^29.5.0", + "expect": "^29.6.1", "graceful-fs": "^4.2.9", - "jest-diff": "^29.5.0", + "jest-diff": "^29.6.1", "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", + "jest-matcher-utils": "^29.6.1", + "jest-message-util": "^29.6.1", + "jest-util": "^29.6.1", "natural-compare": "^1.4.0", - "pretty-format": "^29.5.0", - "semver": "^7.3.5" + "pretty-format": "^29.6.1", + "semver": "^7.5.3" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-util": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.5.0.tgz", - "integrity": "sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.1.tgz", + "integrity": "sha512-NRFCcjc+/uO3ijUVyNOQJluf8PtGCe/W6cix36+M3cTFgiYqFOOW5MgN4JOOcvbUhcKTYVd1CvHz/LWi8d16Mg==", "dev": true, "dependencies": { - "@jest/types": "^29.5.0", + "@jest/types": "^29.6.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -9951,17 +8066,17 @@ } }, "node_modules/jest-validate": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.5.0.tgz", - "integrity": "sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.1.tgz", + "integrity": "sha512-r3Ds69/0KCN4vx4sYAbGL1EVpZ7MSS0vLmd3gV78O+NAx3PDQQukRU5hNHPXlyqCgFY8XUk7EuTMLugh0KzahA==", "dev": true, "dependencies": { - "@jest/types": "^29.5.0", + "@jest/types": "^29.6.1", "camelcase": "^6.2.0", "chalk": "^4.0.0", "jest-get-type": "^29.4.3", "leven": "^3.1.0", - "pretty-format": "^29.5.0" + "pretty-format": "^29.6.1" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -9980,18 +8095,18 @@ } }, "node_modules/jest-watcher": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.5.0.tgz", - "integrity": "sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.1.tgz", + "integrity": "sha512-d4wpjWTS7HEZPaaj8m36QiaP856JthRZkrgcIY/7ISoUWPIillrXM23WPboZVLbiwZBt4/qn2Jke84Sla6JhFA==", "dev": true, "dependencies": { - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", + "@jest/test-result": "^29.6.1", + "@jest/types": "^29.6.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.13.1", - "jest-util": "^29.5.0", + "jest-util": "^29.6.1", "string-length": "^4.0.1" }, "engines": { @@ -9999,13 +8114,13 @@ } }, "node_modules/jest-worker": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.5.0.tgz", - "integrity": "sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.1.tgz", + "integrity": "sha512-U+Wrbca7S8ZAxAe9L6nb6g8kPdia5hj32Puu5iOqBCMTMWFHXuK6dOV2IFrpedbTV8fjMFLdWNttQTBL6u2MRA==", "dev": true, "dependencies": { "@types/node": "*", - "jest-util": "^29.5.0", + "jest-util": "^29.6.1", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -10029,15 +8144,15 @@ } }, "node_modules/jimp": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.16.2.tgz", - "integrity": "sha512-UpItBk81a92f8oEyoGYbO3YK4QcM0hoIyuGHmShoF9Ov63P5Qo7Q/X2xsAgnODmSuDJFOtrPtJd5GSWW4LKdOQ==", + "version": "0.16.13", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.16.13.tgz", + "integrity": "sha512-Bxz8q7V4rnCky9A0ktTNGA9SkNFVWRHodddI/DaAWZJzF7sVUlFYKQ60y9JGqrKpi48ECA/TnfMzzc5C70VByA==", "dev": true, "dependencies": { "@babel/runtime": "^7.7.2", - "@jimp/custom": "^0.16.2", - "@jimp/plugins": "^0.16.2", - "@jimp/types": "^0.16.2", + "@jimp/custom": "^0.16.13", + "@jimp/plugins": "^0.16.13", + "@jimp/types": "^0.16.13", "regenerator-runtime": "^0.13.3" } }, @@ -10065,6 +8180,15 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsdoc-type-pratt-parser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", + "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==", + "dev": true, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/jsesc": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", @@ -10138,14 +8262,16 @@ } }, "node_modules/jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.4.tgz", + "integrity": "sha512-fX2TVdCViod6HwKEtSWGHs57oFhVfCMwieb9PuRDgjDPh5XeqJiHFFFJCHxU5cnTc3Bu/GRL+kPiFmw8XWOfKw==", "dev": true, "peer": true, "dependencies": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" }, "engines": { "node": ">=4.0" @@ -10419,9 +8545,9 @@ } }, "node_modules/lru-cache": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", - "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz", + "integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==", "dev": true, "engines": { "node": "14 || >=16.14" @@ -10443,9 +8569,9 @@ } }, "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -10483,38 +8609,39 @@ } }, "node_modules/markdownlint": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.27.0.tgz", - "integrity": "sha512-HtfVr/hzJJmE0C198F99JLaeada+646B5SaG2pVoEakLFI6iRGsvMqrnnrflq8hm1zQgwskEgqSnhDW11JBp0w==", + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.29.0.tgz", + "integrity": "sha512-ASAzqpODstu/Qsk0xW5BPgWnK/qjpBQ4e7IpsSvvFXcfYIjanLTdwFRJK1SIEEh0fGSMKXcJf/qhaZYHyME0wA==", "dev": true, "dependencies": { - "markdown-it": "13.0.1" + "markdown-it": "13.0.1", + "markdownlint-micromark": "0.1.5" }, "engines": { - "node": ">=14.18.0" + "node": ">=16" } }, "node_modules/markdownlint-cli": { - "version": "0.33.0", - "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.33.0.tgz", - "integrity": "sha512-zMK1oHpjYkhjO+94+ngARiBBrRDEUMzooDHBAHtmEIJ9oYddd9l3chCReY2mPlecwH7gflQp1ApilTo+o0zopQ==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.35.0.tgz", + "integrity": "sha512-lVIIIV1MrUtjoocgDqXLxUCxlRbn7Ve8rsWppfwciUNwLlNS28AhNiyQ3PU7jjj4Qvj+rWTTvwkqg7AcdG988g==", "dev": true, "dependencies": { - "commander": "~9.4.1", + "commander": "~11.0.0", "get-stdin": "~9.0.0", - "glob": "~8.0.3", + "glob": "~10.2.7", "ignore": "~5.2.4", "js-yaml": "^4.1.0", "jsonc-parser": "~3.2.0", - "markdownlint": "~0.27.0", - "minimatch": "~5.1.2", + "markdownlint": "~0.29.0", + "minimatch": "~9.0.1", "run-con": "~1.2.11" }, "bin": { "markdownlint": "markdownlint.js" }, "engines": { - "node": ">=14" + "node": ">=16" } }, "node_modules/markdownlint-cli/node_modules/brace-expansion": { @@ -10526,35 +8653,28 @@ "balanced-match": "^1.0.0" } }, - "node_modules/markdownlint-cli/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "node_modules/markdownlint-cli/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=12" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/markdownlint-cli/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "node_modules/markdownlint-micromark": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.5.tgz", + "integrity": "sha512-HvofNU4QCvfUCWnocQP1IAWaqop5wpWrB0mKB6SSh0fcpV0PdmQNS6tdUuFew1utpYlUvYYzz84oDkrD76GB9A==", "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, "engines": { - "node": ">=10" + "node": ">=16" } }, "node_modules/mdurl": { @@ -11080,9 +9200,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", "dev": true }, "node_modules/normalize-package-data": { @@ -11098,9 +9218,9 @@ } }, "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "bin": { "semver": "bin/semver" @@ -11153,31 +9273,14 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "peer": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -11345,17 +9448,17 @@ "link": true }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" @@ -11467,6 +9570,19 @@ "xml2js": "^0.4.5" } }, + "node_modules/parse-bmfont-xml/node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dev": true, + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/parse-headers": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", @@ -11534,13 +9650,13 @@ "dev": true }, "node_modules/path-scurry": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", - "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "dev": true, "dependencies": { - "lru-cache": "^9.1.1", - "minipass": "^5.0.0 || ^6.0.2" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -11612,9 +9728,9 @@ } }, "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, "engines": { "node": ">= 6" @@ -11724,15 +9840,15 @@ } }, "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.0.tgz", + "integrity": "sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==", "dev": true, "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" @@ -11751,12 +9867,12 @@ } }, "node_modules/pretty-format": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz", - "integrity": "sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", + "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", "dev": true, "dependencies": { - "@jest/schemas": "^29.4.3", + "@jest/schemas": "^29.6.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -11948,18 +10064,6 @@ "node": ">= 0.8" } }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -12082,11 +10186,6 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/readable-stream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, "node_modules/readable-stream/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -12179,9 +10278,9 @@ } }, "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.10.0.tgz", + "integrity": "sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==", "dev": true, "dependencies": { "jsesc": "~0.5.0" @@ -12200,14 +10299,14 @@ } }, "node_modules/replace-in-file": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/replace-in-file/-/replace-in-file-6.3.5.tgz", - "integrity": "sha512-arB9d3ENdKva2fxRnSjwBEXfK1npgyci7ZZuwysgAp7ORjHSyxz6oqIjTEv8R0Ydl4Ll7uOAZXL4vbkhGIizCg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/replace-in-file/-/replace-in-file-7.0.1.tgz", + "integrity": "sha512-KbhgPq04eA+TxXuUxpgWIH9k/TjF+28ofon2PXP7vq6izAILhxOtksCVcLuuQLtyjouBaPdlH6RJYYcSPVxCOA==", "dev": true, "dependencies": { "chalk": "^4.1.2", - "glob": "^7.2.0", - "yargs": "^17.2.1" + "glob": "^8.1.0", + "yargs": "^17.7.2" }, "bin": { "replace-in-file": "bin/cli.js" @@ -12216,26 +10315,46 @@ "node": ">=10" } }, + "node_modules/replace-in-file/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/replace-in-file/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": "*" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/replace-in-file/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -12368,14 +10487,14 @@ } }, "node_modules/run-con": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.11.tgz", - "integrity": "sha512-NEMGsUT+cglWkzEr4IFK21P4Jca45HqiAbIIZIBdX5+UZTB24Mb/21iNGgz9xZa8tL6vbW7CXmq7MFN42+VjNQ==", + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.12.tgz", + "integrity": "sha512-5257ILMYIF4RztL9uoZ7V9Q97zHtNHn5bN3NobeAnzB1P3ASLgg8qocM2u+R18ttp+VEM78N2LK8XcNVtnSRrg==", "dev": true, "dependencies": { "deep-extend": "^0.6.0", "ini": "~3.0.0", - "minimist": "^1.2.6", + "minimist": "^1.2.8", "strip-json-comments": "~3.1.1" }, "bin": { @@ -12461,9 +10580,9 @@ "dev": true }, "node_modules/schema-utils": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", - "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", @@ -12514,9 +10633,9 @@ } }, "node_modules/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -12738,6 +10857,18 @@ "webpack": "^5.72.1" } }, + "node_modules/source-map-loader/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-support": { "version": "0.5.13", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", @@ -12816,19 +10947,6 @@ "node": ">= 0.8" } }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", - "dev": true, - "peer": true, - "dependencies": { - "internal-slot": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/streamsearch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", @@ -12914,9 +11032,9 @@ } }, "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { "ansi-regex": "^6.0.1" @@ -13135,13 +11253,13 @@ } }, "node_modules/terser": { - "version": "5.17.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.6.tgz", - "integrity": "sha512-V8QHcs8YuyLkLHsJO5ucyff1ykrLVsR4dNnS//L5Y3NiSXpbK1J+WMVUs67eI0KTxs9JtHhgEQpXQVHlHI92DQ==", + "version": "5.18.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.2.tgz", + "integrity": "sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w==", "dev": true, "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -13419,9 +11537,9 @@ } }, "node_modules/ts-loader": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.3.tgz", - "integrity": "sha512-n3hBnm6ozJYzwiwt5YRiJZkzktftRpMiBApHaJPoWLA+qetQBAXkHqCLM6nwSdRDimqVtA5ocIkcTRLMTt7yzA==", + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", + "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", "dev": true, "dependencies": { "chalk": "^4.1.0", @@ -13589,16 +11707,16 @@ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/uc.micro": { @@ -13862,9 +11980,9 @@ } }, "node_modules/webdriver/node_modules/@types/node": { - "version": "18.16.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.14.tgz", - "integrity": "sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==", + "version": "18.16.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.19.tgz", + "integrity": "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==", "dev": true }, "node_modules/webdriver/node_modules/ws": { @@ -13895,9 +12013,9 @@ "dev": true }, "node_modules/webpack": { - "version": "5.84.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.84.1.tgz", - "integrity": "sha512-ZP4qaZ7vVn/K8WN/p990SGATmrL1qg4heP/MrVneczYtpDGJWlrgZv55vxaV2ul885Kz+25MP2kSXkPe3LZfmg==", + "version": "5.88.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.1.tgz", + "integrity": "sha512-FROX3TxQnC/ox4N+3xQoWZzvGXSuscxR32rbzjpXgEzWudJFEJBpdlkkob2ylrv5yzzufD1zph1OoFsLtm6stQ==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -13909,7 +12027,7 @@ "acorn-import-assertions": "^1.9.0", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.14.1", + "enhanced-resolve": "^5.15.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -13919,7 +12037,7 @@ "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.1.2", + "schema-utils": "^3.2.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.7", "watchpack": "^2.4.0", @@ -13942,44 +12060,42 @@ } }, "node_modules/webpack-cli": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", - "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, "dependencies": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.2.0", - "@webpack-cli/info": "^1.5.0", - "@webpack-cli/serve": "^1.7.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", "colorette": "^2.0.14", - "commander": "^7.0.0", + "commander": "^10.0.1", "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", "webpack-merge": "^5.7.3" }, "bin": { "webpack-cli": "bin/cli.js" }, "engines": { - "node": ">=10.13.0" + "node": ">=14.15.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "4.x.x || 5.x.x" + "webpack": "5.x.x" }, "peerDependenciesMeta": { "@webpack-cli/generators": { "optional": true }, - "@webpack-cli/migrate": { - "optional": true - }, "webpack-bundle-analyzer": { "optional": true }, @@ -13989,33 +12105,12 @@ } }, "node_modules/webpack-cli/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-cli/node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/webpack-cli/node_modules/rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, - "dependencies": { - "resolve": "^1.9.0" - }, "engines": { - "node": ">= 0.10" + "node": ">=14" } }, "node_modules/webpack-merge": { @@ -14081,26 +12176,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "dev": true, - "peer": true, - "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.10.tgz", + "integrity": "sha512-uxoA5vLUfRPdjCuJ1h5LlYdmTLbYfums398v3WLkM+i/Wltl2/XyZpQWKbN++ck5L64SR/grOHqtXCUKmlZPNA==", "dev": true, "dependencies": { "available-typed-arrays": "^1.0.5", @@ -14123,15 +12202,6 @@ "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/workerpool": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", @@ -14218,9 +12288,9 @@ } }, "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { "ansi-regex": "^6.0.1" @@ -14450,6 +12520,12 @@ } }, "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, "@ampproject/remapping": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", @@ -14461,41 +12537,41 @@ } }, "@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", "dev": true, "requires": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.5" } }, "@babel/compat-data": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.9.tgz", - "integrity": "sha512-FUGed8kfhyWvbYug/Un/VPJD41rDIgoVVcR+FuzhzOYyRz5uED+Gd3SLZml0Uw2l2aHFb7ZgdW5mGA3G2cCCnQ==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.6.tgz", + "integrity": "sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg==", "dev": true }, "@babel/core": { - "version": "7.21.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz", - "integrity": "sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==", + "version": "7.22.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.8.tgz", + "integrity": "sha512-75+KxFB4CZqYRXjx4NlR4J7yGvKumBuZTmV4NV6v09dVXXkuYVYLT68N6HCzLvfJ+fWCxQsntNzKwwIXL4bHnw==", "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-compilation-targets": "^7.21.5", - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helpers": "^7.21.5", - "@babel/parser": "^7.21.8", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.7", + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", + "@nicolo-ribaudo/semver-v6": "^6.3.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" + "json5": "^2.2.2" }, "dependencies": { "convert-source-map": { @@ -14509,22 +12585,16 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true } } }, "@babel/generator": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.9.tgz", - "integrity": "sha512-F3fZga2uv09wFdEjEQIJxXALXfz0+JaOb7SabvVMmjHxeVTuGW8wgE8Vp1Hd7O+zMTYtcfEISGRzPkeiaPPsvg==", + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.7.tgz", + "integrity": "sha512-p+jPjMG+SI8yvIaxGgeW24u7q9+5+TGpZh8/CuB7RhBKd7RCy8FayNEFNNKrNK/eUcY/4ExQqLmyrvBXKsIcwQ==", "dev": true, "requires": { - "@babel/types": "^7.21.5", + "@babel/types": "^7.22.5", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -14539,16 +12609,16 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", - "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.6.tgz", + "integrity": "sha512-534sYEqWD9VfUm3IPn2SLcH4Q3P86XL+QvqdC7ZsFrzyyPF3T4XGiVghF6PTYNdWg6pXuoqXxNQAhbYeEInTzA==", "dev": true, "requires": { - "@babel/compat-data": "^7.21.5", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "@babel/compat-data": "^7.22.6", + "@babel/helper-validator-option": "^7.22.5", + "@nicolo-ribaudo/semver-v6": "^6.3.3", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1" }, "dependencies": { "lru-cache": { @@ -14560,12 +12630,6 @@ "yallist": "^3.0.2" } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -14575,115 +12639,115 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", - "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", "dev": true }, "@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", "dev": true, "requires": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" } }, "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "dev": true, "requires": { - "@babel/types": "^7.21.4" + "@babel/types": "^7.22.5" } }, "@babel/helper-module-transforms": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", - "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", + "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-simple-access": "^7.21.5", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" } }, "@babel/helper-plugin-utils": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", - "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "dev": true }, "@babel/helper-simple-access": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", - "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, "requires": { - "@babel/types": "^7.21.5" + "@babel/types": "^7.22.5" } }, "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-string-parser": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", - "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", "dev": true }, "@babel/helpers": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", - "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", + "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", "dev": true, "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.6", + "@babel/types": "^7.22.5" } }, "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -14747,9 +12811,9 @@ } }, "@babel/parser": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.9.tgz", - "integrity": "sha512-q5PNg/Bi1OpGgx5jYlvWZwAorZepEudDMCLtj967aeS7WMont7dUZI46M2XwcIQqvUlMxWfdLFu4S/qSxeUu5g==", + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", + "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", "dev": true }, "@babel/plugin-syntax-async-generators": { @@ -14798,12 +12862,12 @@ } }, "@babel/plugin-syntax-jsx": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", - "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-syntax-logical-assignment-operators": { @@ -14870,48 +12934,48 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", - "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/runtime": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz", - "integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz", + "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==", "dev": true, "requires": { "regenerator-runtime": "^0.13.11" } }, "@babel/template": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", - "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "dev": true, "requires": { - "@babel/code-frame": "^7.21.4", - "@babel/parser": "^7.21.9", - "@babel/types": "^7.21.5" + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" } }, "@babel/traverse": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", - "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.5", - "@babel/types": "^7.21.5", + "version": "7.22.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", + "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.7", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/types": "^7.22.5", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -14925,13 +12989,13 @@ } }, "@babel/types": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", - "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.21.5", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" } }, @@ -14968,6 +13032,17 @@ "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true }, + "@es-joy/jsdoccomment": { + "version": "0.39.4", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.39.4.tgz", + "integrity": "sha512-Jvw915fjqQct445+yron7Dufix9A+m9j1fCJYlCo1FWlRvTxa3pjJelxdSTdaLWcTwRU6vbL+NYjO4YuNIS5Qg==", + "dev": true, + "requires": { + "comment-parser": "1.3.1", + "esquery": "^1.5.0", + "jsdoc-type-pratt-parser": "~4.0.0" + } + }, "@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -14984,14 +13059,14 @@ "dev": true }, "@eslint/eslintrc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", - "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", + "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.2", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -15001,21 +13076,21 @@ } }, "@eslint/js": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz", - "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", + "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", "dev": true }, "@finos/fdc3": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@finos/fdc3/-/fdc3-1.2.0.tgz", - "integrity": "sha512-im/vqpS96qsCKMPkwR/Fg2t2FQtwh+/LOvTekIY0eYyuz/CZQoqhwcxwk/Re0pqJiA3inisV7DSfQ1JYLi+bxw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@finos/fdc3/-/fdc3-2.0.3.tgz", + "integrity": "sha512-sq+iGbjU6yRl7xHhp62nB1tV4biFaHZgUAInzPTJvzXWl9xjZMmXvvbeZW6WGZaCSvjQhJPSrmWs+4z2c73T+g==", "dev": true }, "@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -15056,9 +13131,9 @@ "dev": true }, "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "requires": { "ansi-regex": "^6.0.1" @@ -15150,30 +13225,30 @@ "dev": true }, "@jest/console": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.5.0.tgz", - "integrity": "sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.6.1.tgz", + "integrity": "sha512-Aj772AYgwTSr5w8qnyoJ0eDYvN6bMsH3ORH1ivMotrInHLKdUz6BDlaEXHdM6kODaBIkNIyQGzsMvRdOv7VG7Q==", "dev": true, "requires": { - "@jest/types": "^29.5.0", + "@jest/types": "^29.6.1", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", + "jest-message-util": "^29.6.1", + "jest-util": "^29.6.1", "slash": "^3.0.0" } }, "@jest/core": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.5.0.tgz", - "integrity": "sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.6.1.tgz", + "integrity": "sha512-CcowHypRSm5oYQ1obz1wfvkjZZ2qoQlrKKvlfPwh5jUXVU12TWr2qMeH8chLMuTFzHh5a1g2yaqlqDICbr+ukQ==", "dev": true, "requires": { - "@jest/console": "^29.5.0", - "@jest/reporters": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", + "@jest/console": "^29.6.1", + "@jest/reporters": "^29.6.1", + "@jest/test-result": "^29.6.1", + "@jest/transform": "^29.6.1", + "@jest/types": "^29.6.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", @@ -15181,93 +13256,93 @@ "exit": "^0.1.2", "graceful-fs": "^4.2.9", "jest-changed-files": "^29.5.0", - "jest-config": "^29.5.0", - "jest-haste-map": "^29.5.0", - "jest-message-util": "^29.5.0", + "jest-config": "^29.6.1", + "jest-haste-map": "^29.6.1", + "jest-message-util": "^29.6.1", "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-resolve-dependencies": "^29.5.0", - "jest-runner": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", - "jest-watcher": "^29.5.0", + "jest-resolve": "^29.6.1", + "jest-resolve-dependencies": "^29.6.1", + "jest-runner": "^29.6.1", + "jest-runtime": "^29.6.1", + "jest-snapshot": "^29.6.1", + "jest-util": "^29.6.1", + "jest-validate": "^29.6.1", + "jest-watcher": "^29.6.1", "micromatch": "^4.0.4", - "pretty-format": "^29.5.0", + "pretty-format": "^29.6.1", "slash": "^3.0.0", "strip-ansi": "^6.0.0" } }, "@jest/environment": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.5.0.tgz", - "integrity": "sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.1.tgz", + "integrity": "sha512-RMMXx4ws+Gbvw3DfLSuo2cfQlK7IwGbpuEWXCqyYDcqYTI+9Ju3a5hDnXaxjNsa6uKh9PQF2v+qg+RLe63tz5A==", "dev": true, "requires": { - "@jest/fake-timers": "^29.5.0", - "@jest/types": "^29.5.0", + "@jest/fake-timers": "^29.6.1", + "@jest/types": "^29.6.1", "@types/node": "*", - "jest-mock": "^29.5.0" + "jest-mock": "^29.6.1" } }, "@jest/expect": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.5.0.tgz", - "integrity": "sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.6.1.tgz", + "integrity": "sha512-N5xlPrAYaRNyFgVf2s9Uyyvr795jnB6rObuPx4QFvNJz8aAjpZUDfO4bh5G/xuplMID8PrnuF1+SfSyDxhsgYg==", "dev": true, "requires": { - "expect": "^29.5.0", - "jest-snapshot": "^29.5.0" + "expect": "^29.6.1", + "jest-snapshot": "^29.6.1" } }, "@jest/expect-utils": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.5.0.tgz", - "integrity": "sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.6.1.tgz", + "integrity": "sha512-o319vIf5pEMx0LmzSxxkYYxo4wrRLKHq9dP1yJU7FoPTB0LfAKSz8SWD6D/6U3v/O52t9cF5t+MeJiRsfk7zMw==", "dev": true, "requires": { "jest-get-type": "^29.4.3" } }, "@jest/fake-timers": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.5.0.tgz", - "integrity": "sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.1.tgz", + "integrity": "sha512-RdgHgbXyosCDMVYmj7lLpUwXA4c69vcNzhrt69dJJdf8azUrpRh3ckFCaTPNjsEeRi27Cig0oKDGxy5j7hOgHg==", "dev": true, "requires": { - "@jest/types": "^29.5.0", + "@jest/types": "^29.6.1", "@sinonjs/fake-timers": "^10.0.2", "@types/node": "*", - "jest-message-util": "^29.5.0", - "jest-mock": "^29.5.0", - "jest-util": "^29.5.0" + "jest-message-util": "^29.6.1", + "jest-mock": "^29.6.1", + "jest-util": "^29.6.1" } }, "@jest/globals": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.5.0.tgz", - "integrity": "sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.6.1.tgz", + "integrity": "sha512-2VjpaGy78JY9n9370H8zGRCFbYVWwjY6RdDMhoJHa1sYfwe6XM/azGN0SjY8kk7BOZApIejQ1BFPyH7FPG0w3A==", "dev": true, "requires": { - "@jest/environment": "^29.5.0", - "@jest/expect": "^29.5.0", - "@jest/types": "^29.5.0", - "jest-mock": "^29.5.0" + "@jest/environment": "^29.6.1", + "@jest/expect": "^29.6.1", + "@jest/types": "^29.6.1", + "jest-mock": "^29.6.1" } }, "@jest/reporters": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.5.0.tgz", - "integrity": "sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.6.1.tgz", + "integrity": "sha512-9zuaI9QKr9JnoZtFQlw4GREQbxgmNYXU6QuWtmuODvk5nvPUeBYapVR/VYMyi2WSx3jXTLJTJji8rN6+Cm4+FA==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@jridgewell/trace-mapping": "^0.3.15", + "@jest/console": "^29.6.1", + "@jest/test-result": "^29.6.1", + "@jest/transform": "^29.6.1", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", @@ -15279,9 +13354,9 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", - "jest-worker": "^29.5.0", + "jest-message-util": "^29.6.1", + "jest-util": "^29.6.1", + "jest-worker": "^29.6.1", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", @@ -15305,66 +13380,66 @@ } }, "@jest/schemas": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz", - "integrity": "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==", + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", + "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", "dev": true, "requires": { - "@sinclair/typebox": "^0.25.16" + "@sinclair/typebox": "^0.27.8" } }, "@jest/source-map": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.4.3.tgz", - "integrity": "sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==", + "version": "29.6.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.0.tgz", + "integrity": "sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.15", + "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", "graceful-fs": "^4.2.9" } }, "@jest/test-result": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.5.0.tgz", - "integrity": "sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.6.1.tgz", + "integrity": "sha512-Ynr13ZRcpX6INak0TPUukU8GWRfm/vAytE3JbJNGAvINySWYdfE7dGZMbk36oVuK4CigpbhMn8eg1dixZ7ZJOw==", "dev": true, "requires": { - "@jest/console": "^29.5.0", - "@jest/types": "^29.5.0", + "@jest/console": "^29.6.1", + "@jest/types": "^29.6.1", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.5.0.tgz", - "integrity": "sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.6.1.tgz", + "integrity": "sha512-oBkC36PCDf/wb6dWeQIhaviU0l5u6VCsXa119yqdUosYAt7/FbQU2M2UoziO3igj/HBDEgp57ONQ3fm0v9uyyg==", "dev": true, "requires": { - "@jest/test-result": "^29.5.0", + "@jest/test-result": "^29.6.1", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", + "jest-haste-map": "^29.6.1", "slash": "^3.0.0" } }, "@jest/transform": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.5.0.tgz", - "integrity": "sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.6.1.tgz", + "integrity": "sha512-URnTneIU3ZjRSaf906cvf6Hpox3hIeJXRnz3VDSw5/X93gR8ycdfSIEy19FlVx8NFmpN7fe3Gb1xF+NjXaQLWg==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/types": "^29.5.0", - "@jridgewell/trace-mapping": "^0.3.15", + "@jest/types": "^29.6.1", + "@jridgewell/trace-mapping": "^0.3.18", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^2.0.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", + "jest-haste-map": "^29.6.1", "jest-regex-util": "^29.4.3", - "jest-util": "^29.5.0", + "jest-util": "^29.6.1", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", @@ -15372,12 +13447,12 @@ } }, "@jest/types": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz", - "integrity": "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz", + "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==", "dev": true, "requires": { - "@jest/schemas": "^29.4.3", + "@jest/schemas": "^29.6.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -15761,9 +13836,9 @@ "dev": true }, "@jridgewell/source-map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.3.0", @@ -15794,6 +13869,12 @@ } } }, + "@nicolo-ribaudo/semver-v6": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz", + "integrity": "sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==", + "dev": true + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -15821,20 +13902,20 @@ } }, "@nut-tree/libnut": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@nut-tree/libnut/-/libnut-2.5.1.tgz", - "integrity": "sha512-W41FRAuA2fT7Y44+9A59NWzYhNA6Qibuvxgx9Sf5bQ5QrLIAyKGWjRpW/doUXaTAwUOvcqg7TC2w7jrn9nwkAA==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@nut-tree/libnut/-/libnut-2.5.2.tgz", + "integrity": "sha512-IwlGgalGQjjCrbPq52HTLtsR6MRsGJ6c4GhgHmgwJPD/yBVCzsU5EA2rwDgjKSgK+jiLOpykySDZQ+owhyd1zw==", "dev": true, "requires": { - "@nut-tree/libnut-darwin": "2.5.1", - "@nut-tree/libnut-linux": "2.5.1", - "@nut-tree/libnut-win32": "2.5.1" + "@nut-tree/libnut-darwin": "2.5.2", + "@nut-tree/libnut-linux": "2.5.2", + "@nut-tree/libnut-win32": "2.5.2" } }, "@nut-tree/libnut-darwin": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@nut-tree/libnut-darwin/-/libnut-darwin-2.5.1.tgz", - "integrity": "sha512-JIr5Plmm9n5aoOAmwjghCtbmOY4FzOTypRN/mlb5N+68aX+w5RpgOV2HXmcQPbtqYTTOoSEGRBdzK8M36KHRsw==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@nut-tree/libnut-darwin/-/libnut-darwin-2.5.2.tgz", + "integrity": "sha512-OKqCgpBbZj2oNQkLM+mM7TyiLBAQsRyN7Q5UXVKbyXnzcQTU1FZBJ1mLGvdfzzspajznL3Mkl08AQE+xYYbTMw==", "dev": true, "requires": { "@nut-tree/node-mac-permissions": "2.2.1", @@ -15842,9 +13923,9 @@ } }, "@nut-tree/libnut-linux": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@nut-tree/libnut-linux/-/libnut-linux-2.5.1.tgz", - "integrity": "sha512-2rXZsOpx5U6cJE1zGfrDa6fGaAr1cQFJInsmpV55vg93/k0X5RY6iXLNbBXot/NBJKrTcQRIHeKpffLRk8fKPg==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@nut-tree/libnut-linux/-/libnut-linux-2.5.2.tgz", + "integrity": "sha512-uY6XDuNE8soYRUhV23g6KQN5BRR43MYNLyPnrrQa5Wtfgm6oW9kBRu6JtkWz6Fn6trAWrVAKnbPoTiEgHuGz9w==", "dev": true, "requires": { "@nut-tree/node-mac-permissions": "2.2.1", @@ -15852,9 +13933,9 @@ } }, "@nut-tree/libnut-win32": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@nut-tree/libnut-win32/-/libnut-win32-2.5.1.tgz", - "integrity": "sha512-Y95nMNM6WeioPrfzsGjvzUxtIQGYXfooFjSEUaGOA3pxP6bQlmfhVPYZrxwYtFr7mDoxHE9/PrDg1qiYtYhZkw==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@nut-tree/libnut-win32/-/libnut-win32-2.5.2.tgz", + "integrity": "sha512-cnNAQ0pzUMH7hrSjTWRiFfXid3sbSZ78jpv1rA154dlka3wqo6m1OtaX4PLVQK4irZl5REz74iPdHcjeTy9rtg==", "dev": true, "requires": { "@nut-tree/node-mac-permissions": "2.2.1", @@ -15873,14 +13954,14 @@ } }, "@nut-tree/nut-js": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@nut-tree/nut-js/-/nut-js-3.1.1.tgz", - "integrity": "sha512-0o+9docVUTgbJ4dA+lYT9LHIHf5rpV3IlTxHsx9hlwsFOiIbxOHB98+/+1IcQpHrAjRF/MhzQ8lVpFud+5hTGw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@nut-tree/nut-js/-/nut-js-3.1.2.tgz", + "integrity": "sha512-hi7DBZz9O/t4goeQu3hKeauQbb0PcBmurScl3/t5L3I1pub3ibV24sft8KNSS3INKnGCj7I3Ma5iNHQ24g+95g==", "dev": true, "requires": { - "@nut-tree/libnut": "2.5.1", + "@nut-tree/libnut": "2.5.2", "clipboardy": "2.3.0", - "jimp": "0.16.2", + "jimp": "0.16.13", "node-abort-controller": "2.0.0" } }, @@ -15969,9 +14050,9 @@ } }, "@types/node": { - "version": "16.18.32", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.32.tgz", - "integrity": "sha512-zpnXe4dEz6PrWz9u7dqyRoq9VxwCvoXRPy/ewhmMa1CgEyVmtL1NJPQ2MX+4pf97vetquVKkpiMx0MwI8pjNOw==", + "version": "16.18.38", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.38.tgz", + "integrity": "sha512-6sfo1qTulpVbkxECP+AVrHV9OoJqhzCsfTNp5NIG+enM4HyM3HvZCO798WShIXBN0+QtDIcutJCjsVYnQP5rIQ==", "dev": true }, "openfin-adapter": { @@ -16031,15 +14112,15 @@ "optional": true }, "@sinclair/typebox": { - "version": "0.25.24", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", - "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==", + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, "@sindresorhus/is": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.3.0.tgz", - "integrity": "sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.4.1.tgz", + "integrity": "sha512-axlrvsHlHlFmKKMEg4VyvMzFr93JWJj4eIfXY1STVuO2fsImCa7ncaiG5gC8HKOX590AW5RtRsC41/B+OfrSqw==", "dev": true }, "@sinonjs/commons": { @@ -16052,9 +14133,9 @@ } }, "@sinonjs/fake-timers": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.2.0.tgz", - "integrity": "sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, "requires": { "@sinonjs/commons": "^3.0.0" @@ -16132,9 +14213,9 @@ } }, "@types/babel__traverse": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.0.tgz", - "integrity": "sha512-TBOjqAGf0hmaqRwpii5LLkJLg7c6OMm4nHLmpsUxwk9bBHtoTC6dAHdVWdGv4TBxj2CZOZY8Xfq8WmfoVi7n4Q==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", "dev": true, "requires": { "@babel/types": "^7.20.7" @@ -16160,9 +14241,9 @@ } }, "@types/eslint": { - "version": "8.40.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.0.tgz", - "integrity": "sha512-nbq2mvc/tBrK9zQQuItvjJl++GTN5j06DaPtp3hZCpngmG6Q3xoyEmd0TwZI0gAy/G1X0zhGBbr2imsGFdFV0g==", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.0.tgz", + "integrity": "sha512-gsF+c/0XOguWgaOgvFs+xnnRqt9GwgTvIks36WpE6ueeI4KCEHHd8K/CKHqhOqrJKsYH8m27kRzQEvWXAwXUTw==", "dev": true, "requires": { "@types/estree": "*", @@ -16224,6 +14305,12 @@ "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", "dev": true }, + "@types/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==", + "dev": true + }, "@types/istanbul-lib-coverage": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", @@ -16249,9 +14336,9 @@ } }, "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", "dev": true }, "@types/json5": { @@ -16276,9 +14363,9 @@ } }, "@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "version": "20.4.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.1.tgz", + "integrity": "sha512-JIzsAvJeA/5iY6Y/OxZbv1lUcc8dNSE77lb2gnBH+/PJ3lFR1Ccvgwl5JWnHAkNHcRsT0TbpVOsiMKZ1F/yyJg==", "dev": true }, "@types/normalize-package-data": { @@ -16288,9 +14375,9 @@ "dev": true }, "@types/prettier": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", - "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", "dev": true }, "@types/qs": { @@ -16323,11 +14410,12 @@ } }, "@types/serve-static": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz", - "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", + "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", "dev": true, "requires": { + "@types/http-errors": "*", "@types/mime": "*", "@types/node": "*" } @@ -16339,9 +14427,9 @@ "dev": true }, "@types/ws": { - "version": "8.5.4", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", - "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", + "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", "dev": true, "requires": { "@types/node": "*" @@ -16363,18 +14451,18 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.7.tgz", - "integrity": "sha512-BL+jYxUFIbuYwy+4fF86k5vdT9lT0CNJ6HtwrIvGh0PhH8s0yy5rjaKH2fDCrz5ITHy07WCzVGNvAmjJh4IJFA==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dev": true, "peer": true, "requires": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/type-utils": "5.59.7", - "@typescript-eslint/utils": "5.59.7", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", "semver": "^7.3.7", @@ -16382,58 +14470,58 @@ } }, "@typescript-eslint/parser": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.7.tgz", - "integrity": "sha512-VhpsIEuq/8i5SF+mPg9jSdIwgMBBp0z9XqjiEay+81PYLJuroN+ET1hM5IhkiYMJd9MkTz8iJLt7aaGAgzWUbQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, "peer": true, "requires": { - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/typescript-estree": "5.59.7", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.7.tgz", - "integrity": "sha512-FL6hkYWK9zBGdxT2wWEd2W8ocXMu3K94i3gvMrjXpx+koFYdYV7KprKfirpgY34vTGzEPPuKoERpP8kD5h7vZQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, "peer": true, "requires": { - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/visitor-keys": "5.59.7" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" } }, "@typescript-eslint/type-utils": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.7.tgz", - "integrity": "sha512-ozuz/GILuYG7osdY5O5yg0QxXUAEoI4Go3Do5xeu+ERH9PorHBPSdvD3Tjp2NN2bNLh1NJQSsQu2TPu/Ly+HaQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, "peer": true, "requires": { - "@typescript-eslint/typescript-estree": "5.59.7", - "@typescript-eslint/utils": "5.59.7", + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.7.tgz", - "integrity": "sha512-UnVS2MRRg6p7xOSATscWkKjlf/NDKuqo5TdbWck6rIRZbmKpVNTLALzNvcjIfHBE7736kZOFc/4Z3VcZwuOM/A==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, "peer": true }, "@typescript-eslint/typescript-estree": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.7.tgz", - "integrity": "sha512-4A1NtZ1I3wMN2UGDkU9HMBL+TIQfbrh4uS0WDMMpf3xMRursDbqEf1ahh6vAAe3mObt8k3ZATnezwG4pdtWuUQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, "peer": true, "requires": { - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/visitor-keys": "5.59.7", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -16442,30 +14530,30 @@ } }, "@typescript-eslint/utils": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.7.tgz", - "integrity": "sha512-yCX9WpdQKaLufz5luG4aJbOpdXf/fjwGMcLFXZVPUz3QqLirG5QcwwnIHNf8cjLjxK4qtzTO8udUtMQSAToQnQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, "peer": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.7", - "@typescript-eslint/types": "5.59.7", - "@typescript-eslint/typescript-estree": "5.59.7", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "eslint-scope": "^5.1.1", "semver": "^7.3.7" } }, "@typescript-eslint/visitor-keys": { - "version": "5.59.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.7.tgz", - "integrity": "sha512-tyN+X2jvMslUszIiYbF0ZleP+RqQsFVpGrKI6e0Eet1w8WmhsAtmzaqm8oM8WJQ1ysLwhnsK/4hYHJjOgJVfQQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, "peer": true, "requires": { - "@typescript-eslint/types": "5.59.7", + "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -16644,9 +14732,9 @@ }, "dependencies": { "chalk": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", - "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true } } @@ -16667,9 +14755,9 @@ }, "dependencies": { "@types/node": { - "version": "18.16.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.14.tgz", - "integrity": "sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==", + "version": "18.16.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.19.tgz", + "integrity": "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==", "dev": true } } @@ -16833,25 +14921,23 @@ } }, "@webpack-cli/configtest": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", - "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", "dev": true, "requires": {} }, "@webpack-cli/info": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", - "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", "dev": true, - "requires": { - "envinfo": "^7.7.3" - } + "requires": {} }, "@webpack-cli/serve": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", - "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", "dev": true, "requires": {} }, @@ -16884,9 +14970,9 @@ } }, "acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", "dev": true }, "acorn-import-assertions": { @@ -16992,60 +15078,10 @@ "requires": { "express": "^4.18.2", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - }, - "dependencies": { - "@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - } - } + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, "arch": { @@ -17054,6 +15090,12 @@ "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", "dev": true }, + "are-docs-informative": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", + "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", + "dev": true + }, "arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", @@ -17067,13 +15109,13 @@ "dev": true }, "aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "dev": true, "peer": true, "requires": { - "deep-equal": "^2.0.5" + "dequal": "^2.0.3" } }, "array-buffer-byte-length": { @@ -17129,6 +15171,7 @@ "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", "dev": true, + "peer": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", @@ -17166,9 +15209,9 @@ "automation-testing-create-window-js": { "version": "file:how-to/automation-testing/create-window-js", "requires": { - "@openfin/automation-cli": "^1.0.1", - "@openfin/automation-helpers": "^1.0.1", - "@openfin/automation-native": "^1.0.1", + "@openfin/automation-cli": "^1.0.13", + "@openfin/automation-helpers": "^1.0.13", + "@openfin/automation-native": "^1.0.13", "chai": "4.3.7", "mochawesome": "7.1.3" } @@ -17176,9 +15219,9 @@ "automation-testing-use-launch-external-process-js": { "version": "file:how-to/automation-testing/use-window-options-js", "requires": { - "@openfin/automation-cli": "^1.0.1", - "@openfin/automation-helpers": "^1.0.1", - "@openfin/automation-native": "^1.0.1", + "@openfin/automation-cli": "^1.0.13", + "@openfin/automation-helpers": "^1.0.13", + "@openfin/automation-native": "^1.0.13", "chai": "4.3.7", "mochawesome": "7.1.3" } @@ -17186,9 +15229,9 @@ "automation-testing-use-window-options-js": { "version": "file:how-to/automation-testing/use-launch-external-process-js", "requires": { - "@openfin/automation-cli": "^1.0.1", - "@openfin/automation-helpers": "^1.0.1", - "@openfin/automation-native": "^1.0.1", + "@openfin/automation-cli": "^1.0.13", + "@openfin/automation-helpers": "^1.0.13", + "@openfin/automation-native": "^1.0.13", "chai": "4.3.7", "mochawesome": "7.1.3" } @@ -17207,22 +15250,22 @@ "peer": true }, "axobject-query": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", - "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", "dev": true, "peer": true, "requires": { - "deep-equal": "^2.0.5" + "dequal": "^2.0.3" } }, "babel-jest": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.5.0.tgz", - "integrity": "sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.1.tgz", + "integrity": "sha512-qu+3bdPEQC6KZSPz+4Fyjbga5OODNcp49j6GKzG1EKbkfyJBxEYGVUmVGpwCSeGouG52R4EgYMLb6p9YeEEQ4A==", "dev": true, "requires": { - "@jest/transform": "^29.5.0", + "@jest/transform": "^29.6.1", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", "babel-preset-jest": "^29.5.0", @@ -17348,15 +15391,6 @@ "ms": "2.0.0" } }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -17391,15 +15425,15 @@ "dev": true }, "browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "version": "4.21.9", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", + "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" } }, "bs-logger": { @@ -17468,9 +15502,9 @@ "dev": true }, "cacheable-request": { - "version": "10.2.10", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.10.tgz", - "integrity": "sha512-v6WB+Epm/qO4Hdlio/sfUn69r5Shgh39SsE9DSd4bIezP0mblOlObI+I0kUEM7J0JFc+I7pSeMeYaOYtX1N/VQ==", + "version": "10.2.12", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.12.tgz", + "integrity": "sha512-qtWGB5kn2OLjx47pYUkWicyOpK1vy9XZhq8yRTXOy+KAmjjESSRLx6SiExnnaGGUP1NM6/vmygMu0fGylNh9tw==", "dev": true, "requires": { "@types/http-cache-semantics": "^4.0.1", @@ -17513,9 +15547,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001489", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001489.tgz", - "integrity": "sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==", + "version": "1.0.30001515", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001515.tgz", + "integrity": "sha512-eEFDwUOZbE24sb+Ecsx3+OvNETqjWIdabMy52oOkIgcUtAsQifjUG9q4U9dgTHJM2mfk4uEPxc0+xuFdJ629QA==", "dev": true }, "chai": { @@ -17595,9 +15629,9 @@ "dev": true }, "cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", "dev": true }, "clean-regexp": { @@ -17687,9 +15721,9 @@ "dev": true }, "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", "dev": true }, "color-convert": { @@ -17720,9 +15754,15 @@ "dev": true }, "commander": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", - "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", + "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", + "dev": true + }, + "comment-parser": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz", + "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==", "dev": true }, "concat-map": { @@ -17799,60 +15839,10 @@ "requires": { "express": "^4.18.2", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - }, - "dependencies": { - "@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - } - } + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, "create-require": { @@ -17938,33 +15928,6 @@ "type-detect": "^4.0.0" } }, - "deep-equal": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.1.tgz", - "integrity": "sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==", - "dev": true, - "peer": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.0", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.2", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - } - }, "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -18011,6 +15974,13 @@ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true }, + "dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "peer": true + }, "destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -18073,9 +16043,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.408", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.408.tgz", - "integrity": "sha512-vjeaj0u/UYnzA/CIdGXzzcxRLCqRwREYc9YfaWInjIEr7/XPttZ6ShpyqapchEy0S2r6LpLjDBTnNj7ZxnxJKg==", + "version": "1.4.455", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.455.tgz", + "integrity": "sha512-8tgdX0Odl24LtmLwxotpJCVjIndN559AvaOtd67u+2mo+IDsgsTF580NB+uuDCqsHw8yFg53l5+imFV9Fw3cbA==", "dev": true }, "emittery": { @@ -18106,9 +16076,9 @@ } }, "enhanced-resolve": { - "version": "5.14.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz", - "integrity": "sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -18122,9 +16092,9 @@ "dev": true }, "envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", + "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", "dev": true }, "error-ex": { @@ -18178,28 +16148,10 @@ "which-typed-array": "^1.1.9" } }, - "es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" - } - }, "es-module-lexer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", - "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", "dev": true }, "es-set-tostringtag": { @@ -18252,16 +16204,16 @@ "dev": true }, "eslint": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz", - "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz", + "integrity": "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.41.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -18272,7 +16224,7 @@ "escape-string-regexp": "^4.0.0", "eslint-scope": "^7.2.0", "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", + "espree": "^9.6.0", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -18292,7 +16244,7 @@ "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" @@ -18334,9 +16286,9 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } @@ -18400,35 +16352,33 @@ } }, "eslint-plugin-import": { - "version": "2.27.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", "dev": true, "requires": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.7.4", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", "has": "^1.0.3", - "is-core-module": "^2.11.0", + "is-core-module": "^2.8.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", + "object.values": "^1.1.5", + "resolve": "^1.22.0", "tsconfig-paths": "^3.14.1" }, "dependencies": { "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.0.0" } }, "doctrine": { @@ -18440,14 +16390,31 @@ "esutils": "^2.0.2" } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, + "eslint-plugin-jsdoc": { + "version": "46.4.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.4.3.tgz", + "integrity": "sha512-Prc7ol+vCIghPeECpwZq5+P+VZfoi87suywvbYCiCnkI1kTmVSdcOC2M8mioglWxBbd28wbb1OVjg/8OzGzatA==", + "dev": true, + "requires": { + "@es-joy/jsdoccomment": "~0.39.4", + "are-docs-informative": "^0.0.2", + "comment-parser": "1.3.1", + "debug": "^4.3.4", + "escape-string-regexp": "^4.0.0", + "esquery": "^1.5.0", + "is-builtin-module": "^3.2.1", + "semver": "^7.5.1", + "spdx-expression-parse": "^3.0.1" + } + }, "eslint-plugin-jsx-a11y": { "version": "6.7.1", "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", @@ -18474,9 +16441,9 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "peer": true } @@ -18545,9 +16512,9 @@ } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "peer": true } @@ -18569,24 +16536,24 @@ "requires": {} }, "eslint-plugin-unicorn": { - "version": "45.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-45.0.2.tgz", - "integrity": "sha512-Y0WUDXRyGDMcKLiwgL3zSMpHrXI00xmdyixEGIg90gHnj0PcHY4moNv3Ppje/kDivdAy5vUeUr7z211ImPv2gw==", + "version": "47.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-47.0.0.tgz", + "integrity": "sha512-ivB3bKk7fDIeWOUmmMm9o3Ax9zbMz1Bsza/R2qm46ufw4T6VBFBaJIR1uN3pCKSmSXm8/9Nri8V+iUut1NhQGA==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.19.1", - "@eslint-community/eslint-utils": "^4.1.2", - "ci-info": "^3.6.1", + "@eslint-community/eslint-utils": "^4.4.0", + "ci-info": "^3.8.0", "clean-regexp": "^1.0.0", - "esquery": "^1.4.0", + "esquery": "^1.5.0", "indent-string": "^4.0.0", - "is-builtin-module": "^3.2.0", + "is-builtin-module": "^3.2.1", "jsesc": "^3.0.2", "lodash": "^4.17.21", "pluralize": "^8.0.0", "read-pkg-up": "^7.0.1", "regexp-tree": "^0.1.24", - "regjsparser": "^0.9.1", + "regjsparser": "^0.10.0", "safe-regex": "^2.1.1", "semver": "^7.3.8", "strip-indent": "^3.0.0" @@ -18632,12 +16599,12 @@ "dev": true }, "espree": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", - "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz", + "integrity": "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==", "dev": true, "requires": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" } @@ -18725,9 +16692,9 @@ "dev": true }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true }, "shebang-command": { @@ -18775,16 +16742,17 @@ "dev": true }, "expect": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.5.0.tgz", - "integrity": "sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.6.1.tgz", + "integrity": "sha512-XEdDLonERCU1n9uR56/Stx9OqojaLAQtZf9PrCHH9Hl8YXiEIka3H4NXJ3NOIBmQJTg7+j7buh34PMHfJujc8g==", "dev": true, "requires": { - "@jest/expect-utils": "^29.5.0", + "@jest/expect-utils": "^29.6.1", + "@types/node": "*", "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0" + "jest-matcher-utils": "^29.6.1", + "jest-message-util": "^29.6.1", + "jest-util": "^29.6.1" } }, "express": { @@ -18855,15 +16823,6 @@ "ms": "2.0.0" } }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -18897,9 +16856,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", + "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -19218,9 +17177,9 @@ } }, "glob": { - "version": "10.2.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", - "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", + "version": "10.2.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.7.tgz", + "integrity": "sha512-jTKehsravOJo8IJxUGfZILnkvVJM/MOfHRs8QcXolVef2zNI9Tqyy5+SeuOAZd3upViEZQLyFpQhYiHLrMUNmA==", "dev": true, "requires": { "foreground-child": "^3.1.0", @@ -19240,9 +17199,9 @@ } }, "minimatch": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", - "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -19318,9 +17277,9 @@ } }, "got": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-12.6.0.tgz", - "integrity": "sha512-WTcaQ963xV97MN3x0/CbAriXFZcXCfgxVp91I+Ze6pawQOa7SgzwSx2zIJJsX+kTajMnVs0xcFD1TxZKFqhdnQ==", + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", "dev": true, "requires": { "@sindresorhus/is": "^5.2.0", @@ -19350,13 +17309,6 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true, - "peer": true - }, "graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -19468,12 +17420,12 @@ "dev": true }, "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "safer-buffer": ">= 2.1.2 < 3" } }, "ieee754": { @@ -19573,64 +17525,14 @@ "integration-excel": { "version": "file:how-to/integration-excel", "requires": { - "@finos/fdc3": "^1.2.0", + "@finos/fdc3": "^2.0.3", "@openfin/excel": "^1.4.1", "express": "^4.18.2", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - }, - "dependencies": { - "@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - } - } + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, "internal-slot": { @@ -19656,17 +17558,6 @@ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, "is-array-buffer": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", @@ -19784,13 +17675,6 @@ "is-extglob": "^2.1.1" } }, - "is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "dev": true, - "peer": true - }, "is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -19843,13 +17727,6 @@ "has-tostringtag": "^1.0.0" } }, - "is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "dev": true, - "peer": true - }, "is-shared-array-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", @@ -19902,13 +17779,6 @@ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, - "is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "dev": true, - "peer": true - }, "is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -19918,17 +17788,6 @@ "call-bind": "^1.0.2" } }, - "is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, "is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -19939,11 +17798,9 @@ } }, "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "peer": true + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "isexe": { "version": "2.0.0", @@ -19977,9 +17834,9 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } @@ -20136,79 +17993,79 @@ } }, "jest-circus": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.5.0.tgz", - "integrity": "sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.6.1.tgz", + "integrity": "sha512-tPbYLEiBU4MYAL2XoZme/bgfUeotpDBd81lgHLCbDZZFaGmECk0b+/xejPFtmiBP87GgP/y4jplcRpbH+fgCzQ==", "dev": true, "requires": { - "@jest/environment": "^29.5.0", - "@jest/expect": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", + "@jest/environment": "^29.6.1", + "@jest/expect": "^29.6.1", + "@jest/test-result": "^29.6.1", + "@jest/types": "^29.6.1", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^29.5.0", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", + "jest-each": "^29.6.1", + "jest-matcher-utils": "^29.6.1", + "jest-message-util": "^29.6.1", + "jest-runtime": "^29.6.1", + "jest-snapshot": "^29.6.1", + "jest-util": "^29.6.1", "p-limit": "^3.1.0", - "pretty-format": "^29.5.0", + "pretty-format": "^29.6.1", "pure-rand": "^6.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-cli": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.5.0.tgz", - "integrity": "sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.6.1.tgz", + "integrity": "sha512-607dSgTA4ODIN6go9w6xY3EYkyPFGicx51a69H7yfvt7lN53xNswEVLovq+E77VsTRi5fWprLH0yl4DJgE8Ing==", "dev": true, "requires": { - "@jest/core": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", + "@jest/core": "^29.6.1", + "@jest/test-result": "^29.6.1", + "@jest/types": "^29.6.1", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", + "jest-config": "^29.6.1", + "jest-util": "^29.6.1", + "jest-validate": "^29.6.1", "prompts": "^2.0.1", "yargs": "^17.3.1" } }, "jest-config": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.5.0.tgz", - "integrity": "sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.6.1.tgz", + "integrity": "sha512-XdjYV2fy2xYixUiV2Wc54t3Z4oxYPAELUzWnV6+mcbq0rh742X2p52pii5A3oeRzYjLnQxCsZmp0qpI6klE2cQ==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.5.0", - "@jest/types": "^29.5.0", - "babel-jest": "^29.5.0", + "@jest/test-sequencer": "^29.6.1", + "@jest/types": "^29.6.1", + "babel-jest": "^29.6.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^29.5.0", - "jest-environment-node": "^29.5.0", + "jest-circus": "^29.6.1", + "jest-environment-node": "^29.6.1", "jest-get-type": "^29.4.3", "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-runner": "^29.5.0", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", + "jest-resolve": "^29.6.1", + "jest-runner": "^29.6.1", + "jest-util": "^29.6.1", + "jest-validate": "^29.6.1", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^29.5.0", + "pretty-format": "^29.6.1", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -20230,15 +18087,15 @@ } }, "jest-diff": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.5.0.tgz", - "integrity": "sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.6.1.tgz", + "integrity": "sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==", "dev": true, "requires": { "chalk": "^4.0.0", "diff-sequences": "^29.4.3", "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" + "pretty-format": "^29.6.1" } }, "jest-docblock": { @@ -20251,30 +18108,30 @@ } }, "jest-each": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.5.0.tgz", - "integrity": "sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.6.1.tgz", + "integrity": "sha512-n5eoj5eiTHpKQCAVcNTT7DRqeUmJ01hsAL0Q1SMiBHcBcvTKDELixQOGMCpqhbIuTcfC4kMfSnpmDqRgRJcLNQ==", "dev": true, "requires": { - "@jest/types": "^29.5.0", + "@jest/types": "^29.6.1", "chalk": "^4.0.0", "jest-get-type": "^29.4.3", - "jest-util": "^29.5.0", - "pretty-format": "^29.5.0" + "jest-util": "^29.6.1", + "pretty-format": "^29.6.1" } }, "jest-environment-node": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.5.0.tgz", - "integrity": "sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.1.tgz", + "integrity": "sha512-ZNIfAiE+foBog24W+2caIldl4Irh8Lx1PUhg/GZ0odM1d/h2qORAsejiFc7zb+SEmYPn1yDZzEDSU5PmDkmVLQ==", "dev": true, "requires": { - "@jest/environment": "^29.5.0", - "@jest/fake-timers": "^29.5.0", - "@jest/types": "^29.5.0", + "@jest/environment": "^29.6.1", + "@jest/fake-timers": "^29.6.1", + "@jest/types": "^29.6.1", "@types/node": "*", - "jest-mock": "^29.5.0", - "jest-util": "^29.5.0" + "jest-mock": "^29.6.1", + "jest-util": "^29.6.1" } }, "jest-get-type": { @@ -20284,12 +18141,12 @@ "dev": true }, "jest-haste-map": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.5.0.tgz", - "integrity": "sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.6.1.tgz", + "integrity": "sha512-0m7f9PZXxOCk1gRACiVgX85knUKPKLPg4oRCjLoqIm9brTHXaorMA0JpmtmVkQiT8nmXyIVoZd/nnH1cfC33ig==", "dev": true, "requires": { - "@jest/types": "^29.5.0", + "@jest/types": "^29.6.1", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", @@ -20297,60 +18154,60 @@ "fsevents": "^2.3.2", "graceful-fs": "^4.2.9", "jest-regex-util": "^29.4.3", - "jest-util": "^29.5.0", - "jest-worker": "^29.5.0", + "jest-util": "^29.6.1", + "jest-worker": "^29.6.1", "micromatch": "^4.0.4", "walker": "^1.0.8" } }, "jest-leak-detector": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.5.0.tgz", - "integrity": "sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.1.tgz", + "integrity": "sha512-OrxMNyZirpOEwkF3UHnIkAiZbtkBWiye+hhBweCHkVbCgyEy71Mwbb5zgeTNYWJBi1qgDVfPC1IwO9dVEeTLwQ==", "dev": true, "requires": { "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" + "pretty-format": "^29.6.1" } }, "jest-matcher-utils": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz", - "integrity": "sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.6.1.tgz", + "integrity": "sha512-SLaztw9d2mfQQKHmJXKM0HCbl2PPVld/t9Xa6P9sgiExijviSp7TnZZpw2Fpt+OI3nwUO/slJbOfzfUMKKC5QA==", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^29.5.0", + "jest-diff": "^29.6.1", "jest-get-type": "^29.4.3", - "pretty-format": "^29.5.0" + "pretty-format": "^29.6.1" } }, "jest-message-util": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.5.0.tgz", - "integrity": "sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.1.tgz", + "integrity": "sha512-KoAW2zAmNSd3Gk88uJ56qXUWbFk787QKmjjJVOjtGFmmGSZgDBrlIL4AfQw1xyMYPNVD7dNInfIbur9B2rd/wQ==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.5.0", + "@jest/types": "^29.6.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.5.0", + "pretty-format": "^29.6.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-mock": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.5.0.tgz", - "integrity": "sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.1.tgz", + "integrity": "sha512-brovyV9HBkjXAEdRooaTQK42n8usKoSRR3gihzUpYeV/vwqgSoNfrksO7UfSACnPmxasO/8TmHM3w9Hp3G1dgw==", "dev": true, "requires": { - "@jest/types": "^29.5.0", + "@jest/types": "^29.6.1", "@types/node": "*", - "jest-util": "^29.5.0" + "jest-util": "^29.6.1" } }, "jest-pnp-resolver": { @@ -20367,87 +18224,87 @@ "dev": true }, "jest-resolve": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.5.0.tgz", - "integrity": "sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.6.1.tgz", + "integrity": "sha512-AeRkyS8g37UyJiP9w3mmI/VXU/q8l/IH52vj/cDAyScDcemRbSBhfX/NMYIGilQgSVwsjxrCHf3XJu4f+lxCMg==", "dev": true, "requires": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", + "jest-haste-map": "^29.6.1", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.5.0", - "jest-validate": "^29.5.0", + "jest-util": "^29.6.1", + "jest-validate": "^29.6.1", "resolve": "^1.20.0", "resolve.exports": "^2.0.0", "slash": "^3.0.0" } }, "jest-resolve-dependencies": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.5.0.tgz", - "integrity": "sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.6.1.tgz", + "integrity": "sha512-BbFvxLXtcldaFOhNMXmHRWx1nXQO5LoXiKSGQcA1LxxirYceZT6ch8KTE1bK3X31TNG/JbkI7OkS/ABexVahiw==", "dev": true, "requires": { "jest-regex-util": "^29.4.3", - "jest-snapshot": "^29.5.0" + "jest-snapshot": "^29.6.1" } }, "jest-runner": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.5.0.tgz", - "integrity": "sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.6.1.tgz", + "integrity": "sha512-tw0wb2Q9yhjAQ2w8rHRDxteryyIck7gIzQE4Reu3JuOBpGp96xWgF0nY8MDdejzrLCZKDcp8JlZrBN/EtkQvPQ==", "dev": true, "requires": { - "@jest/console": "^29.5.0", - "@jest/environment": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", + "@jest/console": "^29.6.1", + "@jest/environment": "^29.6.1", + "@jest/test-result": "^29.6.1", + "@jest/transform": "^29.6.1", + "@jest/types": "^29.6.1", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.13.1", "graceful-fs": "^4.2.9", "jest-docblock": "^29.4.3", - "jest-environment-node": "^29.5.0", - "jest-haste-map": "^29.5.0", - "jest-leak-detector": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-resolve": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-util": "^29.5.0", - "jest-watcher": "^29.5.0", - "jest-worker": "^29.5.0", + "jest-environment-node": "^29.6.1", + "jest-haste-map": "^29.6.1", + "jest-leak-detector": "^29.6.1", + "jest-message-util": "^29.6.1", + "jest-resolve": "^29.6.1", + "jest-runtime": "^29.6.1", + "jest-util": "^29.6.1", + "jest-watcher": "^29.6.1", + "jest-worker": "^29.6.1", "p-limit": "^3.1.0", "source-map-support": "0.5.13" } }, "jest-runtime": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.5.0.tgz", - "integrity": "sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==", - "dev": true, - "requires": { - "@jest/environment": "^29.5.0", - "@jest/fake-timers": "^29.5.0", - "@jest/globals": "^29.5.0", - "@jest/source-map": "^29.4.3", - "@jest/test-result": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.6.1.tgz", + "integrity": "sha512-D6/AYOA+Lhs5e5il8+5pSLemjtJezUr+8zx+Sn8xlmOux3XOqx4d8l/2udBea8CRPqqrzhsKUsN/gBDE/IcaPQ==", + "dev": true, + "requires": { + "@jest/environment": "^29.6.1", + "@jest/fake-timers": "^29.6.1", + "@jest/globals": "^29.6.1", + "@jest/source-map": "^29.6.0", + "@jest/test-result": "^29.6.1", + "@jest/transform": "^29.6.1", + "@jest/types": "^29.6.1", "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-mock": "^29.5.0", + "jest-haste-map": "^29.6.1", + "jest-message-util": "^29.6.1", + "jest-mock": "^29.6.1", "jest-regex-util": "^29.4.3", - "jest-resolve": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", + "jest-resolve": "^29.6.1", + "jest-snapshot": "^29.6.1", + "jest-util": "^29.6.1", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, @@ -20475,43 +18332,41 @@ } }, "jest-snapshot": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.5.0.tgz", - "integrity": "sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.6.1.tgz", + "integrity": "sha512-G4UQE1QQ6OaCgfY+A0uR1W2AY0tGXUPQpoUClhWHq1Xdnx1H6JOrC2nH5lqnOEqaDgbHFgIwZ7bNq24HpB180A==", "dev": true, "requires": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", "@babel/plugin-syntax-jsx": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.5.0", - "@jest/transform": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/babel__traverse": "^7.0.6", + "@jest/expect-utils": "^29.6.1", + "@jest/transform": "^29.6.1", + "@jest/types": "^29.6.1", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^29.5.0", + "expect": "^29.6.1", "graceful-fs": "^4.2.9", - "jest-diff": "^29.5.0", + "jest-diff": "^29.6.1", "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-util": "^29.5.0", + "jest-matcher-utils": "^29.6.1", + "jest-message-util": "^29.6.1", + "jest-util": "^29.6.1", "natural-compare": "^1.4.0", - "pretty-format": "^29.5.0", - "semver": "^7.3.5" + "pretty-format": "^29.6.1", + "semver": "^7.5.3" } }, "jest-util": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.5.0.tgz", - "integrity": "sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.1.tgz", + "integrity": "sha512-NRFCcjc+/uO3ijUVyNOQJluf8PtGCe/W6cix36+M3cTFgiYqFOOW5MgN4JOOcvbUhcKTYVd1CvHz/LWi8d16Mg==", "dev": true, "requires": { - "@jest/types": "^29.5.0", + "@jest/types": "^29.6.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -20520,17 +18375,17 @@ } }, "jest-validate": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.5.0.tgz", - "integrity": "sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.1.tgz", + "integrity": "sha512-r3Ds69/0KCN4vx4sYAbGL1EVpZ7MSS0vLmd3gV78O+NAx3PDQQukRU5hNHPXlyqCgFY8XUk7EuTMLugh0KzahA==", "dev": true, "requires": { - "@jest/types": "^29.5.0", + "@jest/types": "^29.6.1", "camelcase": "^6.2.0", "chalk": "^4.0.0", "jest-get-type": "^29.4.3", "leven": "^3.1.0", - "pretty-format": "^29.5.0" + "pretty-format": "^29.6.1" }, "dependencies": { "camelcase": { @@ -20542,29 +18397,29 @@ } }, "jest-watcher": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.5.0.tgz", - "integrity": "sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.6.1.tgz", + "integrity": "sha512-d4wpjWTS7HEZPaaj8m36QiaP856JthRZkrgcIY/7ISoUWPIillrXM23WPboZVLbiwZBt4/qn2Jke84Sla6JhFA==", "dev": true, "requires": { - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", + "@jest/test-result": "^29.6.1", + "@jest/types": "^29.6.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.13.1", - "jest-util": "^29.5.0", + "jest-util": "^29.6.1", "string-length": "^4.0.1" } }, "jest-worker": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.5.0.tgz", - "integrity": "sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.6.1.tgz", + "integrity": "sha512-U+Wrbca7S8ZAxAe9L6nb6g8kPdia5hj32Puu5iOqBCMTMWFHXuK6dOV2IFrpedbTV8fjMFLdWNttQTBL6u2MRA==", "dev": true, "requires": { "@types/node": "*", - "jest-util": "^29.5.0", + "jest-util": "^29.6.1", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -20581,15 +18436,15 @@ } }, "jimp": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.16.2.tgz", - "integrity": "sha512-UpItBk81a92f8oEyoGYbO3YK4QcM0hoIyuGHmShoF9Ov63P5Qo7Q/X2xsAgnODmSuDJFOtrPtJd5GSWW4LKdOQ==", + "version": "0.16.13", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.16.13.tgz", + "integrity": "sha512-Bxz8q7V4rnCky9A0ktTNGA9SkNFVWRHodddI/DaAWZJzF7sVUlFYKQ60y9JGqrKpi48ECA/TnfMzzc5C70VByA==", "dev": true, "requires": { "@babel/runtime": "^7.7.2", - "@jimp/custom": "^0.16.2", - "@jimp/plugins": "^0.16.2", - "@jimp/types": "^0.16.2", + "@jimp/custom": "^0.16.13", + "@jimp/plugins": "^0.16.13", + "@jimp/types": "^0.16.13", "regenerator-runtime": "^0.13.3" } }, @@ -20614,6 +18469,12 @@ "argparse": "^2.0.1" } }, + "jsdoc-type-pratt-parser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", + "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==", + "dev": true + }, "jsesc": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", @@ -20676,14 +18537,16 @@ } }, "jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.4.tgz", + "integrity": "sha512-fX2TVdCViod6HwKEtSWGHs57oFhVfCMwieb9PuRDgjDPh5XeqJiHFFFJCHxU5cnTc3Bu/GRL+kPiFmw8XWOfKw==", "dev": true, "peer": true, "requires": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" } }, "jszip": { @@ -20747,60 +18610,10 @@ "requires": { "express": "^4.18.2", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - }, - "dependencies": { - "@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - } - } + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, "leven": { @@ -20962,9 +18775,9 @@ "dev": true }, "lru-cache": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", - "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz", + "integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==", "dev": true }, "make-dir": { @@ -20977,9 +18790,9 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } @@ -21013,28 +18826,29 @@ } }, "markdownlint": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.27.0.tgz", - "integrity": "sha512-HtfVr/hzJJmE0C198F99JLaeada+646B5SaG2pVoEakLFI6iRGsvMqrnnrflq8hm1zQgwskEgqSnhDW11JBp0w==", + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.29.0.tgz", + "integrity": "sha512-ASAzqpODstu/Qsk0xW5BPgWnK/qjpBQ4e7IpsSvvFXcfYIjanLTdwFRJK1SIEEh0fGSMKXcJf/qhaZYHyME0wA==", "dev": true, "requires": { - "markdown-it": "13.0.1" + "markdown-it": "13.0.1", + "markdownlint-micromark": "0.1.5" } }, "markdownlint-cli": { - "version": "0.33.0", - "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.33.0.tgz", - "integrity": "sha512-zMK1oHpjYkhjO+94+ngARiBBrRDEUMzooDHBAHtmEIJ9oYddd9l3chCReY2mPlecwH7gflQp1ApilTo+o0zopQ==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.35.0.tgz", + "integrity": "sha512-lVIIIV1MrUtjoocgDqXLxUCxlRbn7Ve8rsWppfwciUNwLlNS28AhNiyQ3PU7jjj4Qvj+rWTTvwkqg7AcdG988g==", "dev": true, "requires": { - "commander": "~9.4.1", + "commander": "~11.0.0", "get-stdin": "~9.0.0", - "glob": "~8.0.3", + "glob": "~10.2.7", "ignore": "~5.2.4", "js-yaml": "^4.1.0", "jsonc-parser": "~3.2.0", - "markdownlint": "~0.27.0", - "minimatch": "~5.1.2", + "markdownlint": "~0.29.0", + "minimatch": "~9.0.1", "run-con": "~1.2.11" }, "dependencies": { @@ -21044,26 +18858,13 @@ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "requires": { - "balanced-match": "^1.0.0" - } - }, - "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "balanced-match": "^1.0.0" } }, "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -21071,6 +18872,12 @@ } } }, + "markdownlint-micromark": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.5.tgz", + "integrity": "sha512-HvofNU4QCvfUCWnocQP1IAWaqop5wpWrB0mKB6SSh0fcpV0PdmQNS6tdUuFew1utpYlUvYYzz84oDkrD76GB9A==", + "dev": true + }, "mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", @@ -21478,9 +19285,9 @@ "dev": true }, "node-releases": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", "dev": true }, "normalize-package-data": { @@ -21496,9 +19303,9 @@ }, "dependencies": { "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true } } @@ -21543,17 +19350,6 @@ "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -21679,28 +19475,28 @@ "version": "file:how-to/common", "requires": { "@openfin/core": "^27.70.8", - "@types/express": "^4.17.11", - "@types/node": "^17.0.41", - "express": "^4.17.1", + "@types/express": "^4.17.17", + "@types/node": "^20.4.1", + "express": "^4.18.2", "openfin-adapter": "^26.70.16", - "ts-loader": "^9.2.6", - "typescript": "^4.4.4", - "webpack": "^5.51.1", - "webpack-cli": "^4.8.0" + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" } }, "p-cancelable": { @@ -21779,7 +19575,19 @@ "dev": true, "requires": { "xml-parse-from-string": "^1.0.0", - "xml2js": "0.5.0" + "xml2js": "^0.4.5" + }, + "dependencies": { + "xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dev": true, + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + } } }, "parse-headers": { @@ -21831,13 +19639,13 @@ "dev": true }, "path-scurry": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", - "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "dev": true, "requires": { - "lru-cache": "^9.1.1", - "minipass": "^5.0.0 || ^6.0.2" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "path-to-regexp": { @@ -21884,9 +19692,9 @@ "dev": true }, "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true }, "pixelmatch": { @@ -21965,9 +19773,9 @@ "dev": true }, "prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.0.tgz", + "integrity": "sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==", "dev": true }, "prettier-linter-helpers": { @@ -21980,12 +19788,12 @@ } }, "pretty-format": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz", - "integrity": "sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==", + "version": "29.6.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", + "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", "dev": true, "requires": { - "@jest/schemas": "^29.4.3", + "@jest/schemas": "^29.6.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -22114,17 +19922,6 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } } }, "react-is": { @@ -22223,11 +20020,6 @@ "util-deprecate": "~1.0.1" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -22299,9 +20091,9 @@ } }, "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.10.0.tgz", + "integrity": "sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -22316,28 +20108,45 @@ } }, "replace-in-file": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/replace-in-file/-/replace-in-file-6.3.5.tgz", - "integrity": "sha512-arB9d3ENdKva2fxRnSjwBEXfK1npgyci7ZZuwysgAp7ORjHSyxz6oqIjTEv8R0Ydl4Ll7uOAZXL4vbkhGIizCg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/replace-in-file/-/replace-in-file-7.0.1.tgz", + "integrity": "sha512-KbhgPq04eA+TxXuUxpgWIH9k/TjF+28ofon2PXP7vq6izAILhxOtksCVcLuuQLtyjouBaPdlH6RJYYcSPVxCOA==", "dev": true, "requires": { "chalk": "^4.1.2", - "glob": "^7.2.0", - "yargs": "^17.2.1" + "glob": "^8.1.0", + "yargs": "^17.7.2" }, "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" } } } @@ -22435,14 +20244,14 @@ } }, "run-con": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.11.tgz", - "integrity": "sha512-NEMGsUT+cglWkzEr4IFK21P4Jca45HqiAbIIZIBdX5+UZTB24Mb/21iNGgz9xZa8tL6vbW7CXmq7MFN42+VjNQ==", + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.12.tgz", + "integrity": "sha512-5257ILMYIF4RztL9uoZ7V9Q97zHtNHn5bN3NobeAnzB1P3ASLgg8qocM2u+R18ttp+VEM78N2LK8XcNVtnSRrg==", "dev": true, "requires": { "deep-extend": "^0.6.0", "ini": "~3.0.0", - "minimist": "^1.2.6", + "minimist": "^1.2.8", "strip-json-comments": "~3.1.1" } }, @@ -22494,9 +20303,9 @@ "dev": true }, "schema-utils": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", - "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", @@ -22525,9 +20334,9 @@ } }, "semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -22627,60 +20436,10 @@ "version": "file:how-to/use-interop/setup-multi-platform-interop", "requires": { "express": "^4.18.2", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - }, - "dependencies": { - "@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - } - } + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, "shallow-clone": { @@ -22757,6 +20516,17 @@ "abab": "^2.0.6", "iconv-lite": "^0.6.3", "source-map-js": "^1.0.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } } }, "source-map-support": { @@ -22830,16 +20600,6 @@ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true }, - "stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", - "dev": true, - "peer": true, - "requires": { - "internal-slot": "^1.0.4" - } - }, "streamsearch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", @@ -22888,9 +20648,9 @@ "dev": true }, "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "requires": { "ansi-regex": "^6.0.1" @@ -23065,13 +20825,13 @@ } }, "terser": { - "version": "5.17.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.6.tgz", - "integrity": "sha512-V8QHcs8YuyLkLHsJO5ucyff1ykrLVsR4dNnS//L5Y3NiSXpbK1J+WMVUs67eI0KTxs9JtHhgEQpXQVHlHI92DQ==", + "version": "5.18.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.2.tgz", + "integrity": "sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w==", "dev": true, "requires": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -23260,9 +21020,9 @@ } }, "ts-loader": { - "version": "9.4.3", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.3.tgz", - "integrity": "sha512-n3hBnm6ozJYzwiwt5YRiJZkzktftRpMiBApHaJPoWLA+qetQBAXkHqCLM6nwSdRDimqVtA5ocIkcTRLMTt7yzA==", + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", + "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", "dev": true, "requires": { "chalk": "^4.1.0", @@ -23376,9 +21136,9 @@ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", "dev": true }, "uc.micro": { @@ -23435,60 +21195,10 @@ "requires": { "express": "^4.18.2", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - }, - "dependencies": { - "@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - } - } + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, "use-content-creation-rules": { @@ -23496,60 +21206,10 @@ "requires": { "express": "^4.18.2", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - }, - "dependencies": { - "@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - } - } + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, "use-dynamic-manifest-basic": { @@ -23557,60 +21217,10 @@ "requires": { "express": "^4.18.2", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - }, - "dependencies": { - "@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - } - } + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, "use-logging-apis": { @@ -23618,16 +21228,16 @@ "requires": { "@openfin/core": "^28.72.17", "@types/multer": "^1.4.7", - "@types/node": "^18.14.2", + "@types/node": "^20.4.1", "body-parser": "^1.20.2", "connect-busboy": "^1.0.0", "express": "^4.18.2", "multer": "^1.4.5-lts.1", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" }, "dependencies": { "@openfin/core": { @@ -23638,137 +21248,29 @@ "requires": { "lodash": "^4.17.21" } - }, - "@types/node": { - "version": "18.16.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.14.tgz", - "integrity": "sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==", - "dev": true - }, - "@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - } } } }, - "use-popup-window-advanced": { - "version": "file:how-to/use-popup-window/advanced", - "requires": { - "@openfin/core": "^28.72.17", - "@types/node": "^18.14.2", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - }, - "dependencies": { - "@openfin/core": { - "version": "28.72.19", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", - "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", - "dev": true, - "requires": { - "lodash": "^4.17.21" - } - }, - "@types/node": { - "version": "18.16.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.14.tgz", - "integrity": "sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==", - "dev": true - }, - "@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", + "use-popup-window-advanced": { + "version": "file:how-to/use-popup-window/advanced", + "requires": { + "@openfin/core": "^28.72.17", + "@types/node": "^20.4.1", + "express": "^4.18.2", + "source-map-loader": "^4.0.1", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" + }, + "dependencies": { + "@openfin/core": { + "version": "28.72.19", + "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", + "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", "dev": true, "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" + "lodash": "^4.17.21" } } } @@ -23777,13 +21279,13 @@ "version": "file:how-to/use-popup-window/modal", "requires": { "@openfin/core": "^28.72.17", - "@types/node": "^18.14.2", + "@types/node": "^20.4.1", "express": "^4.18.2", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" }, "dependencies": { "@openfin/core": { @@ -23794,60 +21296,6 @@ "requires": { "lodash": "^4.17.21" } - }, - "@types/node": { - "version": "18.16.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.14.tgz", - "integrity": "sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==", - "dev": true - }, - "@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - } } } }, @@ -23855,13 +21303,13 @@ "version": "file:how-to/use-popup-window/multiple-results", "requires": { "@openfin/core": "^28.72.17", - "@types/node": "^18.14.2", + "@types/node": "^20.4.1", "express": "^4.18.2", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" }, "dependencies": { "@openfin/core": { @@ -23872,60 +21320,6 @@ "requires": { "lodash": "^4.17.21" } - }, - "@types/node": { - "version": "18.16.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.14.tgz", - "integrity": "sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==", - "dev": true - }, - "@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - } } } }, @@ -23933,13 +21327,13 @@ "version": "file:how-to/use-popup-window/single-result", "requires": { "@openfin/core": "^28.72.17", - "@types/node": "^18.14.2", + "@types/node": "^20.4.1", "express": "^4.18.2", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" }, "dependencies": { "@openfin/core": { @@ -23950,60 +21344,6 @@ "requires": { "lodash": "^4.17.21" } - }, - "@types/node": { - "version": "18.16.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.14.tgz", - "integrity": "sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==", - "dev": true - }, - "@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - } } } }, @@ -24012,60 +21352,10 @@ "requires": { "express": "^4.18.2", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - }, - "dependencies": { - "@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - } - } + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, "use-preloads-restart-on-refresh": { @@ -24073,60 +21363,10 @@ "requires": { "express": "^4.18.2", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - }, - "dependencies": { - "@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - } - } + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, "use-security-realms": { @@ -24134,60 +21374,10 @@ "requires": { "express": "^4.18.2", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - }, - "dependencies": { - "@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - } - } + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, "use-window-options": { @@ -24195,60 +21385,10 @@ "requires": { "express": "^4.18.2", "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.2", - "typescript": "^4.9.5", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - }, - "dependencies": { - "@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - } - } + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, "utif": { @@ -24337,73 +21477,12 @@ "version": "file:how-to/use-platform/warn-before-closing-dialog", "requires": { "@openfin/core": "^27.70.8", - "express": "^4.17.2", - "source-map-loader": "^3.0.1", - "ts-loader": "^9.2.6", - "typescript": "^4.5.4", - "webpack": "^5.75.0", - "webpack-cli": "^5.0.1" - }, - "dependencies": { - "@webpack-cli/configtest": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.0.tgz", - "integrity": "sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.4.tgz", - "integrity": "sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==", - "dev": true, - "requires": {} - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true - }, - "source-map-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", - "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", - "dev": true, - "requires": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" - } - }, - "webpack-cli": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.1.tgz", - "integrity": "sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.0", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.4", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - } - } + "express": "^4.18.2", + "source-map-loader": "^4.0.1", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" } }, "watchpack": { @@ -24436,9 +21515,9 @@ }, "dependencies": { "@types/node": { - "version": "18.16.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.14.tgz", - "integrity": "sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==", + "version": "18.16.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.19.tgz", + "integrity": "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==", "dev": true }, "ws": { @@ -24457,9 +21536,9 @@ "dev": true }, "webpack": { - "version": "5.84.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.84.1.tgz", - "integrity": "sha512-ZP4qaZ7vVn/K8WN/p990SGATmrL1qg4heP/MrVneczYtpDGJWlrgZv55vxaV2ul885Kz+25MP2kSXkPe3LZfmg==", + "version": "5.88.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.1.tgz", + "integrity": "sha512-FROX3TxQnC/ox4N+3xQoWZzvGXSuscxR32rbzjpXgEzWudJFEJBpdlkkob2ylrv5yzzufD1zph1OoFsLtm6stQ==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", @@ -24471,7 +21550,7 @@ "acorn-import-assertions": "^1.9.0", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.14.1", + "enhanced-resolve": "^5.15.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -24481,7 +21560,7 @@ "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.1.2", + "schema-utils": "^3.2.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.7", "watchpack": "^2.4.0", @@ -24489,45 +21568,31 @@ } }, "webpack-cli": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", - "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.2.0", - "@webpack-cli/info": "^1.5.0", - "@webpack-cli/serve": "^1.7.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", "colorette": "^2.0.14", - "commander": "^7.0.0", + "commander": "^10.0.1", "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", "fastest-levenshtein": "^1.0.12", "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", "webpack-merge": "^5.7.3" }, "dependencies": { "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - }, - "interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true - }, - "rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "requires": { - "resolve": "^1.9.0" - } } } }, @@ -24579,23 +21644,10 @@ "is-symbol": "^1.0.3" } }, - "which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "dev": true, - "peer": true, - "requires": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - } - }, "which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.10.tgz", + "integrity": "sha512-uxoA5vLUfRPdjCuJ1h5LlYdmTLbYfums398v3WLkM+i/Wltl2/XyZpQWKbN++ck5L64SR/grOHqtXCUKmlZPNA==", "dev": true, "requires": { "available-typed-arrays": "^1.0.5", @@ -24612,12 +21664,6 @@ "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, "workerpool": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", @@ -24648,9 +21694,9 @@ "dev": true }, "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "requires": { "ansi-regex": "^6.0.1" diff --git a/package.json b/package.json index 798a5c3a..db4bb80b 100644 --- a/package.json +++ b/package.json @@ -10,11 +10,13 @@ "package-for-aws": "node ./scripts/package.js --location aws", "prettier": "prettier --config .prettierrc --write .", "eslint": "eslint . --ext .js,.mjs,.ts", + "start": "echo You must be in a folder for a specific how-to to use npm run start e.g. ./how-to/create-window", "markdownlint": "markdownlint **/*.md --ignore **/node_modules/**", "validate": "npm run prettier & npm run eslint & npm run markdownlint", "list-update-packages": "npx --yes npm-check-updates --deep > updatable-packages.txt", - "update-packages": "npx --yes npm-check-updates --upgrade --deep -x openfin/core", - "remove-packages": "npx --yes rimraf --glob **/node_modules && npx rimraf ./package-lock.json" + "update-packages": "npx --yes npm-check-updates --upgrade --deep -x @openfin/core,openfin-adapter,eslint-plugin-import", + "remove-packages": "npx --yes rimraf --glob **/node_modules && npx rimraf ./package-lock.json", + "common-update": "node ./scripts/common-update.mjs" }, "workspaces": [ "how-to/**" @@ -30,43 +32,22 @@ ], "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "eslint": "^8.35.0", - "eslint-config-airbnb": "^19.0.4", - "eslint-config-airbnb-base": "^15.0.0", - "eslint-config-airbnb-typescript": "^17.0.0", - "eslint-config-prettier": "^8.6.0", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-promise": "^6.1.1", - "eslint-plugin-simple-import-sort": "^10.0.0", - "eslint-plugin-unicorn": "^45.0.2", - "eslint-plugin-unused-imports": "^2.0.0", - "fast-glob": "^3.2.12", - "fs-extra": "^11.1.0", - "glob": "^10.0.0", - "markdownlint-cli": "^0.33.0", - "prettier": "^2.8.4", - "replace-in-file": "^6.3.5", - "yargs": "^17.7.1" - }, - "overrides": { - "tsutils": { - "typescript": "4.9.5" - }, - "ts-loader": { - "typescript": "4.9.5" - }, - "ts-jest": { - "typescript": "4.9.5" - }, - "ts-node": { - "typescript": "4.9.5" - }, - "puppeteer-core": { - "typescript": "4.9.5" - }, - "parse-bmfont-xml": { - "xml2js": "0.5.0" - } + "eslint": "8.44.0", + "eslint-config-airbnb": "19.0.4", + "eslint-config-airbnb-typescript": "17.0.0", + "eslint-config-prettier": "8.8.0", + "eslint-plugin-import": "2.26.0", + "eslint-plugin-jsdoc": "46.4.3", + "eslint-plugin-prettier": "4.2.1", + "eslint-plugin-promise": "6.1.1", + "eslint-plugin-simple-import-sort": "10.0.0", + "eslint-plugin-unicorn": "47.0.0", + "eslint-plugin-unused-imports": "2.0.0", + "fast-glob": "3.3.0", + "fs-extra": "11.1.1", + "markdownlint-cli": "0.35.0", + "prettier": "3.0.0", + "replace-in-file": "7.0.1", + "yargs": "17.7.2" } } diff --git a/scripts/common-files.json b/scripts/common-files.json new file mode 100644 index 00000000..ac92970d --- /dev/null +++ b/scripts/common-files.json @@ -0,0 +1,342 @@ +[ + { + "name": "create-window", + "fileGroups": [ + { + "srcFolder": "how-to/container-platform-starter/public", + "destFolder": "how-to/create-window/public", + "files": ["favicon.ico"] + }, + { + "srcFolder": "how-to/container-platform-starter/public/common", + "destFolder": "how-to/create-window/public/common", + "files": ["images/icon-blue.png", "style/app.css"] + }, + { + "srcFolder": "how-to/container-platform-starter/scripts", + "destFolder": "how-to/create-window/scripts", + "files": ["kill.mjs", "launch.mjs"] + }, + { + "srcFolder": "how-to/container-platform-starter/client/types", + "destFolder": "how-to/create-window/client/types", + "files": ["fin.d.ts"] + } + ] + }, + { + "name": "integration-excel", + "fileGroups": [ + { + "srcFolder": "how-to/container-platform-starter/public", + "destFolder": "how-to/integration-excel/public", + "files": ["favicon.ico"] + }, + { + "srcFolder": "how-to/container-platform-starter/public/common", + "destFolder": "how-to/integration-excel/public/common", + "files": ["images/icon-blue.png", "style/app.css"] + }, + { + "srcFolder": "how-to/container-platform-starter/scripts", + "destFolder": "how-to/integration-excel/scripts", + "files": ["kill.mjs", "launch.mjs"] + }, + { + "srcFolder": "how-to/container-platform-starter/client/types", + "destFolder": "how-to/integration-excel/client/types", + "files": ["fin.d.ts"] + } + ] + }, + { + "name": "use-a-manifest/create-a-single-page-platform", + "fileGroups": [ + { + "srcFolder": "how-to/container-platform-starter/public", + "destFolder": "how-to/use-a-manifest/create-a-single-page-platform/public", + "files": ["favicon.ico"] + }, + { + "srcFolder": "how-to/container-platform-starter/scripts", + "destFolder": "how-to/use-a-manifest/create-a-single-page-platform/scripts", + "files": ["kill.mjs", "launch.mjs"] + }, + { + "srcFolder": "how-to/container-platform-starter/public/common", + "destFolder": "how-to/use-a-manifest/create-a-single-page-platform/public/common", + "files": ["images/icon-blue.png", "images/style/test-image.webp", "style/app.css", "style/style.html"] + } + ] + }, + { + "name": "use-channel-api/issue-commands-to-a-platform", + "fileGroups": [ + { + "srcFolder": "how-to/container-platform-starter/public", + "destFolder": "how-to/use-channel-api/issue-commands-to-a-platform/public", + "files": ["favicon.ico"] + }, + { + "srcFolder": "how-to/container-platform-starter/public/common", + "destFolder": "how-to/use-channel-api/issue-commands-to-a-platform/public/common", + "files": ["images/icon-blue.png", "style/app.css"] + }, + { + "srcFolder": "how-to/container-platform-starter/scripts", + "destFolder": "how-to/use-channel-api/issue-commands-to-a-platform/scripts", + "files": ["kill.mjs", "launch.mjs"] + }, + { + "srcFolder": "how-to/container-platform-starter/client/types", + "destFolder": "how-to/use-channel-api/issue-commands-to-a-platform/client/types", + "files": ["fin.d.ts"] + } + ] + }, + { + "name": "use-content-creation-rules", + "fileGroups": [ + { + "srcFolder": "how-to/container-platform-starter/public", + "destFolder": "how-to/use-content-creation-rules/public", + "files": ["favicon.ico"] + }, + { + "srcFolder": "how-to/container-platform-starter/public/common", + "destFolder": "how-to/use-content-creation-rules/public/common", + "files": ["style/app.css"] + }, + { + "srcFolder": "how-to/container-platform-starter/scripts", + "destFolder": "how-to/use-content-creation-rules/scripts", + "files": ["kill.mjs", "launch.mjs"] + }, + { + "srcFolder": "how-to/container-platform-starter/client/types", + "destFolder": "how-to/use-content-creation-rules/client/types", + "files": ["fin.d.ts"] + } + ] + }, + { + "name": "use-dynamic-manifest/basic", + "fileGroups": [ + { + "srcFolder": "how-to/container-platform-starter/public", + "destFolder": "how-to/use-dynamic-manifest/basic/public", + "files": ["favicon.ico"] + }, + { + "srcFolder": "how-to/container-platform-starter/public/common", + "destFolder": "how-to/use-dynamic-manifest/basic/public/common", + "files": ["images/icon-blue.png", "style/app.css"] + }, + { + "srcFolder": "how-to/container-platform-starter/scripts", + "destFolder": "how-to/use-dynamic-manifest/basic/scripts", + "files": ["kill.mjs", "launch.mjs"] + } + ] + }, + { + "name": "use-interop/setup-multi-platform-interop", + "fileGroups": [ + { + "srcFolder": "how-to/container-platform-starter/public", + "destFolder": "how-to/use-interop/setup-multi-platform-interop/public", + "files": ["favicon.ico"] + }, + { + "srcFolder": "how-to/container-platform-starter/public/common", + "destFolder": "how-to/use-interop/setup-multi-platform-interop/public/common", + "files": ["images/icon-blue.png", "style/app.css"] + }, + { + "srcFolder": "how-to/container-platform-starter/scripts", + "destFolder": "how-to/use-interop/setup-multi-platform-interop/scripts", + "files": ["kill.mjs", "launch.mjs"] + }, + { + "srcFolder": "how-to/container-platform-starter/client/types", + "destFolder": "how-to/use-interop/setup-multi-platform-interop/client/types", + "files": ["fin.d.ts"] + } + ] + }, + { + "name": "use-launch-external-process", + "fileGroups": [ + { + "srcFolder": "how-to/container-platform-starter/public", + "destFolder": "how-to/use-launch-external-process/public", + "files": ["favicon.ico"] + }, + { + "srcFolder": "how-to/container-platform-starter/public/common", + "destFolder": "how-to/use-launch-external-process/public/common", + "files": ["images/icon-blue.png", "style/app.css"] + }, + { + "srcFolder": "how-to/container-platform-starter/scripts", + "destFolder": "how-to/use-launch-external-process/scripts", + "files": ["kill.mjs", "launch.mjs", "dos.mjs"] + }, + { + "srcFolder": "how-to/container-platform-starter/client/types", + "destFolder": "how-to/use-launch-external-process/client/types", + "files": ["fin.d.ts"] + } + ] + }, + { + "name": "use-logging-apis", + "fileGroups": [ + { + "srcFolder": "how-to/container-platform-starter/public", + "destFolder": "how-to/use-logging-apis/public", + "files": ["favicon.ico"] + }, + { + "srcFolder": "how-to/container-platform-starter/public/common", + "destFolder": "how-to/use-logging-apis/public/common", + "files": ["images/icon-blue.png", "style/app.css"] + }, + { + "srcFolder": "how-to/container-platform-starter/scripts", + "destFolder": "how-to/use-logging-apis/scripts", + "files": ["kill.mjs", "launch.mjs"] + }, + { + "srcFolder": "how-to/container-platform-starter/client/types", + "destFolder": "how-to/use-logging-apis/client/types", + "files": ["fin.d.ts"] + } + ] + }, + { + "name": "use-platform/warn-before-closing-dialog", + "fileGroups": [ + { + "srcFolder": "how-to/container-platform-starter/public", + "destFolder": "how-to/use-platform/warn-before-closing-dialog/public", + "files": ["favicon.ico"] + }, + { + "srcFolder": "how-to/container-platform-starter/public/common", + "destFolder": "how-to/use-platform/warn-before-closing-dialog/public/common", + "files": ["images/icon-blue.png", "style/app.css"] + }, + { + "srcFolder": "how-to/container-platform-starter/scripts", + "destFolder": "how-to/use-platform/warn-before-closing-dialog/scripts", + "files": ["kill.mjs", "launch.mjs"] + }, + { + "srcFolder": "how-to/container-platform-starter/client/types", + "destFolder": "how-to/use-platform/warn-before-closing-dialog/client/types", + "files": ["fin.d.ts"] + } + ] + }, + { + "name": "use-popup-window/advanced", + "fileGroups": [ + { + "srcFolder": "how-to/container-platform-starter/public", + "destFolder": "how-to/use-popup-window/advanced/public", + "files": ["favicon.ico"] + }, + { + "srcFolder": "how-to/container-platform-starter/public/common", + "destFolder": "how-to/use-popup-window/advanced/public/common", + "files": ["images/icon-blue.png", "style/app.css"] + }, + { + "srcFolder": "how-to/container-platform-starter/scripts", + "destFolder": "how-to/use-popup-window/advanced/scripts", + "files": ["kill.mjs", "launch.mjs"] + }, + { + "srcFolder": "how-to/container-platform-starter/client/types", + "destFolder": "how-to/use-popup-window/advanced/client/types", + "files": ["fin.d.ts"] + } + ] + }, + { + "name": "use-popup-window/modal", + "fileGroups": [ + { + "srcFolder": "how-to/container-platform-starter/public", + "destFolder": "how-to/use-popup-window/modal/public", + "files": ["favicon.ico"] + }, + { + "srcFolder": "how-to/container-platform-starter/public/common", + "destFolder": "how-to/use-popup-window/modal/public/common", + "files": ["images/icon-blue.png", "style/app.css"] + }, + { + "srcFolder": "how-to/container-platform-starter/scripts", + "destFolder": "how-to/use-popup-window/modal/scripts", + "files": ["kill.mjs", "launch.mjs"] + }, + { + "srcFolder": "how-to/container-platform-starter/client/types", + "destFolder": "how-to/use-popup-window/modal/client/types", + "files": ["fin.d.ts"] + } + ] + }, + { + "name": "use-popup-window/multiple-results", + "fileGroups": [ + { + "srcFolder": "how-to/container-platform-starter/public", + "destFolder": "how-to/use-popup-window/multiple-results/public", + "files": ["favicon.ico"] + }, + { + "srcFolder": "how-to/container-platform-starter/public/common", + "destFolder": "how-to/use-popup-window/multiple-results/public/common", + "files": ["images/icon-blue.png", "style/app.css"] + }, + { + "srcFolder": "how-to/container-platform-starter/scripts", + "destFolder": "how-to/use-popup-window/multiple-results/scripts", + "files": ["kill.mjs", "launch.mjs"] + }, + { + "srcFolder": "how-to/container-platform-starter/client/types", + "destFolder": "how-to/use-popup-window/multiple-results/client/types", + "files": ["fin.d.ts"] + } + ] + }, + { + "name": "use-popup-window/single-result", + "fileGroups": [ + { + "srcFolder": "how-to/container-platform-starter/public", + "destFolder": "how-to/use-popup-window/single-result/public", + "files": ["favicon.ico"] + }, + { + "srcFolder": "how-to/container-platform-starter/public/common", + "destFolder": "how-to/use-popup-window/single-result/public/common", + "files": ["images/icon-blue.png", "style/app.css"] + }, + { + "srcFolder": "how-to/container-platform-starter/scripts", + "destFolder": "how-to/use-popup-window/single-result/scripts", + "files": ["kill.mjs", "launch.mjs"] + }, + { + "srcFolder": "how-to/container-platform-starter/client/types", + "destFolder": "how-to/use-popup-window/single-result/client/types", + "files": ["fin.d.ts"] + } + ] + } +] diff --git a/scripts/common-update.mjs b/scripts/common-update.mjs new file mode 100644 index 00000000..5748de03 --- /dev/null +++ b/scripts/common-update.mjs @@ -0,0 +1,56 @@ +/** + * This script is used to update this example with some of the common source files + * shared across all the examples. The source of all the files is the workspace-platform-starter + * example project. + */ +import FastGlob from 'fast-glob'; +import fs from 'fs/promises'; +import path from 'path'; + +/** + * Execute the process. + */ +async function run() { + console.log('Common Update'); + console.log('============='); + console.log(); + console.log(`Platform: ${process.platform}`); + console.log(); + + const commonFilesRaw = await fs.readFile('./scripts/common-files.json', 'utf8'); + const commonFiles = JSON.parse(commonFilesRaw); + + for (const commonFileGroup of commonFiles) { + console.log(); + console.log('Processing', commonFileGroup.name); + console.log(); + + for (const fileGroup of commonFileGroup.fileGroups) { + for (const fileSpec of fileGroup.files) { + let expandedFiles = []; + if (fileSpec.includes('*')) { + const specFolder = path.join(fileGroup.srcFolder, fileSpec).replace(/\\/g, '/'); + const specFiles = await FastGlob(specFolder); + expandedFiles = specFiles.map((f) => path.relative(fileGroup.srcFolder, f)); + } else { + expandedFiles = [fileSpec]; + } + + for (const expandedFile of expandedFiles) { + const src = path.resolve(path.join(fileGroup.srcFolder, expandedFile)); + const dest = path.resolve(path.join('.', fileGroup.destFolder, expandedFile)); + console.log('Copying', src); + console.log(' To', dest); + + try { + await fs.mkdir(path.dirname(dest), { recursive: true }); + } catch {} + + await fs.copyFile(src, dest); + } + } + } + } +} + +run().catch((err) => console.error(err)); diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json index 8bf59d5f..4c76c443 100644 --- a/tsconfig.eslint.json +++ b/tsconfig.eslint.json @@ -6,9 +6,10 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, + "strict": false, + "strict": false, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "importsNotUsedAsValues": "error", "moduleResolution": "node" } } From 65085afea9ad56b2242f80b1c87797fd1cf46911 Mon Sep 17 00:00:00 2001 From: Martyn Janes Date: Tue, 11 Jul 2023 12:37:08 +0200 Subject: [PATCH 02/12] Linting --- .../public/common/style/style.html | 2 +- how-to/create-window/package.json | 2 +- how-to/integration-excel/package.json | 2 +- .../public/common/style/style.html | 2 +- .../issue-commands-to-a-platform/package.json | 2 +- .../use-content-creation-rules/package.json | 2 +- .../use-dynamic-manifest/basic/package.json | 2 +- .../setup-multi-platform-interop/package.json | 2 +- .../use-launch-external-process/package.json | 2 +- how-to/use-logging-apis/package.json | 2 +- .../warn-before-closing-dialog/package.json | 4 +- how-to/use-popup-window/advanced/package.json | 2 +- how-to/use-popup-window/modal/package.json | 2 +- .../multiple-results/package.json | 2 +- .../single-result/package.json | 2 +- how-to/use-preloads/basic/package.json | 2 +- .../restart-on-refresh/package.json | 2 +- how-to/use-security-realms/package.json | 2 +- how-to/use-window-options/package.json | 2 +- package-lock.json | 310 +++++------------- scripts/common-files.json | 2 +- 21 files changed, 107 insertions(+), 245 deletions(-) diff --git a/how-to/container-platform-starter/public/common/style/style.html b/how-to/container-platform-starter/public/common/style/style.html index 7d3f768c..900e9730 100644 --- a/how-to/container-platform-starter/public/common/style/style.html +++ b/how-to/container-platform-starter/public/common/style/style.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/create-window/package.json b/how-to/create-window/package.json index ed5e4960..2b99f78a 100644 --- a/how-to/create-window/package.json +++ b/how-to/create-window/package.json @@ -14,7 +14,7 @@ "author": "pj.singh@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "openfin-adapter": "^26.70.16", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", diff --git a/how-to/integration-excel/package.json b/how-to/integration-excel/package.json index ce52700e..46aa4398 100644 --- a/how-to/integration-excel/package.json +++ b/how-to/integration-excel/package.json @@ -16,7 +16,7 @@ "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "@finos/fdc3": "^2.0.3", - "openfin-adapter": "^26.70.16", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", diff --git a/how-to/use-a-manifest/create-a-single-page-platform/public/common/style/style.html b/how-to/use-a-manifest/create-a-single-page-platform/public/common/style/style.html index 7d3f768c..900e9730 100644 --- a/how-to/use-a-manifest/create-a-single-page-platform/public/common/style/style.html +++ b/how-to/use-a-manifest/create-a-single-page-platform/public/common/style/style.html @@ -1,4 +1,4 @@ - + diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/package.json b/how-to/use-channel-api/issue-commands-to-a-platform/package.json index e842c300..72d9b64b 100644 --- a/how-to/use-channel-api/issue-commands-to-a-platform/package.json +++ b/how-to/use-channel-api/issue-commands-to-a-platform/package.json @@ -14,7 +14,7 @@ "author": "john.mandia@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "openfin-adapter": "^26.70.16", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", diff --git a/how-to/use-content-creation-rules/package.json b/how-to/use-content-creation-rules/package.json index 693f5bf1..741d7a7f 100644 --- a/how-to/use-content-creation-rules/package.json +++ b/how-to/use-content-creation-rules/package.json @@ -14,7 +14,7 @@ "author": "@adam-saland", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "openfin-adapter": "^26.70.16", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", diff --git a/how-to/use-dynamic-manifest/basic/package.json b/how-to/use-dynamic-manifest/basic/package.json index cb4c1b69..c557901b 100644 --- a/how-to/use-dynamic-manifest/basic/package.json +++ b/how-to/use-dynamic-manifest/basic/package.json @@ -18,7 +18,7 @@ "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "express": "^4.18.2", - "openfin-adapter": "^26.70.16", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", diff --git a/how-to/use-interop/setup-multi-platform-interop/package.json b/how-to/use-interop/setup-multi-platform-interop/package.json index 1ee0c348..472fef44 100644 --- a/how-to/use-interop/setup-multi-platform-interop/package.json +++ b/how-to/use-interop/setup-multi-platform-interop/package.json @@ -15,7 +15,7 @@ "author": "adam.saland@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "openfin-adapter": "^26.70.16", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", diff --git a/how-to/use-launch-external-process/package.json b/how-to/use-launch-external-process/package.json index d4f181bc..fd6775dd 100644 --- a/how-to/use-launch-external-process/package.json +++ b/how-to/use-launch-external-process/package.json @@ -15,7 +15,7 @@ "author": "@adam-saland", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "openfin-adapter": "^26.70.16", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", diff --git a/how-to/use-logging-apis/package.json b/how-to/use-logging-apis/package.json index 15853ad3..bf9b5d11 100644 --- a/how-to/use-logging-apis/package.json +++ b/how-to/use-logging-apis/package.json @@ -21,7 +21,7 @@ "@types/node": "^20.4.1", "body-parser": "^1.20.2", "express": "^4.18.2", - "openfin-adapter": "^26.70.16", + "openfin-adapter": "^28.72.17", "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", diff --git a/how-to/use-platform/warn-before-closing-dialog/package.json b/how-to/use-platform/warn-before-closing-dialog/package.json index c438403b..4668e0e2 100644 --- a/how-to/use-platform/warn-before-closing-dialog/package.json +++ b/how-to/use-platform/warn-before-closing-dialog/package.json @@ -13,8 +13,8 @@ }, "license": "ISC", "devDependencies": { - "@openfin/core": "^27.70.8", - "openfin-adapter": "^26.70.16", + "@openfin/core": "^28.72.17", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", diff --git a/how-to/use-popup-window/advanced/package.json b/how-to/use-popup-window/advanced/package.json index 904796bc..44be2664 100644 --- a/how-to/use-popup-window/advanced/package.json +++ b/how-to/use-popup-window/advanced/package.json @@ -16,7 +16,7 @@ "devDependencies": { "@openfin/core": "^28.72.17", "@types/node": "^20.4.1", - "openfin-adapter": "^26.70.16", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", diff --git a/how-to/use-popup-window/modal/package.json b/how-to/use-popup-window/modal/package.json index 6b5097e6..e1822185 100644 --- a/how-to/use-popup-window/modal/package.json +++ b/how-to/use-popup-window/modal/package.json @@ -16,7 +16,7 @@ "devDependencies": { "@openfin/core": "^28.72.17", "@types/node": "^20.4.1", - "openfin-adapter": "^26.70.16", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", diff --git a/how-to/use-popup-window/multiple-results/package.json b/how-to/use-popup-window/multiple-results/package.json index 63c248b4..8f32af9b 100644 --- a/how-to/use-popup-window/multiple-results/package.json +++ b/how-to/use-popup-window/multiple-results/package.json @@ -16,7 +16,7 @@ "devDependencies": { "@openfin/core": "^28.72.17", "@types/node": "^20.4.1", - "openfin-adapter": "^26.70.16", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", diff --git a/how-to/use-popup-window/single-result/package.json b/how-to/use-popup-window/single-result/package.json index 381394cb..ba593c7e 100644 --- a/how-to/use-popup-window/single-result/package.json +++ b/how-to/use-popup-window/single-result/package.json @@ -16,7 +16,7 @@ "devDependencies": { "@openfin/core": "^28.72.17", "@types/node": "^20.4.1", - "openfin-adapter": "^26.70.16", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", diff --git a/how-to/use-preloads/basic/package.json b/how-to/use-preloads/basic/package.json index a3c72453..1823e71d 100644 --- a/how-to/use-preloads/basic/package.json +++ b/how-to/use-preloads/basic/package.json @@ -19,7 +19,7 @@ "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "express": "^4.18.2", - "openfin-adapter": "^26.70.16", + "openfin-adapter": "^28.72.17", "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", diff --git a/how-to/use-preloads/restart-on-refresh/package.json b/how-to/use-preloads/restart-on-refresh/package.json index 0a8f733c..4af78744 100644 --- a/how-to/use-preloads/restart-on-refresh/package.json +++ b/how-to/use-preloads/restart-on-refresh/package.json @@ -19,7 +19,7 @@ "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "express": "^4.18.2", - "openfin-adapter": "^26.70.16", + "openfin-adapter": "^28.72.17", "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", diff --git a/how-to/use-security-realms/package.json b/how-to/use-security-realms/package.json index 18db1319..3f1b22d6 100755 --- a/how-to/use-security-realms/package.json +++ b/how-to/use-security-realms/package.json @@ -19,7 +19,7 @@ "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "express": "^4.18.2", - "openfin-adapter": "^26.70.16", + "openfin-adapter": "^28.72.17", "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", diff --git a/how-to/use-window-options/package.json b/how-to/use-window-options/package.json index 408c2930..1b92cd23 100644 --- a/how-to/use-window-options/package.json +++ b/how-to/use-window-options/package.json @@ -19,7 +19,7 @@ "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "express": "^4.18.2", - "openfin-adapter": "^26.70.16", + "openfin-adapter": "^28.72.17", "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", diff --git a/package-lock.json b/package-lock.json index e9f92e53..7379b957 100644 --- a/package-lock.json +++ b/package-lock.json @@ -67,31 +67,12 @@ "mochawesome": "7.1.3" } }, - "how-to/common": { - "name": "openfin-container--common", - "version": "0.0.1", - "license": "SEE LICENSE IN LICENSE.MD", - "dependencies": { - "@openfin/core": "^27.70.8" - }, - "devDependencies": { - "@types/express": "^4.17.17", - "@types/node": "^20.4.1", - "express": "^4.18.2", - "openfin-adapter": "^26.70.16", - "ts-loader": "^9.4.4", - "typescript": "^5.1.6", - "webpack": "^5.88.1", - "webpack-cli": "^5.1.4" - } - }, "how-to/create-window": { "name": "application-window-creation", "version": "0.0.1", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -106,8 +87,7 @@ }, "devDependencies": { "@finos/fdc3": "^2.0.3", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -118,12 +98,24 @@ "version": "0.0.1", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.4", - "typescript": "^5.1.6", - "webpack": "^5.88.1", - "webpack-cli": "^5.1.4" + "openfin-adapter": "^26.70.16" + } + }, + "how-to/use-a-manifest/create-a-single-page-platform/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "dev": true + }, + "how-to/use-a-manifest/create-a-single-page-platform/node_modules/openfin-adapter": { + "version": "26.71.10", + "resolved": "https://registry.npmjs.org/openfin-adapter/-/openfin-adapter-26.71.10.tgz", + "integrity": "sha512-K4s2rSPCh7eDju4upzlU+dSPE1x2NyTI6v8f6Q0H+7GASyTN2ZmjEZZzbFgv4KxbA7A/CTXuGYn1KpoSL7AQGA==", + "dev": true, + "dependencies": { + "@types/node": "^10.17.19", + "lodash": "^4.17.21", + "ws": "^7.3.0" } }, "how-to/use-channel-api/issue-commands-to-a-platform": { @@ -131,8 +123,7 @@ "version": "0.0.1", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -143,8 +134,7 @@ "version": "0.0.1", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -157,7 +147,7 @@ "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -169,7 +159,7 @@ "version": "1.0.0", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -181,8 +171,7 @@ "version": "0.0.1", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -202,6 +191,7 @@ "@types/node": "^20.4.1", "body-parser": "^1.20.2", "express": "^4.18.2", + "openfin-adapter": "^28.72.17", "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", @@ -209,22 +199,12 @@ "webpack-cli": "^5.1.4" } }, - "how-to/use-logging-apis/node_modules/@openfin/core": { - "version": "28.72.19", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", - "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21" - } - }, "how-to/use-platform/warn-before-closing-dialog": { "version": "1.0.0", "license": "ISC", "devDependencies": { - "@openfin/core": "^27.70.8", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "@openfin/core": "^28.72.17", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -238,23 +218,13 @@ "devDependencies": { "@openfin/core": "^28.72.17", "@types/node": "^20.4.1", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", "webpack-cli": "^5.1.4" } }, - "how-to/use-popup-window/advanced/node_modules/@openfin/core": { - "version": "28.72.19", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", - "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21" - } - }, "how-to/use-popup-window/modal": { "name": "use-popup-window-modal", "version": "0.0.1", @@ -262,23 +232,13 @@ "devDependencies": { "@openfin/core": "^28.72.17", "@types/node": "^20.4.1", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", "webpack-cli": "^5.1.4" } }, - "how-to/use-popup-window/modal/node_modules/@openfin/core": { - "version": "28.72.19", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", - "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21" - } - }, "how-to/use-popup-window/multiple-results": { "name": "use-popup-window-multiple-results", "version": "0.0.1", @@ -286,23 +246,13 @@ "devDependencies": { "@openfin/core": "^28.72.17", "@types/node": "^20.4.1", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", "webpack-cli": "^5.1.4" } }, - "how-to/use-popup-window/multiple-results/node_modules/@openfin/core": { - "version": "28.72.19", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", - "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21" - } - }, "how-to/use-popup-window/single-result": { "name": "use-popup-window-single-result", "version": "0.0.1", @@ -310,29 +260,20 @@ "devDependencies": { "@openfin/core": "^28.72.17", "@types/node": "^20.4.1", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", "webpack-cli": "^5.1.4" } }, - "how-to/use-popup-window/single-result/node_modules/@openfin/core": { - "version": "28.72.19", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", - "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21" - } - }, "how-to/use-preloads/basic": { "name": "use-preloads-hello-world", "version": "0.0.1", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "express": "^4.18.2", + "openfin-adapter": "^28.72.17", "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", @@ -346,6 +287,7 @@ "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "express": "^4.18.2", + "openfin-adapter": "^28.72.17", "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", @@ -358,6 +300,7 @@ "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "express": "^4.18.2", + "openfin-adapter": "^28.72.17", "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", @@ -370,6 +313,7 @@ "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { "express": "^4.18.2", + "openfin-adapter": "^28.72.17", "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", @@ -2417,9 +2361,9 @@ } }, "node_modules/@openfin/core": { - "version": "27.71.30", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-27.71.30.tgz", - "integrity": "sha512-DK7kOCtvps95Wqq4m8T9tFpQEFv5UkN1+2Ge/gOMLXoY0NdPjbm611fQkxoWXHFsJud6fZHKUqpmWnkw9PgGdg==", + "version": "28.72.19", + "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", + "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", "dependencies": { "lodash": "^4.17.21" } @@ -2432,14 +2376,6 @@ "@openfin/core": "^28.72.17" } }, - "node_modules/@openfin/excel/node_modules/@openfin/core": { - "version": "28.72.19", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", - "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", - "dependencies": { - "lodash": "^4.17.21" - } - }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -9427,9 +9363,9 @@ } }, "node_modules/openfin-adapter": { - "version": "26.71.10", - "resolved": "https://registry.npmjs.org/openfin-adapter/-/openfin-adapter-26.71.10.tgz", - "integrity": "sha512-K4s2rSPCh7eDju4upzlU+dSPE1x2NyTI6v8f6Q0H+7GASyTN2ZmjEZZzbFgv4KxbA7A/CTXuGYn1KpoSL7AQGA==", + "version": "28.72.20", + "resolved": "https://registry.npmjs.org/openfin-adapter/-/openfin-adapter-28.72.20.tgz", + "integrity": "sha512-iCXFkO+2rT0rPi2EoJTyuCA08f64nZfoeaZ1+ytJHjbBFObnJfdROQ6PPhnX5TzBJiagguhiBeUFH840E/ITVg==", "dev": true, "dependencies": { "@types/node": "^10.17.19", @@ -9443,10 +9379,6 @@ "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", "dev": true }, - "node_modules/openfin-container--common": { - "resolved": "how-to/common", - "link": true - }, "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -14079,9 +14011,9 @@ } }, "@openfin/core": { - "version": "27.71.30", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-27.71.30.tgz", - "integrity": "sha512-DK7kOCtvps95Wqq4m8T9tFpQEFv5UkN1+2Ge/gOMLXoY0NdPjbm611fQkxoWXHFsJud6fZHKUqpmWnkw9PgGdg==", + "version": "28.72.19", + "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", + "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", "requires": { "lodash": "^4.17.21" } @@ -14092,16 +14024,6 @@ "integrity": "sha512-5D2oJsgigCovUAMDjZQ8MLfdvcqGH3KjsHG26ijmHr5tJ0unmkKyXcadiBPWEMFxSBQhyuiH44mzHCnq3jQ2JQ==", "requires": { "@openfin/core": "^28.72.17" - }, - "dependencies": { - "@openfin/core": { - "version": "28.72.19", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", - "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", - "requires": { - "lodash": "^4.17.21" - } - } } }, "@pkgjs/parseargs": { @@ -15076,8 +14998,7 @@ "application-window-creation": { "version": "file:how-to/create-window", "requires": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -15837,12 +15758,26 @@ "create-a-single-page-platform": { "version": "file:how-to/use-a-manifest/create-a-single-page-platform", "requires": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", - "ts-loader": "^9.4.4", - "typescript": "^5.1.6", - "webpack": "^5.88.1", - "webpack-cli": "^5.1.4" + "openfin-adapter": "^26.70.16" + }, + "dependencies": { + "@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "dev": true + }, + "openfin-adapter": { + "version": "26.71.10", + "resolved": "https://registry.npmjs.org/openfin-adapter/-/openfin-adapter-26.71.10.tgz", + "integrity": "sha512-K4s2rSPCh7eDju4upzlU+dSPE1x2NyTI6v8f6Q0H+7GASyTN2ZmjEZZzbFgv4KxbA7A/CTXuGYn1KpoSL7AQGA==", + "dev": true, + "requires": { + "@types/node": "^10.17.19", + "lodash": "^4.17.21", + "ws": "^7.3.0" + } + } } }, "create-require": { @@ -17527,8 +17462,7 @@ "requires": { "@finos/fdc3": "^2.0.3", "@openfin/excel": "^1.4.1", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -18608,8 +18542,7 @@ "launch-external-process": { "version": "file:how-to/use-launch-external-process", "requires": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -19453,9 +19386,9 @@ "dev": true }, "openfin-adapter": { - "version": "26.71.10", - "resolved": "https://registry.npmjs.org/openfin-adapter/-/openfin-adapter-26.71.10.tgz", - "integrity": "sha512-K4s2rSPCh7eDju4upzlU+dSPE1x2NyTI6v8f6Q0H+7GASyTN2ZmjEZZzbFgv4KxbA7A/CTXuGYn1KpoSL7AQGA==", + "version": "28.72.20", + "resolved": "https://registry.npmjs.org/openfin-adapter/-/openfin-adapter-28.72.20.tgz", + "integrity": "sha512-iCXFkO+2rT0rPi2EoJTyuCA08f64nZfoeaZ1+ytJHjbBFObnJfdROQ6PPhnX5TzBJiagguhiBeUFH840E/ITVg==", "dev": true, "requires": { "@types/node": "^10.17.19", @@ -19471,20 +19404,6 @@ } } }, - "openfin-container--common": { - "version": "file:how-to/common", - "requires": { - "@openfin/core": "^27.70.8", - "@types/express": "^4.17.17", - "@types/node": "^20.4.1", - "express": "^4.18.2", - "openfin-adapter": "^26.70.16", - "ts-loader": "^9.4.4", - "typescript": "^5.1.6", - "webpack": "^5.88.1", - "webpack-cli": "^5.1.4" - } - }, "optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -20435,7 +20354,7 @@ "setup-cross-platform-interop": { "version": "file:how-to/use-interop/setup-multi-platform-interop", "requires": { - "express": "^4.18.2", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -21193,8 +21112,7 @@ "use-channel-api-issue-commands-to-a-platform": { "version": "file:how-to/use-channel-api/issue-commands-to-a-platform", "requires": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -21204,8 +21122,7 @@ "use-content-creation-rules": { "version": "file:how-to/use-content-creation-rules", "requires": { - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -21216,7 +21133,7 @@ "version": "file:how-to/use-dynamic-manifest/basic", "requires": { "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -21233,22 +21150,12 @@ "connect-busboy": "^1.0.0", "express": "^4.18.2", "multer": "^1.4.5-lts.1", + "openfin-adapter": "^28.72.17", "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", "webpack-cli": "^5.1.4" - }, - "dependencies": { - "@openfin/core": { - "version": "28.72.19", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", - "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", - "dev": true, - "requires": { - "lodash": "^4.17.21" - } - } } }, "use-popup-window-advanced": { @@ -21256,23 +21163,11 @@ "requires": { "@openfin/core": "^28.72.17", "@types/node": "^20.4.1", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", "webpack-cli": "^5.1.4" - }, - "dependencies": { - "@openfin/core": { - "version": "28.72.19", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", - "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", - "dev": true, - "requires": { - "lodash": "^4.17.21" - } - } } }, "use-popup-window-modal": { @@ -21280,23 +21175,11 @@ "requires": { "@openfin/core": "^28.72.17", "@types/node": "^20.4.1", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", "webpack-cli": "^5.1.4" - }, - "dependencies": { - "@openfin/core": { - "version": "28.72.19", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", - "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", - "dev": true, - "requires": { - "lodash": "^4.17.21" - } - } } }, "use-popup-window-multiple-results": { @@ -21304,23 +21187,11 @@ "requires": { "@openfin/core": "^28.72.17", "@types/node": "^20.4.1", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", "webpack-cli": "^5.1.4" - }, - "dependencies": { - "@openfin/core": { - "version": "28.72.19", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", - "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", - "dev": true, - "requires": { - "lodash": "^4.17.21" - } - } } }, "use-popup-window-single-result": { @@ -21328,29 +21199,18 @@ "requires": { "@openfin/core": "^28.72.17", "@types/node": "^20.4.1", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", "webpack-cli": "^5.1.4" - }, - "dependencies": { - "@openfin/core": { - "version": "28.72.19", - "resolved": "https://registry.npmjs.org/@openfin/core/-/core-28.72.19.tgz", - "integrity": "sha512-WPftUntIrkCaKXZt9273xQRNj1smljdxWfrn+kDJ5yqE8DEvDIHXL6FwiXRb8QjIQXXWcftIuaiJ0pyHMGO4vA==", - "dev": true, - "requires": { - "lodash": "^4.17.21" - } - } } }, "use-preloads-hello-world": { "version": "file:how-to/use-preloads/basic", "requires": { "express": "^4.18.2", + "openfin-adapter": "^28.72.17", "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", @@ -21362,6 +21222,7 @@ "version": "file:how-to/use-preloads/restart-on-refresh", "requires": { "express": "^4.18.2", + "openfin-adapter": "^28.72.17", "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", @@ -21373,6 +21234,7 @@ "version": "file:how-to/use-security-realms", "requires": { "express": "^4.18.2", + "openfin-adapter": "^28.72.17", "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", @@ -21384,6 +21246,7 @@ "version": "file:how-to/use-window-options", "requires": { "express": "^4.18.2", + "openfin-adapter": "^28.72.17", "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", @@ -21476,9 +21339,8 @@ "warn-before-closing-dialog": { "version": "file:how-to/use-platform/warn-before-closing-dialog", "requires": { - "@openfin/core": "^27.70.8", - "express": "^4.18.2", - "source-map-loader": "^4.0.1", + "@openfin/core": "^28.72.17", + "openfin-adapter": "^28.72.17", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", diff --git a/scripts/common-files.json b/scripts/common-files.json index ac92970d..662cb80d 100644 --- a/scripts/common-files.json +++ b/scripts/common-files.json @@ -65,7 +65,7 @@ { "srcFolder": "how-to/container-platform-starter/public/common", "destFolder": "how-to/use-a-manifest/create-a-single-page-platform/public/common", - "files": ["images/icon-blue.png", "images/style/test-image.webp", "style/app.css", "style/style.html"] + "files": ["images/icon-blue.png", "images/style/test-image.webp", "style/app.css", "style/style.html"] } ] }, From 616469e01aaa17a0afa7e983bb971f43e721986b Mon Sep 17 00:00:00 2001 From: Martyn Janes Date: Tue, 11 Jul 2023 12:44:43 +0200 Subject: [PATCH 03/12] Use preload examples --- .../use-preloads/basic/client/types/fin.d.ts | 5 + how-to/use-preloads/basic/package.json | 16 +- .../basic/public/common/images/icon-blue.png | Bin 0 -> 1028 bytes .../basic/public/common/style/app.css | 929 ++++++++++++++++++ how-to/use-preloads/basic/scripts/kill.mjs | 34 + how-to/use-preloads/basic/scripts/launch.mjs | 133 +++ how-to/use-preloads/basic/server/src/index.ts | 17 - .../use-preloads/basic/server/tsconfig.json | 15 - .../restart-on-refresh/client/types/fin.d.ts | 5 + .../restart-on-refresh/package.json | 16 +- .../public/common/images/icon-blue.png | Bin 0 -> 1028 bytes .../public/common/style/app.css | 929 ++++++++++++++++++ .../restart-on-refresh/scripts/kill.mjs | 34 + .../restart-on-refresh/scripts/launch.mjs | 133 +++ .../restart-on-refresh/server/src/index.ts | 17 - .../restart-on-refresh/server/tsconfig.json | 15 - scripts/common-files.json | 50 + 17 files changed, 2262 insertions(+), 86 deletions(-) create mode 100644 how-to/use-preloads/basic/client/types/fin.d.ts create mode 100644 how-to/use-preloads/basic/public/common/images/icon-blue.png create mode 100644 how-to/use-preloads/basic/public/common/style/app.css create mode 100644 how-to/use-preloads/basic/scripts/kill.mjs create mode 100644 how-to/use-preloads/basic/scripts/launch.mjs delete mode 100644 how-to/use-preloads/basic/server/src/index.ts delete mode 100644 how-to/use-preloads/basic/server/tsconfig.json create mode 100644 how-to/use-preloads/restart-on-refresh/client/types/fin.d.ts create mode 100644 how-to/use-preloads/restart-on-refresh/public/common/images/icon-blue.png create mode 100644 how-to/use-preloads/restart-on-refresh/public/common/style/app.css create mode 100644 how-to/use-preloads/restart-on-refresh/scripts/kill.mjs create mode 100644 how-to/use-preloads/restart-on-refresh/scripts/launch.mjs delete mode 100644 how-to/use-preloads/restart-on-refresh/server/src/index.ts delete mode 100644 how-to/use-preloads/restart-on-refresh/server/tsconfig.json diff --git a/how-to/use-preloads/basic/client/types/fin.d.ts b/how-to/use-preloads/basic/client/types/fin.d.ts new file mode 100644 index 00000000..8936d86c --- /dev/null +++ b/how-to/use-preloads/basic/client/types/fin.d.ts @@ -0,0 +1,5 @@ +import type { fin as FinApi } from "@openfin/core"; + +declare global { + const fin: typeof FinApi; +} diff --git a/how-to/use-preloads/basic/package.json b/how-to/use-preloads/basic/package.json index 1823e71d..3ae8282f 100644 --- a/how-to/use-preloads/basic/package.json +++ b/how-to/use-preloads/basic/package.json @@ -4,23 +4,17 @@ "description": "A demonstration of how to configure preload scripts", "main": "index.js", "scripts": { - "build": "npm run build-server & npm run build-client", - "build-server": "tsc --project ./server", + "kill": "node ./scripts/kill.mjs", + "client": "node ./scripts/launch.mjs", "build-client": "webpack build --config ./client/webpack.config.js --mode=development", - "build-client-prod": "webpack build --config ./client/webpack.config.js --mode=production", - "start": "npm run server", - "client": "npm --prefix ../../common/ run client", - "server": "node ./server/build/index.js", - "kill": "npm --prefix ../../common/ run kill", - "setup": "cd ../../../ && npm install && cd how-to/use-preloads/basic && npm run build", - "validate": "npm --prefix ../../../ run validate" + "build": "npm run build-client", + "start": "npx --yes http-server ./public -p 5050 -c-1", + "setup": "cd ../../../ && npm install && cd how-to/use-preloads/basic && npm run build" }, "author": "john.mandia@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", "openfin-adapter": "^28.72.17", - "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", diff --git a/how-to/use-preloads/basic/public/common/images/icon-blue.png b/how-to/use-preloads/basic/public/common/images/icon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fc78450293c9ff813b9d8bb19e5f3918795beeba GIT binary patch literal 1028 zcmV+f1pE7mP);txuo(sHhB6W3YG5`oAu(|@5JwGR0@_rb|qK6~mh) zPHNEo2hGbNd@X023)BVmoi;D4qu}=porgN=f+RB`pNBf?f(8a)4R$&( ztl0hqyjrQv$VwS4M=U6fJcptvY;wwOTW@8aWGyI3p0oH8*6`g72chvV5wl8kS)i&bleVxAK(7h5FbCl=%?&*4(x8Oj#h@e>PjndfYNfe4%N6AN;g z=ai&^EXGeR$YGu%-Lh@Q_a7V@NGwSFTNLCu(*Db)|4S^$WuDV7sDDI7kjp%WUAzRF zvs7Y1uJWAm3EA@Gd$uVLRz-SsSvSwAo`eOnr+N}!h80$M(B2;K=_7C|mwukZne%W~ z(5yx?=lQ&SA1IDH(#UhTlvvDJuZAt!11=?QCajl|_JpJom`U@TBv1fb5T3HrxRxmO zL{XaOG=fWpyAqq&G*O9MrFl+0l*4>SvQadPN~++7sjRAOq@xB(q3+_K>!^KByxEN%AD^ z9gMWi^+C3Ijua img { + width: 32px; + height: 32px; +} +button.secondary { + background-color: var(--brand-input-background); + color: var(--brand-text); + border-color: var(--brand-input-border); +} +button.secondary:not(:disabled):hover { + background-color: var(--brand-input-background); +} +button.plain { + border-color: transparent; + background-color: transparent; + color: var(--brand-primary); +} +button.plain:not(:disabled):not(:read-only):hover { + border-color: transparent; + background-color: transparent; +} + +button.small, +::-webkit-file-upload-button, +td button { + padding: 5px 10px; + font-size: 10px; +} +td button.plain { + width: auto; + height: auto; +} + +button.center { + text-align: center; +} + +::-webkit-file-upload-button { + margin-right: 10px; +} + +pre { + margin: 0; + padding: 5px; + border-radius: 5px; + font-size: 12px; + font-family: 'Courier New', Courier, monospace; + white-space: pre-wrap; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + width: 100%; + min-height: 20px; +} + +header { + padding-bottom: 10px; + border-bottom: 2px solid var(--brand-border); +} + +footer { + padding-top: 10px; + border-top: 1px solid var(--brand-border); +} + +fieldset { + display: flex; + flex-direction: column; + align-items: flex-start; + border: 0; + padding: 0; + font-size: 12px; + gap: 5px; +} + +fieldset.row { + flex-direction: row; + align-items: center; + gap: 10px; +} + +label { + font-size: 12px; + font-weight: 600; +} + +select, +input[type='text'], +input[type='url'], +input[type='email'], +input[type='password'], +input[type='file'], +input[type='number'], +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'], +input[type='color'], +textarea { + border-radius: 5px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + font-size: 12px; + outline: 0; + color: var(--brand-text); + width: 50%; + min-width: 200px; + padding: 8px 12px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +textarea { + min-height: 64px; + resize: none; +} + +textarea.resizable { + resize: both; +} + +select.full, +input[type='text'].full, +input[type='email'].full, +input[type='url'].full, +input[type='password'].full, +input[type='file'].full, +input[type='number'].full, +input[type='date'].full, +input[type='time'].full, +input[type='datetime-local'].full, +input[type='month'].full, +input[type='week'].full, +input[type='range'].full, +textarea.full { + width: 95%; +} + +select:focus, +select:not(:disabled):hover, +input[type='text']:not(:read-only):focus, +input[type='text']:not(:disabled):not(:read-only):hover, +input[type='email']:not(:read-only):focus, +input[type='email']:not(:disabled):not(:read-only):hover, +input[type='url']:not(:read-only):focus, +input[type='url']:not(:disabled):not(:read-only):hover, +input[type='password']:not(:read-only):focus, +input[type='password']:not(:disabled):not(:read-only):hover, +input[type='file']:not(:read-only):focus, +input[type='file']:not(:disabled):not(:read-only):hover, +input[type='number']:not(:read-only):focus, +input[type='number']:not(:disabled):not(:read-only):hover, +input[type='date']:not(:read-only):focus, +input[type='date']:not(:disabled):not(:read-only):hover, +input[type='time']:not(:read-only):focus, +input[type='time']:not(:disabled):not(:read-only):hover, +input[type='datetime-local']:not(:read-only):focus, +input[type='datetime-local']:not(:disabled):not(:read-only):hover, +input[type='month']:not(:read-only):focus, +input[type='month']:not(:disabled):not(:read-only):hover, +input[type='week']:not(:read-only):focus, +input[type='week']:not(:disabled):not(:read-only):hover, +textarea:not(:read-only):focus, +textarea:not(:disabled):not(:read-only):hover, +input[type='checkbox']:focus, +input[type='checkbox']:not(:disabled):hover, +input[type='radio']:focus, +input[type='radio']:not(:disabled):hover, +input[type='color']:focus, +input[type='color']:not(:disabled):hover { + border-color: var(--brand-input-border-highlight); +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'] { + width: 200px; + min-width: auto; +} + +.theme-dark ::-webkit-calendar-picker-indicator { + filter: invert(1); +} + +::-webkit-datetime-edit-day-field:focus, +::-webkit-datetime-edit-month-field:focus, +::-webkit-datetime-edit-year-field:focus, +::-webkit-datetime-edit-hour-field:focus, +::-webkit-datetime-edit-minute-field:focus, +::-webkit-datetime-edit-week-field:focus { + background-color: var(--brand-primary); + color: #ffffff; +} + +::-webkit-outer-spin-button, +::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type='file'] { + padding: 4px 12px; +} + +select { + appearance: none; +} + +select:not([multiple]):not(:disabled) { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-size: 12px; + background-position: calc(100% - 12px) 12px; + background-color: var(--brand-input-background); +} + +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + +option { + color: var(--brand-text); + padding: 6px; + margin-bottom: 1px; +} + +option:hover { + background: var(--brand-input-border) + linear-gradient(0deg, var(--brand-input-border) 0%, var(--brand-input-border) 100%); + border-radius: 5px; +} + +option:checked { + background: var(--brand-primary) linear-gradient(0deg, var(--brand-primary) 0%, var(--brand-primary) 100%); + color: #ffffff; + border-radius: 5px; +} + +input[type='range'] { + -webkit-appearance: none; + height: 20px; + width: 200px; + background: transparent; + outline: none; +} + +input[type='range']::-webkit-slider-runnable-track { + -webkit-appearance: none; + height: 10px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + border-radius: 5px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: 20px; + width: 20px; + border-radius: 5px; + margin-top: -6px; + border: 1px solid var(--brand-input-border); + background: var(--brand-input-background); + cursor: pointer; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']:hover::-webkit-slider-runnable-track, +input[type='range']:focus::-webkit-slider-runnable-track, +input[type='range']:hover::-webkit-slider-thumb, +input[type='range']:focus::-webkit-slider-thumb { + border-color: var(--brand-input-border-highlight); +} + +button:disabled, +select:disabled, +input:disabled, +textarea:disabled, +footer a:disabled, +a[disabled] { + opacity: 0.3; + cursor: default; + pointer-events: none; + resize: none; +} + +select:invalid, +input:invalid, +textarea:invalid { + border-color: var(--brand-error); +} + +fieldset > span { + margin-left: 10px; + width: 50px; +} + +input[type='text'].large, +input[type='password'].large, +input[type='file'].large, +input[type='email'].large, +input[type='url'].large, +input[type='date'].large, +input[type='time'].large { + font-size: 20px; + padding: 20px 10px; +} + +input[type='text'].center, +input[type='password'].center, +input[type='email'].center, +input[type='url'].center { + text-align: center; +} + +input[type='checkbox'], +input[type='radio'] { + appearance: none; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + color: var(--brand-input-text); + outline: 0; + width: 20px; + height: 20px; + margin: 2px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='radio'] { + border-radius: 50%; +} + +input[type='checkbox']::before, +input[type='radio']::before { + content: ''; + display: none; + width: 16px; + height: 16px; + margin: 1px; + background-color: var(--brand-text); + opacity: 0.8; +} + +input[type='checkbox']:checked::before { + display: inline-block; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +input[type='radio']:checked::before { + display: inline-block; + clip-path: circle(35% at 52% 50%); +} + +input[type='checkbox'] + label, +input[type='radio'] + label { + white-space: nowrap; +} + +input[type='color'] { + width: 100px; + min-width: auto; + padding: 5px; +} + +input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + background: transparent; +} + +input[type='color']::-webkit-color-swatch { + border-radius: 5px; + border: none; +} + +/* This disables the auto zoom on iDevices */ +@supports (-webkit-touch-callout: none) { + select, + input[type='text'], + input[type='url'], + input[type='email'], + input[type='password'], + input[type='file'], + input[type='number'], + input[type='date'], + input[type='time'], + input[type='datetime-local'], + input[type='month'], + input[type='week'], + input[type='color'], + textarea { + font-size: 16px; + } +} + +hr { + width: 100%; + border: 0; + border-bottom: 1px solid var(--brand-input-border); +} + +ul { + font-size: 12px; + display: flex; + flex-direction: column; + gap: 10px; + list-style-type: none; +} + +li { + font-size: 12px; + position: relative; + padding: 0 0 10px; +} + +li::before { + content: ' '; + display: inline-block; + background-color: var(--brand-primary); + width: 8px; + height: 8px; + border-radius: 2px; + position: absolute; + left: -13px; + top: 3px; +} + +em { + font-size: 12px; +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.fill { + flex: 1; +} + +.fill_2 { + flex: 2; +} + +.scroll { + overflow: auto; +} + +.scroll-vertical { + overflow-y: auto; +} + +.scroll-horizontal { + overflow-x: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.middle { + align-items: center; +} + +.bottom { + align-items: flex-end; +} + +.spread { + justify-content: space-between; +} + +.around { + justify-content: space-around; +} + +.left { + display: flex; + align-items: flex-start; +} + +.center { + display: flex; + justify-content: center; +} + +.right { + display: flex; + justify-content: flex-end; +} + +.wrap { + flex-wrap: wrap; +} + +.gap5 { + gap: 5px; +} + +.gap10 { + gap: 10px; +} + +.gap20 { + gap: 20px; +} + +.gap40 { + gap: 40px; +} + +.pad10 { + padding: 10px; +} + +.pad20 { + padding: 20px; +} + +.pad0 { + padding: 0px; +} + +.table { + display: flex; + flex: 1; + flex-direction: column; + font-size: 10px; +} + +table { + width: 100%; + font-size: 10px; + border: 0; + border-collapse: collapse; +} + +table, +.table { + border: var(--brand-input-border) 1px solid; +} + +.table-row { + display: flex; + flex: 1; + flex-direction: row; +} + +table > tr:first-child, +thead > tr, +.table-row.header { + background-color: var(--brand-table-header); +} + +table > tr:nth-child(even), +.table > div:nth-child(even), +tbody > tr:nth-child(odd) { + background-color: var(--brand-table-row-even); +} + +table > tr:nth-child(odd), +.table > div:not(:first-child):nth-child(odd), +tbody > tr:nth-child(even) { + background-color: var(--brand-table-row-odd); +} + +th, +.table-row.header > div { + color: var(--brand-table-header-text); + font-weight: bold; + padding: 10px 5px; + text-align: left; + word-break: break-word; +} + +.table-row > div { + flex: 1; +} + +td, +.table-row:not(.header) > div { + padding: 5px; + word-break: break-word; + color: var(--brand-text); +} + +.table-row:not(.header) > div { + display: flex; + align-items: center; +} + +@media screen and (max-width: 736px) { + .table-row { + flex-direction: column; + } + + .table-row.header { + display: none; + } + + .table-row:not(.header) > div { + display: flex; + align-items: center; + flex: 1; + gap: 10px; + } + + .table-row:not(.header) > div:before { + content: attr(data-name); + font-weight: bold; + white-space: nowrap; + width: 20%; + } + + .table-row > div.right { + justify-content: flex-start; + } + + .table-row > div.center { + justify-content: flex-start; + } +} + +.border { + border: 1px solid var(--brand-input-border); + border-radius: 5px; +} + +.drag { + user-select: none; + -webkit-app-region: drag; +} + +.no-drag { + -webkit-app-region: none; +} + +.form { + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; + font-size: 12px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; +} + +.form-group.large { + gap: 20px; +} + +.width-full { + width: 100%; +} + +.max-width-full { + max-width: 100%; +} + +.width-responsive { + max-width: fit-content; +} + +.hidden { + display: none; +} + +.pointer { + cursor: pointer; +} + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/use-preloads/basic/scripts/kill.mjs b/how-to/use-preloads/basic/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/use-preloads/basic/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/use-preloads/basic/scripts/launch.mjs b/how-to/use-preloads/basic/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/use-preloads/basic/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/use-preloads/basic/server/src/index.ts b/how-to/use-preloads/basic/server/src/index.ts deleted file mode 100644 index 694c7722..00000000 --- a/how-to/use-preloads/basic/server/src/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import express from "express"; -import path from "path"; - -const app = express(); - -const mainPath = path.join(__dirname, "..", "..", "public"); -const commonPath = path.join(__dirname, "..", "..", "..", "..", "common", "public"); -const port = 5050; - -console.log(`Main Path / = ${mainPath}`); -console.log(`Common Path /common = ${commonPath}`); -console.log("Root path checks both the main and common directories."); -app.use(express.static(mainPath)); -app.use("/common", express.static(commonPath)); -app.listen(port, () => { - console.log("server is listening on port", port); -}); diff --git a/how-to/use-preloads/basic/server/tsconfig.json b/how-to/use-preloads/basic/server/tsconfig.json deleted file mode 100644 index 86f342dd..00000000 --- a/how-to/use-preloads/basic/server/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "es2021", - "module": "commonjs", - "sourceMap": true, - "rootDir": "./src", - "outDir": "build", - "skipLibCheck": true, - "strict": false, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "moduleResolution": "node" - }, - "include": ["./src/**/*.ts"] -} diff --git a/how-to/use-preloads/restart-on-refresh/client/types/fin.d.ts b/how-to/use-preloads/restart-on-refresh/client/types/fin.d.ts new file mode 100644 index 00000000..8936d86c --- /dev/null +++ b/how-to/use-preloads/restart-on-refresh/client/types/fin.d.ts @@ -0,0 +1,5 @@ +import type { fin as FinApi } from "@openfin/core"; + +declare global { + const fin: typeof FinApi; +} diff --git a/how-to/use-preloads/restart-on-refresh/package.json b/how-to/use-preloads/restart-on-refresh/package.json index 4af78744..8d6888f2 100644 --- a/how-to/use-preloads/restart-on-refresh/package.json +++ b/how-to/use-preloads/restart-on-refresh/package.json @@ -4,23 +4,17 @@ "description": "A demonstration of how to configure preload scripts to restart on refresh of a view", "main": "index.js", "scripts": { - "build": "npm run build-server & npm run build-client", - "build-server": "tsc --project ./server", + "kill": "node ./scripts/kill.mjs", + "client": "node ./scripts/launch.mjs", "build-client": "webpack build --config ./client/webpack.config.js --mode=development", - "build-client-prod": "webpack build --config ./client/webpack.config.js --mode=production", - "start": "npm run server", - "client": "npm --prefix ../../common/ run client", - "server": "node ./server/build/index.js", - "kill": "npm --prefix ../../common/ run kill", - "setup": "cd ../../../ && npm install && cd how-to/use-preloads/restart-on-refresh && npm run build", - "validate": "npm --prefix ../../../ run validate" + "build": "npm run build-client", + "start": "npx --yes http-server ./public -p 5050 -c-1", + "setup": "cd ../../../ && npm install && cd how-to/use-preloads/restart-on-refresh && npm run build" }, "author": "john.mandia@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", "openfin-adapter": "^28.72.17", - "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", diff --git a/how-to/use-preloads/restart-on-refresh/public/common/images/icon-blue.png b/how-to/use-preloads/restart-on-refresh/public/common/images/icon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fc78450293c9ff813b9d8bb19e5f3918795beeba GIT binary patch literal 1028 zcmV+f1pE7mP);txuo(sHhB6W3YG5`oAu(|@5JwGR0@_rb|qK6~mh) zPHNEo2hGbNd@X023)BVmoi;D4qu}=porgN=f+RB`pNBf?f(8a)4R$&( ztl0hqyjrQv$VwS4M=U6fJcptvY;wwOTW@8aWGyI3p0oH8*6`g72chvV5wl8kS)i&bleVxAK(7h5FbCl=%?&*4(x8Oj#h@e>PjndfYNfe4%N6AN;g z=ai&^EXGeR$YGu%-Lh@Q_a7V@NGwSFTNLCu(*Db)|4S^$WuDV7sDDI7kjp%WUAzRF zvs7Y1uJWAm3EA@Gd$uVLRz-SsSvSwAo`eOnr+N}!h80$M(B2;K=_7C|mwukZne%W~ z(5yx?=lQ&SA1IDH(#UhTlvvDJuZAt!11=?QCajl|_JpJom`U@TBv1fb5T3HrxRxmO zL{XaOG=fWpyAqq&G*O9MrFl+0l*4>SvQadPN~++7sjRAOq@xB(q3+_K>!^KByxEN%AD^ z9gMWi^+C3Ijua img { + width: 32px; + height: 32px; +} +button.secondary { + background-color: var(--brand-input-background); + color: var(--brand-text); + border-color: var(--brand-input-border); +} +button.secondary:not(:disabled):hover { + background-color: var(--brand-input-background); +} +button.plain { + border-color: transparent; + background-color: transparent; + color: var(--brand-primary); +} +button.plain:not(:disabled):not(:read-only):hover { + border-color: transparent; + background-color: transparent; +} + +button.small, +::-webkit-file-upload-button, +td button { + padding: 5px 10px; + font-size: 10px; +} +td button.plain { + width: auto; + height: auto; +} + +button.center { + text-align: center; +} + +::-webkit-file-upload-button { + margin-right: 10px; +} + +pre { + margin: 0; + padding: 5px; + border-radius: 5px; + font-size: 12px; + font-family: 'Courier New', Courier, monospace; + white-space: pre-wrap; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + width: 100%; + min-height: 20px; +} + +header { + padding-bottom: 10px; + border-bottom: 2px solid var(--brand-border); +} + +footer { + padding-top: 10px; + border-top: 1px solid var(--brand-border); +} + +fieldset { + display: flex; + flex-direction: column; + align-items: flex-start; + border: 0; + padding: 0; + font-size: 12px; + gap: 5px; +} + +fieldset.row { + flex-direction: row; + align-items: center; + gap: 10px; +} + +label { + font-size: 12px; + font-weight: 600; +} + +select, +input[type='text'], +input[type='url'], +input[type='email'], +input[type='password'], +input[type='file'], +input[type='number'], +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'], +input[type='color'], +textarea { + border-radius: 5px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + font-size: 12px; + outline: 0; + color: var(--brand-text); + width: 50%; + min-width: 200px; + padding: 8px 12px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +textarea { + min-height: 64px; + resize: none; +} + +textarea.resizable { + resize: both; +} + +select.full, +input[type='text'].full, +input[type='email'].full, +input[type='url'].full, +input[type='password'].full, +input[type='file'].full, +input[type='number'].full, +input[type='date'].full, +input[type='time'].full, +input[type='datetime-local'].full, +input[type='month'].full, +input[type='week'].full, +input[type='range'].full, +textarea.full { + width: 95%; +} + +select:focus, +select:not(:disabled):hover, +input[type='text']:not(:read-only):focus, +input[type='text']:not(:disabled):not(:read-only):hover, +input[type='email']:not(:read-only):focus, +input[type='email']:not(:disabled):not(:read-only):hover, +input[type='url']:not(:read-only):focus, +input[type='url']:not(:disabled):not(:read-only):hover, +input[type='password']:not(:read-only):focus, +input[type='password']:not(:disabled):not(:read-only):hover, +input[type='file']:not(:read-only):focus, +input[type='file']:not(:disabled):not(:read-only):hover, +input[type='number']:not(:read-only):focus, +input[type='number']:not(:disabled):not(:read-only):hover, +input[type='date']:not(:read-only):focus, +input[type='date']:not(:disabled):not(:read-only):hover, +input[type='time']:not(:read-only):focus, +input[type='time']:not(:disabled):not(:read-only):hover, +input[type='datetime-local']:not(:read-only):focus, +input[type='datetime-local']:not(:disabled):not(:read-only):hover, +input[type='month']:not(:read-only):focus, +input[type='month']:not(:disabled):not(:read-only):hover, +input[type='week']:not(:read-only):focus, +input[type='week']:not(:disabled):not(:read-only):hover, +textarea:not(:read-only):focus, +textarea:not(:disabled):not(:read-only):hover, +input[type='checkbox']:focus, +input[type='checkbox']:not(:disabled):hover, +input[type='radio']:focus, +input[type='radio']:not(:disabled):hover, +input[type='color']:focus, +input[type='color']:not(:disabled):hover { + border-color: var(--brand-input-border-highlight); +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'] { + width: 200px; + min-width: auto; +} + +.theme-dark ::-webkit-calendar-picker-indicator { + filter: invert(1); +} + +::-webkit-datetime-edit-day-field:focus, +::-webkit-datetime-edit-month-field:focus, +::-webkit-datetime-edit-year-field:focus, +::-webkit-datetime-edit-hour-field:focus, +::-webkit-datetime-edit-minute-field:focus, +::-webkit-datetime-edit-week-field:focus { + background-color: var(--brand-primary); + color: #ffffff; +} + +::-webkit-outer-spin-button, +::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type='file'] { + padding: 4px 12px; +} + +select { + appearance: none; +} + +select:not([multiple]):not(:disabled) { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-size: 12px; + background-position: calc(100% - 12px) 12px; + background-color: var(--brand-input-background); +} + +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + +option { + color: var(--brand-text); + padding: 6px; + margin-bottom: 1px; +} + +option:hover { + background: var(--brand-input-border) + linear-gradient(0deg, var(--brand-input-border) 0%, var(--brand-input-border) 100%); + border-radius: 5px; +} + +option:checked { + background: var(--brand-primary) linear-gradient(0deg, var(--brand-primary) 0%, var(--brand-primary) 100%); + color: #ffffff; + border-radius: 5px; +} + +input[type='range'] { + -webkit-appearance: none; + height: 20px; + width: 200px; + background: transparent; + outline: none; +} + +input[type='range']::-webkit-slider-runnable-track { + -webkit-appearance: none; + height: 10px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + border-radius: 5px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: 20px; + width: 20px; + border-radius: 5px; + margin-top: -6px; + border: 1px solid var(--brand-input-border); + background: var(--brand-input-background); + cursor: pointer; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']:hover::-webkit-slider-runnable-track, +input[type='range']:focus::-webkit-slider-runnable-track, +input[type='range']:hover::-webkit-slider-thumb, +input[type='range']:focus::-webkit-slider-thumb { + border-color: var(--brand-input-border-highlight); +} + +button:disabled, +select:disabled, +input:disabled, +textarea:disabled, +footer a:disabled, +a[disabled] { + opacity: 0.3; + cursor: default; + pointer-events: none; + resize: none; +} + +select:invalid, +input:invalid, +textarea:invalid { + border-color: var(--brand-error); +} + +fieldset > span { + margin-left: 10px; + width: 50px; +} + +input[type='text'].large, +input[type='password'].large, +input[type='file'].large, +input[type='email'].large, +input[type='url'].large, +input[type='date'].large, +input[type='time'].large { + font-size: 20px; + padding: 20px 10px; +} + +input[type='text'].center, +input[type='password'].center, +input[type='email'].center, +input[type='url'].center { + text-align: center; +} + +input[type='checkbox'], +input[type='radio'] { + appearance: none; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + color: var(--brand-input-text); + outline: 0; + width: 20px; + height: 20px; + margin: 2px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='radio'] { + border-radius: 50%; +} + +input[type='checkbox']::before, +input[type='radio']::before { + content: ''; + display: none; + width: 16px; + height: 16px; + margin: 1px; + background-color: var(--brand-text); + opacity: 0.8; +} + +input[type='checkbox']:checked::before { + display: inline-block; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +input[type='radio']:checked::before { + display: inline-block; + clip-path: circle(35% at 52% 50%); +} + +input[type='checkbox'] + label, +input[type='radio'] + label { + white-space: nowrap; +} + +input[type='color'] { + width: 100px; + min-width: auto; + padding: 5px; +} + +input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + background: transparent; +} + +input[type='color']::-webkit-color-swatch { + border-radius: 5px; + border: none; +} + +/* This disables the auto zoom on iDevices */ +@supports (-webkit-touch-callout: none) { + select, + input[type='text'], + input[type='url'], + input[type='email'], + input[type='password'], + input[type='file'], + input[type='number'], + input[type='date'], + input[type='time'], + input[type='datetime-local'], + input[type='month'], + input[type='week'], + input[type='color'], + textarea { + font-size: 16px; + } +} + +hr { + width: 100%; + border: 0; + border-bottom: 1px solid var(--brand-input-border); +} + +ul { + font-size: 12px; + display: flex; + flex-direction: column; + gap: 10px; + list-style-type: none; +} + +li { + font-size: 12px; + position: relative; + padding: 0 0 10px; +} + +li::before { + content: ' '; + display: inline-block; + background-color: var(--brand-primary); + width: 8px; + height: 8px; + border-radius: 2px; + position: absolute; + left: -13px; + top: 3px; +} + +em { + font-size: 12px; +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.fill { + flex: 1; +} + +.fill_2 { + flex: 2; +} + +.scroll { + overflow: auto; +} + +.scroll-vertical { + overflow-y: auto; +} + +.scroll-horizontal { + overflow-x: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.middle { + align-items: center; +} + +.bottom { + align-items: flex-end; +} + +.spread { + justify-content: space-between; +} + +.around { + justify-content: space-around; +} + +.left { + display: flex; + align-items: flex-start; +} + +.center { + display: flex; + justify-content: center; +} + +.right { + display: flex; + justify-content: flex-end; +} + +.wrap { + flex-wrap: wrap; +} + +.gap5 { + gap: 5px; +} + +.gap10 { + gap: 10px; +} + +.gap20 { + gap: 20px; +} + +.gap40 { + gap: 40px; +} + +.pad10 { + padding: 10px; +} + +.pad20 { + padding: 20px; +} + +.pad0 { + padding: 0px; +} + +.table { + display: flex; + flex: 1; + flex-direction: column; + font-size: 10px; +} + +table { + width: 100%; + font-size: 10px; + border: 0; + border-collapse: collapse; +} + +table, +.table { + border: var(--brand-input-border) 1px solid; +} + +.table-row { + display: flex; + flex: 1; + flex-direction: row; +} + +table > tr:first-child, +thead > tr, +.table-row.header { + background-color: var(--brand-table-header); +} + +table > tr:nth-child(even), +.table > div:nth-child(even), +tbody > tr:nth-child(odd) { + background-color: var(--brand-table-row-even); +} + +table > tr:nth-child(odd), +.table > div:not(:first-child):nth-child(odd), +tbody > tr:nth-child(even) { + background-color: var(--brand-table-row-odd); +} + +th, +.table-row.header > div { + color: var(--brand-table-header-text); + font-weight: bold; + padding: 10px 5px; + text-align: left; + word-break: break-word; +} + +.table-row > div { + flex: 1; +} + +td, +.table-row:not(.header) > div { + padding: 5px; + word-break: break-word; + color: var(--brand-text); +} + +.table-row:not(.header) > div { + display: flex; + align-items: center; +} + +@media screen and (max-width: 736px) { + .table-row { + flex-direction: column; + } + + .table-row.header { + display: none; + } + + .table-row:not(.header) > div { + display: flex; + align-items: center; + flex: 1; + gap: 10px; + } + + .table-row:not(.header) > div:before { + content: attr(data-name); + font-weight: bold; + white-space: nowrap; + width: 20%; + } + + .table-row > div.right { + justify-content: flex-start; + } + + .table-row > div.center { + justify-content: flex-start; + } +} + +.border { + border: 1px solid var(--brand-input-border); + border-radius: 5px; +} + +.drag { + user-select: none; + -webkit-app-region: drag; +} + +.no-drag { + -webkit-app-region: none; +} + +.form { + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; + font-size: 12px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; +} + +.form-group.large { + gap: 20px; +} + +.width-full { + width: 100%; +} + +.max-width-full { + max-width: 100%; +} + +.width-responsive { + max-width: fit-content; +} + +.hidden { + display: none; +} + +.pointer { + cursor: pointer; +} + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/use-preloads/restart-on-refresh/scripts/kill.mjs b/how-to/use-preloads/restart-on-refresh/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/use-preloads/restart-on-refresh/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/use-preloads/restart-on-refresh/scripts/launch.mjs b/how-to/use-preloads/restart-on-refresh/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/use-preloads/restart-on-refresh/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/use-preloads/restart-on-refresh/server/src/index.ts b/how-to/use-preloads/restart-on-refresh/server/src/index.ts deleted file mode 100644 index 694c7722..00000000 --- a/how-to/use-preloads/restart-on-refresh/server/src/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import express from "express"; -import path from "path"; - -const app = express(); - -const mainPath = path.join(__dirname, "..", "..", "public"); -const commonPath = path.join(__dirname, "..", "..", "..", "..", "common", "public"); -const port = 5050; - -console.log(`Main Path / = ${mainPath}`); -console.log(`Common Path /common = ${commonPath}`); -console.log("Root path checks both the main and common directories."); -app.use(express.static(mainPath)); -app.use("/common", express.static(commonPath)); -app.listen(port, () => { - console.log("server is listening on port", port); -}); diff --git a/how-to/use-preloads/restart-on-refresh/server/tsconfig.json b/how-to/use-preloads/restart-on-refresh/server/tsconfig.json deleted file mode 100644 index 86f342dd..00000000 --- a/how-to/use-preloads/restart-on-refresh/server/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "es2021", - "module": "commonjs", - "sourceMap": true, - "rootDir": "./src", - "outDir": "build", - "skipLibCheck": true, - "strict": false, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "moduleResolution": "node" - }, - "include": ["./src/**/*.ts"] -} diff --git a/scripts/common-files.json b/scripts/common-files.json index 662cb80d..1edcddd2 100644 --- a/scripts/common-files.json +++ b/scripts/common-files.json @@ -338,5 +338,55 @@ "files": ["fin.d.ts"] } ] + }, + { + "name": "use-preloads/basic", + "fileGroups": [ + { + "srcFolder": "how-to/container-platform-starter/public", + "destFolder": "how-to/use-preloads/basic/public", + "files": ["favicon.ico"] + }, + { + "srcFolder": "how-to/container-platform-starter/public/common", + "destFolder": "how-to/use-preloads/basic/public/common", + "files": ["images/icon-blue.png", "style/app.css"] + }, + { + "srcFolder": "how-to/container-platform-starter/scripts", + "destFolder": "how-to/use-preloads/basic/scripts", + "files": ["kill.mjs", "launch.mjs"] + }, + { + "srcFolder": "how-to/container-platform-starter/client/types", + "destFolder": "how-to/use-preloads/basic/client/types", + "files": ["fin.d.ts"] + } + ] + }, + { + "name": "use-preloads/restart-on-refresh", + "fileGroups": [ + { + "srcFolder": "how-to/container-platform-starter/public", + "destFolder": "how-to/use-preloads/restart-on-refresh/public", + "files": ["favicon.ico"] + }, + { + "srcFolder": "how-to/container-platform-starter/public/common", + "destFolder": "how-to/use-preloads/restart-on-refresh/public/common", + "files": ["images/icon-blue.png", "style/app.css"] + }, + { + "srcFolder": "how-to/container-platform-starter/scripts", + "destFolder": "how-to/use-preloads/restart-on-refresh/scripts", + "files": ["kill.mjs", "launch.mjs"] + }, + { + "srcFolder": "how-to/container-platform-starter/client/types", + "destFolder": "how-to/use-preloads/restart-on-refresh/client/types", + "files": ["fin.d.ts"] + } + ] } ] From a9b49a3945e549369a3b52f9cc22c64c7e93e29f Mon Sep 17 00:00:00 2001 From: Martyn Janes Date: Tue, 11 Jul 2023 12:48:27 +0200 Subject: [PATCH 04/12] Use security realms --- .../use-security-realms/client/types/fin.d.ts | 5 + how-to/use-security-realms/package.json | 16 +- .../public/common/images/icon-blue.png | Bin 0 -> 1028 bytes .../public/common/style/app.css | 929 ++++++++++++++++++ how-to/use-security-realms/scripts/kill.mjs | 34 + how-to/use-security-realms/scripts/launch.mjs | 133 +++ .../use-security-realms/server/src/index.ts | 17 - .../use-security-realms/server/tsconfig.json | 15 - scripts/common-files.json | 25 + 9 files changed, 1131 insertions(+), 43 deletions(-) create mode 100644 how-to/use-security-realms/client/types/fin.d.ts create mode 100644 how-to/use-security-realms/public/common/images/icon-blue.png create mode 100644 how-to/use-security-realms/public/common/style/app.css create mode 100644 how-to/use-security-realms/scripts/kill.mjs create mode 100644 how-to/use-security-realms/scripts/launch.mjs delete mode 100755 how-to/use-security-realms/server/src/index.ts delete mode 100755 how-to/use-security-realms/server/tsconfig.json diff --git a/how-to/use-security-realms/client/types/fin.d.ts b/how-to/use-security-realms/client/types/fin.d.ts new file mode 100644 index 00000000..8936d86c --- /dev/null +++ b/how-to/use-security-realms/client/types/fin.d.ts @@ -0,0 +1,5 @@ +import type { fin as FinApi } from "@openfin/core"; + +declare global { + const fin: typeof FinApi; +} diff --git a/how-to/use-security-realms/package.json b/how-to/use-security-realms/package.json index 3f1b22d6..b74c0a6c 100755 --- a/how-to/use-security-realms/package.json +++ b/how-to/use-security-realms/package.json @@ -4,23 +4,17 @@ "description": "A demonstration of how to use OpenFin security realms with native applications", "main": "index.js", "scripts": { - "build": "npm run build-server & npm run build-client", - "build-server": "tsc --project ./server", + "kill": "node ./scripts/kill.mjs", + "client": "node ./scripts/launch.mjs", "build-client": "webpack build --config ./client/webpack.config.js --mode=development", - "build-client-prod": "webpack build --config ./client/webpack.config.js --mode=production", - "start": "npm run server", - "client": "npm --prefix ../common/ run client", - "server": "node ./server/build/index.js", - "kill": "npm --prefix ../common/ run kill", - "setup": "cd ../../ && npm install && cd how-to/use-security-realms && npm run build", - "validate": "npm --prefix ../../ run validate" + "build": "npm run build-client", + "start": "npx --yes http-server ./public -p 5050 -c-1", + "setup": "cd ../../ && npm install && cd how-to/use-security-realms && npm run build" }, "author": "adam.saland@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", "openfin-adapter": "^28.72.17", - "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", diff --git a/how-to/use-security-realms/public/common/images/icon-blue.png b/how-to/use-security-realms/public/common/images/icon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fc78450293c9ff813b9d8bb19e5f3918795beeba GIT binary patch literal 1028 zcmV+f1pE7mP);txuo(sHhB6W3YG5`oAu(|@5JwGR0@_rb|qK6~mh) zPHNEo2hGbNd@X023)BVmoi;D4qu}=porgN=f+RB`pNBf?f(8a)4R$&( ztl0hqyjrQv$VwS4M=U6fJcptvY;wwOTW@8aWGyI3p0oH8*6`g72chvV5wl8kS)i&bleVxAK(7h5FbCl=%?&*4(x8Oj#h@e>PjndfYNfe4%N6AN;g z=ai&^EXGeR$YGu%-Lh@Q_a7V@NGwSFTNLCu(*Db)|4S^$WuDV7sDDI7kjp%WUAzRF zvs7Y1uJWAm3EA@Gd$uVLRz-SsSvSwAo`eOnr+N}!h80$M(B2;K=_7C|mwukZne%W~ z(5yx?=lQ&SA1IDH(#UhTlvvDJuZAt!11=?QCajl|_JpJom`U@TBv1fb5T3HrxRxmO zL{XaOG=fWpyAqq&G*O9MrFl+0l*4>SvQadPN~++7sjRAOq@xB(q3+_K>!^KByxEN%AD^ z9gMWi^+C3Ijua img { + width: 32px; + height: 32px; +} +button.secondary { + background-color: var(--brand-input-background); + color: var(--brand-text); + border-color: var(--brand-input-border); +} +button.secondary:not(:disabled):hover { + background-color: var(--brand-input-background); +} +button.plain { + border-color: transparent; + background-color: transparent; + color: var(--brand-primary); +} +button.plain:not(:disabled):not(:read-only):hover { + border-color: transparent; + background-color: transparent; +} + +button.small, +::-webkit-file-upload-button, +td button { + padding: 5px 10px; + font-size: 10px; +} +td button.plain { + width: auto; + height: auto; +} + +button.center { + text-align: center; +} + +::-webkit-file-upload-button { + margin-right: 10px; +} + +pre { + margin: 0; + padding: 5px; + border-radius: 5px; + font-size: 12px; + font-family: 'Courier New', Courier, monospace; + white-space: pre-wrap; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + width: 100%; + min-height: 20px; +} + +header { + padding-bottom: 10px; + border-bottom: 2px solid var(--brand-border); +} + +footer { + padding-top: 10px; + border-top: 1px solid var(--brand-border); +} + +fieldset { + display: flex; + flex-direction: column; + align-items: flex-start; + border: 0; + padding: 0; + font-size: 12px; + gap: 5px; +} + +fieldset.row { + flex-direction: row; + align-items: center; + gap: 10px; +} + +label { + font-size: 12px; + font-weight: 600; +} + +select, +input[type='text'], +input[type='url'], +input[type='email'], +input[type='password'], +input[type='file'], +input[type='number'], +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'], +input[type='color'], +textarea { + border-radius: 5px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + font-size: 12px; + outline: 0; + color: var(--brand-text); + width: 50%; + min-width: 200px; + padding: 8px 12px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +textarea { + min-height: 64px; + resize: none; +} + +textarea.resizable { + resize: both; +} + +select.full, +input[type='text'].full, +input[type='email'].full, +input[type='url'].full, +input[type='password'].full, +input[type='file'].full, +input[type='number'].full, +input[type='date'].full, +input[type='time'].full, +input[type='datetime-local'].full, +input[type='month'].full, +input[type='week'].full, +input[type='range'].full, +textarea.full { + width: 95%; +} + +select:focus, +select:not(:disabled):hover, +input[type='text']:not(:read-only):focus, +input[type='text']:not(:disabled):not(:read-only):hover, +input[type='email']:not(:read-only):focus, +input[type='email']:not(:disabled):not(:read-only):hover, +input[type='url']:not(:read-only):focus, +input[type='url']:not(:disabled):not(:read-only):hover, +input[type='password']:not(:read-only):focus, +input[type='password']:not(:disabled):not(:read-only):hover, +input[type='file']:not(:read-only):focus, +input[type='file']:not(:disabled):not(:read-only):hover, +input[type='number']:not(:read-only):focus, +input[type='number']:not(:disabled):not(:read-only):hover, +input[type='date']:not(:read-only):focus, +input[type='date']:not(:disabled):not(:read-only):hover, +input[type='time']:not(:read-only):focus, +input[type='time']:not(:disabled):not(:read-only):hover, +input[type='datetime-local']:not(:read-only):focus, +input[type='datetime-local']:not(:disabled):not(:read-only):hover, +input[type='month']:not(:read-only):focus, +input[type='month']:not(:disabled):not(:read-only):hover, +input[type='week']:not(:read-only):focus, +input[type='week']:not(:disabled):not(:read-only):hover, +textarea:not(:read-only):focus, +textarea:not(:disabled):not(:read-only):hover, +input[type='checkbox']:focus, +input[type='checkbox']:not(:disabled):hover, +input[type='radio']:focus, +input[type='radio']:not(:disabled):hover, +input[type='color']:focus, +input[type='color']:not(:disabled):hover { + border-color: var(--brand-input-border-highlight); +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'] { + width: 200px; + min-width: auto; +} + +.theme-dark ::-webkit-calendar-picker-indicator { + filter: invert(1); +} + +::-webkit-datetime-edit-day-field:focus, +::-webkit-datetime-edit-month-field:focus, +::-webkit-datetime-edit-year-field:focus, +::-webkit-datetime-edit-hour-field:focus, +::-webkit-datetime-edit-minute-field:focus, +::-webkit-datetime-edit-week-field:focus { + background-color: var(--brand-primary); + color: #ffffff; +} + +::-webkit-outer-spin-button, +::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type='file'] { + padding: 4px 12px; +} + +select { + appearance: none; +} + +select:not([multiple]):not(:disabled) { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-size: 12px; + background-position: calc(100% - 12px) 12px; + background-color: var(--brand-input-background); +} + +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + +option { + color: var(--brand-text); + padding: 6px; + margin-bottom: 1px; +} + +option:hover { + background: var(--brand-input-border) + linear-gradient(0deg, var(--brand-input-border) 0%, var(--brand-input-border) 100%); + border-radius: 5px; +} + +option:checked { + background: var(--brand-primary) linear-gradient(0deg, var(--brand-primary) 0%, var(--brand-primary) 100%); + color: #ffffff; + border-radius: 5px; +} + +input[type='range'] { + -webkit-appearance: none; + height: 20px; + width: 200px; + background: transparent; + outline: none; +} + +input[type='range']::-webkit-slider-runnable-track { + -webkit-appearance: none; + height: 10px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + border-radius: 5px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: 20px; + width: 20px; + border-radius: 5px; + margin-top: -6px; + border: 1px solid var(--brand-input-border); + background: var(--brand-input-background); + cursor: pointer; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']:hover::-webkit-slider-runnable-track, +input[type='range']:focus::-webkit-slider-runnable-track, +input[type='range']:hover::-webkit-slider-thumb, +input[type='range']:focus::-webkit-slider-thumb { + border-color: var(--brand-input-border-highlight); +} + +button:disabled, +select:disabled, +input:disabled, +textarea:disabled, +footer a:disabled, +a[disabled] { + opacity: 0.3; + cursor: default; + pointer-events: none; + resize: none; +} + +select:invalid, +input:invalid, +textarea:invalid { + border-color: var(--brand-error); +} + +fieldset > span { + margin-left: 10px; + width: 50px; +} + +input[type='text'].large, +input[type='password'].large, +input[type='file'].large, +input[type='email'].large, +input[type='url'].large, +input[type='date'].large, +input[type='time'].large { + font-size: 20px; + padding: 20px 10px; +} + +input[type='text'].center, +input[type='password'].center, +input[type='email'].center, +input[type='url'].center { + text-align: center; +} + +input[type='checkbox'], +input[type='radio'] { + appearance: none; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + color: var(--brand-input-text); + outline: 0; + width: 20px; + height: 20px; + margin: 2px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='radio'] { + border-radius: 50%; +} + +input[type='checkbox']::before, +input[type='radio']::before { + content: ''; + display: none; + width: 16px; + height: 16px; + margin: 1px; + background-color: var(--brand-text); + opacity: 0.8; +} + +input[type='checkbox']:checked::before { + display: inline-block; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +input[type='radio']:checked::before { + display: inline-block; + clip-path: circle(35% at 52% 50%); +} + +input[type='checkbox'] + label, +input[type='radio'] + label { + white-space: nowrap; +} + +input[type='color'] { + width: 100px; + min-width: auto; + padding: 5px; +} + +input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + background: transparent; +} + +input[type='color']::-webkit-color-swatch { + border-radius: 5px; + border: none; +} + +/* This disables the auto zoom on iDevices */ +@supports (-webkit-touch-callout: none) { + select, + input[type='text'], + input[type='url'], + input[type='email'], + input[type='password'], + input[type='file'], + input[type='number'], + input[type='date'], + input[type='time'], + input[type='datetime-local'], + input[type='month'], + input[type='week'], + input[type='color'], + textarea { + font-size: 16px; + } +} + +hr { + width: 100%; + border: 0; + border-bottom: 1px solid var(--brand-input-border); +} + +ul { + font-size: 12px; + display: flex; + flex-direction: column; + gap: 10px; + list-style-type: none; +} + +li { + font-size: 12px; + position: relative; + padding: 0 0 10px; +} + +li::before { + content: ' '; + display: inline-block; + background-color: var(--brand-primary); + width: 8px; + height: 8px; + border-radius: 2px; + position: absolute; + left: -13px; + top: 3px; +} + +em { + font-size: 12px; +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.fill { + flex: 1; +} + +.fill_2 { + flex: 2; +} + +.scroll { + overflow: auto; +} + +.scroll-vertical { + overflow-y: auto; +} + +.scroll-horizontal { + overflow-x: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.middle { + align-items: center; +} + +.bottom { + align-items: flex-end; +} + +.spread { + justify-content: space-between; +} + +.around { + justify-content: space-around; +} + +.left { + display: flex; + align-items: flex-start; +} + +.center { + display: flex; + justify-content: center; +} + +.right { + display: flex; + justify-content: flex-end; +} + +.wrap { + flex-wrap: wrap; +} + +.gap5 { + gap: 5px; +} + +.gap10 { + gap: 10px; +} + +.gap20 { + gap: 20px; +} + +.gap40 { + gap: 40px; +} + +.pad10 { + padding: 10px; +} + +.pad20 { + padding: 20px; +} + +.pad0 { + padding: 0px; +} + +.table { + display: flex; + flex: 1; + flex-direction: column; + font-size: 10px; +} + +table { + width: 100%; + font-size: 10px; + border: 0; + border-collapse: collapse; +} + +table, +.table { + border: var(--brand-input-border) 1px solid; +} + +.table-row { + display: flex; + flex: 1; + flex-direction: row; +} + +table > tr:first-child, +thead > tr, +.table-row.header { + background-color: var(--brand-table-header); +} + +table > tr:nth-child(even), +.table > div:nth-child(even), +tbody > tr:nth-child(odd) { + background-color: var(--brand-table-row-even); +} + +table > tr:nth-child(odd), +.table > div:not(:first-child):nth-child(odd), +tbody > tr:nth-child(even) { + background-color: var(--brand-table-row-odd); +} + +th, +.table-row.header > div { + color: var(--brand-table-header-text); + font-weight: bold; + padding: 10px 5px; + text-align: left; + word-break: break-word; +} + +.table-row > div { + flex: 1; +} + +td, +.table-row:not(.header) > div { + padding: 5px; + word-break: break-word; + color: var(--brand-text); +} + +.table-row:not(.header) > div { + display: flex; + align-items: center; +} + +@media screen and (max-width: 736px) { + .table-row { + flex-direction: column; + } + + .table-row.header { + display: none; + } + + .table-row:not(.header) > div { + display: flex; + align-items: center; + flex: 1; + gap: 10px; + } + + .table-row:not(.header) > div:before { + content: attr(data-name); + font-weight: bold; + white-space: nowrap; + width: 20%; + } + + .table-row > div.right { + justify-content: flex-start; + } + + .table-row > div.center { + justify-content: flex-start; + } +} + +.border { + border: 1px solid var(--brand-input-border); + border-radius: 5px; +} + +.drag { + user-select: none; + -webkit-app-region: drag; +} + +.no-drag { + -webkit-app-region: none; +} + +.form { + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; + font-size: 12px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; +} + +.form-group.large { + gap: 20px; +} + +.width-full { + width: 100%; +} + +.max-width-full { + max-width: 100%; +} + +.width-responsive { + max-width: fit-content; +} + +.hidden { + display: none; +} + +.pointer { + cursor: pointer; +} + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/use-security-realms/scripts/kill.mjs b/how-to/use-security-realms/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/use-security-realms/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/use-security-realms/scripts/launch.mjs b/how-to/use-security-realms/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/use-security-realms/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/use-security-realms/server/src/index.ts b/how-to/use-security-realms/server/src/index.ts deleted file mode 100755 index 3a135273..00000000 --- a/how-to/use-security-realms/server/src/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import express from "express"; -import path from "path"; - -const app = express(); - -const mainPath = path.join(__dirname, "..", "..", "public"); -const commonPath = path.join(__dirname, "..", "..", "..", "common", "public"); -const port = 5050; - -console.log(`Main Path / = ${mainPath}`); -console.log(`Common Path /common = ${commonPath}`); -console.log("Root path checks both the main and common directories."); -app.use(express.static(mainPath)); -app.use("/common", express.static(commonPath)); -app.listen(port, () => { - console.log("server is listening on port", port); -}); diff --git a/how-to/use-security-realms/server/tsconfig.json b/how-to/use-security-realms/server/tsconfig.json deleted file mode 100755 index 86f342dd..00000000 --- a/how-to/use-security-realms/server/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "es2021", - "module": "commonjs", - "sourceMap": true, - "rootDir": "./src", - "outDir": "build", - "skipLibCheck": true, - "strict": false, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "moduleResolution": "node" - }, - "include": ["./src/**/*.ts"] -} diff --git a/scripts/common-files.json b/scripts/common-files.json index 1edcddd2..896a1dbe 100644 --- a/scripts/common-files.json +++ b/scripts/common-files.json @@ -388,5 +388,30 @@ "files": ["fin.d.ts"] } ] + }, + { + "name": "use-security-realms", + "fileGroups": [ + { + "srcFolder": "how-to/container-platform-starter/public", + "destFolder": "how-to/use-security-realms/public", + "files": ["favicon.ico"] + }, + { + "srcFolder": "how-to/container-platform-starter/public/common", + "destFolder": "how-to/use-security-realms/public/common", + "files": ["images/icon-blue.png", "style/app.css"] + }, + { + "srcFolder": "how-to/container-platform-starter/scripts", + "destFolder": "how-to/use-security-realms/scripts", + "files": ["kill.mjs", "launch.mjs"] + }, + { + "srcFolder": "how-to/container-platform-starter/client/types", + "destFolder": "how-to/use-security-realms/client/types", + "files": ["fin.d.ts"] + } + ] } ] From b0a3d2a9977c910575d89a1f58dc25faefbbbe55 Mon Sep 17 00:00:00 2001 From: Martyn Janes Date: Tue, 11 Jul 2023 12:52:31 +0200 Subject: [PATCH 05/12] Use window options --- .../use-window-options/client/types/fin.d.ts | 5 + how-to/use-window-options/package.json | 16 +- .../public/common/images/icon-blue.png | Bin 0 -> 1028 bytes .../public/common/style/app.css | 929 ++++++++++++++++++ how-to/use-window-options/scripts/kill.mjs | 34 + how-to/use-window-options/scripts/launch.mjs | 133 +++ how-to/use-window-options/server/src/index.ts | 17 - .../use-window-options/server/tsconfig.json | 15 - scripts/common-files.json | 25 + 9 files changed, 1131 insertions(+), 43 deletions(-) create mode 100644 how-to/use-window-options/client/types/fin.d.ts create mode 100644 how-to/use-window-options/public/common/images/icon-blue.png create mode 100644 how-to/use-window-options/public/common/style/app.css create mode 100644 how-to/use-window-options/scripts/kill.mjs create mode 100644 how-to/use-window-options/scripts/launch.mjs delete mode 100644 how-to/use-window-options/server/src/index.ts delete mode 100644 how-to/use-window-options/server/tsconfig.json diff --git a/how-to/use-window-options/client/types/fin.d.ts b/how-to/use-window-options/client/types/fin.d.ts new file mode 100644 index 00000000..8936d86c --- /dev/null +++ b/how-to/use-window-options/client/types/fin.d.ts @@ -0,0 +1,5 @@ +import type { fin as FinApi } from "@openfin/core"; + +declare global { + const fin: typeof FinApi; +} diff --git a/how-to/use-window-options/package.json b/how-to/use-window-options/package.json index 1b92cd23..f3c6a591 100644 --- a/how-to/use-window-options/package.json +++ b/how-to/use-window-options/package.json @@ -4,23 +4,17 @@ "description": "A demonstration of the different options available when opening windows", "main": "index.js", "scripts": { - "build": "npm run build-server & npm run build-client", - "build-server": "tsc --project ./server", + "kill": "node ./scripts/kill.mjs", + "client": "node ./scripts/launch.mjs", "build-client": "webpack build --config ./client/webpack.config.js --mode=development", - "build-client-prod": "webpack build --config ./client/webpack.config.js --mode=production", - "start": "npm run server", - "client": "npm --prefix ../common/ run client", - "server": "node ./server/build/index.js", - "kill": "npm --prefix ../common/ run kill", - "setup": "cd ../../ && npm install && cd how-to/use-window-options && npm run build", - "validate": "npm --prefix ../../ run validate" + "build": "npm run build-client", + "start": "npx --yes http-server ./public -p 5050 -c-1", + "setup": "cd ../../ && npm install && cd how-to/use-window-options && npm run build" }, "author": "martyn.janes@openfin.co", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", "openfin-adapter": "^28.72.17", - "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", diff --git a/how-to/use-window-options/public/common/images/icon-blue.png b/how-to/use-window-options/public/common/images/icon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fc78450293c9ff813b9d8bb19e5f3918795beeba GIT binary patch literal 1028 zcmV+f1pE7mP);txuo(sHhB6W3YG5`oAu(|@5JwGR0@_rb|qK6~mh) zPHNEo2hGbNd@X023)BVmoi;D4qu}=porgN=f+RB`pNBf?f(8a)4R$&( ztl0hqyjrQv$VwS4M=U6fJcptvY;wwOTW@8aWGyI3p0oH8*6`g72chvV5wl8kS)i&bleVxAK(7h5FbCl=%?&*4(x8Oj#h@e>PjndfYNfe4%N6AN;g z=ai&^EXGeR$YGu%-Lh@Q_a7V@NGwSFTNLCu(*Db)|4S^$WuDV7sDDI7kjp%WUAzRF zvs7Y1uJWAm3EA@Gd$uVLRz-SsSvSwAo`eOnr+N}!h80$M(B2;K=_7C|mwukZne%W~ z(5yx?=lQ&SA1IDH(#UhTlvvDJuZAt!11=?QCajl|_JpJom`U@TBv1fb5T3HrxRxmO zL{XaOG=fWpyAqq&G*O9MrFl+0l*4>SvQadPN~++7sjRAOq@xB(q3+_K>!^KByxEN%AD^ z9gMWi^+C3Ijua img { + width: 32px; + height: 32px; +} +button.secondary { + background-color: var(--brand-input-background); + color: var(--brand-text); + border-color: var(--brand-input-border); +} +button.secondary:not(:disabled):hover { + background-color: var(--brand-input-background); +} +button.plain { + border-color: transparent; + background-color: transparent; + color: var(--brand-primary); +} +button.plain:not(:disabled):not(:read-only):hover { + border-color: transparent; + background-color: transparent; +} + +button.small, +::-webkit-file-upload-button, +td button { + padding: 5px 10px; + font-size: 10px; +} +td button.plain { + width: auto; + height: auto; +} + +button.center { + text-align: center; +} + +::-webkit-file-upload-button { + margin-right: 10px; +} + +pre { + margin: 0; + padding: 5px; + border-radius: 5px; + font-size: 12px; + font-family: 'Courier New', Courier, monospace; + white-space: pre-wrap; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + width: 100%; + min-height: 20px; +} + +header { + padding-bottom: 10px; + border-bottom: 2px solid var(--brand-border); +} + +footer { + padding-top: 10px; + border-top: 1px solid var(--brand-border); +} + +fieldset { + display: flex; + flex-direction: column; + align-items: flex-start; + border: 0; + padding: 0; + font-size: 12px; + gap: 5px; +} + +fieldset.row { + flex-direction: row; + align-items: center; + gap: 10px; +} + +label { + font-size: 12px; + font-weight: 600; +} + +select, +input[type='text'], +input[type='url'], +input[type='email'], +input[type='password'], +input[type='file'], +input[type='number'], +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'], +input[type='color'], +textarea { + border-radius: 5px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + font-size: 12px; + outline: 0; + color: var(--brand-text); + width: 50%; + min-width: 200px; + padding: 8px 12px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +textarea { + min-height: 64px; + resize: none; +} + +textarea.resizable { + resize: both; +} + +select.full, +input[type='text'].full, +input[type='email'].full, +input[type='url'].full, +input[type='password'].full, +input[type='file'].full, +input[type='number'].full, +input[type='date'].full, +input[type='time'].full, +input[type='datetime-local'].full, +input[type='month'].full, +input[type='week'].full, +input[type='range'].full, +textarea.full { + width: 95%; +} + +select:focus, +select:not(:disabled):hover, +input[type='text']:not(:read-only):focus, +input[type='text']:not(:disabled):not(:read-only):hover, +input[type='email']:not(:read-only):focus, +input[type='email']:not(:disabled):not(:read-only):hover, +input[type='url']:not(:read-only):focus, +input[type='url']:not(:disabled):not(:read-only):hover, +input[type='password']:not(:read-only):focus, +input[type='password']:not(:disabled):not(:read-only):hover, +input[type='file']:not(:read-only):focus, +input[type='file']:not(:disabled):not(:read-only):hover, +input[type='number']:not(:read-only):focus, +input[type='number']:not(:disabled):not(:read-only):hover, +input[type='date']:not(:read-only):focus, +input[type='date']:not(:disabled):not(:read-only):hover, +input[type='time']:not(:read-only):focus, +input[type='time']:not(:disabled):not(:read-only):hover, +input[type='datetime-local']:not(:read-only):focus, +input[type='datetime-local']:not(:disabled):not(:read-only):hover, +input[type='month']:not(:read-only):focus, +input[type='month']:not(:disabled):not(:read-only):hover, +input[type='week']:not(:read-only):focus, +input[type='week']:not(:disabled):not(:read-only):hover, +textarea:not(:read-only):focus, +textarea:not(:disabled):not(:read-only):hover, +input[type='checkbox']:focus, +input[type='checkbox']:not(:disabled):hover, +input[type='radio']:focus, +input[type='radio']:not(:disabled):hover, +input[type='color']:focus, +input[type='color']:not(:disabled):hover { + border-color: var(--brand-input-border-highlight); +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'], +input[type='week'] { + width: 200px; + min-width: auto; +} + +.theme-dark ::-webkit-calendar-picker-indicator { + filter: invert(1); +} + +::-webkit-datetime-edit-day-field:focus, +::-webkit-datetime-edit-month-field:focus, +::-webkit-datetime-edit-year-field:focus, +::-webkit-datetime-edit-hour-field:focus, +::-webkit-datetime-edit-minute-field:focus, +::-webkit-datetime-edit-week-field:focus { + background-color: var(--brand-primary); + color: #ffffff; +} + +::-webkit-outer-spin-button, +::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type='file'] { + padding: 4px 12px; +} + +select { + appearance: none; +} + +select:not([multiple]):not(:disabled) { + appearance: none; + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-size: 12px; + background-position: calc(100% - 12px) 12px; + background-color: var(--brand-input-background); +} + +.theme-dark select:not([multiple]):not(:disabled) { + background-image: url("data:image/svg+xml;utf8,"); +} + +option { + color: var(--brand-text); + padding: 6px; + margin-bottom: 1px; +} + +option:hover { + background: var(--brand-input-border) + linear-gradient(0deg, var(--brand-input-border) 0%, var(--brand-input-border) 100%); + border-radius: 5px; +} + +option:checked { + background: var(--brand-primary) linear-gradient(0deg, var(--brand-primary) 0%, var(--brand-primary) 100%); + color: #ffffff; + border-radius: 5px; +} + +input[type='range'] { + -webkit-appearance: none; + height: 20px; + width: 200px; + background: transparent; + outline: none; +} + +input[type='range']::-webkit-slider-runnable-track { + -webkit-appearance: none; + height: 10px; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + border-radius: 5px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + height: 20px; + width: 20px; + border-radius: 5px; + margin-top: -6px; + border: 1px solid var(--brand-input-border); + background: var(--brand-input-background); + cursor: pointer; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='range']:hover::-webkit-slider-runnable-track, +input[type='range']:focus::-webkit-slider-runnable-track, +input[type='range']:hover::-webkit-slider-thumb, +input[type='range']:focus::-webkit-slider-thumb { + border-color: var(--brand-input-border-highlight); +} + +button:disabled, +select:disabled, +input:disabled, +textarea:disabled, +footer a:disabled, +a[disabled] { + opacity: 0.3; + cursor: default; + pointer-events: none; + resize: none; +} + +select:invalid, +input:invalid, +textarea:invalid { + border-color: var(--brand-error); +} + +fieldset > span { + margin-left: 10px; + width: 50px; +} + +input[type='text'].large, +input[type='password'].large, +input[type='file'].large, +input[type='email'].large, +input[type='url'].large, +input[type='date'].large, +input[type='time'].large { + font-size: 20px; + padding: 20px 10px; +} + +input[type='text'].center, +input[type='password'].center, +input[type='email'].center, +input[type='url'].center { + text-align: center; +} + +input[type='checkbox'], +input[type='radio'] { + appearance: none; + border: 1px solid var(--brand-input-border); + background-color: var(--brand-input-background); + color: var(--brand-input-text); + outline: 0; + width: 20px; + height: 20px; + margin: 2px; + box-shadow: rgb(0 0 0 / 25%) 0px 4px 4px; + transition-property: background-color, color, opacity; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1); +} + +input[type='radio'] { + border-radius: 50%; +} + +input[type='checkbox']::before, +input[type='radio']::before { + content: ''; + display: none; + width: 16px; + height: 16px; + margin: 1px; + background-color: var(--brand-text); + opacity: 0.8; +} + +input[type='checkbox']:checked::before { + display: inline-block; + clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); +} +input[type='radio']:checked::before { + display: inline-block; + clip-path: circle(35% at 52% 50%); +} + +input[type='checkbox'] + label, +input[type='radio'] + label { + white-space: nowrap; +} + +input[type='color'] { + width: 100px; + min-width: auto; + padding: 5px; +} + +input[type='color']::-webkit-color-swatch-wrapper { + padding: 0; + background: transparent; +} + +input[type='color']::-webkit-color-swatch { + border-radius: 5px; + border: none; +} + +/* This disables the auto zoom on iDevices */ +@supports (-webkit-touch-callout: none) { + select, + input[type='text'], + input[type='url'], + input[type='email'], + input[type='password'], + input[type='file'], + input[type='number'], + input[type='date'], + input[type='time'], + input[type='datetime-local'], + input[type='month'], + input[type='week'], + input[type='color'], + textarea { + font-size: 16px; + } +} + +hr { + width: 100%; + border: 0; + border-bottom: 1px solid var(--brand-input-border); +} + +ul { + font-size: 12px; + display: flex; + flex-direction: column; + gap: 10px; + list-style-type: none; +} + +li { + font-size: 12px; + position: relative; + padding: 0 0 10px; +} + +li::before { + content: ' '; + display: inline-block; + background-color: var(--brand-primary); + width: 8px; + height: 8px; + border-radius: 2px; + position: absolute; + left: -13px; + top: 3px; +} + +em { + font-size: 12px; +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.fill { + flex: 1; +} + +.fill_2 { + flex: 2; +} + +.scroll { + overflow: auto; +} + +.scroll-vertical { + overflow-y: auto; +} + +.scroll-horizontal { + overflow-x: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.middle { + align-items: center; +} + +.bottom { + align-items: flex-end; +} + +.spread { + justify-content: space-between; +} + +.around { + justify-content: space-around; +} + +.left { + display: flex; + align-items: flex-start; +} + +.center { + display: flex; + justify-content: center; +} + +.right { + display: flex; + justify-content: flex-end; +} + +.wrap { + flex-wrap: wrap; +} + +.gap5 { + gap: 5px; +} + +.gap10 { + gap: 10px; +} + +.gap20 { + gap: 20px; +} + +.gap40 { + gap: 40px; +} + +.pad10 { + padding: 10px; +} + +.pad20 { + padding: 20px; +} + +.pad0 { + padding: 0px; +} + +.table { + display: flex; + flex: 1; + flex-direction: column; + font-size: 10px; +} + +table { + width: 100%; + font-size: 10px; + border: 0; + border-collapse: collapse; +} + +table, +.table { + border: var(--brand-input-border) 1px solid; +} + +.table-row { + display: flex; + flex: 1; + flex-direction: row; +} + +table > tr:first-child, +thead > tr, +.table-row.header { + background-color: var(--brand-table-header); +} + +table > tr:nth-child(even), +.table > div:nth-child(even), +tbody > tr:nth-child(odd) { + background-color: var(--brand-table-row-even); +} + +table > tr:nth-child(odd), +.table > div:not(:first-child):nth-child(odd), +tbody > tr:nth-child(even) { + background-color: var(--brand-table-row-odd); +} + +th, +.table-row.header > div { + color: var(--brand-table-header-text); + font-weight: bold; + padding: 10px 5px; + text-align: left; + word-break: break-word; +} + +.table-row > div { + flex: 1; +} + +td, +.table-row:not(.header) > div { + padding: 5px; + word-break: break-word; + color: var(--brand-text); +} + +.table-row:not(.header) > div { + display: flex; + align-items: center; +} + +@media screen and (max-width: 736px) { + .table-row { + flex-direction: column; + } + + .table-row.header { + display: none; + } + + .table-row:not(.header) > div { + display: flex; + align-items: center; + flex: 1; + gap: 10px; + } + + .table-row:not(.header) > div:before { + content: attr(data-name); + font-weight: bold; + white-space: nowrap; + width: 20%; + } + + .table-row > div.right { + justify-content: flex-start; + } + + .table-row > div.center { + justify-content: flex-start; + } +} + +.border { + border: 1px solid var(--brand-input-border); + border-radius: 5px; +} + +.drag { + user-select: none; + -webkit-app-region: drag; +} + +.no-drag { + -webkit-app-region: none; +} + +.form { + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; + font-size: 12px; +} + +.form-group { + display: flex; + flex-direction: column; + gap: 10px; + background-color: var(--brand-table-header); + border: var(--brand-input-border) 1px solid; + border-radius: 5px; + padding: 10px; +} + +.form-group.large { + gap: 20px; +} + +.width-full { + width: 100%; +} + +.max-width-full { + max-width: 100%; +} + +.width-responsive { + max-width: fit-content; +} + +.hidden { + display: none; +} + +.pointer { + cursor: pointer; +} + +.nowrap { + white-space: nowrap; +} diff --git a/how-to/use-window-options/scripts/kill.mjs b/how-to/use-window-options/scripts/kill.mjs new file mode 100644 index 00000000..634090b0 --- /dev/null +++ b/how-to/use-window-options/scripts/kill.mjs @@ -0,0 +1,34 @@ +/** + * This script will kill all OpenFin tasks from running. + * Useful if you want to make sure you have nothing left running in the background. + */ +import { exec } from 'child_process'; + +console.log('Kill All OpenFin Tasks'); +console.log('======================'); +console.log(); + +console.log(`Platform: ${process.platform}`); + +const isWindows = process.platform.startsWith('win'); +console.log('Running on Windows:', isWindows); + +const cmd = isWindows + ? `cmd.exe /c taskkill /F /IM OpenFin.exe /T & cmd.exe /c taskkill /F /IM OpenFinRVM.exe /T` + : `pkill -9 OpenFin`; + +console.log(); +console.log('Command:', cmd); +console.log(); + +exec(cmd, (error, stdout, stderr) => { + if (error) { + console.log(error.message); + return; + } + if (stderr) { + console.log(stderr); + return; + } + console.log(stdout); +}); diff --git a/how-to/use-window-options/scripts/launch.mjs b/how-to/use-window-options/scripts/launch.mjs new file mode 100644 index 00000000..ed19a3a6 --- /dev/null +++ b/how-to/use-window-options/scripts/launch.mjs @@ -0,0 +1,133 @@ +/* eslint-disable unicorn/no-process-exit */ +/** + * This script will launch an OpenFin application. + * It uses the OpenFin NodeJS adapter to launch the url specified on the command line. + * Pressing Ctrl+C/Command+C will terminate the application. + */ +import { setDefaultResultOrder } from 'dns'; +import { connect, launch } from 'openfin-adapter'; + +/** + * Run the process. + * @param manifestUrl The manifest to launch. + */ +async function run(manifestUrl) { + try { + let quitRequested = false; + let quit; + + const fin = await launchFromNode(manifestUrl); + + if (fin) { + const manifest = await fin.System.fetchManifest(manifestUrl); + + if (manifest.platform?.uuid !== undefined) { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling platform quit'); + const platform = fin.Platform.wrapSync({ uuid: manifest.platform.uuid }); + await platform.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped target platform: ${manifest.platform.uuid}`); + } else { + quit = async () => { + try { + if (!quitRequested) { + quitRequested = true; + console.log('Calling application quit'); + const app = fin.Application.wrapSync({ uuid: manifest.startup_app.uuid }); + await app.quit(); + } + } catch (err) { + console.error(err); + } + }; + console.log(`Wrapped classic app: ${manifest.startup_app.uuid}`); + } + + // do something when app is closing + process.on('exit', async () => { + console.log('Process exit called'); + await quit(); + }); + + // catches ctrl+c event + process.on('SIGINT', async () => { + console.log('Ctrl + C called'); + await quit(); + }); + + console.log(`You successfully connected to the manifest: ${manifestUrl}`); + console.log(`Please wait while the sample loads.`); + console.log(); + console.log(`If using browser use the Quit option from the main menu.`); + console.log(`Otherwise press Ctrl + C (Windows) or Command + C (Mac) to exit and close the sample.`); + console.log(); + } + } catch (e) { + console.error(`Error: Connection failed`); + console.error(e.message); + } +} + +/** + * Launch the manifest using the node adapter. + * @param manifestUrl The manifest to launch. + * @param exitMethod The method to call if the adapter connection exits. + * @returns The fin object representing the connection. + */ +async function launchFromNode(manifestUrl, exitMethod) { + try { + console.log(`Launching manifest...`); + console.log(); + + const port = await launch({ manifestUrl }); + + // We will use the port to connect from Node to determine when OpenFin exists. + const fin = await connect({ + uuid: `dev-connection-${Date.now()}`, // Supply an addressable Id for the connection + address: `ws://127.0.0.1:${port}`, // Connect to the given port. + nonPersistent: true // We want OpenFin to exit as our application exists. + }); + + // Once OpenFin exits we shut down the process. + fin.once('disconnected', () => { + console.log('Platform disconnected'); + console.log('Exiting process'); + process.exit(); + }); + + return fin; + } catch (e) { + console.error('Error: Failed launching manifest'); + console.error(e.message); + if (e.message.includes('Could not locate')) { + console.error('Is the web server running and the manifest JSON valid ?'); + } + } +} + +console.log('Launch Manifest'); +console.log('==============='); +console.log(); +console.log(`Platform: ${process.platform}`); + +const launchArgs = process.argv.slice(2); +const manifest = launchArgs.length > 0 ? launchArgs[0] : 'http://localhost:5050/manifest.fin.json'; +console.log(`Manifest: ${manifest}`); + +try { + setDefaultResultOrder('ipv4first'); +} catch { + // Early versions of node do not support this method, but those earlier versions + // also do not have the same issue with interface ordering, so it doesn't matter + // that it hasn't been called. +} + +run(manifest).catch((err) => console.error(err)); diff --git a/how-to/use-window-options/server/src/index.ts b/how-to/use-window-options/server/src/index.ts deleted file mode 100644 index 3a135273..00000000 --- a/how-to/use-window-options/server/src/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import express from "express"; -import path from "path"; - -const app = express(); - -const mainPath = path.join(__dirname, "..", "..", "public"); -const commonPath = path.join(__dirname, "..", "..", "..", "common", "public"); -const port = 5050; - -console.log(`Main Path / = ${mainPath}`); -console.log(`Common Path /common = ${commonPath}`); -console.log("Root path checks both the main and common directories."); -app.use(express.static(mainPath)); -app.use("/common", express.static(commonPath)); -app.listen(port, () => { - console.log("server is listening on port", port); -}); diff --git a/how-to/use-window-options/server/tsconfig.json b/how-to/use-window-options/server/tsconfig.json deleted file mode 100644 index 86f342dd..00000000 --- a/how-to/use-window-options/server/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "target": "es2021", - "module": "commonjs", - "sourceMap": true, - "rootDir": "./src", - "outDir": "build", - "skipLibCheck": true, - "strict": false, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "moduleResolution": "node" - }, - "include": ["./src/**/*.ts"] -} diff --git a/scripts/common-files.json b/scripts/common-files.json index 896a1dbe..e49a7ed5 100644 --- a/scripts/common-files.json +++ b/scripts/common-files.json @@ -413,5 +413,30 @@ "files": ["fin.d.ts"] } ] + }, + { + "name": "use-window-options", + "fileGroups": [ + { + "srcFolder": "how-to/container-platform-starter/public", + "destFolder": "how-to/use-window-options/public", + "files": ["favicon.ico"] + }, + { + "srcFolder": "how-to/container-platform-starter/public/common", + "destFolder": "how-to/use-window-options/public/common", + "files": ["images/icon-blue.png", "style/app.css"] + }, + { + "srcFolder": "how-to/container-platform-starter/scripts", + "destFolder": "how-to/use-window-options/scripts", + "files": ["kill.mjs", "launch.mjs"] + }, + { + "srcFolder": "how-to/container-platform-starter/client/types", + "destFolder": "how-to/use-window-options/client/types", + "files": ["fin.d.ts"] + } + ] } ] From b12a4fbd88e9cf00e8da7d855b8419a396d6c0c8 Mon Sep 17 00:00:00 2001 From: Martyn Janes Date: Tue, 11 Jul 2023 14:36:38 +0200 Subject: [PATCH 06/12] Enable strict mode --- .eslintrc.js | 3 +- how-to/create-window/client/src/app.ts | 31 +- how-to/create-window/client/tsconfig.json | 2 +- how-to/integration-excel/client/src/excel.ts | 319 ++++++++++-------- .../client/src/fdc3monitor.ts | 22 +- .../client/src/provider-tray.ts | 17 +- how-to/integration-excel/client/tsconfig.json | 2 +- .../client/src/app.ts | 6 +- .../client/src/provider.ts | 80 ++--- .../client/src/window.ts | 19 +- .../client/tsconfig.json | 2 +- .../client/src/app.ts | 70 ++-- .../client/src/default-platform-window.ts | 26 +- .../client/tsconfig.json | 2 +- .../basic/server/tsconfig.json | 2 +- .../client/src/provider.ts | 71 ++-- .../client/src/window.ts | 64 ++-- .../client/tsconfig.json | 2 +- .../client/src/app.ts | 12 +- .../client/tsconfig.json | 2 +- how-to/use-logging-apis/client/src/app.ts | 30 +- how-to/use-logging-apis/client/tsconfig.json | 2 +- how-to/use-logging-apis/server/tsconfig.json | 2 +- .../client/src/dialog.ts | 42 ++- .../client/src/provider.ts | 14 +- .../client/src/view.ts | 27 +- .../client/tsconfig.json | 2 +- .../advanced/client/src/app.ts | 23 +- .../advanced/client/src/popup.ts | 32 +- .../advanced/client/tsconfig.json | 2 +- .../use-popup-window/modal/client/src/app.ts | 14 +- .../modal/client/src/popup.ts | 26 +- .../modal/client/tsconfig.json | 2 +- .../multiple-results/client/src/app.ts | 20 +- .../multiple-results/client/tsconfig.json | 2 +- .../single-result/client/src/app.ts | 23 +- .../single-result/client/src/popup.ts | 24 +- .../single-result/client/tsconfig.json | 2 +- how-to/use-preloads/basic/client/src/app.ts | 12 +- .../use-preloads/basic/client/tsconfig.json | 2 +- .../restart-on-refresh/client/tsconfig.json | 2 +- .../public/js/preload-view.bundle.js | 4 +- how-to/use-security-realms/client/src/app.ts | 56 +-- .../client/src/view-app.ts | 70 ++-- .../use-security-realms/client/tsconfig.json | 2 +- how-to/use-window-options/client/src/app.ts | 269 +++++++++------ .../use-window-options/client/tsconfig.json | 2 +- tsconfig.eslint.json | 3 +- 48 files changed, 887 insertions(+), 578 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 85165797..9b4ad2e7 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -653,8 +653,7 @@ module.exports = { '@typescript-eslint/prefer-function-type': ['error'], '@typescript-eslint/prefer-includes': ['error'], '@typescript-eslint/prefer-namespace-keyword': ['error'], - // '@typescript-eslint/prefer-nullish-coalescing': ['error'], - '@typescript-eslint/prefer-nullish-coalescing': ['off'], + '@typescript-eslint/prefer-nullish-coalescing': ['error'], '@typescript-eslint/prefer-optional-chain': ['error'], '@typescript-eslint/prefer-readonly': ['error'], '@typescript-eslint/prefer-readonly-parameter-types': ['off'], diff --git a/how-to/create-window/client/src/app.ts b/how-to/create-window/client/src/app.ts index 367e074f..1e6ec099 100644 --- a/how-to/create-window/client/src/app.ts +++ b/how-to/create-window/client/src/app.ts @@ -43,27 +43,34 @@ async function openDataWindow(): Promise { } async function openDataPlatformWindow(): Promise { - const viewOption = { + const viewOption: OpenFin.PlatformViewCreationOptions = { name: "childview-data", url: "http://localhost:5050/html/window.html", customData: { dateNow: Date.now() - }, - target: undefined - }; + } + } as OpenFin.PlatformViewCreationOptions; await fin.Platform.getCurrentSync().createView(viewOption); } async function init(): Promise { - const btn = document.querySelector("#btn-open-dynamic-window"); - btn.addEventListener("click", async (e: Event) => openDynamicApplicationWindow()); + const btnOpenDynamicWindow = document.querySelector("#btn-open-dynamic-window"); + if (btnOpenDynamicWindow) { + btnOpenDynamicWindow.addEventListener("click", async (e: Event) => openDynamicApplicationWindow()); + } - const btn1 = document.querySelector("#btn-open-manifest-window"); - btn1.addEventListener("click", async (e: Event) => openManifestApplicationWindow()); + const btnOpenManifestWindow = document.querySelector("#btn-open-manifest-window"); + if (btnOpenManifestWindow) { + btnOpenManifestWindow.addEventListener("click", async (e: Event) => openManifestApplicationWindow()); + } - const btn2 = document.querySelector("#btn-open-data-window"); - btn2.addEventListener("click", async (e: Event) => openDataWindow()); + const btnOpenDataWindow = document.querySelector("#btn-open-data-window"); + if (btnOpenDataWindow) { + btnOpenDataWindow.addEventListener("click", async (e: Event) => openDataWindow()); + } - const btn3 = document.querySelector("#btn-open-data-platform-window"); - btn3.addEventListener("click", openDataPlatformWindow); + const btnOpenDataPlatformWindow = document.querySelector("#btn-open-data-platform-window"); + if (btnOpenDataPlatformWindow) { + btnOpenDataPlatformWindow.addEventListener("click", openDataPlatformWindow); + } } diff --git a/how-to/create-window/client/tsconfig.json b/how-to/create-window/client/tsconfig.json index 1bfae137..0453c0cc 100644 --- a/how-to/create-window/client/tsconfig.json +++ b/how-to/create-window/client/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node", diff --git a/how-to/integration-excel/client/src/excel.ts b/how-to/integration-excel/client/src/excel.ts index a4dfdd87..1d7a3758 100644 --- a/how-to/integration-excel/client/src/excel.ts +++ b/how-to/integration-excel/client/src/excel.ts @@ -36,154 +36,120 @@ document.addEventListener("DOMContentLoaded", async () => { async function init(): Promise { try { const resultsContainer = document.querySelector("#results-container"); - resultsContainer.style.display = "none"; + if (resultsContainer) { + resultsContainer.style.display = "none"; + } excel = await getExcelApplication(); await populateWorkbooks(); const openExcelButton = document.querySelector("#open-excel"); - openExcelButton.addEventListener("click", async () => { - await openExcel(); - }); + if (openExcelButton) { + openExcelButton.addEventListener("click", async () => { + await openExcel(); + }); + } const refreshWorkbookButton = document.querySelector("#workbook-refresh"); - refreshWorkbookButton.addEventListener("click", async () => populateWorkbooks()); + if (refreshWorkbookButton) { + refreshWorkbookButton.addEventListener("click", async () => populateWorkbooks()); + } const refreshWorksheetButton = document.querySelector("#worksheet-refresh"); - refreshWorksheetButton.addEventListener("click", async () => populateWorksheets()); + if (refreshWorksheetButton) { + refreshWorksheetButton.addEventListener("click", async () => populateWorksheets()); + } const openWorkbooksSelect = document.querySelector("#workbooks"); - openWorkbooksSelect.addEventListener("change", async (e) => - selectWorkbook((e.target as unknown as { value: string }).value) - ); + if (openWorkbooksSelect) { + openWorkbooksSelect.addEventListener("change", async (e) => + selectWorkbook((e.target as unknown as { value: string }).value) + ); + } const openWorksheetsSelect = document.querySelector("#worksheets"); - openWorksheetsSelect.addEventListener("change", async (e) => - selectWorksheet((e.target as unknown as { value: string }).value) - ); + if (openWorksheetsSelect) { + openWorksheetsSelect.addEventListener("change", async (e) => + selectWorksheet((e.target as unknown as { value: string }).value) + ); + } const setValueButton = document.querySelector("#set-value"); - setValueButton.addEventListener("click", async () => { - await setCellValue(); - }); + if (setValueButton) { + setValueButton.addEventListener("click", async () => { + await setCellValue(); + }); + } } catch (err) { showError(err); } } -function showError(err): void { +function showError(err: unknown): void { const errDom = document.querySelector("#error"); - errDom.innerHTML = err.message; + if (errDom) { + errDom.innerHTML = err instanceof Error ? err.message : JSON.stringify(err); + } } async function openExcel(): Promise { try { - // Open the select work book and sheet - // if anything throws an exception just open a new workbook - await selectWorkbook(openWorkbooks[selectedWorkbookIndex].name); - await selectWorksheet(openWorksheets[selectedWorksheetIndex].name); + if ( + openWorkbooks && + selectedWorkbookIndex !== undefined && + openWorksheets && + selectedWorksheetIndex !== undefined + ) { + // Open the select work book and sheet + // if anything throws an exception just open a new workbook + await selectWorkbook(openWorkbooks[selectedWorkbookIndex].name); + await selectWorksheet(openWorksheets[selectedWorksheetIndex].name); + } } catch { - await excel.createWorkbook(); - await populateWorkbooks(); + if (excel) { + await excel.createWorkbook(); + await populateWorkbooks(); + } } } async function populateWorkbooks(): Promise { if (excel) { selectedWorkbookIndex = undefined; - const refreshButton: HTMLButtonElement = document.querySelector("#workbook-refresh"); - refreshButton.disabled = true; - + const refreshButton = document.querySelector("#workbook-refresh"); const select = document.querySelector("#workbooks"); - select.disabled = true; - select.innerHTML = ""; - openWorkbooks = []; + if (refreshButton && select) { + refreshButton.disabled = true; - try { - const workbooks = await excel.getWorkbooks(); + select.disabled = true; + select.innerHTML = ""; - for (const book of workbooks) { - const name = await book.getName(); - openWorkbooks.push({ - book, - name - }); - } + openWorkbooks = []; - const optionEmpty = document.createElement("option"); - optionEmpty.innerHTML = "----Select workbook----"; - optionEmpty.value = ""; - optionEmpty.selected = true; - optionEmpty.disabled = true; - select.append(optionEmpty); - - for (const openWorkbook of openWorkbooks) { - const option = document.createElement("option"); - option.innerHTML = openWorkbook.name; - option.value = openWorkbook.name; - select.append(option); - } - } catch (err) { - console.error(err); - showError(err); - } finally { - select.disabled = false; - refreshButton.disabled = false; - } - } -} - -async function selectWorkbook(name: string): Promise { - const newWorkbookIndex = openWorkbooks.findIndex((w) => w.name === name); - - if (newWorkbookIndex !== selectedWorkbookIndex) { - selectedWorkbookIndex = newWorkbookIndex; - if (newWorkbookIndex >= 0) { - await openWorkbooks[selectedWorkbookIndex].book.activate(); - } - } - - await populateWorksheets(); -} - -async function populateWorksheets(): Promise { - if (excel) { - selectedWorksheetIndex = undefined; - const refreshButton: HTMLButtonElement = document.querySelector("#worksheet-refresh"); - refreshButton.disabled = true; - - const select = document.querySelector("#worksheets"); - select.disabled = true; - select.innerHTML = ""; - - openWorksheets = []; - - const workbook = openWorkbooks[selectedWorkbookIndex]; - if (workbook) { try { - const sheets = await workbook.book.getWorksheets(); + const workbooks = await excel.getWorkbooks(); - for (const sheet of sheets) { - const name = await sheet.getName(); - openWorksheets.push({ - sheet, + for (const book of workbooks) { + const name = await book.getName(); + openWorkbooks.push({ + book, name }); } const optionEmpty = document.createElement("option"); - optionEmpty.innerHTML = "----Select worksheet----"; + optionEmpty.innerHTML = "----Select workbook----"; optionEmpty.value = ""; optionEmpty.selected = true; optionEmpty.disabled = true; select.append(optionEmpty); - for (const openWorksheet of openWorksheets) { + for (const openWorkbook of openWorkbooks) { const option = document.createElement("option"); - option.innerHTML = openWorksheet.name; - option.value = openWorksheet.name; + option.innerHTML = openWorkbook.name; + option.value = openWorkbook.name; select.append(option); } } catch (err) { @@ -197,37 +163,119 @@ async function populateWorksheets(): Promise { } } -async function selectWorksheet(name: string): Promise { - const newWorksheetIndex = openWorksheets.findIndex((w) => w.name === name); +async function selectWorkbook(name: string): Promise { + if (openWorkbooks) { + const newWorkbookIndex = openWorkbooks.findIndex((w) => w.name === name); + + if (newWorkbookIndex !== selectedWorkbookIndex) { + selectedWorkbookIndex = newWorkbookIndex; + if (newWorkbookIndex >= 0) { + await openWorkbooks[selectedWorkbookIndex].book.activate(); + } + } + + await populateWorksheets(); + } +} + +async function populateWorksheets(): Promise { + if (excel) { + selectedWorksheetIndex = undefined; + const refreshButton = document.querySelector("#worksheet-refresh"); + const select = document.querySelector("#worksheets"); - if (newWorksheetIndex !== selectedWorksheetIndex) { - const oldWorksheet = openWorksheets[selectedWorksheetIndex]; - if (oldWorksheet) { - await oldWorksheet.sheet.removeEventListener(handleCellChange); + if (select && refreshButton && openWorkbooks && selectedWorkbookIndex !== undefined) { + refreshButton.disabled = true; + + select.disabled = true; + select.innerHTML = ""; + + openWorksheets = []; + + const workbook = openWorkbooks[selectedWorkbookIndex]; + if (workbook) { + try { + const sheets = await workbook.book.getWorksheets(); + + for (const sheet of sheets) { + const name = await sheet.getName(); + openWorksheets.push({ + sheet, + name + }); + } + + const optionEmpty = document.createElement("option"); + optionEmpty.innerHTML = "----Select worksheet----"; + optionEmpty.value = ""; + optionEmpty.selected = true; + optionEmpty.disabled = true; + select.append(optionEmpty); + + for (const openWorksheet of openWorksheets) { + const option = document.createElement("option"); + option.innerHTML = openWorksheet.name; + option.value = openWorksheet.name; + select.append(option); + } + } catch (err) { + console.error(err); + showError(err); + } finally { + select.disabled = false; + refreshButton.disabled = false; + } + } } + } +} - selectedWorksheetIndex = newWorksheetIndex; - if (selectedWorksheetIndex >= 0) { - await openWorksheets[selectedWorksheetIndex].sheet.activate(); - await openWorksheets[selectedWorksheetIndex].sheet.addEventListener("change", handleCellChange); +async function selectWorksheet(name: string): Promise { + if (openWorksheets && selectedWorksheetIndex !== undefined) { + const newWorksheetIndex = openWorksheets.findIndex((w) => w.name === name); + + if (newWorksheetIndex !== selectedWorksheetIndex) { + const oldWorksheet = openWorksheets[selectedWorksheetIndex]; + if (oldWorksheet) { + await oldWorksheet.sheet.removeEventListener(handleCellChange); + } - const resultsContainer = document.querySelector("#results-container"); - resultsContainer.style.display = "flex"; + selectedWorksheetIndex = newWorksheetIndex; + if (selectedWorksheetIndex >= 0) { + await openWorksheets[selectedWorksheetIndex].sheet.activate(); + await openWorksheets[selectedWorksheetIndex].sheet.addEventListener("change", handleCellChange); - document.querySelector("#cell-location").disabled = false; - document.querySelector("#cell-value").disabled = false; - document.querySelector("#set-value").disabled = false; + const resultsContainer = document.querySelector("#results-container"); + if (resultsContainer) { + resultsContainer.style.display = "flex"; + } + + const cellLocation = document.querySelector("#cell-location"); + if (cellLocation) { + cellLocation.disabled = false; + } + const cellValue = document.querySelector("#cell-value"); + if (cellValue) { + cellValue.disabled = false; + } + const setValue = document.querySelector("#set-value"); + if (setValue) { + setValue.disabled = false; + } + } } } } async function handleCellChange(cells: Cell[]): Promise { const cellContainer = document.querySelector("#cell-changes-container"); - cellContainer.innerHTML = JSON.stringify(cells, undefined, " "); + if (cellContainer) { + cellContainer.innerHTML = JSON.stringify(cells, undefined, " "); - for (const cell of cells) { - if (KNOWN_INSTRUMENTS.includes(cell.value)) { - await broadcastInstrument(cell.value); + for (const cell of cells) { + if (KNOWN_INSTRUMENTS.includes(cell.value)) { + await broadcastInstrument(cell.value); + } } } } @@ -237,29 +285,36 @@ async function setCellValue(): Promise { const cellLocation = document.querySelector("#cell-location"); const cellValue = document.querySelector("#cell-value"); - await openWorksheets[selectedWorksheetIndex].sheet.setCellValues(cellLocation.value, [[cellValue.value]]); + if (cellLocation && cellValue) { + const cells = [[cellValue.value]]; + await openWorksheets[selectedWorksheetIndex].sheet.setCellValues(cellLocation.value, cells); + } } } async function broadcastInstrument(instrument: string): Promise { const broadcastElement = document.querySelector("#broadcast-instrument"); - if (window.fdc3) { - try { - const fdcInstrument = { - type: "fdc3.instrument", - id: { - ticker: instrument + if (broadcastElement) { + if (window.fdc3) { + try { + const fdcInstrument = { + type: "fdc3.instrument", + id: { + ticker: instrument + } + }; + + const channel = await getCurrentChannel(); + if (channel) { + await channel.broadcast(fdcInstrument); } - }; - - const channel = await getCurrentChannel(); - await channel.broadcast(fdcInstrument); - broadcastElement.value = instrument; - } catch (err) { - broadcastElement.value = err.message; + broadcastElement.value = instrument; + } catch (err) { + broadcastElement.value = err instanceof Error ? err.message : JSON.stringify(err); + } + } else { + broadcastElement.textContent = "No FD3 Channel available"; } - } else { - broadcastElement.textContent = "No FD3 Channel available"; } } diff --git a/how-to/integration-excel/client/src/fdc3monitor.ts b/how-to/integration-excel/client/src/fdc3monitor.ts index 78f7c200..4078e9a8 100644 --- a/how-to/integration-excel/client/src/fdc3monitor.ts +++ b/how-to/integration-excel/client/src/fdc3monitor.ts @@ -12,18 +12,24 @@ async function init(): Promise { try { const appChannel = await getCurrentChannel(); - await appChannel.addContextListener(null, (ctx) => { - if (ctx.type === "fdc3.instrument") { - const receiveElement = document.querySelector("#received-instrument"); - receiveElement.value = ctx.id.ticker; - } - }); + if (appChannel) { + await appChannel.addContextListener(null, (ctx) => { + if (ctx.type === "fdc3.instrument") { + const receiveElement = document.querySelector("#received-instrument"); + if (receiveElement) { + receiveElement.value = ctx.id?.ticker; + } + } + }); + } } catch (err) { showError(err); } } -function showError(err): void { +function showError(err: unknown): void { const errDom = document.querySelector("#error"); - errDom.innerHTML = err.message; + if (errDom) { + errDom.innerHTML = err instanceof Error ? err.message : JSON.stringify(err); + } } diff --git a/how-to/integration-excel/client/src/provider-tray.ts b/how-to/integration-excel/client/src/provider-tray.ts index 0a946eb1..db6b0396 100644 --- a/how-to/integration-excel/client/src/provider-tray.ts +++ b/how-to/integration-excel/client/src/provider-tray.ts @@ -45,10 +45,12 @@ async function init(): Promise { includeInSnapshot: false, showTaskbarIcon: false, saveWindowState: false, - defaultTop: foundMonitor.availableRect.top, - defaultLeft: foundMonitor.availableRect.right - winWidth, + defaultTop: foundMonitor?.availableRect.top, + defaultLeft: foundMonitor ? foundMonitor?.availableRect?.right - winWidth : undefined, defaultWidth: winWidth, - defaultHeight: foundMonitor.availableRect.bottom - foundMonitor.availableRect.top, + defaultHeight: foundMonitor + ? foundMonitor.availableRect.bottom - foundMonitor.availableRect.top + : undefined, url: "http://localhost:5050/views/excel.html", frame: false, autoShow: true, @@ -68,7 +70,7 @@ async function init(): Promise { win = await fin.Window.create(winOption); } - } else { + } else if (win) { await win.hide(); } @@ -76,6 +78,9 @@ async function init(): Promise { }); } -function pointInRect({ left, top, right, bottom }, { x, y }): boolean { - return x > left && x < right && y > top && y < bottom; +function pointInRect( + rect: { left: number; top: number; right: number; bottom: number }, + pt: { x: number; y: number } +): boolean { + return pt.x > rect.left && pt.x < rect.right && pt.y > rect.top && pt.y < rect.bottom; } diff --git a/how-to/integration-excel/client/tsconfig.json b/how-to/integration-excel/client/tsconfig.json index 1bfae137..0453c0cc 100644 --- a/how-to/integration-excel/client/tsconfig.json +++ b/how-to/integration-excel/client/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node", diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/client/src/app.ts b/how-to/use-channel-api/issue-commands-to-a-platform/client/src/app.ts index fa60f726..123f8003 100644 --- a/how-to/use-channel-api/issue-commands-to-a-platform/client/src/app.ts +++ b/how-to/use-channel-api/issue-commands-to-a-platform/client/src/app.ts @@ -2,8 +2,10 @@ export {}; async function initApp(): Promise { const container = document.querySelector("#context-container"); - const viewOptions = await fin.me.getOptions(); - container.textContent = JSON.stringify(viewOptions.customData); + if (container) { + const viewOptions = await fin.me.getOptions(); + container.textContent = JSON.stringify(viewOptions.customData); + } } if (document.readyState === "complete") { diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/client/src/provider.ts b/how-to/use-channel-api/issue-commands-to-a-platform/client/src/provider.ts index 65883763..a47c9e78 100644 --- a/how-to/use-channel-api/issue-commands-to-a-platform/client/src/provider.ts +++ b/how-to/use-channel-api/issue-commands-to-a-platform/client/src/provider.ts @@ -15,51 +15,53 @@ async function init(): Promise { // an example of a command you wish to expose. // alternatively you could have a single command function exposed which could have an action type - actionChannel.register( - "createView", - async ( - payload: { target: { window?: string; view?: string }; viewOptions: OpenFin.ViewOptions }, - identity - ) => { - // there would likely be validation and additional logic here. - const platform: OpenFin.Platform = fin.Platform.getCurrentSync(); - let targetWindow: OpenFin.Identity; - let targetView: OpenFin.Identity; - const viewOptions = { target: undefined } as OpenFin.ViewOptions; - Object.assign(viewOptions, payload.viewOptions); + actionChannel.register("createView", async (unknownPayload: unknown, identity) => { + const payload = unknownPayload as { + target: { window?: string; view?: string }; + viewOptions: OpenFin.ViewOptions; + }; + // there would likely be validation and additional logic here. + const platform: OpenFin.Platform = fin.Platform.getCurrentSync(); + let targetWindow: OpenFin.Identity | undefined; + let targetView: OpenFin.Identity | undefined; + const viewOptions: Partial = { target: undefined }; + Object.assign(viewOptions, payload.viewOptions); - if (payload.target?.window !== undefined) { - targetWindow = { uuid: fin.me.identity.uuid, name: payload.target.window }; - } + if (payload.target?.window !== undefined) { + targetWindow = { uuid: fin.me.identity.uuid, name: payload.target.window }; + } - if (payload.target?.view !== undefined) { - targetView = { uuid: fin.me.identity.uuid, name: payload.target.view }; - } + if (payload.target?.view !== undefined) { + targetView = { uuid: fin.me.identity.uuid, name: payload.target.view }; + } - const createdView = await platform.createView(viewOptions, targetWindow, targetView); - const currentWindow = await createdView.getCurrentWindow(); + const createdView = await platform.createView( + viewOptions as OpenFin.ViewOptions, + targetWindow, + targetView + ); + const currentWindow = await createdView.getCurrentWindow(); - if (currentWindow.identity.name === undefined || currentWindow.identity.name === fin.me.identity.uuid) { - const windowAllocation = new Promise<{ view: string; window: string }>((resolve, reject) => { - createdView - .once("target-changed", async () => { - const hostWindow = await createdView.getCurrentWindow(); - resolve({ - view: createdView.identity.name, - window: hostWindow.identity.name - }); - }) - .catch(() => {}); - }); + if (currentWindow.identity.name === undefined || currentWindow.identity.name === fin.me.identity.uuid) { + const windowAllocation = new Promise<{ view: string; window: string }>((resolve, reject) => { + createdView + .once("target-changed", async () => { + const hostWindow = await createdView.getCurrentWindow(); + resolve({ + view: createdView.identity.name, + window: hostWindow.identity.name + }); + }) + .catch(() => {}); + }); - return windowAllocation; - } - return { - view: createdView.identity.name, - window: currentWindow.identity.name - }; + return windowAllocation; } - ); + return { + view: createdView.identity.name, + window: currentWindow.identity.name + }; + }); } window.addEventListener("DOMContentLoaded", async () => { diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/client/src/window.ts b/how-to/use-channel-api/issue-commands-to-a-platform/client/src/window.ts index 9cea88f2..df2391b4 100644 --- a/how-to/use-channel-api/issue-commands-to-a-platform/client/src/window.ts +++ b/how-to/use-channel-api/issue-commands-to-a-platform/client/src/window.ts @@ -8,16 +8,27 @@ document.addEventListener("DOMContentLoaded", async () => { } }); -let lastCreatedView; +let lastCreatedView: + | { + view: string; + window: string; + } + | undefined; let channelClient: OpenFin.ChannelClient; async function init(): Promise { const launchPlatformButton = document.querySelector("#launch-platform"); const requestViewButton = document.querySelector("#request-view"); const requestViewInSameWindowButton = document.querySelector("#request-view-same-window"); - launchPlatformButton.addEventListener("click", launchPlatform); - requestViewButton.addEventListener("click", requestView); - requestViewInSameWindowButton.addEventListener("click", requestViewInLastWindow); + if (launchPlatformButton) { + launchPlatformButton.addEventListener("click", launchPlatform); + } + if (requestViewButton) { + requestViewButton.addEventListener("click", requestView); + } + if (requestViewInSameWindowButton) { + requestViewInSameWindowButton.addEventListener("click", requestViewInLastWindow); + } } async function launchPlatform(): Promise { diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/client/tsconfig.json b/how-to/use-channel-api/issue-commands-to-a-platform/client/tsconfig.json index 1bfae137..0453c0cc 100644 --- a/how-to/use-channel-api/issue-commands-to-a-platform/client/tsconfig.json +++ b/how-to/use-channel-api/issue-commands-to-a-platform/client/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node", diff --git a/how-to/use-content-creation-rules/client/src/app.ts b/how-to/use-content-creation-rules/client/src/app.ts index b1ec1a1f..1512163a 100644 --- a/how-to/use-content-creation-rules/client/src/app.ts +++ b/how-to/use-content-creation-rules/client/src/app.ts @@ -1,9 +1,11 @@ document.addEventListener("DOMContentLoaded", async () => { const openView = document.querySelector("#open-view"); - openView.addEventListener("click", (e) => { - const win = window.open("https://www.google.com"); - logWindowResult(win); - }); + if (openView) { + openView.addEventListener("click", (e) => { + const win = window.open("https://www.google.com"); + logWindowResult(win); + }); + } const openViewTarget = document.querySelector("#open-view-target"); const viewTargets = [ @@ -13,16 +15,20 @@ document.addEventListener("DOMContentLoaded", async () => { ]; let viewTargetIndex = 0; - openViewTarget.addEventListener("click", (e) => { - const win = window.open(viewTargets[viewTargetIndex++ % viewTargets.length], "examples", "blah=foo"); - logWindowResult(win); - }); + if (openViewTarget) { + openViewTarget.addEventListener("click", (e) => { + const win = window.open(viewTargets[viewTargetIndex++ % viewTargets.length], "examples", "blah=foo"); + logWindowResult(win); + }); + } const openWindow = document.querySelector("#open-window"); - openWindow.addEventListener("click", (e) => { - const win = window.open("https://www.bing.com"); - logWindowResult(win); - }); + if (openWindow) { + openWindow.addEventListener("click", (e) => { + const win = window.open("https://www.bing.com"); + logWindowResult(win); + }); + } const openWindowTarget = document.querySelector("#open-window-target"); const windowTargets = [ @@ -32,29 +38,37 @@ document.addEventListener("DOMContentLoaded", async () => { ]; let windowTargetIndex = 0; - openWindowTarget.addEventListener("click", (e) => { - const win = window.open(windowTargets[windowTargetIndex++ % windowTargets.length], "examples2"); - logWindowResult(win); - }); + if (openWindowTarget) { + openWindowTarget.addEventListener("click", (e) => { + const win = window.open(windowTargets[windowTargetIndex++ % windowTargets.length], "examples2"); + logWindowResult(win); + }); + } const openBrowser = document.querySelector("#open-browser"); - openBrowser.addEventListener("click", (e) => { - const win = window.open("https://www.microsoft.com"); - logWindowResult(win); - }); + if (openBrowser) { + openBrowser.addEventListener("click", (e) => { + const win = window.open("https://www.microsoft.com"); + logWindowResult(win); + }); + } const openBlocked = document.querySelector("#open-blocked"); - openBlocked.addEventListener("click", (e) => { - const win = window.open("https://www.apple.com"); - logWindowResult(win); - }); + if (openBlocked) { + openBlocked.addEventListener("click", (e) => { + const win = window.open("https://www.apple.com"); + logWindowResult(win); + }); + } }); -function logWindowResult(win: WindowProxy): void { +function logWindowResult(win: WindowProxy | null): void { try { - win.addEventListener("DOMContentLoaded", () => { - console.log("Window Location", win.location); - }); + if (win) { + win.addEventListener("DOMContentLoaded", () => { + console.log("Window Location", win.location); + }); + } } catch (err) { console.error("Error logging window results", err); } diff --git a/how-to/use-content-creation-rules/client/src/default-platform-window.ts b/how-to/use-content-creation-rules/client/src/default-platform-window.ts index 44bf6670..0b26caa9 100644 --- a/how-to/use-content-creation-rules/client/src/default-platform-window.ts +++ b/how-to/use-content-creation-rules/client/src/default-platform-window.ts @@ -7,19 +7,25 @@ window.addEventListener("DOMContentLoaded", async () => { await fin.Platform.Layout.init({ containerId: CONTAINER_ID }); const minimizeBtn = document.querySelector("#minimize-button"); - minimizeBtn.addEventListener("click", async () => { - await me.minimize().catch(console.error); - }); + if (minimizeBtn) { + minimizeBtn.addEventListener("click", async () => { + await me.minimize().catch(console.error); + }); + } const maximizeBtn = document.querySelector("#expand-button"); - maximizeBtn.addEventListener("click", async () => { - await maxOrRestore().catch(console.error); - }); + if (maximizeBtn) { + maximizeBtn.addEventListener("click", async () => { + await maxOrRestore().catch(console.error); + }); + } const closeBtn = document.querySelector("#close-button"); - closeBtn.addEventListener("click", async (e) => { - await me.close(); - }); + if (closeBtn) { + closeBtn.addEventListener("click", async (e) => { + await me.close(); + }); + } async function maxOrRestore(): Promise { if ((await me.getState()) === "normal") { @@ -39,7 +45,7 @@ window.addEventListener("DOMContentLoaded", async () => { // If the window.open contained a target it is the viewOptions.name, // the name starts internal-generated if a target wasn't specified - if (!viewOptions.name.startsWith("internal-generated")) { + if (!viewOptions.name?.startsWith("internal-generated")) { // This is a window.open with a target, but we can't use the original target name // as the view name, because this would not allow it to be re-used, so we // substitute a derived view name and then remove the old view later diff --git a/how-to/use-content-creation-rules/client/tsconfig.json b/how-to/use-content-creation-rules/client/tsconfig.json index 1bfae137..0453c0cc 100644 --- a/how-to/use-content-creation-rules/client/tsconfig.json +++ b/how-to/use-content-creation-rules/client/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node", diff --git a/how-to/use-dynamic-manifest/basic/server/tsconfig.json b/how-to/use-dynamic-manifest/basic/server/tsconfig.json index 86f342dd..5b710dc9 100644 --- a/how-to/use-dynamic-manifest/basic/server/tsconfig.json +++ b/how-to/use-dynamic-manifest/basic/server/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node" diff --git a/how-to/use-interop/setup-multi-platform-interop/client/src/provider.ts b/how-to/use-interop/setup-multi-platform-interop/client/src/provider.ts index 7037553b..f20b180e 100644 --- a/how-to/use-interop/setup-multi-platform-interop/client/src/provider.ts +++ b/how-to/use-interop/setup-multi-platform-interop/client/src/provider.ts @@ -18,8 +18,8 @@ import type { */ function interopOverride( InteropBroker: OpenFin.Constructor, - provider?: OpenFin.ChannelProvider, - options?: OpenFin.InteropBrokerOptions, + provider: OpenFin.ChannelProvider, + options: OpenFin.InteropBrokerOptions, ...args: unknown[] ): OpenFin.InteropBroker { /** @@ -87,38 +87,39 @@ function interopOverride( const platformContextGroups: PlatformContextGroups = await platformInteropClient.getContextGroups(); // Array of ExternalClientMap Promises - const externalContextGroupPromises: Promise[] = externalContextGroups.map( - async (externalContextGroupInfo: ExternalContextGroup): Promise => { - // check to see if a Platform Client's context group has any of the channels as a externalContextGroup - const hasPlatformContextGroup: boolean = platformContextGroups.some( - ({ id }: PlatformContextGroup) => id === externalContextGroupInfo.id - ); + const externalContextGroupPromises: Promise[] = + externalContextGroups.map( + async (externalContextGroupInfo: ExternalContextGroup): Promise => { + // check to see if a Platform Client's context group has any of the channels as a externalContextGroup + const hasPlatformContextGroup: boolean = platformContextGroups.some( + ({ id }: PlatformContextGroup) => id === externalContextGroupInfo.id + ); - if (hasPlatformContextGroup) { - const colorClient: ColorInteropClient = fin.Interop.connectSync(this.externalBroker, {}); - await colorClient.joinContextGroup(externalContextGroupInfo.id); - /** - * @function contextHandler - * @param context object passed from the setContext method. - * @remarks - * If the newContext variable has a _clientInfo object with a uuid return the context as is - * because it is initially set on the platformInteropClient's broker. - * otherwise copy the context attributes and values to a new object containing - * a _clientInfo attribute with the uuid of the connected externalBroker. - */ - const contextHandler = async (context: ExternalContext): Promise => { - await platformInteropClient.joinContextGroup(externalContextGroupInfo.id); - const newContext = context._clientInfo?.uuid - ? context - : { ...context, _clientInfo: { uuid: this.externalBroker } }; - await platformInteropClient.setContext(newContext); - }; - await colorClient.addContextHandler(contextHandler); - // return the connected context group and corresponded color client. - return this.externalClients.set(externalContextGroupInfo.id, colorClient); + if (hasPlatformContextGroup) { + const colorClient: ColorInteropClient = fin.Interop.connectSync(this.externalBroker, {}); + await colorClient.joinContextGroup(externalContextGroupInfo.id); + /** + * @function contextHandler + * @param context object passed from the setContext method. + * @remarks + * If the newContext variable has a _clientInfo object with a uuid return the context as is + * because it is initially set on the platformInteropClient's broker. + * otherwise copy the context attributes and values to a new object containing + * a _clientInfo attribute with the uuid of the connected externalBroker. + */ + const contextHandler = async (context: ExternalContext): Promise => { + await platformInteropClient.joinContextGroup(externalContextGroupInfo.id); + const newContext = context._clientInfo?.uuid + ? context + : { ...context, _clientInfo: { uuid: this.externalBroker } }; + await platformInteropClient.setContext(newContext); + }; + await colorClient.addContextHandler(contextHandler); + // return the connected context group and corresponded color client. + return this.externalClients.set(externalContextGroupInfo.id, colorClient); + } } - } - ); + ); try { await Promise.all(externalContextGroupPromises); } catch (error) { @@ -142,8 +143,10 @@ function interopOverride( const state = this["getClientState"](clientIdentity); const ctxGroupId = state.contextGroupId as string; if (this.externalClients.has(ctxGroupId)) { - const colorClient: ColorInteropClient = this.externalClients.get(ctxGroupId); - await colorClient.setContext(context); + const colorClient = this.externalClients.get(ctxGroupId); + if (colorClient) { + await colorClient.setContext(context); + } } } diff --git a/how-to/use-interop/setup-multi-platform-interop/client/src/window.ts b/how-to/use-interop/setup-multi-platform-interop/client/src/window.ts index b18cf80a..7310afa8 100644 --- a/how-to/use-interop/setup-multi-platform-interop/client/src/window.ts +++ b/how-to/use-interop/setup-multi-platform-interop/client/src/window.ts @@ -24,12 +24,16 @@ async function changeContextGroup(event: Event): Promise { const color: string = selectedColorElement.title; await fin.me.interop.joinContextGroup(color, lastFocusedView); const contextGroups: PlatformContextGroups = await fin.me.interop.getContextGroups(); - document - .querySelector(`#tab-${lastFocusedView.name}`) - .classList.remove( - ...contextGroups.map(({ displayMetadata }: PlatformContextGroup) => `${displayMetadata.name}-channel`) + const focusedTab = document.querySelector(`#tab-${lastFocusedView.name}`); + if (focusedTab) { + focusedTab.classList.remove( + ...contextGroups.map(({ displayMetadata }: PlatformContextGroup) => `${displayMetadata?.name}-channel`) ); - document.querySelector(`#tab-${lastFocusedView.name}`).classList.add(`${color}-channel`); + } + const focusedView = document.querySelector(`#tab-${lastFocusedView.name}`); + if (focusedView) { + focusedView.classList.add(`${color}-channel`); + } } /** @@ -42,21 +46,23 @@ async function changeContextGroup(event: Event): Promise { async function addContextGroupButtons(): Promise { const contextGroups: PlatformContextGroups = await fin.me.interop.getContextGroups(); const windowFrameStyleSheet: CSSStyleSheet = document.styleSheets[0]; - const buttonsWrapper: HTMLElement = document.querySelector("#buttons-wrapper"); - for (const systemChannel of contextGroups) { - windowFrameStyleSheet.insertRule( - `.${systemChannel.displayMetadata.name}-channel { border-left: 2px solid ${systemChannel.displayMetadata.color} !important;}` - ); - windowFrameStyleSheet.insertRule( - `#${systemChannel.displayMetadata.name}-button:after { background-color: ${systemChannel.displayMetadata.color}}` - ); - const newButton = document.createElement("div"); - newButton.classList.add("button"); - newButton.classList.add("channel-button"); - newButton.id = `${systemChannel.displayMetadata.name}-button`; - newButton.title = systemChannel.displayMetadata.name; - newButton.addEventListener("click", changeContextGroup); - buttonsWrapper.prepend(newButton); + const buttonsWrapper = document.querySelector("#buttons-wrapper"); + if (buttonsWrapper) { + for (const systemChannel of contextGroups) { + const nm = systemChannel.displayMetadata?.name; + const col = systemChannel.displayMetadata?.color; + if (nm && col) { + windowFrameStyleSheet.insertRule(`.${nm}-channel { border-left: 2px solid ${col} !important;}`); + windowFrameStyleSheet.insertRule(`#${nm}-button:after { background-color: ${col}}`); + const newButton = document.createElement("div"); + newButton.classList.add("button"); + newButton.classList.add("channel-button"); + newButton.id = `${nm}-button`; + newButton.title = nm; + newButton.addEventListener("click", changeContextGroup); + buttonsWrapper.prepend(newButton); + } + } } } @@ -77,16 +83,18 @@ async function minimizeWindow(): Promise { } async function setupTitleBar(): Promise { - const title: HTMLElement = document.querySelector("#title"); - const minBtn: HTMLElement = document.querySelector("#minimize-button"); - const maxBtn: HTMLElement = document.querySelector("#expand-button"); - const closeBtn: HTMLElement = document.querySelector("#close-button"); + const title = document.querySelector("#title"); + const minBtn = document.querySelector("#minimize-button"); + const maxBtn = document.querySelector("#expand-button"); + const closeBtn = document.querySelector("#close-button"); - title.innerHTML = fin.me.identity.uuid; + if (title && minBtn && maxBtn && closeBtn) { + title.innerHTML = fin.me.identity.uuid; - minBtn.addEventListener("click", minimizeWindow); - maxBtn.addEventListener("click", maxOrRestore); - closeBtn.addEventListener("click", closeWindow); + minBtn.addEventListener("click", minimizeWindow); + maxBtn.addEventListener("click", maxOrRestore); + closeBtn.addEventListener("click", closeWindow); + } await addContextGroupButtons(); } diff --git a/how-to/use-interop/setup-multi-platform-interop/client/tsconfig.json b/how-to/use-interop/setup-multi-platform-interop/client/tsconfig.json index 1bfae137..0453c0cc 100644 --- a/how-to/use-interop/setup-multi-platform-interop/client/tsconfig.json +++ b/how-to/use-interop/setup-multi-platform-interop/client/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node", diff --git a/how-to/use-launch-external-process/client/src/app.ts b/how-to/use-launch-external-process/client/src/app.ts index 5b13f4c3..80bb5d65 100644 --- a/how-to/use-launch-external-process/client/src/app.ts +++ b/how-to/use-launch-external-process/client/src/app.ts @@ -17,9 +17,11 @@ document.addEventListener("DOMContentLoaded", () => { } }; const lepBtn = document.querySelector("#lep-button"); - lepBtn.addEventListener("click", async () => { - fin.System.launchExternalProcess(lepOptions) - .then((data) => console.log("successfully launched DotNetCore.exe:", data)) - .catch(console.error); - }); + if (lepBtn) { + lepBtn.addEventListener("click", async () => { + fin.System.launchExternalProcess(lepOptions) + .then((data) => console.log("successfully launched DotNetCore.exe:", data)) + .catch(console.error); + }); + } }); diff --git a/how-to/use-launch-external-process/client/tsconfig.json b/how-to/use-launch-external-process/client/tsconfig.json index 1bfae137..0453c0cc 100644 --- a/how-to/use-launch-external-process/client/tsconfig.json +++ b/how-to/use-launch-external-process/client/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node", diff --git a/how-to/use-logging-apis/client/src/app.ts b/how-to/use-logging-apis/client/src/app.ts index 76f677e3..a3863c11 100644 --- a/how-to/use-logging-apis/client/src/app.ts +++ b/how-to/use-logging-apis/client/src/app.ts @@ -19,16 +19,22 @@ document.addEventListener("DOMContentLoaded", async () => { */ async function initDom(): Promise { - const logListElement: HTMLSelectElement = document.querySelector("#log-list"); - await createLogDropDown(logListElement); - logListElement.addEventListener("change", async (selectionChangeEvent) => { - fileName = (selectionChangeEvent.target as HTMLOptionElement).value; - }); + const logListElement = document.querySelector("#log-list"); + if (logListElement) { + await createLogDropDown(logListElement); + logListElement.addEventListener("change", async (selectionChangeEvent) => { + fileName = (selectionChangeEvent.target as HTMLOptionElement).value; + }); + } - const upload: HTMLFormElement = document.querySelector("#upload-form"); - upload.addEventListener("submit", uploadHandler); - const sendAppLogBtn: HTMLButtonElement = document.querySelector("#send-app-log"); - sendAppLogBtn.addEventListener("click", sendApplicationLogs); + const upload = document.querySelector("#upload-form"); + if (upload) { + upload.addEventListener("submit", uploadHandler); + } + const sendAppLogBtn = document.querySelector("#send-app-log"); + if (sendAppLogBtn) { + sendAppLogBtn.addEventListener("click", sendApplicationLogs); + } } /** @@ -60,8 +66,10 @@ async function uploadHandler(submitEvent: Event): Promise { const uploadStateJson = await uploadState.json(); const uploadStateJsonString = JSON.stringify(uploadStateJson, null, 5); const logs = `${new Date().toLocaleTimeString()}: ${uploadStateJsonString}\n`; - const logPreview: HTMLPreElement = document.querySelector("#preview"); - logPreview.textContent += logs; + const logPreview = document.querySelector("#preview"); + if (logPreview) { + logPreview.textContent += logs; + } } /** diff --git a/how-to/use-logging-apis/client/tsconfig.json b/how-to/use-logging-apis/client/tsconfig.json index 70cf837a..b697b705 100644 --- a/how-to/use-logging-apis/client/tsconfig.json +++ b/how-to/use-logging-apis/client/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node" diff --git a/how-to/use-logging-apis/server/tsconfig.json b/how-to/use-logging-apis/server/tsconfig.json index 86f342dd..5b710dc9 100644 --- a/how-to/use-logging-apis/server/tsconfig.json +++ b/how-to/use-logging-apis/server/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node" diff --git a/how-to/use-platform/warn-before-closing-dialog/client/src/dialog.ts b/how-to/use-platform/warn-before-closing-dialog/client/src/dialog.ts index fe8f2acb..c016c00e 100644 --- a/how-to/use-platform/warn-before-closing-dialog/client/src/dialog.ts +++ b/how-to/use-platform/warn-before-closing-dialog/client/src/dialog.ts @@ -1,11 +1,14 @@ import { fin } from "@openfin/core"; -function populatePreventedViews(views): void { +function populatePreventedViews(views: { name: string }[]): void { for (const view of views) { console.log("add view", view); const viewP = document.createElement("p"); viewP.innerHTML = view.name; - document.querySelector("#views").append(viewP); + const v = document.querySelector("#views"); + if (v) { + v.append(viewP); + } } } @@ -16,25 +19,34 @@ function populate(): void { if (closeType === "view") { const p = document.createElement("p"); p.innerHTML = "Are you sure you want to close this view? It may have unsaved changes."; - document.querySelector("#text").append(p); + const t = document.querySelector("#text"); + if (t) { + t.append(p); + } } if (closeType === "window") { - const views = JSON.parse(params.get("views")).views; + const views = JSON.parse(params.get("views") ?? "").views; const p1 = document.createElement("p"); p1.innerHTML = "Are you sure you want to close this window?"; - document.querySelector("#text").append(p1); + const t1 = document.querySelector("#text"); + if (t1) { + t1.append(p1); + } const p2 = document.createElement("p"); p2.innerHTML = "The following views may have unsaved changes:"; - document.querySelector("#text").append(p2); + const t2 = document.querySelector("#text"); + if (t2) { + t2.append(p2); + } populatePreventedViews(views); } } -async function handleClose(userDecision): Promise { +async function handleClose(userDecision: boolean): Promise { try { const client = await fin.InterApplicationBus.Channel.connect("userDecisionProvider"); await client.dispatch("get-user-decision", userDecision); @@ -48,13 +60,17 @@ document.addEventListener("DOMContentLoaded", async () => { const okay = document.querySelector("#okay"); const cancel = document.querySelector("#cancel"); - okay.addEventListener("click", async () => { - await handleClose(true); - }); + if (okay) { + okay.addEventListener("click", async () => { + await handleClose(true); + }); + } - cancel.addEventListener("click", async () => { - await handleClose(false); - }); + if (cancel) { + cancel.addEventListener("click", async () => { + await handleClose(false); + }); + } populate(); }); diff --git a/how-to/use-platform/warn-before-closing-dialog/client/src/provider.ts b/how-to/use-platform/warn-before-closing-dialog/client/src/provider.ts index 380f45ea..6c2d052a 100644 --- a/how-to/use-platform/warn-before-closing-dialog/client/src/provider.ts +++ b/how-to/use-platform/warn-before-closing-dialog/client/src/provider.ts @@ -1,9 +1,12 @@ -async function launchDialog(viewsPreventingUnload, windowId, closeType): Promise { +async function launchDialog(viewsPreventingUnload: OpenFin.Identity[], windowId: OpenFin.Identity, closeType: "window" | "view"): Promise { const views = { views: viewsPreventingUnload }; const queryString = new URLSearchParams(`views=${JSON.stringify(views)}&closeType=${closeType}`); const baseUrl = window.location.href.replace("provider", "dialog"); const url = `${baseUrl}?${queryString.toString()}`; - async function handleUserDecisionPromise(resolve, reject): Promise { + async function handleUserDecisionPromise( + resolve: (close: boolean) => void, + reject: (err: unknown) => void + ): Promise { try { const dialogWindow = fin.Window.wrapSync({ uuid: fin.me.identity.uuid, name: "before-unload-dialog" }); @@ -13,7 +16,8 @@ async function launchDialog(viewsPreventingUnload, windowId, closeType): Promise await provider.destroy(); }); - provider.register("get-user-decision", (continueWithClose: boolean) => { + provider.register("get-user-decision", (payload: unknown) => { + const continueWithClose = payload as boolean; resolve(continueWithClose); }); @@ -40,7 +44,7 @@ async function launchDialog(viewsPreventingUnload, windowId, closeType): Promise function overrideCallback( PlatformProvider: OpenFin.Constructor ): OpenFin.PlatformProvider { - class beforeUnloadDialogOverride extends PlatformProvider { + class BeforeUnloadDialogOverride extends PlatformProvider { public async getUserDecisionForBeforeUnload( payload: OpenFin.ViewsPreventingUnloadPayload ): Promise { @@ -55,7 +59,7 @@ function overrideCallback( return { windowShouldClose: false, viewsToClose: [] }; } } - return new beforeUnloadDialogOverride(); + return new BeforeUnloadDialogOverride(); } fin.Platform.init({ overrideCallback }).catch((error) => console.error(error)); diff --git a/how-to/use-platform/warn-before-closing-dialog/client/src/view.ts b/how-to/use-platform/warn-before-closing-dialog/client/src/view.ts index 4c23f19d..0809ae11 100644 --- a/how-to/use-platform/warn-before-closing-dialog/client/src/view.ts +++ b/how-to/use-platform/warn-before-closing-dialog/client/src/view.ts @@ -4,19 +4,24 @@ document.addEventListener("DOMContentLoaded", () => { const viewHeader = document.querySelector("#view-title"); const testInput = document.querySelector("#test-input"); - document.title = viewTitle; - viewHeader.innerHTML = viewTitle; + if (document && viewTitle) { + document.title = viewTitle; + } + if (viewHeader && viewTitle) { + viewHeader.innerHTML = viewTitle; + } - testInput.addEventListener("input", (event) => { - if ((event.target as HTMLTextAreaElement).value !== "") { - window.addEventListener("beforeunload", beforeUnloadListener); - } else { - window.removeEventListener("beforeunload", beforeUnloadListener); - } - }); + if (testInput) { + testInput.addEventListener("input", (event) => { + if ((event.target as HTMLTextAreaElement).value !== "") { + window.addEventListener("beforeunload", beforeUnloadListener); + } else { + window.removeEventListener("beforeunload", beforeUnloadListener); + } + }); + } }); -function beforeUnloadListener(e): void { +function beforeUnloadListener(e: Event): void { e.preventDefault(); - e.returnValue = ""; } diff --git a/how-to/use-platform/warn-before-closing-dialog/client/tsconfig.json b/how-to/use-platform/warn-before-closing-dialog/client/tsconfig.json index 1bfae137..0453c0cc 100644 --- a/how-to/use-platform/warn-before-closing-dialog/client/tsconfig.json +++ b/how-to/use-platform/warn-before-closing-dialog/client/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node", diff --git a/how-to/use-popup-window/advanced/client/src/app.ts b/how-to/use-popup-window/advanced/client/src/app.ts index 3aaa6e15..d4af1530 100644 --- a/how-to/use-popup-window/advanced/client/src/app.ts +++ b/how-to/use-popup-window/advanced/client/src/app.ts @@ -5,14 +5,17 @@ document.addEventListener("DOMContentLoaded", init); async function init(): Promise { // provision about:blank window to later show as popup await fin.Window.create({ name: "popup", autoShow: false }); - const showPopupButton = document.querySelector("#btn-show-popup"); - showPopupButton.addEventListener("click", createPopupWindow); + const showPopupButton = document.querySelector("#btn-show-popup"); + if (showPopupButton) { + showPopupButton.addEventListener("click", createPopupWindow); + } } -async function createPopupWindow(event): Promise { +async function createPopupWindow(event: MouseEvent): Promise { resetPopupResult(); - const { top, right, height }: { top: number; right: number; height: number } = - event.target.getBoundingClientRect(); + const { top, right, height }: { top: number; right: number; height: number } = ( + event.target as HTMLElement + ).getBoundingClientRect(); const hHeight = height / 2; const result = await fin.me.showPopupWindow({ name: "popup", @@ -32,9 +35,15 @@ async function createPopupWindow(event): Promise { } function renderPopupResult(result: OpenFin.PopupResult): void { - document.querySelector("#popup-result").textContent = JSON.stringify(result, undefined, 2); + const res = document.querySelector("#popup-result"); + if (res) { + res.textContent = JSON.stringify(result, undefined, 2); + } } function resetPopupResult(): void { - document.querySelector("#popup-result").textContent = "No result"; + const res = document.querySelector("#popup-result"); + if (res) { + res.textContent = "No result"; + } } diff --git a/how-to/use-popup-window/advanced/client/src/popup.ts b/how-to/use-popup-window/advanced/client/src/popup.ts index 11614e6c..405ff84c 100644 --- a/how-to/use-popup-window/advanced/client/src/popup.ts +++ b/how-to/use-popup-window/advanced/client/src/popup.ts @@ -9,17 +9,23 @@ async function init(): Promise { const confirmButton = document.querySelector("#btn-confirm"); const cancelButton = document.querySelector("#btn-cancel"); - okButton.addEventListener("click", async () => { - await me.dispatchPopupResult("ok"); - }); - - confirmButton.addEventListener("click", async () => { - await me.dispatchPopupResult("confirm"); - }); - - cancelButton.addEventListener("click", async () => { - await me.dispatchPopupResult("cancel"); - }); + if (okButton) { + okButton.addEventListener("click", async () => { + await me.dispatchPopupResult("ok"); + }); + } + + if (confirmButton) { + confirmButton.addEventListener("click", async () => { + await me.dispatchPopupResult("confirm"); + }); + } + + if (cancelButton) { + cancelButton.addEventListener("click", async () => { + await me.dispatchPopupResult("cancel"); + }); + } await renderShownDate(); await me.on("shown", renderShownDate); @@ -29,5 +35,7 @@ async function renderShownDate(): Promise { const shownDateEl = document.querySelector("#shown-date"); const { customData } = await me.getOptions(); const { shownAsPopup }: { shownAsPopup: number } = customData; - shownDateEl.textContent = new Date(shownAsPopup).toTimeString(); + if (shownDateEl) { + shownDateEl.textContent = new Date(shownAsPopup).toTimeString(); + } } diff --git a/how-to/use-popup-window/advanced/client/tsconfig.json b/how-to/use-popup-window/advanced/client/tsconfig.json index 1bfae137..0453c0cc 100644 --- a/how-to/use-popup-window/advanced/client/tsconfig.json +++ b/how-to/use-popup-window/advanced/client/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node", diff --git a/how-to/use-popup-window/modal/client/src/app.ts b/how-to/use-popup-window/modal/client/src/app.ts index 4ad910f5..8ba8dbcf 100644 --- a/how-to/use-popup-window/modal/client/src/app.ts +++ b/how-to/use-popup-window/modal/client/src/app.ts @@ -4,7 +4,9 @@ document.addEventListener("DOMContentLoaded", init); function init(): void { const showPopupButton = document.querySelector("#btn-show-popup"); - showPopupButton.addEventListener("click", createPopupWindow); + if (showPopupButton) { + showPopupButton.addEventListener("click", createPopupWindow); + } } async function createPopupWindow(): Promise { @@ -29,9 +31,15 @@ async function createPopupWindow(): Promise { } function renderPopupResult(result: OpenFin.PopupResult): void { - document.querySelector("#popup-result").textContent = JSON.stringify(result, undefined, 2); + const res = document.querySelector("#popup-result"); + if (res) { + res.textContent = JSON.stringify(result, undefined, 2); + } } function resetPopupResult(): void { - document.querySelector("#popup-result").textContent = "No result"; + const res = document.querySelector("#popup-result"); + if (res) { + res.textContent = "No result"; + } } diff --git a/how-to/use-popup-window/modal/client/src/popup.ts b/how-to/use-popup-window/modal/client/src/popup.ts index 2f12cec7..03cbae23 100644 --- a/how-to/use-popup-window/modal/client/src/popup.ts +++ b/how-to/use-popup-window/modal/client/src/popup.ts @@ -1,4 +1,4 @@ -export {}; +export { }; const me = fin.me as OpenFin.Window; @@ -9,15 +9,21 @@ function init(): void { const confirmButton = document.querySelector("#btn-confirm"); const cancelButton = document.querySelector("#btn-cancel"); - okButton.addEventListener("click", async () => { - await me.dispatchPopupResult("ok"); - }); + if (okButton) { + okButton.addEventListener("click", async () => { + await me.dispatchPopupResult("ok"); + }); + } - confirmButton.addEventListener("click", async () => { - await me.dispatchPopupResult("confirm"); - }); + if (confirmButton) { + confirmButton.addEventListener("click", async () => { + await me.dispatchPopupResult("confirm"); + }); + } - cancelButton.addEventListener("click", async () => { - await me.dispatchPopupResult("cancel"); - }); + if (cancelButton) { + cancelButton.addEventListener("click", async () => { + await me.dispatchPopupResult("cancel"); + }); + } } diff --git a/how-to/use-popup-window/modal/client/tsconfig.json b/how-to/use-popup-window/modal/client/tsconfig.json index 1bfae137..0453c0cc 100644 --- a/how-to/use-popup-window/modal/client/tsconfig.json +++ b/how-to/use-popup-window/modal/client/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node", diff --git a/how-to/use-popup-window/multiple-results/client/src/app.ts b/how-to/use-popup-window/multiple-results/client/src/app.ts index 9b730430..3241b90f 100644 --- a/how-to/use-popup-window/multiple-results/client/src/app.ts +++ b/how-to/use-popup-window/multiple-results/client/src/app.ts @@ -1,15 +1,17 @@ -export {}; +export { }; document.addEventListener("DOMContentLoaded", init); function init(): void { const showPopupButton = document.querySelector("#btn-show-popup"); - showPopupButton.addEventListener("click", createPopupWindow); + if (showPopupButton) { + showPopupButton.addEventListener("click", createPopupWindow); + } } -async function createPopupWindow(event): Promise { +async function createPopupWindow(event: MouseEvent): Promise { resetPopupResult(); - const { right, height }: { right: number; height: number } = event.target.getBoundingClientRect(); + const { right, height }: { right: number; height: number } = (event.target as HTMLElement).getBoundingClientRect(); const hHeight = height / 2; const result = await fin.me.showPopupWindow({ initialOptions: { @@ -29,9 +31,15 @@ async function createPopupWindow(event): Promise { } function renderPopupResult(result: OpenFin.PopupResult): void { - document.querySelector("#popup-result").textContent = JSON.stringify(result, undefined, 2); + const res = document.querySelector("#popup-result"); + if (res) { + res.textContent = JSON.stringify(result, undefined, 2); + } } function resetPopupResult(): void { - document.querySelector("#popup-result").textContent = ""; + const res = document.querySelector("#popup-result"); + if (res) { + res.textContent = ""; + } } diff --git a/how-to/use-popup-window/multiple-results/client/tsconfig.json b/how-to/use-popup-window/multiple-results/client/tsconfig.json index 1bfae137..0453c0cc 100644 --- a/how-to/use-popup-window/multiple-results/client/tsconfig.json +++ b/how-to/use-popup-window/multiple-results/client/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node", diff --git a/how-to/use-popup-window/single-result/client/src/app.ts b/how-to/use-popup-window/single-result/client/src/app.ts index 34428295..c6b8c7c1 100644 --- a/how-to/use-popup-window/single-result/client/src/app.ts +++ b/how-to/use-popup-window/single-result/client/src/app.ts @@ -3,14 +3,17 @@ export {}; document.addEventListener("DOMContentLoaded", init); function init(): void { - const showPopupButton = document.querySelector("#btn-show-popup"); - showPopupButton.addEventListener("click", createPopupWindow); + const showPopupButton = document.querySelector("#btn-show-popup"); + if (showPopupButton) { + showPopupButton.addEventListener("click", createPopupWindow); + } } -async function createPopupWindow(event): Promise { +async function createPopupWindow(event: MouseEvent): Promise { resetPopupResult(); - const { top, right, height }: { top: number; right: number; height: number } = - event.target.getBoundingClientRect(); + const { top, right, height }: { top: number; right: number; height: number } = ( + event.target as HTMLElement + ).getBoundingClientRect(); const hHeight = height / 2; const result = await fin.me.showPopupWindow({ url: location.href.replace("app", "popup"), @@ -23,9 +26,15 @@ async function createPopupWindow(event): Promise { } function renderPopupResult(result: OpenFin.PopupResult): void { - document.querySelector("#popup-result").textContent = JSON.stringify(result, undefined, 2); + const res = document.querySelector("#popup-result"); + if (res) { + res.textContent = JSON.stringify(result, undefined, 2); + } } function resetPopupResult(): void { - document.querySelector("#popup-result").textContent = "No result"; + const res = document.querySelector("#popup-result"); + if (res) { + res.textContent = "No result"; + } } diff --git a/how-to/use-popup-window/single-result/client/src/popup.ts b/how-to/use-popup-window/single-result/client/src/popup.ts index 2f12cec7..638eb787 100644 --- a/how-to/use-popup-window/single-result/client/src/popup.ts +++ b/how-to/use-popup-window/single-result/client/src/popup.ts @@ -9,15 +9,21 @@ function init(): void { const confirmButton = document.querySelector("#btn-confirm"); const cancelButton = document.querySelector("#btn-cancel"); - okButton.addEventListener("click", async () => { - await me.dispatchPopupResult("ok"); - }); + if (okButton) { + okButton.addEventListener("click", async () => { + await me.dispatchPopupResult("ok"); + }); + } - confirmButton.addEventListener("click", async () => { - await me.dispatchPopupResult("confirm"); - }); + if (confirmButton) { + confirmButton.addEventListener("click", async () => { + await me.dispatchPopupResult("confirm"); + }); + } - cancelButton.addEventListener("click", async () => { - await me.dispatchPopupResult("cancel"); - }); + if (cancelButton) { + cancelButton.addEventListener("click", async () => { + await me.dispatchPopupResult("cancel"); + }); + } } diff --git a/how-to/use-popup-window/single-result/client/tsconfig.json b/how-to/use-popup-window/single-result/client/tsconfig.json index 1bfae137..0453c0cc 100644 --- a/how-to/use-popup-window/single-result/client/tsconfig.json +++ b/how-to/use-popup-window/single-result/client/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node", diff --git a/how-to/use-preloads/basic/client/src/app.ts b/how-to/use-preloads/basic/client/src/app.ts index ea575a60..8d5fa8ff 100644 --- a/how-to/use-preloads/basic/client/src/app.ts +++ b/how-to/use-preloads/basic/client/src/app.ts @@ -11,9 +11,15 @@ async function init(): Promise { const showWindowDevToolsButton = document.querySelector("#window-devtools"); const showViewDevToolsButton = document.querySelector("#view-devtools"); - showPlatformDevToolsButton.addEventListener("click", showPlatformDevTools); - showWindowDevToolsButton.addEventListener("click", showWindowDevTools); - showViewDevToolsButton.addEventListener("click", showViewDevTools); + if (showPlatformDevToolsButton) { + showPlatformDevToolsButton.addEventListener("click", showPlatformDevTools); + } + if (showWindowDevToolsButton) { + showWindowDevToolsButton.addEventListener("click", showWindowDevTools); + } + if (showViewDevToolsButton) { + showViewDevToolsButton.addEventListener("click", showViewDevTools); + } } async function showPlatformDevTools(): Promise { diff --git a/how-to/use-preloads/basic/client/tsconfig.json b/how-to/use-preloads/basic/client/tsconfig.json index 1bfae137..0453c0cc 100644 --- a/how-to/use-preloads/basic/client/tsconfig.json +++ b/how-to/use-preloads/basic/client/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node", diff --git a/how-to/use-preloads/restart-on-refresh/client/tsconfig.json b/how-to/use-preloads/restart-on-refresh/client/tsconfig.json index 1bfae137..0453c0cc 100644 --- a/how-to/use-preloads/restart-on-refresh/client/tsconfig.json +++ b/how-to/use-preloads/restart-on-refresh/client/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node", diff --git a/how-to/use-preloads/restart-on-refresh/public/js/preload-view.bundle.js b/how-to/use-preloads/restart-on-refresh/public/js/preload-view.bundle.js index a0a0c164..99386be7 100644 --- a/how-to/use-preloads/restart-on-refresh/public/js/preload-view.bundle.js +++ b/how-to/use-preloads/restart-on-refresh/public/js/preload-view.bundle.js @@ -1,8 +1,10 @@ /******/ (() => { // webpackBootstrap +/******/ "use strict"; var __webpack_exports__ = {}; /*!************************************!*\ !*** ./client/src/preload-view.ts ***! \************************************/ + if (window !== window.top) { console.log("We don't want to load execute when running in an iframe."); } @@ -46,4 +48,4 @@ async function initViewPreload() { /******/ })() ; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZC12aWV3LmJ1bmRsZS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBLElBQUksTUFBTSxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUU7SUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQywwREFBMEQsQ0FBQyxDQUFDO0NBQ3hFO0tBQU0sSUFBSSxRQUFRLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRTtJQUM5QyxtQ0FBbUM7SUFDbkMsS0FBSyxlQUFlLEVBQUUsQ0FBQztDQUN2QjtLQUFNO0lBQ04sTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxLQUFLLElBQUksRUFBRTtRQUMxQyxNQUFNLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0NBQ0g7QUFFRCxLQUFLLFVBQVUsZUFBZTtJQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDcEMsTUFBTSxpQkFBaUIsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckUsOERBQThEO0lBQzlELElBQUksaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSyxpQkFBaUIsQ0FBQyxDQUFDLENBQVMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQ3BGLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0ZBQW9GLENBQUMsQ0FBQztRQUNsRyxPQUFPLENBQUMsR0FBRyxDQUNWLG9KQUFvSixDQUNwSixDQUFDO1FBQ0YsOERBQThEO1FBQzlELE1BQU0sR0FBRyxHQUFJLE1BQWMsQ0FBQyxHQUFHLENBQUM7UUFDaEMsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1lBQ3RCLE1BQU0sV0FBVyxHQUFHLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM5QyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUMxQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLEdBQUcsRUFBRTtnQkFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FDVixnQkFBZ0IsUUFBUSxDQUFDLElBQUkseUNBQXlDLFdBQVcsQ0FBQyxHQUFHLDZDQUE2QyxDQUNsSSxDQUFDO2dCQUNGLFFBQVEsQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQzthQUNoQztpQkFBTTtnQkFDTixPQUFPLENBQUMsR0FBRyxDQUFDLDBFQUEwRSxDQUFDLENBQUM7YUFDeEY7U0FDRDthQUFNO1lBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyxrRkFBa0YsQ0FBQyxDQUFDO1NBQ2xHO0tBQ0Q7U0FBTTtRQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBQy9DO0FBQ0YsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL3VzZS1wcmVsb2Fkcy1yZXN0YXJ0LW9uLXJlZnJlc2gvLi9jbGllbnQvc3JjL3ByZWxvYWQtdmlldy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpZiAod2luZG93ICE9PSB3aW5kb3cudG9wKSB7XG5cdGNvbnNvbGUubG9nKFwiV2UgZG9uJ3Qgd2FudCB0byBsb2FkIGV4ZWN1dGUgd2hlbiBydW5uaW5nIGluIGFuIGlmcmFtZS5cIik7XG59IGVsc2UgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09IFwiY29tcGxldGVcIikge1xuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdm9pZFxuXHR2b2lkIGluaXRWaWV3UHJlbG9hZCgpO1xufSBlbHNlIHtcblx0d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsIGFzeW5jICgpID0+IHtcblx0XHRhd2FpdCBpbml0Vmlld1ByZWxvYWQoKTtcblx0fSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGluaXRWaWV3UHJlbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcblx0Y29uc29sZS5sb2coXCJWaWV3IHByZWxvYWQgbG9hZGVkLlwiKTtcblx0Y29uc3QgbmF2aWdhdGlvbkVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKFwibmF2aWdhdGlvblwiKTtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcblx0aWYgKG5hdmlnYXRpb25FbnRyaWVzLmxlbmd0aCA+IDAgJiYgKG5hdmlnYXRpb25FbnRyaWVzWzBdIGFzIGFueSkudHlwZSA9PT0gXCJyZWxvYWRcIikge1xuXHRcdGNvbnNvbGUubG9nKFwiTmF2aWdhdGlvbiBFbnRyaWVzIGZyb20gUGVyZm9ybWFuY2UgQVBJIEluZGljYXRlIHRoYXQgdGhpcyBwYWdlIGhhcyBiZWVuIHJlbG9hZGVkLlwiKTtcblx0XHRjb25zb2xlLmxvZyhcblx0XHRcdFwiVGhpcyBleGFtcGxlIGlzIGEgdXNlIGNhc2UgdGhhdCB3YXMgd2FzIGFza2VkIGZvci4gQ2FuIEkgcmVzdGFydCBhbmQgbmF2aWdhdGUgdG8gdGhlIG9yaWdpbmFsbHkgbG9hZGVkIHVybCBpbiBhIHZpZXcgd2hlbiBhIHVzZXIgcmVsb2FkcyB0aGUgcGFnZT9cIlxuXHRcdCk7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcblx0XHRjb25zdCBmaW4gPSAod2luZG93IGFzIGFueSkuZmluO1xuXHRcdGlmIChmaW4gIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0Y29uc3Qgdmlld09wdGlvbnMgPSBhd2FpdCBmaW4ubWUuZ2V0T3B0aW9ucygpO1xuXHRcdFx0Y29uc29sZS5sb2coXCJWaWV3IE9wdGlvbnM6XCIsIHZpZXdPcHRpb25zKTtcblx0XHRcdGlmIChsb2NhdGlvbi5ocmVmICE9PSB2aWV3T3B0aW9ucy51cmwpIHtcblx0XHRcdFx0Y29uc29sZS5sb2coXG5cdFx0XHRcdFx0YEN1cnJlbnQgdXJsOiAke2xvY2F0aW9uLmhyZWZ9IGRvZXMgbm90IG1hdGNoIHRoZSBkZWZpbmVkIHZpZXcgdXJsOiAke3ZpZXdPcHRpb25zLnVybH0gbmF2aWdhdGluZyB0byB0aGUgb3JpZ2luYWwgdXJsIG9uIHJlZnJlc2guYFxuXHRcdFx0XHQpO1xuXHRcdFx0XHRsb2NhdGlvbi5ocmVmID0gdmlld09wdGlvbnMudXJsO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y29uc29sZS5sb2coXCJSZWxvYWQgd2FzIGRldGVjdGVkIG9uIHRoZSBvcmlnaW5hbGx5IGxvYWRlZCB1cmwuIFBlcmZvcm1pbmcgbm8gYWN0aW9ucy5cIik7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnNvbGUuZXJyb3IoXCJUaGlzIGlzIGEgcHJlbG9hZCBzY3JpcHQgc28gc2hvdWxkIG9ubHkgZXZlciBiZSBsb2FkZWQgaW50byBhbiBPcGVuRmluIGNvbnRhaW5lclwiKTtcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0Y29uc29sZS5sb2coYEZpcnN0IGxvYWQgb2Y6ICR7bG9jYXRpb24uaHJlZn1gKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZC12aWV3LmJ1bmRsZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBSSxNQUFNLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRTtJQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7Q0FDeEU7S0FBTSxJQUFJLFFBQVEsQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFO0lBQzlDLG1DQUFtQztJQUNuQyxLQUFLLGVBQWUsRUFBRSxDQUFDO0NBQ3ZCO0tBQU07SUFDTixNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQzFDLE1BQU0sZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQyxDQUFDLENBQUM7Q0FDSDtBQUVELEtBQUssVUFBVSxlQUFlO0lBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNwQyxNQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNyRSw4REFBOEQ7SUFDOUQsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFLLGlCQUFpQixDQUFDLENBQUMsQ0FBUyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDcEYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvRkFBb0YsQ0FBQyxDQUFDO1FBQ2xHLE9BQU8sQ0FBQyxHQUFHLENBQ1Ysb0pBQW9KLENBQ3BKLENBQUM7UUFDRiw4REFBOEQ7UUFDOUQsTUFBTSxHQUFHLEdBQUksTUFBYyxDQUFDLEdBQUcsQ0FBQztRQUNoQyxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7WUFDdEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzlDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQzFDLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsR0FBRyxFQUFFO2dCQUN0QyxPQUFPLENBQUMsR0FBRyxDQUNWLGdCQUFnQixRQUFRLENBQUMsSUFBSSx5Q0FBeUMsV0FBVyxDQUFDLEdBQUcsNkNBQTZDLENBQ2xJLENBQUM7Z0JBQ0YsUUFBUSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDO2FBQ2hDO2lCQUFNO2dCQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEVBQTBFLENBQUMsQ0FBQzthQUN4RjtTQUNEO2FBQU07WUFDTixPQUFPLENBQUMsS0FBSyxDQUFDLGtGQUFrRixDQUFDLENBQUM7U0FDbEc7S0FDRDtTQUFNO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7S0FDL0M7QUFDRixDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdXNlLXByZWxvYWRzLXJlc3RhcnQtb24tcmVmcmVzaC8uL2NsaWVudC9zcmMvcHJlbG9hZC12aWV3LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImlmICh3aW5kb3cgIT09IHdpbmRvdy50b3ApIHtcblx0Y29uc29sZS5sb2coXCJXZSBkb24ndCB3YW50IHRvIGxvYWQgZXhlY3V0ZSB3aGVuIHJ1bm5pbmcgaW4gYW4gaWZyYW1lLlwiKTtcbn0gZWxzZSBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gXCJjb21wbGV0ZVwiKSB7XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby12b2lkXG5cdHZvaWQgaW5pdFZpZXdQcmVsb2FkKCk7XG59IGVsc2Uge1xuXHR3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGF3YWl0IGluaXRWaWV3UHJlbG9hZCgpO1xuXHR9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaW5pdFZpZXdQcmVsb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuXHRjb25zb2xlLmxvZyhcIlZpZXcgcHJlbG9hZCBsb2FkZWQuXCIpO1xuXHRjb25zdCBuYXZpZ2F0aW9uRW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoXCJuYXZpZ2F0aW9uXCIpO1xuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuXHRpZiAobmF2aWdhdGlvbkVudHJpZXMubGVuZ3RoID4gMCAmJiAobmF2aWdhdGlvbkVudHJpZXNbMF0gYXMgYW55KS50eXBlID09PSBcInJlbG9hZFwiKSB7XG5cdFx0Y29uc29sZS5sb2coXCJOYXZpZ2F0aW9uIEVudHJpZXMgZnJvbSBQZXJmb3JtYW5jZSBBUEkgSW5kaWNhdGUgdGhhdCB0aGlzIHBhZ2UgaGFzIGJlZW4gcmVsb2FkZWQuXCIpO1xuXHRcdGNvbnNvbGUubG9nKFxuXHRcdFx0XCJUaGlzIGV4YW1wbGUgaXMgYSB1c2UgY2FzZSB0aGF0IHdhcyB3YXMgYXNrZWQgZm9yLiBDYW4gSSByZXN0YXJ0IGFuZCBuYXZpZ2F0ZSB0byB0aGUgb3JpZ2luYWxseSBsb2FkZWQgdXJsIGluIGEgdmlldyB3aGVuIGEgdXNlciByZWxvYWRzIHRoZSBwYWdlP1wiXG5cdFx0KTtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuXHRcdGNvbnN0IGZpbiA9ICh3aW5kb3cgYXMgYW55KS5maW47XG5cdFx0aWYgKGZpbiAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRjb25zdCB2aWV3T3B0aW9ucyA9IGF3YWl0IGZpbi5tZS5nZXRPcHRpb25zKCk7XG5cdFx0XHRjb25zb2xlLmxvZyhcIlZpZXcgT3B0aW9uczpcIiwgdmlld09wdGlvbnMpO1xuXHRcdFx0aWYgKGxvY2F0aW9uLmhyZWYgIT09IHZpZXdPcHRpb25zLnVybCkge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhcblx0XHRcdFx0XHRgQ3VycmVudCB1cmw6ICR7bG9jYXRpb24uaHJlZn0gZG9lcyBub3QgbWF0Y2ggdGhlIGRlZmluZWQgdmlldyB1cmw6ICR7dmlld09wdGlvbnMudXJsfSBuYXZpZ2F0aW5nIHRvIHRoZSBvcmlnaW5hbCB1cmwgb24gcmVmcmVzaC5gXG5cdFx0XHRcdCk7XG5cdFx0XHRcdGxvY2F0aW9uLmhyZWYgPSB2aWV3T3B0aW9ucy51cmw7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhcIlJlbG9hZCB3YXMgZGV0ZWN0ZWQgb24gdGhlIG9yaWdpbmFsbHkgbG9hZGVkIHVybC4gUGVyZm9ybWluZyBubyBhY3Rpb25zLlwiKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0Y29uc29sZS5lcnJvcihcIlRoaXMgaXMgYSBwcmVsb2FkIHNjcmlwdCBzbyBzaG91bGQgb25seSBldmVyIGJlIGxvYWRlZCBpbnRvIGFuIE9wZW5GaW4gY29udGFpbmVyXCIpO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRjb25zb2xlLmxvZyhgRmlyc3QgbG9hZCBvZjogJHtsb2NhdGlvbi5ocmVmfWApO1xuXHR9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file diff --git a/how-to/use-security-realms/client/src/app.ts b/how-to/use-security-realms/client/src/app.ts index 07f81d1b..c02a07ff 100755 --- a/how-to/use-security-realms/client/src/app.ts +++ b/how-to/use-security-realms/client/src/app.ts @@ -14,37 +14,45 @@ async function init(): Promise { const securityRealm = await getSecurityRealmInfo(); if (securityRealm === "UAT-MAIN") { const summary = document.querySelector("#summary"); - summary.textContent = - "This UAT instance of the application will automatically launch a .net console application that is tied to the UAT security realm and will not receive messages from the PROD realm."; + if (summary) { + summary.textContent = + "This UAT instance of the application will automatically launch a .net console application that is tied to the UAT security realm and will not receive messages from the PROD realm."; + } const id = await launchNativeApp(); console.log(id); } - await setupSendButton(securityRealm); - await listenToTopicAndLogMessages(securityRealm); + await setupSendButton(securityRealm ?? ""); + await listenToTopicAndLogMessages(securityRealm ?? ""); } -async function getSecurityRealmInfo(): Promise { +async function getSecurityRealmInfo(): Promise { try { const runtimeInfo: OpenFin.RuntimeInfo = await fin.System.getRuntimeInfo(); - const securityRealmName: HTMLHeadingElement = document.querySelector("#security-realm-name"); - if (runtimeInfo.securityRealm) { - securityRealmName.innerHTML += runtimeInfo.securityRealm; - return runtimeInfo.securityRealm; + const securityRealmName = document.querySelector("#security-realm-name"); + if (securityRealmName) { + if (runtimeInfo.securityRealm) { + securityRealmName.innerHTML += runtimeInfo.securityRealm; + return runtimeInfo.securityRealm; + } + securityRealmName.innerHTML += "No Security Realm Present"; } - securityRealmName.innerHTML += "No Security Realm Present"; } catch (error) { console.error("Error getting runtime info:", error); } } async function setupSendButton(realm: string): Promise { - const sendMessageBtn: HTMLButtonElement = document.querySelector("#send-message"); - sendMessageBtn.addEventListener("click", async (e) => { - e.preventDefault(); - const iabMessage: HTMLTextAreaElement = document.querySelector("#iab-message"); - const messageText: string = iabMessage.value; - await publishMessageToTopic(messageText, realm); - }); + const sendMessageBtn = document.querySelector("#send-message"); + if (sendMessageBtn) { + sendMessageBtn.addEventListener("click", async (e) => { + e.preventDefault(); + const iabMessage = document.querySelector("#iab-message"); + if (iabMessage) { + const messageText: string = iabMessage.value; + await publishMessageToTopic(messageText, realm); + } + }); + } } async function publishMessageToTopic(messageText: string, realm: string): Promise { try { @@ -61,10 +69,16 @@ async function publishMessageToTopic(messageText: string, realm: string): Promis async function listenToTopicAndLogMessages(realm: string): Promise { try { - const messageLog: HTMLDivElement = document.querySelector("#message-log"); - await fin.InterApplicationBus.subscribe({ uuid: "*" }, topic, ({ id, message, realmName }) => { - messageLog.innerHTML += `Received message from app with identity of {uuid: ${id.uuid}}\n\nRealm Name: ${realmName}\nMessage: ${message}`; - }); + const messageLog = document.querySelector("#message-log"); + if (messageLog) { + await fin.InterApplicationBus.subscribe( + { uuid: "*" }, + topic, + (payload: { id: { uuid: string }; message: string; realmName: string }) => { + messageLog.innerHTML += `Received message from app with identity of {uuid: ${payload.id.uuid}}\n\nRealm Name: ${payload.realmName}\nMessage: ${payload.message}`; + } + ); + } } catch (error) { if (error) { // eslint-disable-next-line no-alert diff --git a/how-to/use-security-realms/client/src/view-app.ts b/how-to/use-security-realms/client/src/view-app.ts index 18eadf59..a301981a 100755 --- a/how-to/use-security-realms/client/src/view-app.ts +++ b/how-to/use-security-realms/client/src/view-app.ts @@ -1,4 +1,4 @@ -export {}; +export { }; document.addEventListener("DOMContentLoaded", async () => { try { @@ -13,28 +13,34 @@ const rootPath = location.href.replace("/html/view-app.html", "/"); async function init(): Promise { const securityRealm = await getSecurityRealmInfo(); - await listenToTopicAndLogMessages(securityRealm); - await setupSendButton(securityRealm); - const launchAppBtn: HTMLButtonElement = document.querySelector("#launch-app-btn"); - launchAppBtn.addEventListener("click", async () => { - await launchProd(); - }); + await listenToTopicAndLogMessages(securityRealm ?? ""); + await setupSendButton(securityRealm ?? ""); + const launchAppBtn = document.querySelector("#launch-app-btn"); + if (launchAppBtn) { + launchAppBtn.addEventListener("click", async () => { + await launchProd(); + }); + } - const launchNewRealmBtn: HTMLButtonElement = document.querySelector("#launch-outofrealm-btn"); - launchNewRealmBtn.addEventListener("click", async () => { - await launchUat(); - }); + const launchNewRealmBtn = document.querySelector("#launch-outofrealm-btn"); + if (launchNewRealmBtn) { + launchNewRealmBtn.addEventListener("click", async () => { + await launchUat(); + }); + } } -async function getSecurityRealmInfo(): Promise { +async function getSecurityRealmInfo(): Promise { try { const runtimeInfo: OpenFin.RuntimeInfo = await fin.System.getRuntimeInfo(); - const securityRealmName: HTMLHeadingElement = document.querySelector("#security-realm-name"); - if (runtimeInfo.securityRealm) { - securityRealmName.innerHTML += runtimeInfo.securityRealm; - return runtimeInfo.securityRealm; + const securityRealmName = document.querySelector("#security-realm-name"); + if (securityRealmName) { + if (runtimeInfo.securityRealm) { + securityRealmName.innerHTML += runtimeInfo.securityRealm; + return runtimeInfo.securityRealm; + } + securityRealmName.innerHTML += "No Security Realm Present"; } - securityRealmName.innerHTML += "No Security Realm Present"; } catch (error) { console.error("Error getting runtime info:", error); } @@ -45,7 +51,7 @@ async function launchProd(): Promise { return app; } -async function launchUat(): Promise { +async function launchUat(): Promise { try { const app = await fin.Application.startFromManifest(`${rootPath}uat/app.fin.json`); return app; @@ -56,13 +62,17 @@ async function launchUat(): Promise { async function setupSendButton(realm: string): Promise { try { - const sendMessageBtn: HTMLButtonElement = document.querySelector("#send-message"); - sendMessageBtn.addEventListener("click", async (e) => { - e.preventDefault(); - const iabMessage: HTMLTextAreaElement = document.querySelector("#iab-message"); - const messageText: string = iabMessage.value; - await publishMessageToTopic(messageText, realm); - }); + const sendMessageBtn = document.querySelector("#send-message"); + if (sendMessageBtn) { + sendMessageBtn.addEventListener("click", async (e) => { + e.preventDefault(); + const iabMessage = document.querySelector("#iab-message"); + if (iabMessage) { + const messageText: string = iabMessage.value; + await publishMessageToTopic(messageText, realm); + } + }); + } } catch (error) { console.error("Error sending IAB message", error); } @@ -83,10 +93,12 @@ async function publishMessageToTopic(messageText: string, realm: string): Promis async function listenToTopicAndLogMessages(realm: string): Promise { try { - const messageLog: HTMLDivElement = document.querySelector("#message-log"); - await fin.InterApplicationBus.subscribe({ uuid: "*" }, topic, ({ id, message, realmName }) => { - messageLog.innerHTML += `Received message from app with identity of {uuid: ${id.uuid}}\n\nRealm Name: ${realmName}\nMessage: ${message}\n\n`; - }); + const messageLog = document.querySelector("#message-log"); + if (messageLog) { + await fin.InterApplicationBus.subscribe({ uuid: "*" }, topic, (payload: { id: { uuid: string }; message: string; realmName: string }) => { + messageLog.innerHTML += `Received message from app with identity of {uuid: ${payload.id.uuid}}\n\nRealm Name: ${payload.realmName}\nMessage: ${payload.message}\n\n`; + }); + } } catch (error) { if (error) { // eslint-disable-next-line no-alert diff --git a/how-to/use-security-realms/client/tsconfig.json b/how-to/use-security-realms/client/tsconfig.json index 1bfae137..0453c0cc 100644 --- a/how-to/use-security-realms/client/tsconfig.json +++ b/how-to/use-security-realms/client/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node", diff --git a/how-to/use-window-options/client/src/app.ts b/how-to/use-window-options/client/src/app.ts index 1b50abd6..ba57eab2 100644 --- a/how-to/use-window-options/client/src/app.ts +++ b/how-to/use-window-options/client/src/app.ts @@ -59,7 +59,7 @@ let selectedResizeRegion: Partial = { ...defaultResizeRegi let selectedResizeRegionSides: Partial = { ...defaultResizeRegionSides }; let selectedCornerRounding: Partial = { ...defaultCornerRounding }; -let previewWindow: OpenFin.Window; +let previewWindow: OpenFin.Window | undefined; document.addEventListener("DOMContentLoaded", async () => { try { @@ -71,46 +71,54 @@ document.addEventListener("DOMContentLoaded", async () => { async function initDom(): Promise { const btnPreview = document.querySelector("#btnPreview"); - btnPreview.addEventListener("click", async () => { - if (previewWindow) { - await previewWindow.removeAllListeners(); - await previewWindow.close(true); - previewWindow = undefined; - } - const previewOptions: OpenFin.WindowCreationOptions = { - ...finalizeWindowOptions(), - saveWindowState: false - }; - previewWindow = await fin.Window.create(previewOptions); - await previewWindow.addListener("closed", () => { - previewWindow = undefined; + if (btnPreview) { + btnPreview.addEventListener("click", async () => { + if (previewWindow) { + await previewWindow.removeAllListeners(); + await previewWindow.close(true); + previewWindow = undefined; + } + const previewOptions: OpenFin.WindowCreationOptions = { + ...finalizeWindowOptions(), + saveWindowState: false + }; + previewWindow = await fin.Window.create(previewOptions); + await previewWindow.addListener("closed", () => { + previewWindow = undefined; + }); }); - }); + } const btnClosePreview = document.querySelector("#btnClosePreview"); - btnClosePreview.addEventListener("click", async () => { - if (previewWindow) { - await previewWindow.removeAllListeners(); - await previewWindow.close(true); - previewWindow = undefined; - } - }); + if (btnClosePreview) { + btnClosePreview.addEventListener("click", async () => { + if (previewWindow) { + await previewWindow.removeAllListeners(); + await previewWindow.close(true); + previewWindow = undefined; + } + }); + } const btnReset = document.querySelector("#btnReset"); - btnReset.addEventListener("click", () => { - selectedCommonOptions = { ...defaultCommonOptions }; - selectedFramelessOptions = { ...defaultFramelessOptions }; - selectedResizeRegion = { ...defaultResizeRegion }; - selectedResizeRegionSides = { ...defaultResizeRegionSides }; - selectedCornerRounding = { ...defaultCornerRounding }; - populateForm(); - updatePreview(); - }); + if (btnReset) { + btnReset.addEventListener("click", () => { + selectedCommonOptions = { ...defaultCommonOptions }; + selectedFramelessOptions = { ...defaultFramelessOptions }; + selectedResizeRegion = { ...defaultResizeRegion }; + selectedResizeRegionSides = { ...defaultResizeRegionSides }; + selectedCornerRounding = { ...defaultCornerRounding }; + populateForm(); + updatePreview(); + }); + } const btnCopy = document.querySelector("#btnCopy"); - btnCopy.addEventListener("click", async () => { - await fin.Clipboard.writeText({ data: createPreview() }); - }); + if (btnCopy) { + btnCopy.addEventListener("click", async () => { + await fin.Clipboard.writeText({ data: createPreview() }); + }); + } populateForm(); updatePreview(); @@ -161,11 +169,15 @@ function populateForm(): void { function updateResizeState(): void { const resizable = selectedCommonOptions.resizable ?? defaultCommonOptions.resizable; - const widthElem: HTMLElement = document.querySelector("#resizeWidth"); - widthElem.style.display = resizable ? "flex" : "none"; + const widthElem = document.querySelector("#resizeWidth"); + if (widthElem) { + widthElem.style.display = resizable ? "flex" : "none"; + } - const heightElem: HTMLElement = document.querySelector("#resizeHeight"); - heightElem.style.display = resizable ? "flex" : "none"; + const heightElem = document.querySelector("#resizeHeight"); + if (heightElem) { + heightElem.style.display = resizable ? "flex" : "none"; + } if (!resizable) { delete selectedCommonOptions.minWidth; @@ -177,51 +189,75 @@ function updateResizeState(): void { function updateFramelessState(): void { const frame = selectedCommonOptions.frame ?? defaultCommonOptions.frame; - const sectionFrameless: HTMLElement = document.querySelector("#sectionFrameless"); - sectionFrameless.style.display = frame ? "none" : "flex"; + const sectionFrameless = document.querySelector("#sectionFrameless"); + if (sectionFrameless) { + sectionFrameless.style.display = frame ? "none" : "flex"; + } } function updateResizeWidth(): void { if ( selectedCommonOptions.maxWidth !== -1 && + selectedCommonOptions.maxWidth !== undefined && + selectedCommonOptions.minWidth !== undefined && selectedCommonOptions.maxWidth <= selectedCommonOptions.minWidth ) { selectedCommonOptions.maxWidth = selectedCommonOptions.minWidth + 50; - const maxWidthElem: HTMLInputElement = document.querySelector("#optionMaxWidth"); - maxWidthElem.valueAsNumber = selectedCommonOptions.maxWidth; - const maxWidthValueElem: HTMLElement = document.querySelector("#optionMaxWidthValue"); - maxWidthValueElem.textContent = selectedCommonOptions.maxWidth.toString(); + const maxWidthElem = document.querySelector("#optionMaxWidth"); + if (maxWidthElem) { + maxWidthElem.valueAsNumber = selectedCommonOptions.maxWidth; + } + const maxWidthValueElem = document.querySelector("#optionMaxWidthValue"); + if (maxWidthValueElem) { + maxWidthValueElem.textContent = selectedCommonOptions.maxWidth.toString(); + } } } function updateResizeHeight(): void { if ( selectedCommonOptions.maxHeight !== -1 && + selectedCommonOptions.maxHeight !== undefined && + selectedCommonOptions.minHeight !== undefined && selectedCommonOptions.maxHeight <= selectedCommonOptions.minHeight ) { selectedCommonOptions.maxHeight = selectedCommonOptions.minHeight + 50; - const maxHeightElem: HTMLInputElement = document.querySelector("#optionMaxHeight"); - maxHeightElem.valueAsNumber = selectedCommonOptions.maxHeight; - const maxHeightValueElem: HTMLElement = document.querySelector("#optionMaxHeightValue"); - maxHeightValueElem.textContent = selectedCommonOptions.maxHeight.toString(); + const maxHeightElem = document.querySelector("#optionMaxHeight"); + if (maxHeightElem) { + maxHeightElem.valueAsNumber = selectedCommonOptions.maxHeight; + } + const maxHeightValueElem = document.querySelector("#optionMaxHeightValue"); + if (maxHeightValueElem) { + maxHeightValueElem.textContent = selectedCommonOptions.maxHeight.toString(); + } } } function updateDefaultPosition(): void { const isCentered = selectedCommonOptions.defaultCentered ?? defaultCommonOptions.defaultCentered; - const defaultPositionElem: HTMLDivElement = document.querySelector("#defaultPosition"); - defaultPositionElem.style.display = isCentered ? "none" : "flex"; + const defaultPositionElem = document.querySelector("#defaultPosition"); + if (defaultPositionElem) { + defaultPositionElem.style.display = isCentered ? "none" : "flex"; + } - const optionDefaultLeft: HTMLInputElement = document.querySelector("#optionDefaultLeft"); - optionDefaultLeft.valueAsNumber = defaultCommonOptions.defaultLeft; - const optionDefaultLeftValue: HTMLSpanElement = document.querySelector("#optionDefaultLeftValue"); - optionDefaultLeftValue.textContent = defaultCommonOptions.defaultLeft.toString(); + const optionDefaultLeft = document.querySelector("#optionDefaultLeft"); + if (optionDefaultLeft && defaultCommonOptions.defaultLeft !== undefined) { + optionDefaultLeft.valueAsNumber = defaultCommonOptions.defaultLeft; + } + const optionDefaultLeftValue = document.querySelector("#optionDefaultLeftValue"); + if (optionDefaultLeftValue && defaultCommonOptions.defaultLeft !== undefined) { + optionDefaultLeftValue.textContent = defaultCommonOptions.defaultLeft.toString(); + } - const optionDefaultTop: HTMLInputElement = document.querySelector("#optionDefaultTop"); - optionDefaultTop.valueAsNumber = defaultCommonOptions.defaultTop; - const optionDefaultTopValue: HTMLSpanElement = document.querySelector("#optionDefaultTopValue"); - optionDefaultTopValue.textContent = defaultCommonOptions.defaultTop.toString(); + const optionDefaultTop = document.querySelector("#optionDefaultTop"); + if (optionDefaultTop && defaultCommonOptions.defaultTop !== undefined) { + optionDefaultTop.valueAsNumber = defaultCommonOptions.defaultTop; + } + const optionDefaultTopValue = document.querySelector("#optionDefaultTopValue"); + if (optionDefaultTopValue && defaultCommonOptions.defaultTop !== undefined) { + optionDefaultTopValue.textContent = defaultCommonOptions.defaultTop.toString(); + } if (isCentered) { delete selectedCommonOptions.defaultLeft; @@ -239,11 +275,13 @@ function getProperty(obj: Partial, key: K): P { function connectInput(selectedValues: Partial, fieldId: string, property: K): void { const option = document.querySelector(`#${fieldId}`); - option.value = getProperty(selectedValues, property) ?? ""; - option.addEventListener("input", () => { - setProperty(selectedValues, property, option.value === "" ? undefined : option.value); - updatePreview(); - }); + if (option) { + option.value = getProperty(selectedValues, property) ?? ""; + option.addEventListener("input", () => { + setProperty(selectedValues, property, option.value === "" ? undefined : option.value); + updatePreview(); + }); + } } function connectCheckbox( @@ -253,14 +291,16 @@ function connectCheckbox( changed?: () => void ): void { const option = document.querySelector(`#${fieldId}`); - option.checked = getProperty(selectedValues, property); - option.addEventListener("change", () => { - setProperty(selectedValues, property, option.checked); - if (changed) { - changed(); - } - updatePreview(); - }); + if (option) { + option.checked = getProperty(selectedValues, property); + option.addEventListener("change", () => { + setProperty(selectedValues, property, option.checked); + if (changed) { + changed(); + } + updatePreview(); + }); + } } function connectRange( @@ -272,16 +312,18 @@ function connectRange( const option = document.querySelector(`#${fieldId}`); const optionValue = document.querySelector(`#${fieldId}Value`); - option.valueAsNumber = getProperty(selectedValues, property); - optionValue.textContent = getProperty(selectedValues, property); - option.addEventListener("input", () => { - setProperty(selectedValues, property, option.valueAsNumber); - optionValue.textContent = option.valueAsNumber.toString(); - if (changed) { - changed(); - } - updatePreview(); - }); + if (option && optionValue) { + option.valueAsNumber = getProperty(selectedValues, property); + optionValue.textContent = getProperty(selectedValues, property); + option.addEventListener("input", () => { + setProperty(selectedValues, property, option.valueAsNumber); + optionValue.textContent = option.valueAsNumber.toString(); + if (changed) { + changed(); + } + updatePreview(); + }); + } } function connectColor( @@ -293,16 +335,18 @@ function connectColor( const option = document.querySelector(`#${fieldId}`); const optionValue = document.querySelector(`#${fieldId}Value`); - option.value = getProperty(selectedValues, property); - optionValue.textContent = getProperty(selectedValues, property); - option.addEventListener("input", () => { - setProperty(selectedValues, property, option.value); - optionValue.textContent = option.value; - if (changed) { - changed(); - } - updatePreview(); - }); + if (option && optionValue) { + option.value = getProperty(selectedValues, property); + optionValue.textContent = getProperty(selectedValues, property); + option.addEventListener("input", () => { + setProperty(selectedValues, property, option.value); + optionValue.textContent = option.value; + if (changed) { + changed(); + } + updatePreview(); + }); + } } function finalizeWindowOptions(): OpenFin.WindowCreationOptions { @@ -312,27 +356,50 @@ function finalizeWindowOptions(): OpenFin.WindowCreationOptions { autoShow: selectedCommonOptions.autoShow }; - for (const prop of Object.keys(selectedCommonOptions)) { + for (const prop of Object.keys(selectedCommonOptions) as (keyof OpenFin.WindowCreationOptions)[]) { if (selectedCommonOptions[prop] !== defaultCommonOptions[prop]) { finalWindowOptions[prop] = selectedCommonOptions[prop]; } } if (!(selectedCommonOptions.frame ?? true)) { - for (const prop of Object.keys(selectedFramelessOptions)) { + for (const prop of Object.keys(selectedFramelessOptions) as (keyof OpenFin.WindowCreationOptions)[]) { if (selectedFramelessOptions[prop] !== defaultCommonOptions[prop]) { finalWindowOptions[prop] = selectedFramelessOptions[prop]; } } - for (const prop of Object.keys(selectedResizeRegion)) { - if (selectedResizeRegion[prop] !== defaultResizeRegion[prop]) { - finalWindowOptions.resizeRegion = finalWindowOptions.resizeRegion ?? {}; - finalWindowOptions.resizeRegion[prop] = selectedResizeRegion[prop]; + const finalRegion: OpenFin.ResizeRegion = {}; + if (selectedResizeRegion.bottomRightCorner !== defaultResizeRegion.bottomRightCorner) { + finalRegion.bottomRightCorner = selectedResizeRegion.bottomRightCorner; + } + if (selectedResizeRegion.size !== defaultResizeRegion.size) { + finalRegion.size = selectedResizeRegion.size; + } + if (selectedResizeRegion.sides) { + finalRegion.sides = {}; + if (selectedResizeRegion.sides?.bottom !== defaultResizeRegion.sides?.bottom) { + finalRegion.sides.bottom = selectedResizeRegion.sides?.bottom; + } + if (selectedResizeRegion.sides?.left !== defaultResizeRegion.sides?.left) { + finalRegion.sides.left = selectedResizeRegion.sides?.left; + } + if (selectedResizeRegion.sides?.top !== defaultResizeRegion.sides?.top) { + finalRegion.sides.top = selectedResizeRegion.sides?.top; + } + if (selectedResizeRegion.sides?.right !== defaultResizeRegion.sides?.right) { + finalRegion.sides.right = selectedResizeRegion.sides?.right; + } + if (Object.keys(finalRegion.sides).length === 0) { + delete finalRegion.sides; } } - for (const prop of Object.keys(selectedResizeRegionSides)) { + if (Object.keys(finalRegion).length > 0) { + finalWindowOptions.resizeRegion = finalRegion; + } + + for (const prop of Object.keys(selectedResizeRegionSides) as (keyof ResizeSides)[]) { if (selectedResizeRegionSides[prop] !== defaultResizeRegionSides[prop]) { finalWindowOptions.resizeRegion = finalWindowOptions.resizeRegion ?? {}; finalWindowOptions.resizeRegion.sides = finalWindowOptions.resizeRegion.sides ?? {}; @@ -340,7 +407,7 @@ function finalizeWindowOptions(): OpenFin.WindowCreationOptions { } } - for (const prop of Object.keys(selectedCornerRounding)) { + for (const prop of Object.keys(selectedCornerRounding) as (keyof OpenFin.CornerRounding)[]) { if (selectedCornerRounding[prop] !== defaultCornerRounding[prop]) { finalWindowOptions.cornerRounding = finalWindowOptions.cornerRounding ?? {}; finalWindowOptions.cornerRounding[prop] = selectedCornerRounding[prop]; @@ -353,7 +420,9 @@ function finalizeWindowOptions(): OpenFin.WindowCreationOptions { function updatePreview(): void { const previewElem = document.querySelector("#preview"); - previewElem.textContent = createPreview(); + if (previewElem) { + previewElem.textContent = createPreview(); + } } function createPreview(): string { diff --git a/how-to/use-window-options/client/tsconfig.json b/how-to/use-window-options/client/tsconfig.json index 1bfae137..0453c0cc 100644 --- a/how-to/use-window-options/client/tsconfig.json +++ b/how-to/use-window-options/client/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node", diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json index 4c76c443..a64fbd01 100644 --- a/tsconfig.eslint.json +++ b/tsconfig.eslint.json @@ -6,8 +6,7 @@ "rootDir": "./src", "outDir": "build", "skipLibCheck": true, - "strict": false, - "strict": false, + "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node" From 204bdea00cf4efd247fdf766088d5030180a8a8e Mon Sep 17 00:00:00 2001 From: Martyn Janes Date: Tue, 11 Jul 2023 14:45:46 +0200 Subject: [PATCH 07/12] Linting --- .../client/src/provider.ts | 6 +++++- how-to/use-popup-window/modal/client/src/popup.ts | 2 +- .../multiple-results/client/src/app.ts | 6 ++++-- how-to/use-security-realms/client/src/view-app.ts | 12 ++++++++---- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/how-to/use-platform/warn-before-closing-dialog/client/src/provider.ts b/how-to/use-platform/warn-before-closing-dialog/client/src/provider.ts index 6c2d052a..b81b6e03 100644 --- a/how-to/use-platform/warn-before-closing-dialog/client/src/provider.ts +++ b/how-to/use-platform/warn-before-closing-dialog/client/src/provider.ts @@ -1,4 +1,8 @@ -async function launchDialog(viewsPreventingUnload: OpenFin.Identity[], windowId: OpenFin.Identity, closeType: "window" | "view"): Promise { +async function launchDialog( + viewsPreventingUnload: OpenFin.Identity[], + windowId: OpenFin.Identity, + closeType: "window" | "view" +): Promise { const views = { views: viewsPreventingUnload }; const queryString = new URLSearchParams(`views=${JSON.stringify(views)}&closeType=${closeType}`); const baseUrl = window.location.href.replace("provider", "dialog"); diff --git a/how-to/use-popup-window/modal/client/src/popup.ts b/how-to/use-popup-window/modal/client/src/popup.ts index 03cbae23..638eb787 100644 --- a/how-to/use-popup-window/modal/client/src/popup.ts +++ b/how-to/use-popup-window/modal/client/src/popup.ts @@ -1,4 +1,4 @@ -export { }; +export {}; const me = fin.me as OpenFin.Window; diff --git a/how-to/use-popup-window/multiple-results/client/src/app.ts b/how-to/use-popup-window/multiple-results/client/src/app.ts index 3241b90f..3a505ae8 100644 --- a/how-to/use-popup-window/multiple-results/client/src/app.ts +++ b/how-to/use-popup-window/multiple-results/client/src/app.ts @@ -1,4 +1,4 @@ -export { }; +export {}; document.addEventListener("DOMContentLoaded", init); @@ -11,7 +11,9 @@ function init(): void { async function createPopupWindow(event: MouseEvent): Promise { resetPopupResult(); - const { right, height }: { right: number; height: number } = (event.target as HTMLElement).getBoundingClientRect(); + const { right, height }: { right: number; height: number } = ( + event.target as HTMLElement + ).getBoundingClientRect(); const hHeight = height / 2; const result = await fin.me.showPopupWindow({ initialOptions: { diff --git a/how-to/use-security-realms/client/src/view-app.ts b/how-to/use-security-realms/client/src/view-app.ts index a301981a..8667f2aa 100755 --- a/how-to/use-security-realms/client/src/view-app.ts +++ b/how-to/use-security-realms/client/src/view-app.ts @@ -1,4 +1,4 @@ -export { }; +export {}; document.addEventListener("DOMContentLoaded", async () => { try { @@ -95,9 +95,13 @@ async function listenToTopicAndLogMessages(realm: string): Promise { try { const messageLog = document.querySelector("#message-log"); if (messageLog) { - await fin.InterApplicationBus.subscribe({ uuid: "*" }, topic, (payload: { id: { uuid: string }; message: string; realmName: string }) => { - messageLog.innerHTML += `Received message from app with identity of {uuid: ${payload.id.uuid}}\n\nRealm Name: ${payload.realmName}\nMessage: ${payload.message}\n\n`; - }); + await fin.InterApplicationBus.subscribe( + { uuid: "*" }, + topic, + (payload: { id: { uuid: string }; message: string; realmName: string }) => { + messageLog.innerHTML += `Received message from app with identity of {uuid: ${payload.id.uuid}}\n\nRealm Name: ${payload.realmName}\nMessage: ${payload.message}\n\n`; + } + ); } } catch (error) { if (error) { From e7bfc234fba135c226f1d046ec0c419552b51835 Mon Sep 17 00:00:00 2001 From: Martyn Janes Date: Wed, 12 Jul 2023 09:14:07 +0200 Subject: [PATCH 08/12] Add the jsdoc config --- .eslintrc.js | 184 +++++++++--------- how-to/create-window/client/src/app.ts | 63 +++--- how-to/integration-excel/client/src/excel.ts | 39 +++- .../client/src/fdc3monitor.ts | 11 +- .../client/src/provider-tray.ts | 19 +- .../integration-excel/client/src/provider.ts | 7 +- .../client/src/app.ts | 19 +- .../client/src/provider.ts | 16 +- .../client/src/window.ts | 16 +- .../client/src/app.ts | 13 +- .../client/src/default-platform-window.ts | 34 ++-- .../client/src/provider.ts | 63 +++--- .../client/src/shapes.ts | 17 +- .../client/src/window.ts | 77 ++++---- .../client/src/app.ts | 8 - how-to/use-logging-apis/client/src/app.ts | 22 +-- .../client/src/dialog.ts | 49 +++-- .../client/src/provider.ts | 26 +++ .../client/src/view.ts | 4 + .../advanced/client/src/app.ts | 18 +- .../advanced/client/src/popup.ts | 10 +- .../use-popup-window/modal/client/src/app.ts | 17 +- .../modal/client/src/popup.ts | 7 +- .../multiple-results/client/src/app.ts | 18 +- .../multiple-results/client/src/popup.ts | 10 +- .../single-result/client/src/app.ts | 18 +- .../single-result/client/src/popup.ts | 7 +- how-to/use-preloads/basic/client/src/app.ts | 16 +- .../basic/client/src/preload-platform.ts | 3 + .../basic/client/src/preload-view.ts | 3 + .../basic/client/src/preload-window.ts | 3 + .../client/src/preload-view.ts | 3 + how-to/use-security-realms/client/src/app.ts | 33 +++- .../client/src/view-app.ts | 32 ++- how-to/use-window-options/client/src/app.ts | 86 ++++++++ scripts/package.js | 27 +-- 36 files changed, 693 insertions(+), 305 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 9b4ad2e7..dee62adf 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -8,7 +8,7 @@ module.exports = { 'plugin:import/errors', 'plugin:import/warnings', 'plugin:import/typescript', - // 'plugin:jsdoc/recommended', + 'plugin:jsdoc/recommended', 'plugin:promise/recommended', 'plugin:unicorn/all' ], @@ -410,97 +410,97 @@ module.exports = { 'wrap-iife': ['error'], 'wrap-regex': ['off'], 'yield-star-spacing': ['error'], - yoda: ['error'] - // 'jsdoc/check-access': 'error', - // 'jsdoc/check-alignment': 'error', - // 'jsdoc/check-examples': 'off', - // 'jsdoc/check-indentation': 'error', - // 'jsdoc/check-line-alignment': 'error', - // 'jsdoc/check-param-names': 'error', - // 'jsdoc/check-property-names': 'error', - // 'jsdoc/check-syntax': 'error', - // 'jsdoc/check-tag-names': 'error', - // 'jsdoc/check-types': 'error', - // 'jsdoc/check-values': 'error', - // 'jsdoc/empty-tags': 'error', - // 'jsdoc/implements-on-classes': 'error', - // 'jsdoc/match-description': ['error'], - // 'jsdoc/newline-after-description': 'off', - // 'jsdoc/no-bad-blocks': 'error', - // 'jsdoc/no-defaults': 'error', - // 'jsdoc/no-types': 'error', - // 'jsdoc/no-undefined-types': 'error', - // 'jsdoc/require-asterisk-prefix': 'error', - // 'jsdoc/require-description': 'error', - // 'jsdoc/require-description-complete-sentence': 'off', - // 'jsdoc/require-example': 'off', - // 'jsdoc/require-file-overview': 'off', - // 'jsdoc/require-hyphen-before-param-description': 'off', - // 'jsdoc/require-jsdoc': [ - // 'error', - // { - // require: { - // ArrowFunctionExpression: false, - // ClassDeclaration: true, - // ClassExpression: true, - // FunctionDeclaration: true, - // FunctionExpression: true, - // MethodDefinition: true - // }, - // contexts: [ - // 'FunctionDeclaration', - // 'FunctionExpression', - // 'MethodDefinition', - // 'TSDeclareFunction', - // 'TSEnumDeclaration', - // 'TSInterfaceDeclaration', - // 'TSMethodDeclaration', - // 'TSMethodSignature', - // 'TSPropertySignature:not(TSTypeLiteral > TSPropertySignature)', - // 'TSTypeAliasDeclaration' - // ] - // } - // ], - // 'jsdoc/require-param': [ - // 'error', - // { - // contexts: [ - // 'FunctionDeclaration', - // 'FunctionExpression', - // 'MethodDefinition', - // 'TSDeclareFunction', - // 'TSMethodDeclaration', - // 'TSMethodSignature' - // ] - // } - // ], - // 'jsdoc/require-param-description': 'error', - // 'jsdoc/require-param-name': 'error', - // 'jsdoc/require-param-type': 'off', - // 'jsdoc/require-property': 'error', - // 'jsdoc/require-property-description': 'error', - // 'jsdoc/require-property-name': 'error', - // 'jsdoc/require-property-type': 'error', - // 'jsdoc/require-returns': [ - // 'error', - // { - // contexts: [ - // 'FunctionDeclaration', - // 'FunctionExpression', - // 'MethodDefinition', - // 'TSDeclareFunction', - // 'TSMethodDeclaration', - // 'TSMethodSignature' - // ] - // } - // ], - // 'jsdoc/require-returns-check': 'error', - // 'jsdoc/require-returns-description': 'error', - // 'jsdoc/require-returns-type': 'off', - // 'jsdoc/require-throws': 'error', - // 'jsdoc/require-yields': 'error', - // 'jsdoc/require-yields-check': 'error', - // 'jsdoc/valid-types': 2 + yoda: ['error'], + 'jsdoc/check-access': 'error', + 'jsdoc/check-alignment': 'error', + 'jsdoc/check-examples': 'off', + 'jsdoc/check-indentation': 'error', + 'jsdoc/check-line-alignment': 'error', + 'jsdoc/check-param-names': 'error', + 'jsdoc/check-property-names': 'error', + 'jsdoc/check-syntax': 'error', + 'jsdoc/check-tag-names': 'error', + 'jsdoc/check-types': 'error', + 'jsdoc/check-values': 'error', + 'jsdoc/empty-tags': 'error', + 'jsdoc/implements-on-classes': 'error', + 'jsdoc/match-description': ['error'], + 'jsdoc/newline-after-description': 'off', + 'jsdoc/no-bad-blocks': 'error', + 'jsdoc/no-defaults': 'error', + 'jsdoc/no-types': 'error', + 'jsdoc/no-undefined-types': 'error', + 'jsdoc/require-asterisk-prefix': 'error', + 'jsdoc/require-description': 'error', + 'jsdoc/require-description-complete-sentence': 'off', + 'jsdoc/require-example': 'off', + 'jsdoc/require-file-overview': 'off', + 'jsdoc/require-hyphen-before-param-description': 'off', + 'jsdoc/require-jsdoc': [ + 'error', + { + require: { + ArrowFunctionExpression: false, + ClassDeclaration: true, + ClassExpression: true, + FunctionDeclaration: true, + FunctionExpression: true, + MethodDefinition: true + }, + contexts: [ + 'FunctionDeclaration', + 'FunctionExpression', + 'MethodDefinition', + 'TSDeclareFunction', + 'TSEnumDeclaration', + 'TSInterfaceDeclaration', + 'TSMethodDeclaration', + 'TSMethodSignature', + 'TSPropertySignature:not(TSTypeLiteral > TSPropertySignature)', + 'TSTypeAliasDeclaration' + ] + } + ], + 'jsdoc/require-param': [ + 'error', + { + contexts: [ + 'FunctionDeclaration', + 'FunctionExpression', + 'MethodDefinition', + 'TSDeclareFunction', + 'TSMethodDeclaration', + 'TSMethodSignature' + ] + } + ], + 'jsdoc/require-param-description': 'error', + 'jsdoc/require-param-name': 'error', + 'jsdoc/require-param-type': 'off', + 'jsdoc/require-property': 'error', + 'jsdoc/require-property-description': 'error', + 'jsdoc/require-property-name': 'error', + 'jsdoc/require-property-type': 'error', + 'jsdoc/require-returns': [ + 'error', + { + contexts: [ + 'FunctionDeclaration', + 'FunctionExpression', + 'MethodDefinition', + 'TSDeclareFunction', + 'TSMethodDeclaration', + 'TSMethodSignature' + ] + } + ], + 'jsdoc/require-returns-check': 'error', + 'jsdoc/require-returns-description': 'error', + 'jsdoc/require-returns-type': 'off', + 'jsdoc/require-throws': 'error', + 'jsdoc/require-yields': 'error', + 'jsdoc/require-yields-check': 'error', + 'jsdoc/valid-types': 2 }, overrides: [ { diff --git a/how-to/create-window/client/src/app.ts b/how-to/create-window/client/src/app.ts index 1e6ec099..9d4f8264 100644 --- a/how-to/create-window/client/src/app.ts +++ b/how-to/create-window/client/src/app.ts @@ -1,11 +1,40 @@ document.addEventListener("DOMContentLoaded", async () => { try { - await init(); + await initDom(); } catch (error) { console.error(error); } }); +/** + * Initialize the DOM components. + */ +async function initDom(): Promise { + const btnOpenDynamicWindow = document.querySelector("#btn-open-dynamic-window"); + if (btnOpenDynamicWindow) { + btnOpenDynamicWindow.addEventListener("click", async (e: Event) => openDynamicApplicationWindow()); + } + + const btnOpenManifestWindow = document.querySelector("#btn-open-manifest-window"); + if (btnOpenManifestWindow) { + btnOpenManifestWindow.addEventListener("click", async (e: Event) => openManifestApplicationWindow()); + } + + const btnOpenDataWindow = document.querySelector("#btn-open-data-window"); + if (btnOpenDataWindow) { + btnOpenDataWindow.addEventListener("click", async (e: Event) => openDataWindow()); + } + + const btnOpenDataPlatformWindow = document.querySelector("#btn-open-data-platform-window"); + if (btnOpenDataPlatformWindow) { + btnOpenDataPlatformWindow.addEventListener("click", openDataPlatformWindow); + } +} + +/** + * Open a window using dynamic options. + * @returns The window. + */ async function openDynamicApplicationWindow(): Promise { const winOption = { name: "child", @@ -18,6 +47,9 @@ async function openDynamicApplicationWindow(): Promise { return fin.Window.create(winOption); } +/** + * Open a window using a manifest. + */ async function openManifestApplicationWindow(): Promise { try { await fin.Application.startFromManifest("http://localhost:5050/app.fin.json"); @@ -27,6 +59,10 @@ async function openManifestApplicationWindow(): Promise { } } +/** + * Open a window and pass it custom data. + * @returns The window. + */ async function openDataWindow(): Promise { const winOption = { name: "child-data", @@ -42,6 +78,9 @@ async function openDataWindow(): Promise { return fin.Window.create(winOption); } +/** + * Open a platform window using options. + */ async function openDataPlatformWindow(): Promise { const viewOption: OpenFin.PlatformViewCreationOptions = { name: "childview-data", @@ -52,25 +91,3 @@ async function openDataPlatformWindow(): Promise { } as OpenFin.PlatformViewCreationOptions; await fin.Platform.getCurrentSync().createView(viewOption); } - -async function init(): Promise { - const btnOpenDynamicWindow = document.querySelector("#btn-open-dynamic-window"); - if (btnOpenDynamicWindow) { - btnOpenDynamicWindow.addEventListener("click", async (e: Event) => openDynamicApplicationWindow()); - } - - const btnOpenManifestWindow = document.querySelector("#btn-open-manifest-window"); - if (btnOpenManifestWindow) { - btnOpenManifestWindow.addEventListener("click", async (e: Event) => openManifestApplicationWindow()); - } - - const btnOpenDataWindow = document.querySelector("#btn-open-data-window"); - if (btnOpenDataWindow) { - btnOpenDataWindow.addEventListener("click", async (e: Event) => openDataWindow()); - } - - const btnOpenDataPlatformWindow = document.querySelector("#btn-open-data-platform-window"); - if (btnOpenDataPlatformWindow) { - btnOpenDataPlatformWindow.addEventListener("click", openDataPlatformWindow); - } -} diff --git a/how-to/integration-excel/client/src/excel.ts b/how-to/integration-excel/client/src/excel.ts index 1d7a3758..e6815c7b 100644 --- a/how-to/integration-excel/client/src/excel.ts +++ b/how-to/integration-excel/client/src/excel.ts @@ -27,13 +27,16 @@ let selectedWorksheetIndex: number | undefined; document.addEventListener("DOMContentLoaded", async () => { try { - await init(); + await initDom(); } catch (error) { console.error(error); } }); -async function init(): Promise { +/** + * Initialize the DOM components. + */ +async function initDom(): Promise { try { const resultsContainer = document.querySelector("#results-container"); if (resultsContainer) { @@ -86,6 +89,10 @@ async function init(): Promise { } } +/** + * Show an error on the UI. + * @param err The error to display. + */ function showError(err: unknown): void { const errDom = document.querySelector("#error"); if (errDom) { @@ -93,6 +100,9 @@ function showError(err: unknown): void { } } +/** + * Open the excel instance. + */ async function openExcel(): Promise { try { if ( @@ -114,6 +124,9 @@ async function openExcel(): Promise { } } +/** + * Populate the list of workbooks. + */ async function populateWorkbooks(): Promise { if (excel) { selectedWorkbookIndex = undefined; @@ -163,6 +176,10 @@ async function populateWorkbooks(): Promise { } } +/** + * Select a workbook. + * @param name The name of the workbook to select. + */ async function selectWorkbook(name: string): Promise { if (openWorkbooks) { const newWorkbookIndex = openWorkbooks.findIndex((w) => w.name === name); @@ -178,6 +195,9 @@ async function selectWorkbook(name: string): Promise { } } +/** + * Populate the worksheets. + */ async function populateWorksheets(): Promise { if (excel) { selectedWorksheetIndex = undefined; @@ -230,6 +250,10 @@ async function populateWorksheets(): Promise { } } +/** + * Select a worksheet. + * @param name The name of worksheet to select. + */ async function selectWorksheet(name: string): Promise { if (openWorksheets && selectedWorksheetIndex !== undefined) { const newWorksheetIndex = openWorksheets.findIndex((w) => w.name === name); @@ -267,6 +291,10 @@ async function selectWorksheet(name: string): Promise { } } +/** + * Handle a change from the excel worksheet. + * @param cells The cells that were changed. + */ async function handleCellChange(cells: Cell[]): Promise { const cellContainer = document.querySelector("#cell-changes-container"); if (cellContainer) { @@ -280,6 +308,9 @@ async function handleCellChange(cells: Cell[]): Promise { } } +/** + * Set a cell value in excel. + */ async function setCellValue(): Promise { if (openWorksheets && selectedWorksheetIndex !== undefined) { const cellLocation = document.querySelector("#cell-location"); @@ -292,6 +323,10 @@ async function setCellValue(): Promise { } } +/** + * Broadcast and FDC3 instrument. + * @param instrument The instrument to broadcast. + */ async function broadcastInstrument(instrument: string): Promise { const broadcastElement = document.querySelector("#broadcast-instrument"); if (broadcastElement) { diff --git a/how-to/integration-excel/client/src/fdc3monitor.ts b/how-to/integration-excel/client/src/fdc3monitor.ts index 4078e9a8..0ce811c7 100644 --- a/how-to/integration-excel/client/src/fdc3monitor.ts +++ b/how-to/integration-excel/client/src/fdc3monitor.ts @@ -2,13 +2,16 @@ import { getCurrentChannel } from "@finos/fdc3"; document.addEventListener("DOMContentLoaded", async () => { try { - await init(); + await initDom(); } catch (error) { console.error(error); } }); -async function init(): Promise { +/** + * Initialize the DOM elements. + */ +async function initDom(): Promise { try { const appChannel = await getCurrentChannel(); @@ -27,6 +30,10 @@ async function init(): Promise { } } +/** + * Show an error on the UI. + * @param err The error to display. + */ function showError(err: unknown): void { const errDom = document.querySelector("#error"); if (errDom) { diff --git a/how-to/integration-excel/client/src/provider-tray.ts b/how-to/integration-excel/client/src/provider-tray.ts index db6b0396..66937b6f 100644 --- a/how-to/integration-excel/client/src/provider-tray.ts +++ b/how-to/integration-excel/client/src/provider-tray.ts @@ -2,12 +2,15 @@ export {}; window.addEventListener("DOMContentLoaded", async () => { const platform: OpenFin.Platform = fin.Platform.getCurrentSync(); - await platform.once("platform-api-ready", async () => init()); + await platform.once("platform-api-ready", async () => initDom()); }); fin.Platform.init().catch(() => {}); -async function init(): Promise { +/** + * Initialize the DOM elements. + */ +async function initDom(): Promise { console.log("Platform Init"); const application = await fin.Application.getCurrent(); @@ -78,6 +81,18 @@ async function init(): Promise { }); } +/** + * Is the point inside the rectangle. + * @param rect The rectangle to test. + * @param rect.left The rectangle left position. + * @param rect.top The rectangle top position. + * @param rect.right The rectangle right position. + * @param rect.bottom The rectangle bottom position. + * @param pt The point to check. + * @param pt.x The point x position. + * @param pt.y The point y position. + * @returns True if the point is in the rect. + */ function pointInRect( rect: { left: number; top: number; right: number; bottom: number }, pt: { x: number; y: number } diff --git a/how-to/integration-excel/client/src/provider.ts b/how-to/integration-excel/client/src/provider.ts index 4dc3faa6..74dcc3ab 100644 --- a/how-to/integration-excel/client/src/provider.ts +++ b/how-to/integration-excel/client/src/provider.ts @@ -2,11 +2,14 @@ export {}; window.addEventListener("DOMContentLoaded", async () => { const platform: OpenFin.Platform = fin.Platform.getCurrentSync(); - await platform.once("platform-api-ready", async () => init()); + await platform.once("platform-api-ready", async () => initDom()); }); fin.Platform.init().catch(() => {}); -async function init(): Promise { +/** + * Initialize the DOM elements. + */ +async function initDom(): Promise { console.log("Platform Init"); } diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/client/src/app.ts b/how-to/use-channel-api/issue-commands-to-a-platform/client/src/app.ts index 123f8003..cdf146b7 100644 --- a/how-to/use-channel-api/issue-commands-to-a-platform/client/src/app.ts +++ b/how-to/use-channel-api/issue-commands-to-a-platform/client/src/app.ts @@ -1,13 +1,5 @@ export {}; -async function initApp(): Promise { - const container = document.querySelector("#context-container"); - if (container) { - const viewOptions = await fin.me.getOptions(); - container.textContent = JSON.stringify(viewOptions.customData); - } -} - if (document.readyState === "complete") { initApp().catch(() => {}); } else { @@ -15,3 +7,14 @@ if (document.readyState === "complete") { await initApp(); }); } + +/** + * Initialize the application. + */ +async function initApp(): Promise { + const container = document.querySelector("#context-container"); + if (container) { + const viewOptions = await fin.me.getOptions(); + container.textContent = JSON.stringify(viewOptions.customData); + } +} diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/client/src/provider.ts b/how-to/use-channel-api/issue-commands-to-a-platform/client/src/provider.ts index a47c9e78..1e3b363f 100644 --- a/how-to/use-channel-api/issue-commands-to-a-platform/client/src/provider.ts +++ b/how-to/use-channel-api/issue-commands-to-a-platform/client/src/provider.ts @@ -1,5 +1,13 @@ export {}; +window.addEventListener("DOMContentLoaded", async () => { + const platform: OpenFin.Platform = fin.Platform.getCurrentSync(); + await platform.once("platform-api-ready", async () => init()); +}); + +/** + * Initialize the components. + */ async function init(): Promise { // create a channel to receive commands from external apps const actionChannel: OpenFin.ChannelProvider = await fin.InterApplicationBus.Channel.create( @@ -64,13 +72,11 @@ async function init(): Promise { }); } -window.addEventListener("DOMContentLoaded", async () => { - const platform: OpenFin.Platform = fin.Platform.getCurrentSync(); - await platform.once("platform-api-ready", async () => init()); -}); - fin.Platform.init({ overrideCallback: async (Provider) => { + /** + * Override the provider class. + */ class Override extends Provider {} return new Override(); } diff --git a/how-to/use-channel-api/issue-commands-to-a-platform/client/src/window.ts b/how-to/use-channel-api/issue-commands-to-a-platform/client/src/window.ts index df2391b4..da852f93 100644 --- a/how-to/use-channel-api/issue-commands-to-a-platform/client/src/window.ts +++ b/how-to/use-channel-api/issue-commands-to-a-platform/client/src/window.ts @@ -2,7 +2,7 @@ export {}; document.addEventListener("DOMContentLoaded", async () => { try { - await init(); + await initDom(); } catch (error) { console.error(error); } @@ -16,7 +16,10 @@ let lastCreatedView: | undefined; let channelClient: OpenFin.ChannelClient; -async function init(): Promise { +/** + * Initialize the DOM elements. + */ +async function initDom(): Promise { const launchPlatformButton = document.querySelector("#launch-platform"); const requestViewButton = document.querySelector("#request-view"); const requestViewInSameWindowButton = document.querySelector("#request-view-same-window"); @@ -31,6 +34,9 @@ async function init(): Promise { } } +/** + * Launch a platform from a manifest. + */ async function launchPlatform(): Promise { try { await fin.System.launchManifest("http://localhost:5050/platform.fin.json"); @@ -46,6 +52,9 @@ async function launchPlatform(): Promise { } } +/** + * Create a view using a channel. + */ async function requestView(): Promise { try { // you have the option of letting the connected app to provide view options or maybe you will provide a more restrictive option where they can just specify an id of a view to load @@ -63,6 +72,9 @@ async function requestView(): Promise { } } +/** + * Create a view using a channel with a specific target. + */ async function requestViewInLastWindow(): Promise { try { // you have the option of letting the connected app to provide view options or maybe you will provide a more restrictive option where they can just specify an id of a view to load diff --git a/how-to/use-content-creation-rules/client/src/app.ts b/how-to/use-content-creation-rules/client/src/app.ts index 1512163a..237d8bda 100644 --- a/how-to/use-content-creation-rules/client/src/app.ts +++ b/how-to/use-content-creation-rules/client/src/app.ts @@ -1,4 +1,11 @@ document.addEventListener("DOMContentLoaded", async () => { + await initDom(); +}); + +/** + * Initialize the DOM elements. + */ +async function initDom(): Promise { const openView = document.querySelector("#open-view"); if (openView) { openView.addEventListener("click", (e) => { @@ -60,8 +67,12 @@ document.addEventListener("DOMContentLoaded", async () => { logWindowResult(win); }); } -}); +} +/** + * Display a result when the window content has loaded. + * @param win The window to wire up the event. + */ function logWindowResult(win: WindowProxy | null): void { try { if (win) { diff --git a/how-to/use-content-creation-rules/client/src/default-platform-window.ts b/how-to/use-content-creation-rules/client/src/default-platform-window.ts index 0b26caa9..ab561058 100644 --- a/how-to/use-content-creation-rules/client/src/default-platform-window.ts +++ b/how-to/use-content-creation-rules/client/src/default-platform-window.ts @@ -1,6 +1,13 @@ import type OpenFin from "@openfin/core"; -window.addEventListener("DOMContentLoaded", async () => { +document.addEventListener("DOMContentLoaded", async () => { + await initDom(); +}); + +/** + * Initialize the DOM elements. + */ +async function initDom(): Promise { const platform = fin.Platform.getCurrentSync(); const me = fin.me as OpenFin.Window; const CONTAINER_ID = "layout-container"; @@ -16,7 +23,7 @@ window.addEventListener("DOMContentLoaded", async () => { const maximizeBtn = document.querySelector("#expand-button"); if (maximizeBtn) { maximizeBtn.addEventListener("click", async () => { - await maxOrRestore().catch(console.error); + await maxOrRestore(me).catch(console.error); }); } @@ -27,14 +34,6 @@ window.addEventListener("DOMContentLoaded", async () => { }); } - async function maxOrRestore(): Promise { - if ((await me.getState()) === "normal") { - return me.maximize(); - } - - return me.restore(); - } - await me.on("view-child-view-created", async (e) => { // The content creation rules construct the options for the view in the childOptions // The view has been created but not yet attached or navigated @@ -110,4 +109,17 @@ window.addEventListener("DOMContentLoaded", async () => { // Called when content is blocked console.log(e); }); -}); +} + +/** + * Maximize of restore the window. + * @param win The window to perform the action on. + * @returns Nothing. + */ +async function maxOrRestore(win: OpenFin.Window): Promise { + if ((await win.getState()) === "normal") { + return win.maximize(); + } + + return win.restore(); +} diff --git a/how-to/use-interop/setup-multi-platform-interop/client/src/provider.ts b/how-to/use-interop/setup-multi-platform-interop/client/src/provider.ts index f20b180e..ab2733dd 100644 --- a/how-to/use-interop/setup-multi-platform-interop/client/src/provider.ts +++ b/how-to/use-interop/setup-multi-platform-interop/client/src/provider.ts @@ -1,20 +1,12 @@ -import type { - PlatformInteropClient, - PlatformContextGroups, - PlatformContextGroup, - ColorInteropClient, - ExternalInteropClient, - ExternalClientMap, - ExternalContextGroup, - ExternalContextGroups, - ExternalContext -} from "./shapes"; +import type { ExternalClientMap, ExternalContext } from "./shapes"; + /** - * @function interopOverride function passed to Platform.init as an InitOption + * Override the interop broker. * @param InteropBroker class used to extend the custom override subclass. * @param provider channel provider for the initialized platform. * @param options default options specified in the manifest attribute "platform.interopBrokerConfiguration". * @param args adds any additional parameters passed on instantiation of a new Override instance. + * @returns The override. */ function interopOverride( InteropBroker: OpenFin.Constructor, @@ -23,8 +15,8 @@ function interopOverride( ...args: unknown[] ): OpenFin.InteropBroker { /** - * @remarks - * Class that inherits the public InteropBroker methods that allows you to override existing InteropBroker methods and add any custom logic to the returned InteropBroker instance used by your platform. + * Class that inherits the public InteropBroker methods that allows you to override existing + * InteropBroker methods and add any custom logic to the returned InteropBroker instance used by your platform. */ class Override extends InteropBroker { public externalBroker: string; @@ -33,6 +25,12 @@ function interopOverride( public overrideArgs: unknown[]; + /** + * Create new instance of the broker. + * @param overrideProvider The provider. + * @param overrideOpts The options. + * @param overrideArgs The args. + */ constructor( overrideProvider: OpenFin.ChannelProvider, overrideOpts: OpenFin.InteropBrokerOptions, @@ -47,7 +45,7 @@ function interopOverride( } /** - * @method initializeBrokers + * Initialize the brokers. * 1. Gets the instance of the specified external platform. * 2. Ensure the external platform application is running. * 3. Ensure that the platform api is finished initializing. @@ -70,38 +68,41 @@ function interopOverride( } /** - * @method initializeBrokers + * Setup the context groups * 1. Create a InteropClient instance by connecting to a member of Override.externalBrokers. * 2. externalContextGroups: using the created client instance, retrieve the externalBroker's context groups. * 3. Create a InteropClient instance by connecting to the current platforms interop broker. * 4. PlatformContextGroups: using the created client instance, retrieve the current platform context groups. - * 5. Check to which externalContextGroups and platformCOntextGroups are the same. + * 5. Check to which externalContextGroups and platformContextGroups are the same. * 6. If the platformContextGroup is shared with an externalContextGroup create a colorClient and join the shared context group from the colorClient. * 7. Create a context handler for the colorClient. */ public async setupContextGroups(): Promise { - const externalInteropClient: ExternalInteropClient = fin.Interop.connectSync(this.externalBroker, {}); - const externalContextGroups: ExternalContextGroups = await externalInteropClient.getContextGroups(); + const externalInteropClient: OpenFin.InteropClient = fin.Interop.connectSync(this.externalBroker, {}); + const externalContextGroups: OpenFin.ContextGroupInfo[] = + await externalInteropClient.getContextGroups(); - const platformInteropClient: PlatformInteropClient = fin.Interop.connectSync(fin.me.uuid, {}); - const platformContextGroups: PlatformContextGroups = await platformInteropClient.getContextGroups(); + const platformInteropClient: OpenFin.InteropClient = fin.Interop.connectSync(fin.me.uuid, {}); + const platformContextGroups: OpenFin.ContextGroupInfo[] = + await platformInteropClient.getContextGroups(); // Array of ExternalClientMap Promises const externalContextGroupPromises: Promise[] = externalContextGroups.map( - async (externalContextGroupInfo: ExternalContextGroup): Promise => { + async ( + externalContextGroupInfo: OpenFin.ContextGroupInfo + ): Promise => { // check to see if a Platform Client's context group has any of the channels as a externalContextGroup const hasPlatformContextGroup: boolean = platformContextGroups.some( - ({ id }: PlatformContextGroup) => id === externalContextGroupInfo.id + ({ id }: OpenFin.ContextGroupInfo) => id === externalContextGroupInfo.id ); if (hasPlatformContextGroup) { - const colorClient: ColorInteropClient = fin.Interop.connectSync(this.externalBroker, {}); + const colorClient: OpenFin.InteropClient = fin.Interop.connectSync(this.externalBroker, {}); await colorClient.joinContextGroup(externalContextGroupInfo.id); /** - * @function contextHandler + * Handle a context. * @param context object passed from the setContext method. - * @remarks * If the newContext variable has a _clientInfo object with a uuid return the context as is * because it is initially set on the platformInteropClient's broker. * otherwise copy the context attributes and values to a new object containing @@ -128,12 +129,12 @@ function interopOverride( } /** - * @method setContextOnExternalClient + * Set the context on an external client. + * if the externalClientsMap has previously derived contextGroup get the corresponding + * colorClient and set the context on the matching colorClient. * @param context context object passed in from the @setContext method. * @param clientIdentity clientIdentity object passed in from the @setContext method. - * @remarks if the externalClientsMap has previously derived contextGroup get the corresponding colorClient and set the context on the matching colorClient. */ - public async setContextOnExternalClient( context: ExternalContext, clientIdentity: OpenFin.ClientIdentity @@ -151,10 +152,10 @@ function interopOverride( } /** - * @override @method setContext + * Set the context. * @param payload object that is passed in when set context is called from an OpenFin entity using the interop api. + * @param payload.context The context for the payload. * @param clientIdentity object containing the clientIdentity of the sender. - * @example // please refer to the working examples code panel in this projects interface. */ public async setContext( payload: { context: ExternalContext }, diff --git a/how-to/use-interop/setup-multi-platform-interop/client/src/shapes.ts b/how-to/use-interop/setup-multi-platform-interop/client/src/shapes.ts index 6c49438d..539e58fa 100644 --- a/how-to/use-interop/setup-multi-platform-interop/client/src/shapes.ts +++ b/how-to/use-interop/setup-multi-platform-interop/client/src/shapes.ts @@ -1,12 +1,15 @@ +/** + * Map of the external clients. + */ export type ExternalClientMap = Map; -export type ExternalInteropClient = OpenFin.InteropClient; -export type ExternalContextGroup = OpenFin.ContextGroupInfo; -export type ExternalContextGroups = ExternalContextGroup[]; -export type PlatformInteropClient = OpenFin.InteropClient; -export type PlatformContextGroup = OpenFin.ContextGroupInfo; -export type PlatformContextGroups = OpenFin.ContextGroupInfo[]; -export type ColorInteropClient = OpenFin.InteropClient; + +/** + * External client context. + */ export interface ExternalContext extends OpenFin.Context { + /** + * The client information. + */ _clientInfo?: { uuid: string; }; diff --git a/how-to/use-interop/setup-multi-platform-interop/client/src/window.ts b/how-to/use-interop/setup-multi-platform-interop/client/src/window.ts index 7310afa8..434c2148 100644 --- a/how-to/use-interop/setup-multi-platform-interop/client/src/window.ts +++ b/how-to/use-interop/setup-multi-platform-interop/client/src/window.ts @@ -1,5 +1,3 @@ -import type { PlatformContextGroups, PlatformContextGroup } from "./shapes"; - export const CONTAINER_ID = "layout-container"; const openfinWindow: OpenFin.Window = fin.Window.getCurrentSync(); const openfinApplication: OpenFin.Application = fin.Application.getCurrentSync(); @@ -12,22 +10,46 @@ openfinApplication }) .catch((error) => console.error(error)); +window.addEventListener("DOMContentLoaded", async () => { + await fin.Platform.Layout.init({ containerId: CONTAINER_ID }); + await setupTitleBar(); +}); + /** - * @function changeContextGroup - * @param event - DOM click event that is passed in to the button click event from `addContextGroupButtons` local `newButton` variable - * @description - * Joins a context group by passing in the top-level variable `lastFocusedView` as the `target` parameter of the `joinContextGroup` function. + * Setup the content for the title bar. */ +async function setupTitleBar(): Promise { + const title = document.querySelector("#title"); + const minBtn = document.querySelector("#minimize-button"); + const maxBtn = document.querySelector("#expand-button"); + const closeBtn = document.querySelector("#close-button"); + + if (title && minBtn && maxBtn && closeBtn) { + title.innerHTML = fin.me.identity.uuid; + + minBtn.addEventListener("click", minimizeWindow); + maxBtn.addEventListener("click", maxOrRestore); + closeBtn.addEventListener("click", closeWindow); + } + await addContextGroupButtons(); +} + +/** + * Joins a context group by passing in the top-level variable `lastFocusedView` as the `target` parameter of the `joinContextGroup` function. + * @param event - DOM click event that is passed in to the button click event from `addContextGroupButtons` local `newButton` variable + */ async function changeContextGroup(event: Event): Promise { const selectedColorElement: HTMLElement = event.target as HTMLElement; const color: string = selectedColorElement.title; await fin.me.interop.joinContextGroup(color, lastFocusedView); - const contextGroups: PlatformContextGroups = await fin.me.interop.getContextGroups(); + const contextGroups: OpenFin.ContextGroupInfo[] = await fin.me.interop.getContextGroups(); const focusedTab = document.querySelector(`#tab-${lastFocusedView.name}`); if (focusedTab) { focusedTab.classList.remove( - ...contextGroups.map(({ displayMetadata }: PlatformContextGroup) => `${displayMetadata?.name}-channel`) + ...contextGroups.map( + ({ displayMetadata }: OpenFin.ContextGroupInfo) => `${displayMetadata?.name}-channel` + ) ); } const focusedView = document.querySelector(`#tab-${lastFocusedView.name}`); @@ -37,14 +59,13 @@ async function changeContextGroup(event: Event): Promise { } /** - * @function addContextGroupButtons - * @description + * Add the context group buttons. * 1. Retrieves a Platform's interop context groups. * 2. Iterates all context groups and creates a corresponding button per context group (color channel). * 3. Adds a click listener to each button with the `changeContextGroup` function as the listener callback. */ async function addContextGroupButtons(): Promise { - const contextGroups: PlatformContextGroups = await fin.me.interop.getContextGroups(); + const contextGroups: OpenFin.ContextGroupInfo[] = await fin.me.interop.getContextGroups(); const windowFrameStyleSheet: CSSStyleSheet = document.styleSheets[0]; const buttonsWrapper = document.querySelector("#buttons-wrapper"); if (buttonsWrapper) { @@ -66,6 +87,10 @@ async function addContextGroupButtons(): Promise { } } +/** + * Maximize or restore the window. + * @returns Nothing. + */ async function maxOrRestore(): Promise { if ((await openfinWindow.getState()) === "normal") { return openfinWindow.maximize(); @@ -74,32 +99,18 @@ async function maxOrRestore(): Promise { return openfinWindow.restore(); } +/** + * Close the window. + * @returns Nothing. + */ async function closeWindow(): Promise { return openfinWindow.close(); } +/** + * Minimize the window. + * @returns Nothing. + */ async function minimizeWindow(): Promise { return openfinWindow.minimize(); } - -async function setupTitleBar(): Promise { - const title = document.querySelector("#title"); - const minBtn = document.querySelector("#minimize-button"); - const maxBtn = document.querySelector("#expand-button"); - const closeBtn = document.querySelector("#close-button"); - - if (title && minBtn && maxBtn && closeBtn) { - title.innerHTML = fin.me.identity.uuid; - - minBtn.addEventListener("click", minimizeWindow); - maxBtn.addEventListener("click", maxOrRestore); - closeBtn.addEventListener("click", closeWindow); - } - - await addContextGroupButtons(); -} - -window.addEventListener("DOMContentLoaded", async () => { - await fin.Platform.Layout.init({ containerId: CONTAINER_ID }); - await setupTitleBar(); -}); diff --git a/how-to/use-launch-external-process/client/src/app.ts b/how-to/use-launch-external-process/client/src/app.ts index 80bb5d65..e7231440 100644 --- a/how-to/use-launch-external-process/client/src/app.ts +++ b/how-to/use-launch-external-process/client/src/app.ts @@ -1,12 +1,4 @@ document.addEventListener("DOMContentLoaded", () => { - /** - * @key alias: the name supplied to the appAsset in the app.json file. - * @key target: the relative path to the executable from the appAssets [alias]/[version]. - * @key arguments: a string of acceptable arguments for the given executable. - * @key listener: listener, @param result: = {topic: string, uuid: string, exitCode: number}. - * @returns Promise: object containing the uuid of the launched executable { uuid: string }. - */ - const lepOptions: OpenFin.ExternalProcessRequestType = { alias: "of-dotnet-example", listener: (result) => { diff --git a/how-to/use-logging-apis/client/src/app.ts b/how-to/use-logging-apis/client/src/app.ts index a3863c11..9eda632a 100644 --- a/how-to/use-logging-apis/client/src/app.ts +++ b/how-to/use-logging-apis/client/src/app.ts @@ -13,11 +13,8 @@ document.addEventListener("DOMContentLoaded", async () => { }); /** - * @function initDom - * @description * Populates DOM with the UI elements and adds listeners obtaining selected/submitted options. */ - async function initDom(): Promise { const logListElement = document.querySelector("#log-list"); if (logListElement) { @@ -38,15 +35,13 @@ async function initDom(): Promise { } /** - * @function uploadHandler - * @param submitEvent form submit event. - * @description + * Handle uploads. * 1. Creates a FormData object. * 2. Creates a File object from the string of the Runtime debug log file contents. * 3. Populates the FormData object with necessary parameters to be read by the server. * 4. Uploads the created runtime debug log file to a server endpoint. + * @param submitEvent The event to handle. */ - async function uploadHandler(submitEvent: Event): Promise { submitEvent.preventDefault(); if (!fileName) { @@ -73,11 +68,8 @@ async function uploadHandler(submitEvent: Event): Promise { } /** - * @function sendApplicationLogs - * @description * Sends a message to the OpenFin RVM to send the application logs. */ - async function sendApplicationLogs(): Promise { try { const appLogResponse = await fin.Application.getCurrentSync().sendApplicationLog(); @@ -88,22 +80,18 @@ async function sendApplicationLogs(): Promise { } /** - * @function getLogFromName - * @param name file name of the runtime debug log to retrieve. - * @description * Retrieves the runtime debug log from a filename. + * @param name file name of the runtime debug log to retrieve. + * @returns the log content. */ - async function getLogFromName(name: string): Promise { const log = await fin.System.getLog({ name }); return log; } /** - * @function createLogDropDown - * @param parentElement HTML Element to append the log filename HTMLOptionElement to. - * @description * Creates an HTMLOptionElement for each of the Runtime debug logs. + * @param parentElement HTML Element to append the log filename HTMLOptionElement to. */ async function createLogDropDown(parentElement: HTMLSelectElement): Promise { const logList: OpenFin.LogInfo[] = await fin.System.getLogList(); diff --git a/how-to/use-platform/warn-before-closing-dialog/client/src/dialog.ts b/how-to/use-platform/warn-before-closing-dialog/client/src/dialog.ts index c016c00e..8b547045 100644 --- a/how-to/use-platform/warn-before-closing-dialog/client/src/dialog.ts +++ b/how-to/use-platform/warn-before-closing-dialog/client/src/dialog.ts @@ -1,5 +1,28 @@ import { fin } from "@openfin/core"; +document.addEventListener("DOMContentLoaded", async () => { + const okay = document.querySelector("#okay"); + const cancel = document.querySelector("#cancel"); + + if (okay) { + okay.addEventListener("click", async () => { + await handleClose(true); + }); + } + + if (cancel) { + cancel.addEventListener("click", async () => { + await handleClose(false); + }); + } + + populate(); +}); + +/** + * Populate the list of views the were prevented. + * @param views The list of views. + */ function populatePreventedViews(views: { name: string }[]): void { for (const view of views) { console.log("add view", view); @@ -12,6 +35,9 @@ function populatePreventedViews(views: { name: string }[]): void { } } +/** + * Populate the views. + */ function populate(): void { const params = new URLSearchParams(window.location.search); const closeType = params.get("closeType"); @@ -46,6 +72,10 @@ function populate(): void { } } +/** + * Handle the close event. + * @param userDecision The decision the user made. + */ async function handleClose(userDecision: boolean): Promise { try { const client = await fin.InterApplicationBus.Channel.connect("userDecisionProvider"); @@ -55,22 +85,3 @@ async function handleClose(userDecision: boolean): Promise { console.log(error); } } - -document.addEventListener("DOMContentLoaded", async () => { - const okay = document.querySelector("#okay"); - const cancel = document.querySelector("#cancel"); - - if (okay) { - okay.addEventListener("click", async () => { - await handleClose(true); - }); - } - - if (cancel) { - cancel.addEventListener("click", async () => { - await handleClose(false); - }); - } - - populate(); -}); diff --git a/how-to/use-platform/warn-before-closing-dialog/client/src/provider.ts b/how-to/use-platform/warn-before-closing-dialog/client/src/provider.ts index b81b6e03..7bf8e930 100644 --- a/how-to/use-platform/warn-before-closing-dialog/client/src/provider.ts +++ b/how-to/use-platform/warn-before-closing-dialog/client/src/provider.ts @@ -1,3 +1,10 @@ +/** + * Launch a dialog. + * @param viewsPreventingUnload The views that are preventing unload. + * @param windowId The window identifier. + * @param closeType The type of the component being closed. + * @returns True if it was closed. + */ async function launchDialog( viewsPreventingUnload: OpenFin.Identity[], windowId: OpenFin.Identity, @@ -7,6 +14,12 @@ async function launchDialog( const queryString = new URLSearchParams(`views=${JSON.stringify(views)}&closeType=${closeType}`); const baseUrl = window.location.href.replace("provider", "dialog"); const url = `${baseUrl}?${queryString.toString()}`; + + /** + * Handle the close decision. + * @param resolve The promise resolve method. + * @param reject The promise reject method. + */ async function handleUserDecisionPromise( resolve: (close: boolean) => void, reject: (err: unknown) => void @@ -45,10 +58,23 @@ async function launchDialog( return new Promise(handleUserDecisionPromise); } +/** + * Override the platform provider. + * @param PlatformProvider The platform provider base class. + * @returns The overridden platform provider. + */ function overrideCallback( PlatformProvider: OpenFin.Constructor ): OpenFin.PlatformProvider { + /** + * Override for the dialog. + */ class BeforeUnloadDialogOverride extends PlatformProvider { + /** + * Get the user decision for unloading a window. + * @param payload The payload. + * @returns The close decision. + */ public async getUserDecisionForBeforeUnload( payload: OpenFin.ViewsPreventingUnloadPayload ): Promise { diff --git a/how-to/use-platform/warn-before-closing-dialog/client/src/view.ts b/how-to/use-platform/warn-before-closing-dialog/client/src/view.ts index 0809ae11..3ea3ee4d 100644 --- a/how-to/use-platform/warn-before-closing-dialog/client/src/view.ts +++ b/how-to/use-platform/warn-before-closing-dialog/client/src/view.ts @@ -22,6 +22,10 @@ document.addEventListener("DOMContentLoaded", () => { } }); +/** + * Handle the before unload listener. + * @param e The event to handle. + */ function beforeUnloadListener(e: Event): void { e.preventDefault(); } diff --git a/how-to/use-popup-window/advanced/client/src/app.ts b/how-to/use-popup-window/advanced/client/src/app.ts index d4af1530..6ef1809c 100644 --- a/how-to/use-popup-window/advanced/client/src/app.ts +++ b/how-to/use-popup-window/advanced/client/src/app.ts @@ -1,8 +1,11 @@ export {}; -document.addEventListener("DOMContentLoaded", init); +document.addEventListener("DOMContentLoaded", initDom); -async function init(): Promise { +/** + * Initialize the DOM elements. + */ +async function initDom(): Promise { // provision about:blank window to later show as popup await fin.Window.create({ name: "popup", autoShow: false }); const showPopupButton = document.querySelector("#btn-show-popup"); @@ -11,6 +14,10 @@ async function init(): Promise { } } +/** + * Create the popup window from the click. + * @param event The event to handle. + */ async function createPopupWindow(event: MouseEvent): Promise { resetPopupResult(); const { top, right, height }: { top: number; right: number; height: number } = ( @@ -34,6 +41,10 @@ async function createPopupWindow(event: MouseEvent): Promise { renderPopupResult(result); } +/** + * Display the popup result. + * @param result The result to display. + */ function renderPopupResult(result: OpenFin.PopupResult): void { const res = document.querySelector("#popup-result"); if (res) { @@ -41,6 +52,9 @@ function renderPopupResult(result: OpenFin.PopupResult): void { } } +/** + * Clear the popup result. + */ function resetPopupResult(): void { const res = document.querySelector("#popup-result"); if (res) { diff --git a/how-to/use-popup-window/advanced/client/src/popup.ts b/how-to/use-popup-window/advanced/client/src/popup.ts index 405ff84c..9e2cbc6a 100644 --- a/how-to/use-popup-window/advanced/client/src/popup.ts +++ b/how-to/use-popup-window/advanced/client/src/popup.ts @@ -2,9 +2,12 @@ export {}; const me = fin.me as OpenFin.Window; -document.addEventListener("DOMContentLoaded", init); +document.addEventListener("DOMContentLoaded", initDom); -async function init(): Promise { +/** + * Initialize the DOM elements. + */ +async function initDom(): Promise { const okButton = document.querySelector("#btn-ok"); const confirmButton = document.querySelector("#btn-confirm"); const cancelButton = document.querySelector("#btn-cancel"); @@ -31,6 +34,9 @@ async function init(): Promise { await me.on("shown", renderShownDate); } +/** + * Show the shown date in the UI. + */ async function renderShownDate(): Promise { const shownDateEl = document.querySelector("#shown-date"); const { customData } = await me.getOptions(); diff --git a/how-to/use-popup-window/modal/client/src/app.ts b/how-to/use-popup-window/modal/client/src/app.ts index 8ba8dbcf..749b8e2a 100644 --- a/how-to/use-popup-window/modal/client/src/app.ts +++ b/how-to/use-popup-window/modal/client/src/app.ts @@ -1,14 +1,20 @@ export {}; -document.addEventListener("DOMContentLoaded", init); +document.addEventListener("DOMContentLoaded", initDom); -function init(): void { +/** + * Initialize the DOM elements. + */ +function initDom(): void { const showPopupButton = document.querySelector("#btn-show-popup"); if (showPopupButton) { showPopupButton.addEventListener("click", createPopupWindow); } } +/** + * Create the popup window from the click. + */ async function createPopupWindow(): Promise { const PARENT_FRAME_OFFSET = 64; resetPopupResult(); @@ -30,6 +36,10 @@ async function createPopupWindow(): Promise { renderPopupResult(result); } +/** + * Display the popup result. + * @param result The result to display. + */ function renderPopupResult(result: OpenFin.PopupResult): void { const res = document.querySelector("#popup-result"); if (res) { @@ -37,6 +47,9 @@ function renderPopupResult(result: OpenFin.PopupResult): void { } } +/** + * Clear the popup result. + */ function resetPopupResult(): void { const res = document.querySelector("#popup-result"); if (res) { diff --git a/how-to/use-popup-window/modal/client/src/popup.ts b/how-to/use-popup-window/modal/client/src/popup.ts index 638eb787..f5c7e022 100644 --- a/how-to/use-popup-window/modal/client/src/popup.ts +++ b/how-to/use-popup-window/modal/client/src/popup.ts @@ -2,9 +2,12 @@ export {}; const me = fin.me as OpenFin.Window; -document.addEventListener("DOMContentLoaded", init); +document.addEventListener("DOMContentLoaded", initDom); -function init(): void { +/** + * Initialize the DOM elements. + */ +function initDom(): void { const okButton = document.querySelector("#btn-ok"); const confirmButton = document.querySelector("#btn-confirm"); const cancelButton = document.querySelector("#btn-cancel"); diff --git a/how-to/use-popup-window/multiple-results/client/src/app.ts b/how-to/use-popup-window/multiple-results/client/src/app.ts index 3a505ae8..e0c84272 100644 --- a/how-to/use-popup-window/multiple-results/client/src/app.ts +++ b/how-to/use-popup-window/multiple-results/client/src/app.ts @@ -1,14 +1,21 @@ export {}; -document.addEventListener("DOMContentLoaded", init); +document.addEventListener("DOMContentLoaded", initDom); -function init(): void { +/** + * Initialize the DOM elements. + */ +function initDom(): void { const showPopupButton = document.querySelector("#btn-show-popup"); if (showPopupButton) { showPopupButton.addEventListener("click", createPopupWindow); } } +/** + * Create the popup window from the click. + * @param event The event to handle. + */ async function createPopupWindow(event: MouseEvent): Promise { resetPopupResult(); const { right, height }: { right: number; height: number } = ( @@ -32,6 +39,10 @@ async function createPopupWindow(event: MouseEvent): Promise { renderPopupResult(result); } +/** + * Display the popup result. + * @param result The result to display. + */ function renderPopupResult(result: OpenFin.PopupResult): void { const res = document.querySelector("#popup-result"); if (res) { @@ -39,6 +50,9 @@ function renderPopupResult(result: OpenFin.PopupResult): void { } } +/** + * Clear the popup result. + */ function resetPopupResult(): void { const res = document.querySelector("#popup-result"); if (res) { diff --git a/how-to/use-popup-window/multiple-results/client/src/popup.ts b/how-to/use-popup-window/multiple-results/client/src/popup.ts index 33a163e7..55d485b1 100644 --- a/how-to/use-popup-window/multiple-results/client/src/popup.ts +++ b/how-to/use-popup-window/multiple-results/client/src/popup.ts @@ -1,11 +1,17 @@ const me = fin.me as OpenFin.Window; -document.addEventListener("DOMContentLoaded", init); +document.addEventListener("DOMContentLoaded", initDom); -async function init(): Promise { +/** + * Initialize the DOM elements. + */ +async function initDom(): Promise { await createGroupButtons(); } +/** + * Create the group buttons. + */ async function createGroupButtons(): Promise { const { customData: contextGroups } = await me.getOptions(); for (const group of contextGroups) { diff --git a/how-to/use-popup-window/single-result/client/src/app.ts b/how-to/use-popup-window/single-result/client/src/app.ts index c6b8c7c1..b6b43c55 100644 --- a/how-to/use-popup-window/single-result/client/src/app.ts +++ b/how-to/use-popup-window/single-result/client/src/app.ts @@ -1,14 +1,21 @@ export {}; -document.addEventListener("DOMContentLoaded", init); +document.addEventListener("DOMContentLoaded", initDom); -function init(): void { +/** + * Initialize the DOM elements. + */ +function initDom(): void { const showPopupButton = document.querySelector("#btn-show-popup"); if (showPopupButton) { showPopupButton.addEventListener("click", createPopupWindow); } } +/** + * Create the popup window from the click. + * @param event The event to handle. + */ async function createPopupWindow(event: MouseEvent): Promise { resetPopupResult(); const { top, right, height }: { top: number; right: number; height: number } = ( @@ -25,6 +32,10 @@ async function createPopupWindow(event: MouseEvent): Promise { renderPopupResult(result); } +/** + * Display the popup result. + * @param result The result to display. + */ function renderPopupResult(result: OpenFin.PopupResult): void { const res = document.querySelector("#popup-result"); if (res) { @@ -32,6 +43,9 @@ function renderPopupResult(result: OpenFin.PopupResult): void { } } +/** + * Clear the popup result. + */ function resetPopupResult(): void { const res = document.querySelector("#popup-result"); if (res) { diff --git a/how-to/use-popup-window/single-result/client/src/popup.ts b/how-to/use-popup-window/single-result/client/src/popup.ts index 638eb787..f5c7e022 100644 --- a/how-to/use-popup-window/single-result/client/src/popup.ts +++ b/how-to/use-popup-window/single-result/client/src/popup.ts @@ -2,9 +2,12 @@ export {}; const me = fin.me as OpenFin.Window; -document.addEventListener("DOMContentLoaded", init); +document.addEventListener("DOMContentLoaded", initDom); -function init(): void { +/** + * Initialize the DOM elements. + */ +function initDom(): void { const okButton = document.querySelector("#btn-ok"); const confirmButton = document.querySelector("#btn-confirm"); const cancelButton = document.querySelector("#btn-cancel"); diff --git a/how-to/use-preloads/basic/client/src/app.ts b/how-to/use-preloads/basic/client/src/app.ts index 8d5fa8ff..3d7823a1 100644 --- a/how-to/use-preloads/basic/client/src/app.ts +++ b/how-to/use-preloads/basic/client/src/app.ts @@ -1,12 +1,15 @@ document.addEventListener("DOMContentLoaded", async () => { try { - await init(); + await initDom(); } catch (error) { console.error(error); } }); -async function init(): Promise { +/** + * Initialize the DOM elements. + */ +async function initDom(): Promise { const showPlatformDevToolsButton = document.querySelector("#platform-devtools"); const showWindowDevToolsButton = document.querySelector("#window-devtools"); const showViewDevToolsButton = document.querySelector("#view-devtools"); @@ -22,6 +25,9 @@ async function init(): Promise { } } +/** + * Show the developer tools for the platform. + */ async function showPlatformDevTools(): Promise { try { const identity = fin.me.identity; @@ -32,6 +38,9 @@ async function showPlatformDevTools(): Promise { } } +/** + * Show the develop tools for the window. + */ async function showWindowDevTools(): Promise { try { const identity = fin.me.identity; @@ -43,6 +52,9 @@ async function showWindowDevTools(): Promise { } } +/** + * Show the developer tools for the view. + */ async function showViewDevTools(): Promise { try { const identity = fin.me.identity; diff --git a/how-to/use-preloads/basic/client/src/preload-platform.ts b/how-to/use-preloads/basic/client/src/preload-platform.ts index d4ea0641..2dedbe54 100644 --- a/how-to/use-preloads/basic/client/src/preload-platform.ts +++ b/how-to/use-preloads/basic/client/src/preload-platform.ts @@ -8,6 +8,9 @@ if (window !== window.top) { }); } +/** + * Initialize the platform preload. + */ function initPlatformPreload(): void { console.log("Platform preload loaded."); } diff --git a/how-to/use-preloads/basic/client/src/preload-view.ts b/how-to/use-preloads/basic/client/src/preload-view.ts index a96f2a3e..7f72c129 100644 --- a/how-to/use-preloads/basic/client/src/preload-view.ts +++ b/how-to/use-preloads/basic/client/src/preload-view.ts @@ -8,6 +8,9 @@ if (window !== window.top) { }); } +/** + * Initialize the view preload. + */ async function initViewPreload(): Promise { console.log("View preload loaded."); } diff --git a/how-to/use-preloads/basic/client/src/preload-window.ts b/how-to/use-preloads/basic/client/src/preload-window.ts index 3b29fd11..9eda6682 100644 --- a/how-to/use-preloads/basic/client/src/preload-window.ts +++ b/how-to/use-preloads/basic/client/src/preload-window.ts @@ -8,6 +8,9 @@ if (window !== window.top) { }); } +/** + * Initialize the window preload. + */ function initWindowPreload(): void { console.log("Window preload loaded."); } diff --git a/how-to/use-preloads/restart-on-refresh/client/src/preload-view.ts b/how-to/use-preloads/restart-on-refresh/client/src/preload-view.ts index 709f4cc5..2b6bea28 100644 --- a/how-to/use-preloads/restart-on-refresh/client/src/preload-view.ts +++ b/how-to/use-preloads/restart-on-refresh/client/src/preload-view.ts @@ -9,6 +9,9 @@ if (window !== window.top) { }); } +/** + * Initialize the view preload. + */ async function initViewPreload(): Promise { console.log("View preload loaded."); const navigationEntries = performance.getEntriesByType("navigation"); diff --git a/how-to/use-security-realms/client/src/app.ts b/how-to/use-security-realms/client/src/app.ts index c02a07ff..c0498eae 100755 --- a/how-to/use-security-realms/client/src/app.ts +++ b/how-to/use-security-realms/client/src/app.ts @@ -10,6 +10,9 @@ document.addEventListener("DOMContentLoaded", async () => { } }); +/** + * Initialize the DOM elements. + */ async function init(): Promise { const securityRealm = await getSecurityRealmInfo(); if (securityRealm === "UAT-MAIN") { @@ -25,6 +28,10 @@ async function init(): Promise { await listenToTopicAndLogMessages(securityRealm ?? ""); } +/** + * Get the security realm info. + * @returns The security realm if it is set. + */ async function getSecurityRealmInfo(): Promise { try { const runtimeInfo: OpenFin.RuntimeInfo = await fin.System.getRuntimeInfo(); @@ -41,6 +48,10 @@ async function getSecurityRealmInfo(): Promise { } } +/** + * Setup the send button. + * @param realm The realm to use. + */ async function setupSendButton(realm: string): Promise { const sendMessageBtn = document.querySelector("#send-message"); if (sendMessageBtn) { @@ -54,6 +65,12 @@ async function setupSendButton(realm: string): Promise { }); } } + +/** + * Publish a message to the topic. + * @param messageText The message text. + * @param realm The realm to send the message to. + */ async function publishMessageToTopic(messageText: string, realm: string): Promise { try { await fin.InterApplicationBus.publish(topic, { @@ -67,6 +84,10 @@ async function publishMessageToTopic(messageText: string, realm: string): Promis } } +/** + * Listen for messages and log the results. + * @param realm The realm to listen on. + */ async function listenToTopicAndLogMessages(realm: string): Promise { try { const messageLog = document.querySelector("#message-log"); @@ -87,15 +108,11 @@ async function listenToTopicAndLogMessages(realm: string): Promise { } } +/** + * Launch a native app. + * @returns The application identity. + */ async function launchNativeApp(): Promise { - /** - * @key alias: the name supplied to the appAsset in the app.json file. - * @key target: the relative path to the executable from the appAssets [alias]/[version]. - * @key arguments: a string of acceptable arguments for the given executable. - * @key listener: listener, @param result: = {topic: string, uuid: string, exitCode: number}. - * @returns Promise: object containing the uuid of the launched executable { uuid: string }. - */ - const nativeApp = await fin.System.launchExternalProcess({ alias: "security-realms-native", listener: async (result) => { diff --git a/how-to/use-security-realms/client/src/view-app.ts b/how-to/use-security-realms/client/src/view-app.ts index 8667f2aa..9ac09789 100755 --- a/how-to/use-security-realms/client/src/view-app.ts +++ b/how-to/use-security-realms/client/src/view-app.ts @@ -2,7 +2,7 @@ export {}; document.addEventListener("DOMContentLoaded", async () => { try { - await init(); + await initDom(); } catch (error) { console.error(error); } @@ -11,7 +11,10 @@ document.addEventListener("DOMContentLoaded", async () => { const topic = "/openfin/sample/security-realm-example"; const rootPath = location.href.replace("/html/view-app.html", "/"); -async function init(): Promise { +/** + * Initialize the DOM elements. + */ +async function initDom(): Promise { const securityRealm = await getSecurityRealmInfo(); await listenToTopicAndLogMessages(securityRealm ?? ""); await setupSendButton(securityRealm ?? ""); @@ -30,6 +33,10 @@ async function init(): Promise { } } +/** + * Get the security realm. + * @returns The realm if it is set. + */ async function getSecurityRealmInfo(): Promise { try { const runtimeInfo: OpenFin.RuntimeInfo = await fin.System.getRuntimeInfo(); @@ -46,11 +53,19 @@ async function getSecurityRealmInfo(): Promise { } } +/** + * Launch the production app. + * @returns The application. + */ async function launchProd(): Promise { const app = await fin.Application.startFromManifest(`${rootPath}app.fin.json`); return app; } +/** + * Launch the uat app. + * @returns The application. + */ async function launchUat(): Promise { try { const app = await fin.Application.startFromManifest(`${rootPath}uat/app.fin.json`); @@ -60,6 +75,10 @@ async function launchUat(): Promise { } } +/** + * Setup the send button. + * @param realm The realm. + */ async function setupSendButton(realm: string): Promise { try { const sendMessageBtn = document.querySelector("#send-message"); @@ -78,6 +97,11 @@ async function setupSendButton(realm: string): Promise { } } +/** + * Publish a message to the topic. + * @param messageText The message text. + * @param realm The realm to send the message to. + */ async function publishMessageToTopic(messageText: string, realm: string): Promise { try { await fin.InterApplicationBus.publish(topic, { @@ -91,6 +115,10 @@ async function publishMessageToTopic(messageText: string, realm: string): Promis } } +/** + * Listen for messages and log the results. + * @param realm The realm to listen on. + */ async function listenToTopicAndLogMessages(realm: string): Promise { try { const messageLog = document.querySelector("#message-log"); diff --git a/how-to/use-window-options/client/src/app.ts b/how-to/use-window-options/client/src/app.ts index ba57eab2..74ff2e37 100644 --- a/how-to/use-window-options/client/src/app.ts +++ b/how-to/use-window-options/client/src/app.ts @@ -34,10 +34,25 @@ const defaultResizeRegion: Partial = { bottomRightCorner: 9 }; +/** + * Type for the resize sides. + */ interface ResizeSides { + /** + * Top position. + */ top: boolean; + /** + * Left position. + */ left: boolean; + /** + * Right position. + */ right: boolean; + /** + * Bottom position. + */ bottom: boolean; } @@ -69,6 +84,9 @@ document.addEventListener("DOMContentLoaded", async () => { } }); +/** + * Initialize the DOM elements. + */ async function initDom(): Promise { const btnPreview = document.querySelector("#btnPreview"); if (btnPreview) { @@ -124,6 +142,9 @@ async function initDom(): Promise { updatePreview(); } +/** + * Populate the form elements. + */ function populateForm(): void { // Common options connectInput(selectedCommonOptions, "optionName", "name"); @@ -167,6 +188,9 @@ function populateForm(): void { updateFramelessState(); } +/** + * Update the state of the resize components. + */ function updateResizeState(): void { const resizable = selectedCommonOptions.resizable ?? defaultCommonOptions.resizable; const widthElem = document.querySelector("#resizeWidth"); @@ -187,6 +211,9 @@ function updateResizeState(): void { } } +/** + * Update the state of the frameless components. + */ function updateFramelessState(): void { const frame = selectedCommonOptions.frame ?? defaultCommonOptions.frame; const sectionFrameless = document.querySelector("#sectionFrameless"); @@ -195,6 +222,9 @@ function updateFramelessState(): void { } } +/** + * Update the state of the resize width. + */ function updateResizeWidth(): void { if ( selectedCommonOptions.maxWidth !== -1 && @@ -214,6 +244,9 @@ function updateResizeWidth(): void { } } +/** + * Update the state of the resize height. + */ function updateResizeHeight(): void { if ( selectedCommonOptions.maxHeight !== -1 && @@ -233,6 +266,9 @@ function updateResizeHeight(): void { } } +/** + * Update the state of the default position components. + */ function updateDefaultPosition(): void { const isCentered = selectedCommonOptions.defaultCentered ?? defaultCommonOptions.defaultCentered; @@ -265,14 +301,32 @@ function updateDefaultPosition(): void { } } +/** + * Set a property to an object. + * @param obj The object to set the property on. + * @param key The key to set. + * @param value The value. + */ function setProperty(obj: Partial, key: K, value: unknown): void { obj[key] = value as T[K]; } +/** + * Get a property from an object. + * @param obj The object to get the property from. + * @param key The key to get + * @returns The value. + */ function getProperty(obj: Partial, key: K): P { return obj[key] as unknown as P; } +/** + * Connect an input to an option. + * @param selectedValues The selected value. + * @param fieldId The field id. + * @param property The property. + */ function connectInput(selectedValues: Partial, fieldId: string, property: K): void { const option = document.querySelector(`#${fieldId}`); if (option) { @@ -284,6 +338,13 @@ function connectInput(selectedValues: Partial, fieldId: } } +/** + * Connect a checkbox. + * @param selectedValues The selected values. + * @param fieldId The field id. + * @param property The property. + * @param changed The changed event to call. + */ function connectCheckbox( selectedValues: Partial, fieldId: string, @@ -303,6 +364,13 @@ function connectCheckbox( } } +/** + * Connect a range. + * @param selectedValues The selected values. + * @param fieldId The field id. + * @param property The property. + * @param changed The changed event to call. + */ function connectRange( selectedValues: Partial, fieldId: string, @@ -326,6 +394,13 @@ function connectRange( } } +/** + * Connect a color. + * @param selectedValues The selected values. + * @param fieldId The field id. + * @param property The property. + * @param changed The changed event to call. + */ function connectColor( selectedValues: Partial, fieldId: string, @@ -349,6 +424,10 @@ function connectColor( } } +/** + * Finalize the window options. + * @returns The complete window options. + */ function finalizeWindowOptions(): OpenFin.WindowCreationOptions { const finalWindowOptions: OpenFin.WindowCreationOptions = { name: selectedCommonOptions.name, @@ -418,6 +497,9 @@ function finalizeWindowOptions(): OpenFin.WindowCreationOptions { return finalWindowOptions; } +/** + * Update the preview. + */ function updatePreview(): void { const previewElem = document.querySelector("#preview"); if (previewElem) { @@ -425,6 +507,10 @@ function updatePreview(): void { } } +/** + * Create a preview. + * @returns The preview code. + */ function createPreview(): string { return `await fin.Window.create(${JSON.stringify(finalizeWindowOptions(), undefined, " ")});`; } diff --git a/scripts/package.js b/scripts/package.js index df927b06..4609d712 100644 --- a/scripts/package.js +++ b/scripts/package.js @@ -42,17 +42,21 @@ args = yargs(process.argv.slice(2)) .help() .alias('help', 'h').argv; -function packageItems(args) { - let publishDir = `public-${args.location}`; - - if (args.legacy) { +/** + * Package the items. + * @param cliArgs The CLI arguments. + */ +function packageItems(cliArgs) { + let publishDir = `public-${cliArgs.location}`; + + if (cliArgs.legacy) { publishDir = 'public'; - args.location = 'github'; - args.l = args.location; + cliArgs.location = 'github'; + cliArgs.l = cliArgs.location; } - const baseURL = URLBaseMap.get(args.location); - let hostFolder = args.path || `${DEFAULT_PATH}/v${packageJson.version}`; + const baseURL = URLBaseMap.get(cliArgs.location); + let hostFolder = cliArgs.path || `${DEFAULT_PATH}/v${packageJson.version}`; if (packageJson.packageCustomFolder !== undefined && packageJson.packageCustomFolder !== '') { hostFolder = packageJson.packageCustomFolder; @@ -62,16 +66,15 @@ function packageItems(args) { // for different locations. fs.rmSync(publishDir, { recursive: true, force: true }); - workspaces = fg.sync(packageJson.workspaces, { onlyDirectories: true }); + let workspaces = fg.sync(packageJson.workspaces, { onlyDirectories: true }); if (packageJson.packageExclude) { workspaces = workspaces.filter((item) => !packageJson.packageExclude.includes(item)); } - for (let i = 0; i < workspaces.length; i++) { - const workspace = workspaces[i]; + for (const workspace of workspaces) { let item = workspace.split('/')[1]; - if (args.legacy) { + if (cliArgs.legacy) { execSync('npm run build-client', { cwd: workspace, stdio: 'inherit' From a4f8a9306901773562992e70397b195782242d9f Mon Sep 17 00:00:00 2001 From: Martyn Janes Date: Wed, 12 Jul 2023 10:31:47 +0200 Subject: [PATCH 09/12] Remove ignored bundle --- .../public/js/preload-view.bundle.js | 51 ------------------- 1 file changed, 51 deletions(-) delete mode 100644 how-to/use-preloads/restart-on-refresh/public/js/preload-view.bundle.js diff --git a/how-to/use-preloads/restart-on-refresh/public/js/preload-view.bundle.js b/how-to/use-preloads/restart-on-refresh/public/js/preload-view.bundle.js deleted file mode 100644 index 99386be7..00000000 --- a/how-to/use-preloads/restart-on-refresh/public/js/preload-view.bundle.js +++ /dev/null @@ -1,51 +0,0 @@ -/******/ (() => { // webpackBootstrap -/******/ "use strict"; -var __webpack_exports__ = {}; -/*!************************************!*\ - !*** ./client/src/preload-view.ts ***! - \************************************/ - -if (window !== window.top) { - console.log("We don't want to load execute when running in an iframe."); -} -else if (document.readyState === "complete") { - // eslint-disable-next-line no-void - void initViewPreload(); -} -else { - window.addEventListener("load", async () => { - await initViewPreload(); - }); -} -async function initViewPreload() { - console.log("View preload loaded."); - const navigationEntries = performance.getEntriesByType("navigation"); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - if (navigationEntries.length > 0 && navigationEntries[0].type === "reload") { - console.log("Navigation Entries from Performance API Indicate that this page has been reloaded."); - console.log("This example is a use case that was was asked for. Can I restart and navigate to the originally loaded url in a view when a user reloads the page?"); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const fin = window.fin; - if (fin !== undefined) { - const viewOptions = await fin.me.getOptions(); - console.log("View Options:", viewOptions); - if (location.href !== viewOptions.url) { - console.log(`Current url: ${location.href} does not match the defined view url: ${viewOptions.url} navigating to the original url on refresh.`); - location.href = viewOptions.url; - } - else { - console.log("Reload was detected on the originally loaded url. Performing no actions."); - } - } - else { - console.error("This is a preload script so should only ever be loaded into an OpenFin container"); - } - } - else { - console.log(`First load of: ${location.href}`); - } -} - -/******/ })() -; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZC12aWV3LmJ1bmRsZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBSSxNQUFNLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRTtJQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7Q0FDeEU7S0FBTSxJQUFJLFFBQVEsQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFO0lBQzlDLG1DQUFtQztJQUNuQyxLQUFLLGVBQWUsRUFBRSxDQUFDO0NBQ3ZCO0tBQU07SUFDTixNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQzFDLE1BQU0sZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQyxDQUFDLENBQUM7Q0FDSDtBQUVELEtBQUssVUFBVSxlQUFlO0lBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNwQyxNQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNyRSw4REFBOEQ7SUFDOUQsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFLLGlCQUFpQixDQUFDLENBQUMsQ0FBUyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDcEYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvRkFBb0YsQ0FBQyxDQUFDO1FBQ2xHLE9BQU8sQ0FBQyxHQUFHLENBQ1Ysb0pBQW9KLENBQ3BKLENBQUM7UUFDRiw4REFBOEQ7UUFDOUQsTUFBTSxHQUFHLEdBQUksTUFBYyxDQUFDLEdBQUcsQ0FBQztRQUNoQyxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7WUFDdEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzlDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQzFDLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsR0FBRyxFQUFFO2dCQUN0QyxPQUFPLENBQUMsR0FBRyxDQUNWLGdCQUFnQixRQUFRLENBQUMsSUFBSSx5Q0FBeUMsV0FBVyxDQUFDLEdBQUcsNkNBQTZDLENBQ2xJLENBQUM7Z0JBQ0YsUUFBUSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDO2FBQ2hDO2lCQUFNO2dCQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEVBQTBFLENBQUMsQ0FBQzthQUN4RjtTQUNEO2FBQU07WUFDTixPQUFPLENBQUMsS0FBSyxDQUFDLGtGQUFrRixDQUFDLENBQUM7U0FDbEc7S0FDRDtTQUFNO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7S0FDL0M7QUFDRixDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdXNlLXByZWxvYWRzLXJlc3RhcnQtb24tcmVmcmVzaC8uL2NsaWVudC9zcmMvcHJlbG9hZC12aWV3LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImlmICh3aW5kb3cgIT09IHdpbmRvdy50b3ApIHtcblx0Y29uc29sZS5sb2coXCJXZSBkb24ndCB3YW50IHRvIGxvYWQgZXhlY3V0ZSB3aGVuIHJ1bm5pbmcgaW4gYW4gaWZyYW1lLlwiKTtcbn0gZWxzZSBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gXCJjb21wbGV0ZVwiKSB7XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby12b2lkXG5cdHZvaWQgaW5pdFZpZXdQcmVsb2FkKCk7XG59IGVsc2Uge1xuXHR3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIiwgYXN5bmMgKCkgPT4ge1xuXHRcdGF3YWl0IGluaXRWaWV3UHJlbG9hZCgpO1xuXHR9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaW5pdFZpZXdQcmVsb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuXHRjb25zb2xlLmxvZyhcIlZpZXcgcHJlbG9hZCBsb2FkZWQuXCIpO1xuXHRjb25zdCBuYXZpZ2F0aW9uRW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoXCJuYXZpZ2F0aW9uXCIpO1xuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuXHRpZiAobmF2aWdhdGlvbkVudHJpZXMubGVuZ3RoID4gMCAmJiAobmF2aWdhdGlvbkVudHJpZXNbMF0gYXMgYW55KS50eXBlID09PSBcInJlbG9hZFwiKSB7XG5cdFx0Y29uc29sZS5sb2coXCJOYXZpZ2F0aW9uIEVudHJpZXMgZnJvbSBQZXJmb3JtYW5jZSBBUEkgSW5kaWNhdGUgdGhhdCB0aGlzIHBhZ2UgaGFzIGJlZW4gcmVsb2FkZWQuXCIpO1xuXHRcdGNvbnNvbGUubG9nKFxuXHRcdFx0XCJUaGlzIGV4YW1wbGUgaXMgYSB1c2UgY2FzZSB0aGF0IHdhcyB3YXMgYXNrZWQgZm9yLiBDYW4gSSByZXN0YXJ0IGFuZCBuYXZpZ2F0ZSB0byB0aGUgb3JpZ2luYWxseSBsb2FkZWQgdXJsIGluIGEgdmlldyB3aGVuIGEgdXNlciByZWxvYWRzIHRoZSBwYWdlP1wiXG5cdFx0KTtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuXHRcdGNvbnN0IGZpbiA9ICh3aW5kb3cgYXMgYW55KS5maW47XG5cdFx0aWYgKGZpbiAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRjb25zdCB2aWV3T3B0aW9ucyA9IGF3YWl0IGZpbi5tZS5nZXRPcHRpb25zKCk7XG5cdFx0XHRjb25zb2xlLmxvZyhcIlZpZXcgT3B0aW9uczpcIiwgdmlld09wdGlvbnMpO1xuXHRcdFx0aWYgKGxvY2F0aW9uLmhyZWYgIT09IHZpZXdPcHRpb25zLnVybCkge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhcblx0XHRcdFx0XHRgQ3VycmVudCB1cmw6ICR7bG9jYXRpb24uaHJlZn0gZG9lcyBub3QgbWF0Y2ggdGhlIGRlZmluZWQgdmlldyB1cmw6ICR7dmlld09wdGlvbnMudXJsfSBuYXZpZ2F0aW5nIHRvIHRoZSBvcmlnaW5hbCB1cmwgb24gcmVmcmVzaC5gXG5cdFx0XHRcdCk7XG5cdFx0XHRcdGxvY2F0aW9uLmhyZWYgPSB2aWV3T3B0aW9ucy51cmw7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhcIlJlbG9hZCB3YXMgZGV0ZWN0ZWQgb24gdGhlIG9yaWdpbmFsbHkgbG9hZGVkIHVybC4gUGVyZm9ybWluZyBubyBhY3Rpb25zLlwiKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0Y29uc29sZS5lcnJvcihcIlRoaXMgaXMgYSBwcmVsb2FkIHNjcmlwdCBzbyBzaG91bGQgb25seSBldmVyIGJlIGxvYWRlZCBpbnRvIGFuIE9wZW5GaW4gY29udGFpbmVyXCIpO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRjb25zb2xlLmxvZyhgRmlyc3QgbG9hZCBvZjogJHtsb2NhdGlvbi5ocmVmfWApO1xuXHR9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file From 1a21d07aa714d73aaa9ab05b1f1186527885a638 Mon Sep 17 00:00:00 2001 From: Martyn Janes Date: Wed, 12 Jul 2023 10:33:04 +0200 Subject: [PATCH 10/12] Fix DOS port --- how-to/container-platform-starter/scripts/dos.mjs | 2 +- how-to/use-launch-external-process/scripts/dos.mjs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/how-to/container-platform-starter/scripts/dos.mjs b/how-to/container-platform-starter/scripts/dos.mjs index 6d61d87c..1cc51885 100644 --- a/how-to/container-platform-starter/scripts/dos.mjs +++ b/how-to/container-platform-starter/scripts/dos.mjs @@ -6,7 +6,7 @@ import { spawnSync } from 'child_process'; // The common location for the DOS settings when running the local dev examples -const DOS_URL = 'http://localhost:8080/common/dos.json'; +const DOS_URL = 'http://localhost:5050/common/dos.json'; /** * Run the process. diff --git a/how-to/use-launch-external-process/scripts/dos.mjs b/how-to/use-launch-external-process/scripts/dos.mjs index 6d61d87c..1cc51885 100644 --- a/how-to/use-launch-external-process/scripts/dos.mjs +++ b/how-to/use-launch-external-process/scripts/dos.mjs @@ -6,7 +6,7 @@ import { spawnSync } from 'child_process'; // The common location for the DOS settings when running the local dev examples -const DOS_URL = 'http://localhost:8080/common/dos.json'; +const DOS_URL = 'http://localhost:5050/common/dos.json'; /** * Run the process. From 388b099288929094d45d6748c6eae4bc3062fd7d Mon Sep 17 00:00:00 2001 From: Martyn Janes Date: Mon, 17 Jul 2023 12:39:22 +0200 Subject: [PATCH 11/12] Add container platform starter --- README.md | 1 + how-to/container-platform-starter/README.md | 37 ++++++++++++ .../client/src/provider.ts | 1 + .../client/tsconfig.json | 16 +++++ .../client/webpack.config.js | 24 ++++++++ .../container-platform-starter/package.json | 23 +++++++ .../common/views/platform/of-info/index.html | 55 +++++++++++++++++ .../common/views/platform/of-info/of-info.js | 60 +++++++++++++++++++ .../public/html/provider.html | 15 +++++ .../public/manifest.fin.json | 43 +++++++++++++ .../warn-before-closing-dialog/README.md | 4 +- package-lock.json | 43 ++++++++----- 12 files changed, 304 insertions(+), 18 deletions(-) create mode 100644 how-to/container-platform-starter/README.md create mode 100644 how-to/container-platform-starter/client/src/provider.ts create mode 100644 how-to/container-platform-starter/client/tsconfig.json create mode 100644 how-to/container-platform-starter/client/webpack.config.js create mode 100644 how-to/container-platform-starter/package.json create mode 100644 how-to/container-platform-starter/public/common/views/platform/of-info/index.html create mode 100644 how-to/container-platform-starter/public/common/views/platform/of-info/of-info.js create mode 100644 how-to/container-platform-starter/public/html/provider.html create mode 100644 how-to/container-platform-starter/public/manifest.fin.json diff --git a/README.md b/README.md index fa689b43..c9749c7f 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ This repository contains examples for common use cases and API implementations. | **Example** | **Description** | | -------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| [container-platform-starter](./how-to/container-platform-starter) | This example shows a simple platform with a single view. | | [create-window](./how-to/create-window) | This example shows how to create a dynamic window or from a manifest. | | [use-security-realms](./how-to/use-security-realms) | This example shows you security realms work with multiple target environments | | [use-preloads](./how-to/use-preloads) | This example shows you a number of examples on how preload scripts can be used in your application | diff --git a/how-to/container-platform-starter/README.md b/how-to/container-platform-starter/README.md new file mode 100644 index 00000000..013a787a --- /dev/null +++ b/how-to/container-platform-starter/README.md @@ -0,0 +1,37 @@ +# Container Platform Starter + +This repository demonstrates how to implement a simple platform. + +## Get Started + +Follow the instructions below to get up and running. + +### Set up the project + +1. Install dependencies. Note that these examples assume you are in the sub-directory for the example. + +```shell +npm install +``` + +2. Build the project. + +```shell +npm run build +``` + +3. Start the test server in a new window. + +```shell +npm run start +``` + +4. Start the Platform application. + +```shell +npm run client +``` + +### A note about this example + +This is an example of how to use OpenFin APIs to configure OpenFin Container. Its purpose is to provide an example and suggestions. **DO NOT** assume that it contains production-ready code. Please use this as a guide and provide feedback. Thanks! diff --git a/how-to/container-platform-starter/client/src/provider.ts b/how-to/container-platform-starter/client/src/provider.ts new file mode 100644 index 00000000..ba562562 --- /dev/null +++ b/how-to/container-platform-starter/client/src/provider.ts @@ -0,0 +1 @@ +fin.Platform.init({}).catch((error) => console.error(error)); diff --git a/how-to/container-platform-starter/client/tsconfig.json b/how-to/container-platform-starter/client/tsconfig.json new file mode 100644 index 00000000..0453c0cc --- /dev/null +++ b/how-to/container-platform-starter/client/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "es2021", + "module": "ES2020", + "sourceMap": true, + "rootDir": "./src", + "outDir": "build", + "skipLibCheck": true, + "strict": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "moduleResolution": "node", + "types": ["./types/fin"] + }, + "include": ["./src/**/*.ts"] +} diff --git a/how-to/container-platform-starter/client/webpack.config.js b/how-to/container-platform-starter/client/webpack.config.js new file mode 100644 index 00000000..93e9dbff --- /dev/null +++ b/how-to/container-platform-starter/client/webpack.config.js @@ -0,0 +1,24 @@ +const path = require('path'); + +module.exports = [ + { + entry: './client/src/provider.ts', + devtool: 'inline-source-map', + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/ + } + ] + }, + resolve: { + extensions: ['.tsx', '.ts', '.js'] + }, + output: { + filename: 'provider.bundle.js', + path: path.resolve(__dirname, '..', 'public', 'js') + } + } +]; diff --git a/how-to/container-platform-starter/package.json b/how-to/container-platform-starter/package.json new file mode 100644 index 00000000..d5e848f3 --- /dev/null +++ b/how-to/container-platform-starter/package.json @@ -0,0 +1,23 @@ +{ + "name": "container-platform-starter", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "kill": "node ./scripts/kill.mjs", + "client": "node ./scripts/launch.mjs", + "build-client": "webpack build --config ./client/webpack.config.js --mode=development", + "build": "npm run build-client", + "start": "npx --yes http-server ./public -p 5050 -c-1", + "setup": "cd ../../ && npm install && cd how-to/container-platform-starter && npm run build" + }, + "license": "ISC", + "devDependencies": { + "@openfin/core": "^28.72.17", + "openfin-adapter": "^28.72.17", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" + } +} diff --git a/how-to/container-platform-starter/public/common/views/platform/of-info/index.html b/how-to/container-platform-starter/public/common/views/platform/of-info/index.html new file mode 100644 index 00000000..6af50bd1 --- /dev/null +++ b/how-to/container-platform-starter/public/common/views/platform/of-info/index.html @@ -0,0 +1,55 @@ + + + + + + OpenFin Information + + + + + + +
+
+

OpenFin Information

+

Information about the OpenFin environment

+
+
+ OpenFin +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+ + diff --git a/how-to/container-platform-starter/public/common/views/platform/of-info/of-info.js b/how-to/container-platform-starter/public/common/views/platform/of-info/of-info.js new file mode 100644 index 00000000..348a7df2 --- /dev/null +++ b/how-to/container-platform-starter/public/common/views/platform/of-info/of-info.js @@ -0,0 +1,60 @@ +/** + * Displays a view with information about the OpenFin runtime. + */ + +document.addEventListener('DOMContentLoaded', () => { + try { + init(); + } catch (error) { + console.error(error); + } +}); + +/** + * Initialize the DOM elements. + */ +async function init() { + let rvmInfo; + + try { + rvmInfo = await fin.System.getRvmInfo(); + } catch (err) { + console.error(err); + } + + const rvmVersionElement = document.querySelector('#rvmVersion'); + rvmVersionElement.textContent = `v${rvmInfo?.version ?? 'unknown'}`; + + const rvmPathElement = document.querySelector('#rvmPath'); + rvmPathElement.textContent = rvmInfo?.path ?? 'unknown'; + + const appLogDirectoryElement = document.querySelector('#appLogDirectory'); + appLogDirectoryElement.textContent = rvmInfo?.appLogDirectory ?? 'unknown'; + + let runtimeInfo; + try { + runtimeInfo = await fin.System.getRuntimeInfo(); + } catch (err) { + console.error(err); + } + + const runtimeVersionElement = document.querySelector('#runtimeVersion'); + runtimeVersionElement.textContent = `v${runtimeInfo?.version ?? 'unknown'}`; + + const chromeVersionElement = document.querySelector('#chromeVersion'); + chromeVersionElement.textContent = `v${runtimeInfo?.chromeVersion ?? 'unknown'}`; + + const electronVersionElement = document.querySelector('#electronVersion'); + electronVersionElement.textContent = runtimeInfo?.electronVersion ?? 'unknown'; + + let platform; + + try { + platform = fin.Platform.getCurrentSync(); + } catch (err) { + console.error(err); + } + + const platformIdentityElement = document.querySelector('#platformIdentity'); + platformIdentityElement.textContent = platform?.identity?.uuid ?? 'unknown'; +} diff --git a/how-to/container-platform-starter/public/html/provider.html b/how-to/container-platform-starter/public/html/provider.html new file mode 100644 index 00000000..ea0d630d --- /dev/null +++ b/how-to/container-platform-starter/public/html/provider.html @@ -0,0 +1,15 @@ + + + + + + Platform Provider + + + + + + +
Custom Provider...
+ + diff --git a/how-to/container-platform-starter/public/manifest.fin.json b/how-to/container-platform-starter/public/manifest.fin.json new file mode 100644 index 00000000..108d37bf --- /dev/null +++ b/how-to/container-platform-starter/public/manifest.fin.json @@ -0,0 +1,43 @@ +{ + "runtime": { + "arguments": "--v=1 --inspect", + "version": "26.102.70.16" + }, + "platform": { + "enableBeforeUnload": true, + "uuid": "container-platform-starter", + "icon": "http://localhost:5050/favicon.ico", + "autoShow": false, + "providerUrl": "http://localhost:5050/html/provider.html" + }, + "snapshot": { + "windows": [ + { + "layout": { + "content": [ + { + "type": "row", + "content": [ + { + "type": "stack", + "content": [ + { + "type": "component", + "title": "view1", + "componentName": "view", + "componentState": { + "url": "http://localhost:5050/common/views/platform/of-info/index.html", + "name": "view1", + "componentName": "view" + } + } + ] + } + ] + } + ] + } + } + ] + } +} diff --git a/how-to/use-platform/warn-before-closing-dialog/README.md b/how-to/use-platform/warn-before-closing-dialog/README.md index b44768a6..7a9c0b22 100644 --- a/how-to/use-platform/warn-before-closing-dialog/README.md +++ b/how-to/use-platform/warn-before-closing-dialog/README.md @@ -25,13 +25,13 @@ npm run build 3. Start the test server in a new window. ```shell -npm run server +npm run start ``` 4. Start the Platform application. ```shell -npm run platform +npm run client ``` ### Use the project interface diff --git a/package-lock.json b/package-lock.json index 7379b957..5fcaf69f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -67,6 +67,18 @@ "mochawesome": "7.1.3" } }, + "how-to/container-platform-starter": { + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "@openfin/core": "^28.72.17", + "openfin-adapter": "^28.72.17", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" + } + }, "how-to/create-window": { "name": "application-window-creation", "version": "0.0.1", @@ -272,9 +284,7 @@ "version": "0.0.1", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", "openfin-adapter": "^28.72.17", - "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -286,9 +296,7 @@ "version": "0.0.1", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", "openfin-adapter": "^28.72.17", - "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -299,9 +307,7 @@ "version": "0.0.1", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", "openfin-adapter": "^28.72.17", - "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -312,9 +318,7 @@ "version": "0.0.1", "license": "SEE LICENSE IN LICENSE.MD", "devDependencies": { - "express": "^4.18.2", "openfin-adapter": "^28.72.17", - "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -4563,6 +4567,10 @@ "node": ">=10.16.0" } }, + "node_modules/container-platform-starter": { + "resolved": "how-to/container-platform-starter", + "link": true + }, "node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -15717,6 +15725,17 @@ "busboy": "^1.0.0" } }, + "container-platform-starter": { + "version": "file:how-to/container-platform-starter", + "requires": { + "@openfin/core": "^28.72.17", + "openfin-adapter": "^28.72.17", + "ts-loader": "^9.4.4", + "typescript": "^5.1.6", + "webpack": "^5.88.1", + "webpack-cli": "^5.1.4" + } + }, "content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -21209,9 +21228,7 @@ "use-preloads-hello-world": { "version": "file:how-to/use-preloads/basic", "requires": { - "express": "^4.18.2", "openfin-adapter": "^28.72.17", - "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -21221,9 +21238,7 @@ "use-preloads-restart-on-refresh": { "version": "file:how-to/use-preloads/restart-on-refresh", "requires": { - "express": "^4.18.2", "openfin-adapter": "^28.72.17", - "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -21233,9 +21248,7 @@ "use-security-realms": { "version": "file:how-to/use-security-realms", "requires": { - "express": "^4.18.2", "openfin-adapter": "^28.72.17", - "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", @@ -21245,9 +21258,7 @@ "use-window-options": { "version": "file:how-to/use-window-options", "requires": { - "express": "^4.18.2", "openfin-adapter": "^28.72.17", - "source-map-loader": "^4.0.1", "ts-loader": "^9.4.4", "typescript": "^5.1.6", "webpack": "^5.88.1", From f94308e53e84dd2982f779e91db13748101aae43 Mon Sep 17 00:00:00 2001 From: Martyn Janes Date: Mon, 17 Jul 2023 12:42:29 +0200 Subject: [PATCH 12/12] Convert then catch to async --- how-to/use-launch-external-process/client/src/app.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/how-to/use-launch-external-process/client/src/app.ts b/how-to/use-launch-external-process/client/src/app.ts index e7231440..63473122 100644 --- a/how-to/use-launch-external-process/client/src/app.ts +++ b/how-to/use-launch-external-process/client/src/app.ts @@ -11,9 +11,12 @@ document.addEventListener("DOMContentLoaded", () => { const lepBtn = document.querySelector("#lep-button"); if (lepBtn) { lepBtn.addEventListener("click", async () => { - fin.System.launchExternalProcess(lepOptions) - .then((data) => console.log("successfully launched DotNetCore.exe:", data)) - .catch(console.error); + try { + const data = await fin.System.launchExternalProcess(lepOptions); + console.log("successfully launched DotNetCore.exe:", data); + } catch (err) { + console.error(err); + } }); } });