From 815b7eb4effb48d2c81a515a55daefe92c424829 Mon Sep 17 00:00:00 2001 From: MicicFilip Date: Fri, 26 Jul 2024 17:01:40 +0200 Subject: [PATCH] WIP --- .github/workflows/react.yml | 38 + .github/workflows/sdk.yml | 37 + .github/workflows/storybook.yml | 86 +++ .github/workflows/ui.yml | 41 ++ e2e/package.json | 2 +- examples/react/package.json | 6 +- package-lock.json | 670 ++++++++++++++---- package.json | 9 +- .../react/{.eslintrc.js => .eslintrc.json} | 25 +- packages/react/package.json | 9 +- packages/sdk/package.json | 6 +- packages/ui/.eslintignore | 1 + packages/ui/.eslintrc.json | 17 +- packages/ui/package.json | 11 +- .../session-devider/session-divider.test.tsx | 2 +- storybook/.eslintrc.cjs | 2 +- storybook/.gitignore | 3 +- storybook/package.json | 8 +- tsconfig.lint.json | 4 + 19 files changed, 806 insertions(+), 171 deletions(-) create mode 100644 .github/workflows/react.yml create mode 100644 .github/workflows/sdk.yml create mode 100644 .github/workflows/storybook.yml create mode 100644 .github/workflows/ui.yml rename packages/react/{.eslintrc.js => .eslintrc.json} (55%) create mode 100644 tsconfig.lint.json diff --git a/.github/workflows/react.yml b/.github/workflows/react.yml new file mode 100644 index 0000000..6abe369 --- /dev/null +++ b/.github/workflows/react.yml @@ -0,0 +1,38 @@ +name: React - Install and Tests + +on: + pull_request: + paths: + - 'packages/react/**' + - '!examples/**' + - '!packages/sdk/**' + - '!packages/ui/**' + - '!storybook/**' + +jobs: + react: + runs-on: ubuntu-22.04 + defaults: + run: + working-directory: packages/react/ + steps: + - name: Checkout repository + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 + # TODO: Remove right before merge. + with: + ref: 'feature/github-actions' + + - name: Setup Node version + uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b + with: + node-version-file: '.nvmrc' # Root of the repository. + + # TODO: NPM login instead of auth token? + - name: Authenticate with private NPM package + run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc + + - name: Install dependencies + run: npm ci --ignore-scripts + + - name: Tests + run: npm run test diff --git a/.github/workflows/sdk.yml b/.github/workflows/sdk.yml new file mode 100644 index 0000000..e1f1542 --- /dev/null +++ b/.github/workflows/sdk.yml @@ -0,0 +1,37 @@ +name: SDK - Install, Lint and Test + +on: + pull_request: + paths: + - 'packages/sdk/**' + - '!examples/**' + - '!packages/react/**' + - '!packages/ui/**' + - '!storybook/**' + +jobs: + sdk: + runs-on: ubuntu-22.04 + defaults: + run: + working-directory: packages/sdk/ + steps: + - name: Checkout repository + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 + # TODO: Remove right before merge. + with: + ref: 'feature/github-actions' + + - name: Setup Node version + uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b + with: + node-version-file: '.nvmrc' # Root of the repository. + + - name: Install dependencies + run: npm ci --ignore-scripts + + - name: Lint check + run: npm run lint + + - name: Tests + run: npm run test diff --git a/.github/workflows/storybook.yml b/.github/workflows/storybook.yml new file mode 100644 index 0000000..5a6e68e --- /dev/null +++ b/.github/workflows/storybook.yml @@ -0,0 +1,86 @@ +name: Storybook - Lint, Build and Deploy + +on: + pull_request: + paths: + - 'storybook/**' + - '!examples/**' + - '!packages/react/**' + - '!packages/sdk/**' + - '!packages/ui/**' + +jobs: + storybook: + runs-on: ubuntu-22.04 + defaults: + run: + working-directory: storybook/ + steps: + - name: Checkout repository + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 + # TODO: Remove right before merge. + with: + ref: 'feature/github-actions' + + - name: Setup Node version + uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b + with: + node-version-file: '.nvmrc' # Root of the repository. + + # TODO: NPM login instead of auth token? + - name: Authenticate with private NPM package + run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc + + - name: Install dependencies + run: npm ci --ignore-scripts + + - name: Lint check + run: npm run lint + + - name: Build + run: npm run build-storybook + + deploy: + needs: storybook + + runs-on: ubuntu-22.04 + defaults: + run: + working-directory: storybook/ + + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment. + permissions: + pages: write + id-token: write + + # Deploy to the github-pages environment. + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + # - name: Archive artifact + # shell: sh + # run: | + # echo ::group::Archive artifact + # tar \ + # --dereference --hard-dereference \ + # --directory "storybook-static/" \ + # -cvf "$RUNNER_TEMP/artifact.tar" \ + # --exclude=.git \ + # --exclude=.github \ + # . + # echo ::endgroup:: + + - name: Upload artifact + id: upload-artifact + uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b + with: + name: storybook + path: storybook-static + retention-days: 90 + if-no-files-found: error + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e diff --git a/.github/workflows/ui.yml b/.github/workflows/ui.yml new file mode 100644 index 0000000..6bf82df --- /dev/null +++ b/.github/workflows/ui.yml @@ -0,0 +1,41 @@ +name: UI - Install, Lint and Test + +on: + pull_request: + paths: + - 'packages/ui/**' + - '!examples/**' + - '!packages/react/**' + - '!packages/sdk/**' + - '!storybook/**' + +jobs: + ui: + runs-on: ubuntu-22.04 + defaults: + run: + working-directory: packages/ui/ + steps: + - name: Checkout repository + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 + # TODO: Remove right before merge. + with: + ref: 'feature/github-actions' + + - name: Setup Node version + uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b + with: + node-version-file: '.nvmrc' + + # TODO: NPM login instead of auth token? + - name: Authenticate with private NPM package + run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc + + - name: Install dependencies + run: npm ci --ignore-scripts + + - name: Lint check + run: npm run lint + + - name: Tests + run: npm run test diff --git a/e2e/package.json b/e2e/package.json index 789dbf2..aeb7652 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -23,6 +23,6 @@ "socket.io": "^4.7.5", "socket.io-client": "^4.7.5", "ts-node": "^10.9.2", - "typescript": "^5.5.3" + "typescript": "^5.5.4" } } diff --git a/examples/react/package.json b/examples/react/package.json index a39deaa..f8ee8fa 100644 --- a/examples/react/package.json +++ b/examples/react/package.json @@ -17,13 +17,13 @@ "devDependencies": { "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", - "@typescript-eslint/eslint-plugin": "^7.13.1", - "@typescript-eslint/parser": "^7.13.1", + "@typescript-eslint/eslint-plugin": "^7.17.0", + "@typescript-eslint/parser": "^7.17.0", "@vitejs/plugin-react": "^4.3.1", "eslint": "^8.57.0", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", - "typescript": "^5.2.2", + "typescript": "^5.5.4", "vite": "^5.3.1" } } diff --git a/package-lock.json b/package-lock.json index 295ac2a..1a8bacb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,12 +9,13 @@ "*" ], "devDependencies": { - "@types/node": "^20.11.30", + "@types/node": "^20.14.12", "lerna": "^8.1.2", - "typescript": "^5.4.0" + "typescript": "^5.5.4" } }, "e2e": { + "name": "@vortexwest/e2e-test-suite", "version": "0.1.1", "license": "ISC", "devDependencies": { @@ -22,7 +23,7 @@ "socket.io": "^4.7.5", "socket.io-client": "^4.7.5", "ts-node": "^10.9.2", - "typescript": "^5.5.3" + "typescript": "^5.5.4" } }, "node_modules/@adobe/css-tools": { @@ -5528,9 +5529,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.14.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz", - "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==", + "version": "20.14.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.12.tgz", + "integrity": "sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==", "dependencies": { "undici-types": "~5.26.4" } @@ -5661,6 +5662,230 @@ "@types/node": "*" } }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", + "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", + "dev": true, + "peer": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "dev": true, + "peer": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "peer": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", + "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", + "dev": true, + "peer": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "peer": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "peer": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/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, + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/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, + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "dev": true, + "peer": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "peer": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", @@ -19978,7 +20203,7 @@ "version": "0.1.1", "license": "ISC", "dependencies": { - "@vortexwest/chat-widget-ui": "^0.1.1" + "@vortexwest/chat-widget-ui": "^0.1.6" }, "devDependencies": { "@babel/preset-env": "^7.24.8", @@ -19989,27 +20214,29 @@ "@testing-library/react": "^16.0.0", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", - "@typescript-eslint/eslint-plugin": "^7.4.0", - "@typescript-eslint/parser": "^7.4.0", + "@typescript-eslint/eslint-plugin": "^7.17.0", + "@typescript-eslint/parser": "^7.17.0", "babel-jest": "^29.7.0", "eslint": "^8.57.0", "eslint-plugin-react": "^7.34.1", "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", "react": "^18.3.1", "react-dom": "^18.3.1", - "typescript": "^5.5.3" + "typescript": "^5.5.4" } }, "packages/react/node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.17.0.tgz", + "integrity": "sha512-pyiDhEuLM3PuANxH7uNYan1AaFs5XE0zw1hq69JBvGvE7gSuEoQl1ydtEe/XQeoC3GQxLXyOVa5kNOATgM638A==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.16.0", - "@typescript-eslint/type-utils": "7.16.0", - "@typescript-eslint/utils": "7.16.0", - "@typescript-eslint/visitor-keys": "7.16.0", + "@typescript-eslint/scope-manager": "7.17.0", + "@typescript-eslint/type-utils": "7.17.0", + "@typescript-eslint/utils": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -20033,14 +20260,15 @@ } }, "packages/react/node_modules/@typescript-eslint/parser": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.17.0.tgz", + "integrity": "sha512-puiYfGeg5Ydop8eusb/Hy1k7QmOU6X3nvsqCgzrB2K4qMavK//21+PzNE8qeECgNOIoertJPUC1SpegHDI515A==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "7.16.0", - "@typescript-eslint/types": "7.16.0", - "@typescript-eslint/typescript-estree": "7.16.0", - "@typescript-eslint/visitor-keys": "7.16.0", + "@typescript-eslint/scope-manager": "7.17.0", + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/typescript-estree": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", "debug": "^4.3.4" }, "engines": { @@ -20060,12 +20288,13 @@ } }, "packages/react/node_modules/@typescript-eslint/scope-manager": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz", + "integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.16.0", - "@typescript-eslint/visitor-keys": "7.16.0" + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -20076,12 +20305,13 @@ } }, "packages/react/node_modules/@typescript-eslint/type-utils": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.17.0.tgz", + "integrity": "sha512-XD3aaBt+orgkM/7Cei0XNEm1vwUxQ958AOLALzPlbPqb8C1G8PZK85tND7Jpe69Wualri81PLU+Zc48GVKIMMA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "7.16.0", - "@typescript-eslint/utils": "7.16.0", + "@typescript-eslint/typescript-estree": "7.17.0", + "@typescript-eslint/utils": "7.17.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -20102,9 +20332,10 @@ } }, "packages/react/node_modules/@typescript-eslint/types": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz", + "integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -20114,12 +20345,13 @@ } }, "packages/react/node_modules/@typescript-eslint/typescript-estree": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz", + "integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "7.16.0", - "@typescript-eslint/visitor-keys": "7.16.0", + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -20141,14 +20373,15 @@ } }, "packages/react/node_modules/@typescript-eslint/utils": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz", + "integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.16.0", - "@typescript-eslint/types": "7.16.0", - "@typescript-eslint/typescript-estree": "7.16.0" + "@typescript-eslint/scope-manager": "7.17.0", + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/typescript-estree": "7.17.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -20162,11 +20395,12 @@ } }, "packages/react/node_modules/@typescript-eslint/visitor-keys": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz", + "integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.16.0", + "@typescript-eslint/types": "7.17.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -20177,6 +20411,24 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "packages/react/node_modules/@vortexwest/chat-widget-sdk": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@vortexwest/chat-widget-sdk/-/chat-widget-sdk-0.1.4.tgz", + "integrity": "sha512-nIzU+7LLkcmR5DJdGG/+96jJrYu72D7LR5P/9LLMAVDAi88f3DKLYo4sYrHQ9aTci5PuCrYz146Pq7w/hIGBDQ==", + "dependencies": { + "socket.io-client": "^4.7.5", + "uuid": "^10.0.0" + } + }, + "packages/react/node_modules/@vortexwest/chat-widget-ui": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@vortexwest/chat-widget-ui/-/chat-widget-ui-0.1.6.tgz", + "integrity": "sha512-Jy6+NWW12b1Gdg9esgCC9WqoZKXb1vv2TvXHKfA7OU3PzCNjRJaFAlomzWET6ijAz7zoiv7LmI8meQ/BQtUvaw==", + "dependencies": { + "@vortexwest/chat-widget-sdk": "^0.1.4", + "uuid": "^10.0.0" + } + }, "packages/react/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -20210,9 +20462,9 @@ }, "devDependencies": { "@types/jest": "^29.5.12", - "@typescript-eslint/eslint-plugin": "^7.11.0", - "@typescript-eslint/parser": "^7.11.0", - "eslint": "^8.56.0", + "@typescript-eslint/eslint-plugin": "^7.17.0", + "@typescript-eslint/parser": "^7.17.0", + "eslint": "^8.57.0", "globals": "^15.3.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", @@ -20221,15 +20473,16 @@ } }, "packages/sdk/node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.17.0.tgz", + "integrity": "sha512-pyiDhEuLM3PuANxH7uNYan1AaFs5XE0zw1hq69JBvGvE7gSuEoQl1ydtEe/XQeoC3GQxLXyOVa5kNOATgM638A==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.16.0", - "@typescript-eslint/type-utils": "7.16.0", - "@typescript-eslint/utils": "7.16.0", - "@typescript-eslint/visitor-keys": "7.16.0", + "@typescript-eslint/scope-manager": "7.17.0", + "@typescript-eslint/type-utils": "7.17.0", + "@typescript-eslint/utils": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -20253,14 +20506,15 @@ } }, "packages/sdk/node_modules/@typescript-eslint/parser": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.17.0.tgz", + "integrity": "sha512-puiYfGeg5Ydop8eusb/Hy1k7QmOU6X3nvsqCgzrB2K4qMavK//21+PzNE8qeECgNOIoertJPUC1SpegHDI515A==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "7.16.0", - "@typescript-eslint/types": "7.16.0", - "@typescript-eslint/typescript-estree": "7.16.0", - "@typescript-eslint/visitor-keys": "7.16.0", + "@typescript-eslint/scope-manager": "7.17.0", + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/typescript-estree": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", "debug": "^4.3.4" }, "engines": { @@ -20280,12 +20534,13 @@ } }, "packages/sdk/node_modules/@typescript-eslint/scope-manager": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz", + "integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.16.0", - "@typescript-eslint/visitor-keys": "7.16.0" + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -20296,12 +20551,13 @@ } }, "packages/sdk/node_modules/@typescript-eslint/type-utils": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.17.0.tgz", + "integrity": "sha512-XD3aaBt+orgkM/7Cei0XNEm1vwUxQ958AOLALzPlbPqb8C1G8PZK85tND7Jpe69Wualri81PLU+Zc48GVKIMMA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "7.16.0", - "@typescript-eslint/utils": "7.16.0", + "@typescript-eslint/typescript-estree": "7.17.0", + "@typescript-eslint/utils": "7.17.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -20322,9 +20578,10 @@ } }, "packages/sdk/node_modules/@typescript-eslint/types": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz", + "integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -20334,12 +20591,13 @@ } }, "packages/sdk/node_modules/@typescript-eslint/typescript-estree": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz", + "integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "7.16.0", - "@typescript-eslint/visitor-keys": "7.16.0", + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -20361,14 +20619,15 @@ } }, "packages/sdk/node_modules/@typescript-eslint/utils": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz", + "integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.16.0", - "@typescript-eslint/types": "7.16.0", - "@typescript-eslint/typescript-estree": "7.16.0" + "@typescript-eslint/scope-manager": "7.17.0", + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/typescript-estree": "7.17.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -20382,11 +20641,12 @@ } }, "packages/sdk/node_modules/@typescript-eslint/visitor-keys": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz", + "integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.16.0", + "@typescript-eslint/types": "7.17.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -20435,18 +20695,21 @@ "name": "@vortexwest/chat-widget-ui", "version": "0.1.1", "dependencies": { - "@vortexwest/chat-widget-sdk": "^0.1.1", + "@vortexwest/chat-widget-sdk": "^0.1.4", "uuid": "^10.0.0" }, "devDependencies": { "@babel/plugin-syntax-decorators": "^7.24.7", + "@babel/preset-env": "^7.24.8", + "@babel/preset-typescript": "^7.24.7", "@stencil-community/eslint-plugin": "^0.7.2", "@stencil/core": "^4.14.0", "@stencil/react-output-target": "^0.5.3", "@stencil/sass": "^3.0.10", "@stencil/store": "^2.0.16", - "@types/jest": "^29.5.6", - "@types/node": "^16.18.11", + "@types/jest": "^29.5.12", + "@types/node": "^20.14.12", + "@typescript-eslint/parser": "^7.17.0", "babel-jest": "^29.7.0", "hast-util-to-html": "^9.0.1", "jest": "^29.7.0", @@ -20456,16 +20719,147 @@ "svgo": "^3.2.0" } }, - "packages/ui/node_modules/@types/node": { - "version": "16.18.101", + "packages/ui/node_modules/@typescript-eslint/parser": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.17.0.tgz", + "integrity": "sha512-puiYfGeg5Ydop8eusb/Hy1k7QmOU6X3nvsqCgzrB2K4qMavK//21+PzNE8qeECgNOIoertJPUC1SpegHDI515A==", "dev": true, - "license": "MIT" + "dependencies": { + "@typescript-eslint/scope-manager": "7.17.0", + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/typescript-estree": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "packages/ui/node_modules/@typescript-eslint/scope-manager": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz", + "integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "packages/ui/node_modules/@typescript-eslint/types": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz", + "integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "packages/ui/node_modules/@typescript-eslint/typescript-estree": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz", + "integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "packages/ui/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz", + "integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.17.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "packages/ui/node_modules/@vortexwest/chat-widget-sdk": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@vortexwest/chat-widget-sdk/-/chat-widget-sdk-0.1.4.tgz", + "integrity": "sha512-nIzU+7LLkcmR5DJdGG/+96jJrYu72D7LR5P/9LLMAVDAi88f3DKLYo4sYrHQ9aTci5PuCrYz146Pq7w/hIGBDQ==", + "dependencies": { + "socket.io-client": "^4.7.5", + "uuid": "^10.0.0" + } + }, + "packages/ui/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" + } + }, + "packages/ui/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, "storybook": { "name": "@vortexwest/storybook", "version": "0.1.0", "dependencies": { - "@vortexwest/chat-widget-ui": "^0.1.0", + "@vortexwest/chat-widget-ui": "^0.1.9", "storybook": "^8.1.10" }, "devDependencies": { @@ -20475,25 +20869,26 @@ "@storybook/blocks": "^8.1.10", "@storybook/html": "^8.1.10", "@storybook/html-vite": "^8.1.10", - "@typescript-eslint/eslint-plugin": "^7.2.0", - "@typescript-eslint/parser": "^7.2.0", + "@typescript-eslint/eslint-plugin": "^7.17.0", + "@typescript-eslint/parser": "^7.17.0", "eslint": "^8.57.0", "eslint-plugin-storybook": "^0.8.0", "sass": "^1.72.0", - "typescript": "^5.2.2", + "typescript": "^5.5.4", "vite": "^5.2.0" } }, "storybook/node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.17.0.tgz", + "integrity": "sha512-pyiDhEuLM3PuANxH7uNYan1AaFs5XE0zw1hq69JBvGvE7gSuEoQl1ydtEe/XQeoC3GQxLXyOVa5kNOATgM638A==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.16.0", - "@typescript-eslint/type-utils": "7.16.0", - "@typescript-eslint/utils": "7.16.0", - "@typescript-eslint/visitor-keys": "7.16.0", + "@typescript-eslint/scope-manager": "7.17.0", + "@typescript-eslint/type-utils": "7.17.0", + "@typescript-eslint/utils": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -20517,14 +20912,15 @@ } }, "storybook/node_modules/@typescript-eslint/parser": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.17.0.tgz", + "integrity": "sha512-puiYfGeg5Ydop8eusb/Hy1k7QmOU6X3nvsqCgzrB2K4qMavK//21+PzNE8qeECgNOIoertJPUC1SpegHDI515A==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "7.16.0", - "@typescript-eslint/types": "7.16.0", - "@typescript-eslint/typescript-estree": "7.16.0", - "@typescript-eslint/visitor-keys": "7.16.0", + "@typescript-eslint/scope-manager": "7.17.0", + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/typescript-estree": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", "debug": "^4.3.4" }, "engines": { @@ -20544,12 +20940,13 @@ } }, "storybook/node_modules/@typescript-eslint/scope-manager": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz", + "integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.16.0", - "@typescript-eslint/visitor-keys": "7.16.0" + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -20560,12 +20957,13 @@ } }, "storybook/node_modules/@typescript-eslint/type-utils": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.17.0.tgz", + "integrity": "sha512-XD3aaBt+orgkM/7Cei0XNEm1vwUxQ958AOLALzPlbPqb8C1G8PZK85tND7Jpe69Wualri81PLU+Zc48GVKIMMA==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "7.16.0", - "@typescript-eslint/utils": "7.16.0", + "@typescript-eslint/typescript-estree": "7.17.0", + "@typescript-eslint/utils": "7.17.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -20586,9 +20984,10 @@ } }, "storybook/node_modules/@typescript-eslint/types": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz", + "integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -20598,12 +20997,13 @@ } }, "storybook/node_modules/@typescript-eslint/typescript-estree": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz", + "integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "7.16.0", - "@typescript-eslint/visitor-keys": "7.16.0", + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -20625,14 +21025,15 @@ } }, "storybook/node_modules/@typescript-eslint/utils": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz", + "integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.16.0", - "@typescript-eslint/types": "7.16.0", - "@typescript-eslint/typescript-estree": "7.16.0" + "@typescript-eslint/scope-manager": "7.17.0", + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/typescript-estree": "7.17.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -20646,11 +21047,12 @@ } }, "storybook/node_modules/@typescript-eslint/visitor-keys": { - "version": "7.16.0", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz", + "integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.16.0", + "@typescript-eslint/types": "7.17.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -20661,6 +21063,24 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "storybook/node_modules/@vortexwest/chat-widget-sdk": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@vortexwest/chat-widget-sdk/-/chat-widget-sdk-0.1.5.tgz", + "integrity": "sha512-k+sAN/QmZPRkzVMoiQNYv0ErNTEF512iEt6kj7FLElI/gAka6HaqOAAm/qz98D5Z3GBmmhMjlRNG7lAmyUEnZQ==", + "dependencies": { + "socket.io-client": "^4.7.5", + "uuid": "^10.0.0" + } + }, + "storybook/node_modules/@vortexwest/chat-widget-ui": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/@vortexwest/chat-widget-ui/-/chat-widget-ui-0.1.9.tgz", + "integrity": "sha512-2hyetb4GwzN7+hrpJpxeS+Iycx74t78Zwl11HJVrZzkjUB4qnYyH2Lk+1MbFW0T0ehWPoNsXZfW0gUaT8UCNUg==", + "dependencies": { + "@vortexwest/chat-widget-sdk": "^0.1.5", + "uuid": "^10.0.0" + } + }, "storybook/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", diff --git a/package.json b/package.json index 1256291..28f328b 100644 --- a/package.json +++ b/package.json @@ -7,12 +7,13 @@ "scripts": { "dev": "lerna run dev --parallel", "storybook": "lerna run build && lerna run storybook", - "test": "lerna run test", - "build": "lerna run build --concurrency 1" + "test": "lerna run test --verbose", + "build": "lerna run build --concurrency 1", + "lint": "eslint packages/ storybook/ --max-warnings 0" }, "devDependencies": { - "@types/node": "^20.11.30", + "@types/node": "^20.14.12", "lerna": "^8.1.2", - "typescript": "^5.4.0" + "typescript": "^5.5.4" } } diff --git a/packages/react/.eslintrc.js b/packages/react/.eslintrc.json similarity index 55% rename from packages/react/.eslintrc.js rename to packages/react/.eslintrc.json index 1e1167f..0eea1b6 100644 --- a/packages/react/.eslintrc.js +++ b/packages/react/.eslintrc.json @@ -1,35 +1,26 @@ -module.exports = { +{ "env": { "browser": true, - "es2021": true + "es2022": true, + "es6": true }, "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:react/recommended" ], - "overrides": [ - { - "env": { - "node": true - }, - "files": [ - ".eslintrc.{js,cjs}" - ], - "parserOptions": { - "sourceType": "script" - } - } - ], "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, + "ignorePatterns": [ + "dist", + "lib/components/stencil-generated" + ], "plugins": [ "@typescript-eslint", "react" ], - "rules": { - } + "rules": {} } diff --git a/packages/react/package.json b/packages/react/package.json index f76cd65..15f0581 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -27,7 +27,7 @@ "test": "jest" }, "dependencies": { - "@vortexwest/chat-widget-ui": "^0.1.1" + "@vortexwest/chat-widget-ui": "^0.1.6" }, "devDependencies": { "@babel/preset-env": "^7.24.8", @@ -38,14 +38,15 @@ "@testing-library/react": "^16.0.0", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", - "@typescript-eslint/eslint-plugin": "^7.4.0", - "@typescript-eslint/parser": "^7.4.0", + "@typescript-eslint/eslint-plugin": "^7.17.0", + "@typescript-eslint/parser": "^7.17.0", "babel-jest": "^29.7.0", "eslint": "^8.57.0", "eslint-plugin-react": "^7.34.1", "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", "react": "^18.3.1", "react-dom": "^18.3.1", - "typescript": "^5.5.3" + "typescript": "^5.5.4" } } diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 82bb1da..68b7b75 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -32,9 +32,9 @@ }, "devDependencies": { "@types/jest": "^29.5.12", - "@typescript-eslint/eslint-plugin": "^7.11.0", - "@typescript-eslint/parser": "^7.11.0", - "eslint": "^8.56.0", + "@typescript-eslint/eslint-plugin": "^7.17.0", + "@typescript-eslint/parser": "^7.17.0", + "eslint": "^8.57.0", "globals": "^15.3.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", diff --git a/packages/ui/.eslintignore b/packages/ui/.eslintignore index a1899c3..3c3b4c1 100644 --- a/packages/ui/.eslintignore +++ b/packages/ui/.eslintignore @@ -3,3 +3,4 @@ loader www stencil.config.ts doc +coverage diff --git a/packages/ui/.eslintrc.json b/packages/ui/.eslintrc.json index 1a4f98b..17783ff 100644 --- a/packages/ui/.eslintrc.json +++ b/packages/ui/.eslintrc.json @@ -1,9 +1,20 @@ { "parserOptions": { - "project": "./tsconfig.json" + "project": "../../tsconfig.lint.json" }, "extends": ["plugin:@stencil-community/recommended"], "rules": { - "@stencil-community/strict-boolean-conditions": "off" - } + "@stencil-community/strict-boolean-conditions": "off", + "react/jsx-no-bind": "off" + }, + "ignorePatterns": [ + ".stencil", + "dist", + "doc", + "loader", + "scripts", + "www", + "stencil.config.ts", + "jest.setup.js" + ] } diff --git a/packages/ui/package.json b/packages/ui/package.json index 47fe18b..a5e1b24 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -24,20 +24,23 @@ "build:watch": "stencil build --watch", "dev": "stencil build --dev --watch --serve", "test": "jest --coverage --forceExit", - "lint": "eslint src/**/*{.ts,.tsx}", + "lint": "eslint .", "test:watch": "stencil test --spec --e2e --watchAll", "generate": "stencil generate", "generate:icons": "node ./scripts/generate-icons.js" }, "devDependencies": { "@babel/plugin-syntax-decorators": "^7.24.7", + "@babel/preset-env": "^7.24.8", + "@babel/preset-typescript": "^7.24.7", "@stencil-community/eslint-plugin": "^0.7.2", "@stencil/core": "^4.14.0", "@stencil/react-output-target": "^0.5.3", "@stencil/sass": "^3.0.10", "@stencil/store": "^2.0.16", - "@types/jest": "^29.5.6", - "@types/node": "^16.18.11", + "@types/jest": "^29.5.12", + "@types/node": "^20.14.12", + "@typescript-eslint/parser": "^7.17.0", "babel-jest": "^29.7.0", "hast-util-to-html": "^9.0.1", "jest": "^29.7.0", @@ -47,7 +50,7 @@ "svgo": "^3.2.0" }, "dependencies": { - "@vortexwest/chat-widget-sdk": "^0.1.1", + "@vortexwest/chat-widget-sdk": "^0.1.4", "uuid": "^10.0.0" } } diff --git a/packages/ui/src/components/session-devider/session-divider.test.tsx b/packages/ui/src/components/session-devider/session-divider.test.tsx index 7be3bc2..5b0a484 100644 --- a/packages/ui/src/components/session-devider/session-divider.test.tsx +++ b/packages/ui/src/components/session-devider/session-divider.test.tsx @@ -4,7 +4,7 @@ import { SessionDivider } from './session-divider'; describe('rasa-session-divider', () => { it('renders with the correct date', async () => { - const sessionStartDate = new Date('Tue Apr 25 2023 15:45:30 GMT+0200 (Central European Summer Time)'); + const sessionStartDate = new Date('Tue Apr 25 2023 15:45:30'); const page = await newSpecPage({ components: [SessionDivider], template: () => , diff --git a/storybook/.eslintrc.cjs b/storybook/.eslintrc.cjs index f69f455..f3ad521 100644 --- a/storybook/.eslintrc.cjs +++ b/storybook/.eslintrc.cjs @@ -6,7 +6,7 @@ module.exports = { "plugin:@typescript-eslint/recommended", "plugin:storybook/recommended", ], - ignorePatterns: ["dist", ".eslintrc.cjs"], + ignorePatterns: ["dist", ".eslintrc.cjs", "storybook-static"], parser: "@typescript-eslint/parser", plugins: [], rules: {}, diff --git a/storybook/.gitignore b/storybook/.gitignore index bc6d306..cb03604 100644 --- a/storybook/.gitignore +++ b/storybook/.gitignore @@ -23,4 +23,5 @@ dist-ssr *.sln *.sw? -*storybook.log \ No newline at end of file +*storybook.log +storybook-static/ diff --git a/storybook/package.json b/storybook/package.json index 7a7194c..1d103f8 100644 --- a/storybook/package.json +++ b/storybook/package.json @@ -15,16 +15,16 @@ "@storybook/blocks": "^8.1.10", "@storybook/html": "^8.1.10", "@storybook/html-vite": "^8.1.10", - "@typescript-eslint/eslint-plugin": "^7.2.0", - "@typescript-eslint/parser": "^7.2.0", + "@typescript-eslint/eslint-plugin": "^7.17.0", + "@typescript-eslint/parser": "^7.17.0", "eslint": "^8.57.0", "eslint-plugin-storybook": "^0.8.0", "sass": "^1.72.0", - "typescript": "^5.2.2", + "typescript": "^5.5.4", "vite": "^5.2.0" }, "dependencies": { - "@vortexwest/chat-widget-ui": "^0.1.0", + "@vortexwest/chat-widget-ui": "^0.1.9", "storybook": "^8.1.10" } } diff --git a/tsconfig.lint.json b/tsconfig.lint.json new file mode 100644 index 0000000..10859dd --- /dev/null +++ b/tsconfig.lint.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["node_modules", "**/__tests__/**"] +} \ No newline at end of file