diff --git a/.github/workflows/chat-widget.yml b/.github/workflows/chat-widget.yml new file mode 100644 index 0000000..3cc6755 --- /dev/null +++ b/.github/workflows/chat-widget.yml @@ -0,0 +1,33 @@ +name: Chat Widget + +on: + push: + branches: main + pull_request: + +jobs: + build: + runs-on: ubuntu-22.04 + + steps: + - name: Checkout repository + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 + with: + ref: ${{ github.head_ref }} + + - name: Setup Node version + uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b + with: + node-version-file: '.nvmrc' + + - name: Install dependencies + run: npm ci + + - name: Lerna - Lint check + run: npm run lint + + - name: Lerna - Build + run: npm run build + + - name: Lerna - Tests + run: npm run test diff --git a/.github/workflows/react.yml b/.github/workflows/react.yml new file mode 100644 index 0000000..29f254b --- /dev/null +++ b/.github/workflows/react.yml @@ -0,0 +1,41 @@ +# name: React - Install and Tests + +# on: +# push: +# branches: main +# pull_request: +# paths: +# - 'packages/react/**' +# - '!examples/**' +# - '!packages/sdk/**' +# - '!packages/ui/**' +# - '!storybook/**' + +# jobs: +# build: +# runs-on: ubuntu-22.04 +# defaults: +# run: +# working-directory: packages/react/ +# steps: +# - name: Checkout repository +# uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 +# with: +# ref: ${{ github.head_ref }} + +# - 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 + +# - run: npm config set install-links=false --workspaces=false +# - name: Install dependencies +# run: npm ci --ignore-scripts + +# - run: npm list +# - name: Tests +# run: npm run test diff --git a/.github/workflows/sdk.yml b/.github/workflows/sdk.yml new file mode 100644 index 0000000..bb1a2b1 --- /dev/null +++ b/.github/workflows/sdk.yml @@ -0,0 +1,41 @@ +# name: SDK - Install, Lint and Test + +# on: +# push: +# branches: main +# pull_request: +# paths: +# - 'packages/sdk/**' +# - '!examples/**' +# - '!packages/react/**' +# - '!packages/ui/**' +# - '!storybook/**' + +# jobs: +# build: +# runs-on: ubuntu-22.04 +# defaults: +# run: +# working-directory: packages/sdk/ +# steps: +# - name: Checkout repository +# uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 +# with: +# ref: ${{ github.head_ref }} + +# - 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: Build +# run: npm run build + +# - name: Tests +# run: npm run test diff --git a/.github/workflows/storybook.yml b/.github/workflows/storybook.yml new file mode 100644 index 0000000..9f9b84c --- /dev/null +++ b/.github/workflows/storybook.yml @@ -0,0 +1,67 @@ +name: Storybook - Install, Lint, Build and GitHub Pages Deploy + +on: + push: + branches: main + pull_request: + paths: + - 'storybook/**' + - '!examples/**' + - '!packages/react/**' + - '!packages/sdk/**' + - '!packages/ui/**' + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-22.04 + defaults: + run: + working-directory: storybook/ + steps: + - name: Checkout repository + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 + with: + ref: ${{ github.head_ref }} + + - 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 + + # We upload the artifact and deploy to GitHub Pages only when this workflow is manually triggered. + - name: Upload pages artifact + if: ${{ github.event_name == 'workflow_dispatch' }} + id: upload-pages-artifact + uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa + with: + name: storybook + path: storybook/storybook-static/ + retention-days: 90 + + deploy: + needs: build + if: ${{ github.event_name == 'workflow_dispatch' }} + runs-on: ubuntu-22.04 + permissions: + id-token: write + pages: write + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e + with: + artifact_name: storybook diff --git a/.github/workflows/ui.yml b/.github/workflows/ui.yml new file mode 100644 index 0000000..2f7db86 --- /dev/null +++ b/.github/workflows/ui.yml @@ -0,0 +1,42 @@ +# name: UI - Install, Lint and Test + +# on: +# push: +# branches: main +# pull_request: +# paths: +# - 'packages/ui/**' +# - '!examples/**' +# - '!packages/react/**' +# - '!packages/sdk/**' +# - '!storybook/**' + +# jobs: +# build: +# runs-on: ubuntu-22.04 +# defaults: +# run: +# working-directory: packages/ui/ +# steps: +# - name: Checkout repository +# uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 +# with: +# ref: ${{ github.head_ref }} + +# - 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/.gitignore b/.gitignore index b4dd1c4..360529a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +.vscode/ + node_modules/ coverage/ .DS_Store 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..fe9a0ff 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", @@ -19975,10 +20200,10 @@ }, "packages/react": { "name": "@vortexwest/chat-widget-react", - "version": "0.1.1", + "version": "0.1.8", "license": "ISC", "dependencies": { - "@vortexwest/chat-widget-ui": "^0.1.1" + "@vortexwest/chat-widget-ui": "^0.1.9" }, "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": { @@ -20202,7 +20436,7 @@ }, "packages/sdk": { "name": "@vortexwest/chat-widget-sdk", - "version": "0.1.1", + "version": "0.1.5", "license": "ISC", "dependencies": { "socket.io-client": "^4.7.5", @@ -20210,9 +20444,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 +20455,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 +20488,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 +20516,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 +20533,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 +20560,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 +20573,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 +20601,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 +20623,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": { @@ -20433,20 +20675,23 @@ }, "packages/ui": { "name": "@vortexwest/chat-widget-ui", - "version": "0.1.1", + "version": "0.1.9", "dependencies": { - "@vortexwest/chat-widget-sdk": "^0.1.1", + "@vortexwest/chat-widget-sdk": "^0.1.5", "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 +20701,138 @@ "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, + "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/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, - "license": "MIT" + "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 +20842,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 +20885,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 +20913,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 +20930,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 +20957,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 +20970,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 +20998,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 +21020,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 +21036,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..3f42b8c 100644 --- a/package.json +++ b/package.json @@ -1,18 +1,18 @@ { "private": true, "workspaces": [ - "packages/*", - "*" + "packages/*" ], "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..2373d54 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@vortexwest/chat-widget-react", - "version": "0.1.1", + "version": "0.1.8", "publishConfig": { "access": "restricted" }, @@ -27,7 +27,7 @@ "test": "jest" }, "dependencies": { - "@vortexwest/chat-widget-ui": "^0.1.1" + "@vortexwest/chat-widget-ui": "^0.1.9" }, "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..44368dd 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@vortexwest/chat-widget-sdk", - "version": "0.1.1", + "version": "0.1.5", "publishConfig": { "access": "restricted" }, @@ -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/readme.md b/packages/ui/README.md similarity index 97% rename from packages/ui/readme.md rename to packages/ui/README.md index d73eb2c..7e1f6d1 100644 --- a/packages/ui/readme.md +++ b/packages/ui/README.md @@ -50,3 +50,5 @@ To add new icons to the project, follow these steps: 3. **Access New Icon**: Once the script has executed successfully, your new icon will be available in the `src/components/icons` directory. By following these steps, you can efficiently add new icons to the project without the need for manual editing of existing components. + +### TODO: How to add a new component. diff --git a/packages/ui/package.json b/packages/ui/package.json index 47fe18b..fbf5140 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@vortexwest/chat-widget-ui", - "version": "0.1.1", + "version": "0.1.9", "publishConfig": { "access": "restricted" }, @@ -17,27 +17,35 @@ }, "files": [ "dist/", - "loader/" + "loader/", + "doc/" ], "scripts": { "build": "stencil build", "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" }, + "dependencies": { + "@vortexwest/chat-widget-sdk": "^0.1.5", + "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", @@ -45,9 +53,5 @@ "puppeteer": "^22.12.0", "svg-parser": "^2.0.4", "svgo": "^3.2.0" - }, - "dependencies": { - "@vortexwest/chat-widget-sdk": "^0.1.1", - "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/packages/ui/src/rasa-chatbot-widget/rasa-chatbot-widget.scss b/packages/ui/src/rasa-chatbot-widget/rasa-chatbot-widget.scss index db6c514..0ea7601 100644 --- a/packages/ui/src/rasa-chatbot-widget/rasa-chatbot-widget.scss +++ b/packages/ui/src/rasa-chatbot-widget/rasa-chatbot-widget.scss @@ -39,7 +39,8 @@ bottom: 90px; right: 0; width: 375px; - height: 700px; + height: 85vh; + max-height: 700px; background: var(--messenger-background-color); border-radius: 8px; box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.05); @@ -61,6 +62,7 @@ top: 0; left: 0; width: 100%; + max-height: 100%; height: calc(100% - 100px); border-radius: 0; } 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..f7780e4 --- /dev/null +++ b/tsconfig.lint.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["node_modules", "**/__tests__/**"] +}