feat(devex): separate storybook package (#28977)

This commit is contained in:
Marius Andra
2025-02-20 14:18:28 +01:00
committed by GitHub
parent a06b3387e2
commit c8470bb43b
28 changed files with 244 additions and 242 deletions

View File

@@ -41,7 +41,7 @@ jobs:
- name: Install dependencies and Chromatic
run: |
pnpm --filter=@posthog/frontend... install --frozen-lockfile
pnpm --filter=@posthog/storybook... install --frozen-lockfile
pnpm install -w -D chromatic
- name: Publish to Chromatic
@@ -51,7 +51,7 @@ jobs:
token: ${{ secrets.GITHUB_TOKEN }}
# 👇 Chromatic projectToken, refer to the manage page to obtain it.
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
workingDir: ./frontend/
workingDir: ./common/storybook/
visual-regression:
name: Visual regression tests
@@ -120,19 +120,19 @@ jobs:
cache: pnpm
- name: Install package.json dependencies with pnpm
run: pnpm --filter=@posthog/frontend... install --frozen-lockfile
run: pnpm --filter=@posthog/storybook... install --frozen-lockfile
- name: Install CI utilities with pnpm
run: pnpm install http-server wait-on -g
- name: Build Storybook
run: pnpm --filter=@posthog/frontend build-storybook --test --quiet # Silence since progress logging results in a massive wall of spam
run: pnpm --filter=@posthog/storybook build-storybook --test --quiet # Silence since progress logging results in a massive wall of spam
- name: Serve Storybook in the background
run: |
retries=3
while [ $retries -gt 0 ]; do
pnpm exec http-server frontend/storybook-static --port 6006 --silent &
pnpm exec http-server common/storybook/dist --port 6006 --silent &
if pnpm wait-on http://127.0.0.1:6006 --timeout 15; then
break
fi
@@ -148,7 +148,7 @@ jobs:
VARIANT: ${{ github.event.pull_request.head.repo.full_name == github.repository && 'update' || 'verify' }}
STORYBOOK_SKIP_TAGS: 'test-skip,test-skip-${{ matrix.browser }}'
run: |
pnpm --filter=@posthog/frontend test:visual:ci:$VARIANT --browsers ${{ matrix.browser }} --shard ${{ matrix.shard }}/$SHARD_COUNT
pnpm --filter=@posthog/storybook test:visual:ci:$VARIANT --browsers ${{ matrix.browser }} --shard ${{ matrix.shard }}/$SHARD_COUNT
- name: Archive failure screenshots
if: ${{ failure() }}

View File

@@ -30,10 +30,10 @@ jobs:
cache-dependency-path: posthog/pnpm-lock.yaml
- name: Install dependencies (pnpm)
run: cd posthog && pnpm --filter=@posthog/frontend... install
run: cd posthog && pnpm --filter=@posthog/storybook... install --frozen-lockfile
- name: Build storybook
run: cd posthog && pnpm --filter=@posthog/frontend build-storybook
run: cd posthog && pnpm --filter=@posthog/storybook build-storybook
- name: Check out PostHog/storybook-build repo
uses: actions/checkout@v3
@@ -45,9 +45,9 @@ jobs:
- name: Copy built changes to PostHog/storybook-build repo
run: |
# keep the CNAME file, but discard all the rest
cp storybook-build/docs/CNAME posthog/frontend/storybook-static/
cp storybook-build/docs/CNAME posthog/common/storybook/dist/
rm -rf storybook-build/docs
cp -a posthog/frontend/storybook-static storybook-build/docs
cp -a posthog/common/storybook/dist storybook-build/docs
- name: Set commit message
id: commit-message

1
.gitignore vendored
View File

@@ -80,6 +80,7 @@ share/GeoLite2-City.mmdb
staticfiles
storybook-static
frontend/storybook-static
common/storybook/dist
temp_test_run_data.json
# ignore all dagster tmp directories that may be created
tmp*/

View File

@@ -13,6 +13,7 @@ frontend/dist/
.yalc
.python-version
storybook-static
common/storybook/dist/
dist/
node_modules/
pnpm-lock.yaml

View File

@@ -26,7 +26,7 @@ WORKDIR /code
SHELL ["/bin/bash", "-e", "-o", "pipefail", "-c"]
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml tsconfig.json ./
COPY frontend/package.json frontend/tailwind.config.js frontend/babel.config.js frontend/webpack.config.js frontend/
COPY frontend/package.json frontend/tailwind.config.js frontend/
COPY frontend/bin/ frontend/bin/
COPY patches/ patches/
COPY common/esbuilder/ common/esbuilder/

View File

@@ -23,5 +23,5 @@ in another
```bash
pnpm exec playwright install
pnpm test:visual:debug
pnpm --filter=@posthog/storybook test:visual:debug
```

View File

@@ -2,7 +2,7 @@ import { createEntry } from '../webpack.config'
import { StorybookConfig } from '@storybook/react-webpack5'
const config: StorybookConfig = {
stories: ['../src/**/*.stories.@(js|jsx|ts|tsx|mdx)','../../products/**/frontend/**/*.stories.@(js|jsx|ts|tsx|mdx)'],
stories: ['../../../frontend/src/**/*.stories.@(js|jsx|ts|tsx|mdx)','../../../products/**/frontend/**/*.stories.@(js|jsx|ts|tsx|mdx)'],
addons: [
'@storybook/addon-docs',
@@ -13,7 +13,7 @@ const config: StorybookConfig = {
'storybook-addon-pseudo-states',
],
staticDirs: ['public', { from: '../public', to: '/static' }],
staticDirs: ['public', { from: '../../../frontend/public', to: '/static' }],
webpackFinal: (config) => {
const mainConfig = createEntry('main')

View File

@@ -0,0 +1,58 @@
{
"name": "@posthog/storybook",
"scripts": {
"start": "DEBUG=0 storybook dev -p 6006",
"build-storybook": "DEBUG=0 storybook build -o dist",
"test:visual:update": "cd ../.. && rm -rf frontend/__snapshots__/__failures__/ && docker compose -f docker-compose.playwright.yml run --rm -it --build playwright pnpm test:visual:update:docker --url http://host.docker.internal:6006",
"test:visual:update:docker": "NODE_OPTIONS=--max-old-space-size=6144 test-storybook -u --browsers chromium webkit --no-index-json",
"test:visual:debug": "PWDEBUG=1 NODE_OPTIONS=--max-old-space-size=6144 test-storybook --browsers chromium webkit --no-index-json",
"test:visual:ci:update": "test-storybook -u --no-index-json --maxWorkers=2",
"test:visual:ci:verify": "test-storybook --ci --no-index-json --maxWorkers=2"
},
"dependencies": {
"@babel/core": "^7.22.10",
"@babel/plugin-transform-class-properties": "^7.24.7",
"@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7",
"@babel/plugin-transform-private-property-in-object": "^7.24.7",
"@babel/plugin-transform-react-jsx": "^7.22.5",
"@babel/plugin-transform-runtime": "^7.22.10",
"@babel/preset-env": "^7.22.10",
"@babel/preset-react": "^7.22.5",
"@babel/preset-typescript": "^7.22.5",
"@babel/runtime": "^7.24.0",
"@posthog/frontend": "workspace:*",
"@storybook/addon-a11y": "^7.6.4",
"@storybook/addon-actions": "^7.6.4",
"@storybook/addon-essentials": "^7.6.4",
"@storybook/addon-links": "^7.6.4",
"@storybook/addon-storysource": "^7.6.4",
"@storybook/addons": "^7.6.4",
"@storybook/api": "^7.6.4",
"@storybook/blocks": "^7.6.4",
"@storybook/components": "^7.6.4",
"@storybook/core-events": "^7.6.4",
"@storybook/csf": "^0.1.2",
"@storybook/react": "^7.6.4",
"@storybook/react-webpack5": "^7.6.4",
"@storybook/test-runner": "^0.16.0",
"@storybook/theming": "^7.6.4",
"@storybook/types": "^7.6.4",
"babel-preset-nano-react-app": "^0.1.0",
"webpack": "^5.88.2",
"webpack-cli": "^5.1.4",
"html-webpack-harddisk-plugin": "^2.0.0",
"html-webpack-plugin": "^5.5.3",
"monaco-editor-webpack-plugin": "^7.0.1",
"babel-loader": "^8.0.6",
"css-loader": "^3.4.2",
"file-loader": "^6.1.0",
"less-loader": "^7.0.2",
"postcss-loader": "^4.3.0",
"raw-loader": "^4.0.2",
"sass-loader": "^10.0.1",
"style-loader": "^2.0.0",
"storybook": "^7.6.4",
"storybook-addon-pseudo-states": "2.1.2"
},
"peerDependencies": {}
}

View File

@@ -0,0 +1,5 @@
const config = require('../../frontend/tailwind.config.js') // eslint-disable-line no-undef
module.exports = { // eslint-disable-line no-undef
...config,
content: config.content.map((path) => path.replace('../', '../../'))
}

View File

@@ -50,20 +50,20 @@ function createEntry(entry) {
resolve: {
extensions: ['.js', '.jsx', '.ts', '.tsx'],
alias: {
'~': path.resolve(__dirname, 'src'),
lib: path.resolve(__dirname, 'src', 'lib'),
scenes: path.resolve(__dirname, 'src', 'scenes'),
'@posthog/lemon-ui': path.resolve(__dirname, '@posthog', 'lemon-ui', 'src'),
'~': path.resolve(__dirname, '..', '..', 'frontend', 'src'),
lib: path.resolve(__dirname, '..', '..', 'frontend', 'src', 'lib'),
scenes: path.resolve(__dirname, '..', '..', 'frontend', 'src', 'scenes'),
'@posthog/lemon-ui': path.resolve(__dirname, '..', '..', 'frontend', '@posthog', 'lemon-ui', 'src'),
'@posthog/ee/exports': [
path.resolve(__dirname, '..', 'ee', 'frontend', 'exports'),
path.resolve(__dirname, '@posthog', 'ee', 'exports'),
path.resolve(__dirname, '..', '..', 'ee', 'frontend', 'exports'),
path.resolve(__dirname, '..', '..', 'frontend', '@posthog', 'ee', 'exports'),
],
storybook: path.resolve(__dirname, '.storybook'),
types: path.resolve(__dirname, 'types'),
public: path.resolve(__dirname, 'public'),
cypress: path.resolve(__dirname, '..', 'cypress'),
storybook: path.resolve(__dirname, '..', '..', 'frontend', '.storybook'),
types: path.resolve(__dirname, '..', '..', 'frontend', 'types'),
public: path.resolve(__dirname, '..', '..', 'frontend', 'public'),
cypress: path.resolve(__dirname, '..', '..', 'cypress'),
process: 'process/browser',
products: path.resolve(__dirname, '..', 'products'),
products: path.resolve(__dirname, '..', '..', 'products'),
},
fallback: { "crypto": require.resolve("crypto-browserify"), "stream": require.resolve("stream-browserify") }
},

View File

@@ -5,7 +5,7 @@ import { PNG } from 'pngjs'
import * as pixelmatch from 'pixelmatch'
import * as fs from 'fs'
import * as path from 'path'
import { createEntry } from '../frontend/webpack.config'
import { createEntry } from '../common/storybook/webpack.config'
const downloadDirectory = path.join(__dirname, '..', '..', 'downloads')

View File

@@ -5,6 +5,7 @@
"@babel/runtime": "^7.24.0",
"@cypress/webpack-preprocessor": "^6.0.2",
"@posthog/frontend": "workspace:*",
"@posthog/storybook": "workspace:*",
"cypress": "^13.11.0",
"cypress-axe": "^1.5.0",
"cypress-network-idle": "^1.14.2",

View File

@@ -29,22 +29,14 @@
"typegen:watch": "cd .. && kea-typegen watch --delete --show-ts-errors",
"typegen:clean": "cd .. && find frontend/src products common -type f -name '*Type.ts' -delete",
"schema:build:json": "ts-node ./bin/build-schema-json.mjs && prettier --write ./src/queries/schema.json",
"test": "pnpm test:unit && pnpm test:visual",
"test:unit": "jest --testPathPattern='(frontend/|products/|common/)'",
"test": "jest --testPathPattern='(frontend/|products/|common/)'",
"jest": "jest",
"test:visual:update": "rm -rf frontend/__snapshots__/__failures__/ && docker compose -f docker-compose.playwright.yml run --rm -it --build playwright pnpm test:visual:update:docker --url http://host.docker.internal:6006",
"test:visual:update:docker": "NODE_OPTIONS=--max-old-space-size=6144 test-storybook -u --browsers chromium webkit --no-index-json",
"test:visual:debug": "PWDEBUG=1 NODE_OPTIONS=--max-old-space-size=6144 test-storybook --browsers chromium webkit --no-index-json",
"test:visual:ci:update": "test-storybook -u --no-index-json --maxWorkers=2",
"test:visual:ci:verify": "test-storybook --ci --no-index-json --maxWorkers=2",
"prettier": "prettier --write \"../{cypress,products,frontend/src}/**/*.{js,mjs,ts,tsx,json,yaml,yml,css,scss}\"",
"prettier:check": "prettier --check \"../{cypress,products,frontend/src}/**/*.{js,mjs,ts,tsx,json,yaml,yml,css,scss}\"",
"typescript:check": "tsc --noEmit && echo \"No errors reported by tsc.\"",
"lint:js": "eslint --cache src ../cypress ../products ../common",
"lint:css": "stylelint \"../(frontend|products|common)/**/*.{css,scss}\"",
"format": "pnpm lint:js --fix && pnpm lint:css --fix && pnpm prettier",
"storybook": "DEBUG=0 storybook dev -p 6006",
"build-storybook": "DEBUG=0 storybook build",
"visualize-toolbar-bundle": "pnpm exec esbuild-visualizer --metadata ./toolbar-esbuild-meta.json --filename=toolbar-esbuild-bundle-visualization.html"
},
"dependencies": {
@@ -94,7 +86,6 @@
"@types/react-virtualized": "^9.21.23",
"ajv": "^8.12.0",
"algoliasearch": "^4.22.1",
"babel-preset-nano-react-app": "^0.1.0",
"chart.js": "^4.4.3",
"chartjs-adapter-dayjs-3": "^1.2.3",
"chartjs-plugin-annotation": "2.2.1",
@@ -178,33 +169,10 @@
"zxcvbn": "^4.4.2"
},
"devDependencies": {
"@babel/core": "^7.22.10",
"@babel/plugin-transform-class-properties": "^7.24.7",
"@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7",
"@babel/plugin-transform-private-property-in-object": "^7.24.7",
"@babel/plugin-transform-react-jsx": "^7.22.5",
"@babel/plugin-transform-runtime": "^7.22.10",
"@babel/preset-env": "^7.22.10",
"@babel/preset-react": "^7.22.5",
"@babel/preset-typescript": "^7.22.5",
"@parcel/packager-ts": "2.13.3",
"@parcel/transformer-typescript-types": "2.13.3",
"@sentry/types": "7.112.1",
"@storybook/addon-a11y": "^7.6.4",
"@storybook/addon-actions": "^7.6.4",
"@storybook/addon-essentials": "^7.6.4",
"@storybook/addon-links": "^7.6.4",
"@storybook/addon-storysource": "^7.6.4",
"@storybook/addons": "^7.6.4",
"@storybook/api": "^7.6.4",
"@storybook/blocks": "^7.6.4",
"@storybook/components": "^7.6.4",
"@storybook/core-events": "^7.6.4",
"@storybook/csf": "^0.1.2",
"@storybook/react": "^7.6.4",
"@storybook/react-webpack5": "^7.6.4",
"@storybook/test-runner": "^0.16.0",
"@storybook/theming": "^7.6.4",
"@storybook/types": "^7.6.4",
"@sucrase/jest-plugin": "^3.0.0",
"@testing-library/dom": ">=7.21.4",
@@ -244,11 +212,9 @@
"@typescript-eslint/eslint-plugin": "^7.1.1",
"@typescript-eslint/parser": "^7.1.1",
"axe-core": "^4.4.3",
"babel-loader": "^8.0.6",
"babel-plugin-import": "^1.13.0",
"caniuse-lite": "^1.0.30001689",
"concurrently": "^5.3.0",
"css-loader": "^3.4.2",
"esbuild-visualizer": "^0.6.0",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
@@ -264,35 +230,24 @@
"eslint-plugin-simple-import-sort": "^10.0.0",
"eslint-plugin-storybook": "^0.6.15",
"eslint-plugin-unused-imports": "^3.1.0",
"file-loader": "^6.1.0",
"givens": "^1.3.6",
"history": "^5.0.1",
"html-webpack-harddisk-plugin": "^2.0.0",
"html-webpack-plugin": "^5.5.3",
"jest": "^29.7.0",
"jest-canvas-mock": "^2.4.0",
"jest-environment-jsdom": "^29.3.1",
"jest-image-snapshot": "^6.1.0",
"kea-typegen": "^3.3.5",
"less": "^3.12.2",
"less-loader": "^7.0.2",
"lint-staged": "~15.4.3",
"mockdate": "^3.0.5",
"monaco-editor-webpack-plugin": "^7.0.1",
"msw": "^0.49.0",
"path-browserify": "^1.0.1",
"pixelmatch": "^5.3.0",
"pngjs": "^6.0.0",
"postcss-loader": "^4.3.0",
"process": "^0.11.10",
"raw-loader": "^4.0.2",
"redis": "^4.6.13",
"safe-stable-stringify": "^2.4.3",
"sass-loader": "^10.0.1",
"storybook": "^7.6.4",
"storybook-addon-pseudo-states": "2.1.2",
"stream-browserify": "^3.0.0",
"style-loader": "^2.0.0",
"stylelint": "^15.11.0",
"stylelint-config-recess-order": "^4.3.0",
"stylelint-config-standard-scss": "^11.1.0",
@@ -301,8 +256,6 @@
"timekeeper": "^2.2.0",
"ts-json-schema-generator": "^v2.4.0-next.6",
"ts-node": "^10.9.1",
"webpack": "^5.88.2",
"webpack-cli": "^5.1.4",
"whatwg-fetch": "^3.6.2"
},
"optionalDependencies": {

View File

@@ -32,19 +32,6 @@ const deprecatedColors = {
'glass-bg-3000-light': 'var(--glass-bg-3000-light)',
'glass-border-3000-light': 'var(--glass-border-3000-light)',
'link-3000-light': 'var(--link-3000-light)',
// --color-primary-highlight-light: var(--primary-highlight-light);
'primary-3000-hover-light': 'var(--primary-3000-hover-light)',
'primary-3000-active-light': 'var(--primary-3000-active-light)',
'secondary-3000-light': 'var(--secondary-3000-light)',
'secondary-3000-hover-light': 'var(--secondary-3000-hover-light)',
'accent-3000-light': 'var(--accent-3000-light)',
'bg-3000-light': 'var(--bg-3000-light)',
'border-3000-light': 'var(--border-3000-light)',
'border-bold-3000-light': 'var(--border-bold-3000-light)',
'glass-bg-3000-light': 'var(--glass-bg-3000-light)',
'glass-border-3000-light': 'var(--glass-border-3000-light)',
'link-3000-light': 'var(--link-3000-light)',
'primary-3000-frame-bg-light': 'var(--primary-3000-frame-bg-light)',
'primary-3000-button-bg-light': 'var(--primary-3000-button-bg-light)',
'primary-3000-button-border-light': 'var(--primary-3000-button-border-light)',
@@ -319,7 +306,8 @@ const deprecatedColors = {
const config = {
content: [
// Starting all paths with '.." to share this between frontend/ and cypress/
// Starting all paths with '.." to share this between frontend/, cypress/, playwright/ and common/storybook/
// Update common/storybook/tailwind.config.js if you change this
'../frontend/src/**/*.{ts,tsx}',
'../ee/frontend/**/*.{ts,tsx}',
'../frontend/src/index.html',

299
pnpm-lock.yaml generated
View File

@@ -224,6 +224,138 @@ importers:
specifier: ~4.9.5
version: 4.9.5
common/storybook:
dependencies:
'@babel/core':
specifier: ^7.22.10
version: 7.26.0
'@babel/plugin-transform-class-properties':
specifier: ^7.24.7
version: 7.24.7(@babel/core@7.26.0)
'@babel/plugin-transform-nullish-coalescing-operator':
specifier: ^7.24.7
version: 7.24.7(@babel/core@7.26.0)
'@babel/plugin-transform-private-property-in-object':
specifier: ^7.24.7
version: 7.24.7(@babel/core@7.26.0)
'@babel/plugin-transform-react-jsx':
specifier: ^7.22.5
version: 7.23.4(@babel/core@7.26.0)
'@babel/plugin-transform-runtime':
specifier: ^7.22.10
version: 7.22.10(@babel/core@7.26.0)
'@babel/preset-env':
specifier: ^7.22.10
version: 7.23.5(@babel/core@7.26.0)
'@babel/preset-react':
specifier: ^7.22.5
version: 7.23.3(@babel/core@7.26.0)
'@babel/preset-typescript':
specifier: ^7.22.5
version: 7.23.3(@babel/core@7.26.0)
'@babel/runtime':
specifier: ^7.24.0
version: 7.24.0
'@posthog/frontend':
specifier: workspace:*
version: link:../../frontend
'@storybook/addon-a11y':
specifier: ^7.6.4
version: 7.6.4
'@storybook/addon-actions':
specifier: ^7.6.4
version: 7.6.4
'@storybook/addon-essentials':
specifier: ^7.6.4
version: 7.6.4(@types/react-dom@18.2.14)(@types/react@17.0.52)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@storybook/addon-links':
specifier: ^7.6.4
version: 7.6.4(react@18.2.0)
'@storybook/addon-storysource':
specifier: ^7.6.4
version: 7.6.4
'@storybook/addons':
specifier: ^7.6.4
version: 7.6.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@storybook/api':
specifier: ^7.6.4
version: 7.6.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@storybook/blocks':
specifier: ^7.6.4
version: 7.6.4(@types/react-dom@18.2.14)(@types/react@17.0.52)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@storybook/components':
specifier: ^7.6.4
version: 7.6.4(@types/react-dom@18.2.14)(@types/react@17.0.52)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@storybook/core-events':
specifier: ^7.6.4
version: 7.6.20
'@storybook/csf':
specifier: ^0.1.2
version: 0.1.13
'@storybook/react':
specifier: ^7.6.4
version: 7.6.4(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@4.9.5)
'@storybook/react-webpack5':
specifier: ^7.6.4
version: 7.6.4(@babel/core@7.26.0)(@swc/core@1.10.14(@swc/helpers@0.5.15))(@swc/helpers@0.5.15)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@3.5.3)(typescript@4.9.5)(webpack-cli@5.1.4)(webpack-hot-middleware@2.25.4)
'@storybook/test-runner':
specifier: ^0.16.0
version: 0.16.0(@swc/helpers@0.5.15)(encoding@0.1.13)
'@storybook/theming':
specifier: ^7.6.4
version: 7.6.20(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@storybook/types':
specifier: ^7.6.4
version: 7.6.20
babel-loader:
specifier: ^8.0.6
version: 8.3.0(@babel/core@7.26.0)(webpack@5.88.2)
babel-preset-nano-react-app:
specifier: ^0.1.0
version: 0.1.0
css-loader:
specifier: ^3.4.2
version: 3.6.0(webpack@5.88.2)
file-loader:
specifier: ^6.1.0
version: 6.2.0(webpack@5.88.2)
html-webpack-harddisk-plugin:
specifier: ^2.0.0
version: 2.0.0(html-webpack-plugin@5.5.3(webpack@5.88.2))(webpack@5.88.2)
html-webpack-plugin:
specifier: ^5.5.3
version: 5.5.3(webpack@5.88.2)
less-loader:
specifier: ^7.0.2
version: 7.3.0(less@4.2.2)(webpack@5.88.2)
monaco-editor-webpack-plugin:
specifier: ^7.0.1
version: 7.0.1(monaco-editor@0.49.0)(webpack@5.88.2)
postcss-loader:
specifier: ^4.3.0
version: 4.3.0(postcss@8.5.2)(webpack@5.88.2)
raw-loader:
specifier: ^4.0.2
version: 4.0.2(webpack@5.88.2)
sass-loader:
specifier: ^10.0.1
version: 10.3.1(sass@1.56.0)(webpack@5.88.2)
storybook:
specifier: ^7.6.4
version: 7.6.4(encoding@0.1.13)
storybook-addon-pseudo-states:
specifier: 2.1.2
version: 2.1.2(@storybook/components@7.6.4(@types/react-dom@18.2.14)(@types/react@17.0.52)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@storybook/core-events@7.6.20)(@storybook/manager-api@7.6.20(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@storybook/preview-api@7.6.20)(@storybook/theming@7.6.20(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
style-loader:
specifier: ^2.0.0
version: 2.0.0(webpack@5.88.2)
webpack:
specifier: ^5.88.2
version: 5.88.2(@swc/core@1.10.14(@swc/helpers@0.5.15))(esbuild@0.18.20)(webpack-cli@5.1.4)
webpack-cli:
specifier: ^5.1.4
version: 5.1.4(webpack@5.88.2)
cypress:
dependencies:
'@babel/runtime':
@@ -235,6 +367,9 @@ importers:
'@posthog/frontend':
specifier: workspace:*
version: link:../frontend
'@posthog/storybook':
specifier: workspace:*
version: link:../common/storybook
css-loader:
specifier: '*'
version: 3.6.0(webpack@5.88.2)
@@ -501,9 +636,6 @@ importers:
algoliasearch:
specifier: ^4.22.1
version: 4.22.1
babel-preset-nano-react-app:
specifier: ^0.1.0
version: 0.1.0
chart.js:
specifier: ^4.4.3
version: 4.4.3
@@ -752,33 +884,6 @@ importers:
specifier: ^2.3.2
version: 2.3.3
devDependencies:
'@babel/core':
specifier: ^7.22.10
version: 7.26.0
'@babel/plugin-transform-class-properties':
specifier: ^7.24.7
version: 7.24.7(@babel/core@7.26.0)
'@babel/plugin-transform-nullish-coalescing-operator':
specifier: ^7.24.7
version: 7.24.7(@babel/core@7.26.0)
'@babel/plugin-transform-private-property-in-object':
specifier: ^7.24.7
version: 7.24.7(@babel/core@7.26.0)
'@babel/plugin-transform-react-jsx':
specifier: ^7.22.5
version: 7.23.4(@babel/core@7.26.0)
'@babel/plugin-transform-runtime':
specifier: ^7.22.10
version: 7.22.10(@babel/core@7.26.0)
'@babel/preset-env':
specifier: ^7.22.10
version: 7.23.5(@babel/core@7.26.0)
'@babel/preset-react':
specifier: ^7.22.5
version: 7.23.3(@babel/core@7.26.0)
'@babel/preset-typescript':
specifier: ^7.22.5
version: 7.23.3(@babel/core@7.26.0)
'@parcel/packager-ts':
specifier: 2.13.3
version: 2.13.3(@parcel/core@2.13.3(@swc/helpers@0.5.15))
@@ -788,51 +893,9 @@ importers:
'@sentry/types':
specifier: 7.112.1
version: 7.112.1
'@storybook/addon-a11y':
specifier: ^7.6.4
version: 7.6.4
'@storybook/addon-actions':
specifier: ^7.6.4
version: 7.6.4
'@storybook/addon-essentials':
specifier: ^7.6.4
version: 7.6.4(@types/react-dom@18.2.14)(@types/react@17.0.52)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@storybook/addon-links':
specifier: ^7.6.4
version: 7.6.4(react@18.2.0)
'@storybook/addon-storysource':
specifier: ^7.6.4
version: 7.6.4
'@storybook/addons':
specifier: ^7.6.4
version: 7.6.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@storybook/api':
specifier: ^7.6.4
version: 7.6.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@storybook/blocks':
specifier: ^7.6.4
version: 7.6.4(@types/react-dom@18.2.14)(@types/react@17.0.52)(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@storybook/components':
specifier: ^7.6.4
version: 7.6.4(@types/react-dom@18.2.14)(@types/react@17.0.52)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@storybook/core-events':
specifier: ^7.6.4
version: 7.6.20
'@storybook/csf':
specifier: ^0.1.2
version: 0.1.13
'@storybook/react':
specifier: ^7.6.4
version: 7.6.4(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@4.9.5)
'@storybook/react-webpack5':
specifier: ^7.6.4
version: 7.6.4(@babel/core@7.26.0)(@swc/core@1.10.14(@swc/helpers@0.5.15))(@swc/helpers@0.5.15)(encoding@0.1.13)(esbuild@0.18.20)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(type-fest@3.5.3)(typescript@4.9.5)(webpack-cli@5.1.4)(webpack-hot-middleware@2.25.4)
'@storybook/test-runner':
specifier: ^0.16.0
version: 0.16.0(@swc/helpers@0.5.15)(@types/node@18.18.4)(encoding@0.1.13)(ts-node@10.9.1(@swc/core@1.10.14(@swc/helpers@0.5.15))(@types/node@18.18.4)(typescript@4.9.5))
'@storybook/theming':
specifier: ^7.6.4
version: 7.6.20(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
'@storybook/types':
specifier: ^7.6.4
version: 7.6.20
@@ -941,9 +1004,6 @@ importers:
axe-core:
specifier: ^4.4.3
version: 4.5.1
babel-loader:
specifier: ^8.0.6
version: 8.3.0(@babel/core@7.26.0)(webpack@5.88.2)
babel-plugin-import:
specifier: ^1.13.0
version: 1.13.8
@@ -953,9 +1013,6 @@ importers:
concurrently:
specifier: ^5.3.0
version: 5.3.0
css-loader:
specifier: ^3.4.2
version: 3.6.0(webpack@5.88.2)
esbuild-visualizer:
specifier: ^0.6.0
version: 0.6.0
@@ -1001,21 +1058,12 @@ importers:
eslint-plugin-unused-imports:
specifier: ^3.1.0
version: 3.1.0(@typescript-eslint/eslint-plugin@7.1.1(@typescript-eslint/parser@7.1.1(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)
file-loader:
specifier: ^6.1.0
version: 6.2.0(webpack@5.88.2)
givens:
specifier: ^1.3.6
version: 1.3.9
history:
specifier: ^5.0.1
version: 5.3.0
html-webpack-harddisk-plugin:
specifier: ^2.0.0
version: 2.0.0(html-webpack-plugin@5.5.3(webpack@5.88.2))(webpack@5.88.2)
html-webpack-plugin:
specifier: ^5.5.3
version: 5.5.3(webpack@5.88.2)
jest:
specifier: ^29.7.0
version: 29.7.0(@types/node@18.18.4)(ts-node@10.9.1(@swc/core@1.10.14(@swc/helpers@0.5.15))(@types/node@18.18.4)(typescript@4.9.5))
@@ -1034,18 +1082,12 @@ importers:
less:
specifier: ^3.12.2
version: 3.13.1
less-loader:
specifier: ^7.0.2
version: 7.3.0(less@3.13.1)(webpack@5.88.2)
lint-staged:
specifier: ~15.4.3
version: 15.4.3
mockdate:
specifier: ^3.0.5
version: 3.0.5
monaco-editor-webpack-plugin:
specifier: ^7.0.1
version: 7.0.1(monaco-editor@0.49.0)(webpack@5.88.2)
msw:
specifier: ^0.49.0
version: 0.49.0(encoding@0.1.13)(typescript@4.9.5)
@@ -1058,36 +1100,18 @@ importers:
pngjs:
specifier: ^6.0.0
version: 6.0.0
postcss-loader:
specifier: ^4.3.0
version: 4.3.0(postcss@8.5.2)(webpack@5.88.2)
process:
specifier: ^0.11.10
version: 0.11.10
raw-loader:
specifier: ^4.0.2
version: 4.0.2(webpack@5.88.2)
redis:
specifier: ^4.6.13
version: 4.6.13
safe-stable-stringify:
specifier: ^2.4.3
version: 2.5.0
sass-loader:
specifier: ^10.0.1
version: 10.3.1(sass@1.56.0)(webpack@5.88.2)
storybook:
specifier: ^7.6.4
version: 7.6.4(encoding@0.1.13)
storybook-addon-pseudo-states:
specifier: 2.1.2
version: 2.1.2(@storybook/components@7.6.4(@types/react-dom@18.2.14)(@types/react@17.0.52)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@storybook/core-events@7.6.20)(@storybook/manager-api@7.6.20(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@storybook/preview-api@7.6.20)(@storybook/theming@7.6.20(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
stream-browserify:
specifier: ^3.0.0
version: 3.0.0
style-loader:
specifier: ^2.0.0
version: 2.0.0(webpack@5.88.2)
stylelint:
specifier: ^15.11.0
version: 15.11.0(typescript@4.9.5)
@@ -1112,12 +1136,6 @@ importers:
ts-node:
specifier: ^10.9.1
version: 10.9.1(@swc/core@1.10.14(@swc/helpers@0.5.15))(@types/node@18.18.4)(typescript@4.9.5)
webpack:
specifier: ^5.88.2
version: 5.88.2(@swc/core@1.10.14(@swc/helpers@0.5.15))(esbuild@0.18.20)(webpack-cli@5.1.4)
webpack-cli:
specifier: ^5.1.4
version: 5.1.4(webpack@5.88.2)
whatwg-fetch:
specifier: ^3.6.2
version: 3.6.2
@@ -5986,9 +6004,6 @@ packages:
'@types/prop-types@15.7.5':
resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
'@types/qs@6.9.11':
resolution: {integrity: sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==}
'@types/qs@6.9.18':
resolution: {integrity: sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==}
@@ -7241,10 +7256,6 @@ packages:
resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
engines: {node: '>=18'}
cli-spinners@2.7.0:
resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==}
engines: {node: '>=6'}
cli-spinners@2.9.2:
resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
engines: {node: '>=6'}
@@ -13852,10 +13863,6 @@ packages:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
slash@5.0.0:
resolution: {integrity: sha512-n6KkmvKS0623igEVj3FF0OZs1gYYJ0o0Hj939yc1fyxl2xt+xYpLnzJB6xBSqOfV9ZFLEWodBBN/heZJahuIJQ==}
engines: {node: '>=14.16'}
slash@5.1.0:
resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
engines: {node: '>=14.16'}
@@ -16100,7 +16107,7 @@ snapshots:
dependencies:
'@babel/compat-data': 7.26.3
'@babel/helper-validator-option': 7.25.9
browserslist: 4.24.3
browserslist: 4.24.4
lru-cache: 5.1.1
semver: 6.3.1
@@ -20773,7 +20780,7 @@ snapshots:
- encoding
- supports-color
'@storybook/test-runner@0.16.0(@swc/helpers@0.5.15)(@types/node@18.18.4)(encoding@0.1.13)(ts-node@10.9.1(@swc/core@1.10.14(@swc/helpers@0.5.15))(@types/node@18.18.4)(typescript@4.9.5))':
'@storybook/test-runner@0.16.0(@swc/helpers@0.5.15)(encoding@0.1.13)':
dependencies:
'@babel/core': 7.26.0
'@babel/generator': 7.26.3
@@ -20794,10 +20801,10 @@ snapshots:
jest-circus: 29.7.0
jest-environment-node: 29.7.0
jest-junit: 16.0.0
jest-playwright-preset: 4.0.0(jest-circus@29.7.0)(jest-environment-node@29.7.0)(jest-runner@29.7.0)(jest@29.7.0(@types/node@18.18.4)(ts-node@10.9.1(@swc/core@1.10.14(@swc/helpers@0.5.15))(@types/node@18.18.4)(typescript@4.9.5)))
jest-playwright-preset: 4.0.0(jest-circus@29.7.0)(jest-environment-node@29.7.0)(jest-runner@29.7.0)(jest@29.7.0)
jest-runner: 29.7.0
jest-serializer-html: 7.1.0
jest-watch-typeahead: 2.2.2(jest@29.7.0(@types/node@18.18.4)(ts-node@10.9.1(@swc/core@1.10.14(@swc/helpers@0.5.15))(@types/node@18.18.4)(typescript@4.9.5)))
jest-watch-typeahead: 2.2.2(jest@29.7.0)
node-fetch: 2.6.9(encoding@0.1.13)
playwright: 1.45.0
read-pkg-up: 7.0.1
@@ -21435,7 +21442,7 @@ snapshots:
'@types/express-serve-static-core@4.17.43':
dependencies:
'@types/node': 18.18.4
'@types/qs': 6.9.11
'@types/qs': 6.9.18
'@types/range-parser': 1.2.7
'@types/send': 0.17.4
@@ -21638,8 +21645,6 @@ snapshots:
'@types/prop-types@15.7.5': {}
'@types/qs@6.9.11': {}
'@types/qs@6.9.18': {}
'@types/query-selector-shadow-dom@1.0.0': {}
@@ -23204,8 +23209,6 @@ snapshots:
dependencies:
restore-cursor: 5.1.0
cli-spinners@2.7.0: {}
cli-spinners@2.9.2: {}
cli-table3@0.6.3:
@@ -23425,7 +23428,7 @@ snapshots:
core-js-compat@3.34.0:
dependencies:
browserslist: 4.24.3
browserslist: 4.24.4
core-js-pure@3.32.0: {}
@@ -27193,7 +27196,7 @@ snapshots:
'@types/node': 18.18.4
jest-util: 29.7.0
jest-playwright-preset@4.0.0(jest-circus@29.7.0)(jest-environment-node@29.7.0)(jest-runner@29.7.0)(jest@29.7.0(@types/node@18.18.4)(ts-node@10.9.1(@swc/core@1.10.14(@swc/helpers@0.5.15))(@types/node@18.18.4)(typescript@4.9.5))):
jest-playwright-preset@4.0.0(jest-circus@29.7.0)(jest-environment-node@29.7.0)(jest-runner@29.7.0)(jest@29.7.0):
dependencies:
expect-playwright: 0.8.0
jest: 29.7.0(@types/node@18.18.4)(ts-node@10.9.1(@swc/core@1.10.14(@swc/helpers@0.5.15))(@types/node@18.18.4)(typescript@4.9.5))
@@ -27474,14 +27477,14 @@ snapshots:
leven: 3.1.0
pretty-format: 29.7.0
jest-watch-typeahead@2.2.2(jest@29.7.0(@types/node@18.18.4)(ts-node@10.9.1(@swc/core@1.10.14(@swc/helpers@0.5.15))(@types/node@18.18.4)(typescript@4.9.5))):
jest-watch-typeahead@2.2.2(jest@29.7.0):
dependencies:
ansi-escapes: 6.0.0
chalk: 5.4.1
jest: 29.7.0(@types/node@18.18.4)(ts-node@10.9.1(@swc/core@1.10.14(@swc/helpers@0.5.15))(@types/node@18.18.4)(typescript@4.9.5))
jest-regex-util: 29.6.3
jest-watcher: 29.7.0
slash: 5.0.0
slash: 5.1.0
string-length: 5.0.1
strip-ansi: 7.1.0
@@ -27828,21 +27831,13 @@ snapshots:
dotenv: 16.4.7
dotenv-expand: 10.0.0
less-loader@7.3.0(less@3.13.1)(webpack@5.88.2):
dependencies:
klona: 2.0.5
less: 3.13.1
loader-utils: 2.0.4
schema-utils: 3.3.0
webpack: 5.88.2(@swc/core@1.10.14(@swc/helpers@0.5.15))(esbuild@0.18.20)(webpack-cli@5.1.4)
less-loader@7.3.0(less@4.2.2)(webpack@5.88.2):
dependencies:
klona: 2.0.5
less: 4.2.2
loader-utils: 2.0.4
schema-utils: 3.3.0
webpack: 5.88.2
webpack: 5.88.2(@swc/core@1.10.14(@swc/helpers@0.5.15))(esbuild@0.18.20)(webpack-cli@5.1.4)
less@3.13.1:
dependencies:
@@ -29061,7 +29056,7 @@ snapshots:
bl: 4.1.0
chalk: 4.1.2
cli-cursor: 3.1.0
cli-spinners: 2.7.0
cli-spinners: 2.9.2
is-interactive: 1.0.0
is-unicode-supported: 0.1.0
log-symbols: 4.1.0
@@ -31362,8 +31357,6 @@ snapshots:
slash@3.0.0: {}
slash@5.0.0: {}
slash@5.1.0: {}
slice-ansi@3.0.0:

View File

@@ -4,6 +4,7 @@ packages:
- common/eslint_rules
- common/hogvm/typescript
- common/plugin_transpiler
- common/storybook
- cypress
- ee/frontend
- frontend

View File

@@ -45,7 +45,8 @@
"ee/frontend/**/*",
"products/**/frontend/**/*",
"common/esbuilder/*",
"common/eslint_rules/*"
"common/eslint_rules/*",
"common/storybook/*"
],
"exclude": ["frontend/dist/**/*"],
"ts-node": {