549 lines
26 KiB
JSON
549 lines
26 KiB
JSON
{
|
|
"name": "metabase",
|
|
"private": true,
|
|
"version": "0.0.0",
|
|
"description": "Metabase Analytics Report Server",
|
|
"repository": "https://github.com/metabase/metabase",
|
|
"license": "private",
|
|
"engines": {
|
|
"node": ">=22",
|
|
"bun": ">=1.0.0"
|
|
},
|
|
"trustedDependencies": [
|
|
"cypress",
|
|
"esbuild"
|
|
],
|
|
"dependencies": {
|
|
"@codemirror/autocomplete": "^6.18.6",
|
|
"@codemirror/commands": "^6.10.1",
|
|
"@codemirror/lang-html": "^6.4.9",
|
|
"@codemirror/lang-javascript": "^6.2.2",
|
|
"@codemirror/lang-json": "^6.0.1",
|
|
"@codemirror/lang-python": "^6.1.7",
|
|
"@codemirror/lang-sql": "^6.8.0",
|
|
"@codemirror/language": "^6.12.1",
|
|
"@codemirror/legacy-modes": "^6.4.2",
|
|
"@codemirror/lint": "^6.9.2",
|
|
"@codemirror/merge": "^6.10.2",
|
|
"@codemirror/search": "^6.6.0",
|
|
"@codemirror/state": "^6.5.4",
|
|
"@codemirror/view": "^6.39.11",
|
|
"@dagrejs/dagre": "^1.1.5",
|
|
"@dnd-kit/core": "^6.0.8",
|
|
"@dnd-kit/modifiers": "^6.0.1",
|
|
"@dnd-kit/sortable": "^8.0.0",
|
|
"@dnd-kit/utilities": "^3.2.2",
|
|
"@emotion/cache": "^11.11.0",
|
|
"@emotion/is-prop-valid": "^1.1.1",
|
|
"@emotion/react": "^11.11.0",
|
|
"@emotion/styled": "^11.11.0",
|
|
"@floating-ui/dom": "^1.7.4",
|
|
"@floating-ui/react": "^0.27.16",
|
|
"@juggle/resize-observer": "^3.4.0",
|
|
"@lezer/highlight": "^1.2.1",
|
|
"@lezer/lr": "^1.4.2",
|
|
"@locker/near-membrane-dom": "^0.16.0",
|
|
"@loki/browser": "0.35.0",
|
|
"@mantine/core": "8.3.18",
|
|
"@mantine/dates": "8.3.18",
|
|
"@mantine/hooks": "8.3.18",
|
|
"@metabase/track": "^1.0.0-alpha.1",
|
|
"@modelcontextprotocol/ext-apps": "^1.3.2",
|
|
"@react-oauth/google": "^0.11.1",
|
|
"@reduxjs/toolkit": "^2.12.0",
|
|
"@snowplow/browser-tracker": "3.2.0",
|
|
"@tanstack/react-table": "^8.21.3",
|
|
"@tanstack/react-virtual": "^3.13.2",
|
|
"@tiptap/core": "^3.2.0",
|
|
"@tiptap/extension-blockquote": "^3.15.3",
|
|
"@tiptap/extension-bold": "^3.15.3",
|
|
"@tiptap/extension-bubble-menu": "^3.2.0",
|
|
"@tiptap/extension-bullet-list": "^3.15.3",
|
|
"@tiptap/extension-code-block": "^3.15.3",
|
|
"@tiptap/extension-document": "^3.15.3",
|
|
"@tiptap/extension-hard-break": "^3.15.3",
|
|
"@tiptap/extension-heading": "^3.15.3",
|
|
"@tiptap/extension-image": "^3.2.0",
|
|
"@tiptap/extension-link": "^3.15.3",
|
|
"@tiptap/extension-ordered-list": "^3.15.3",
|
|
"@tiptap/extension-paragraph": "^3.15.3",
|
|
"@tiptap/extension-placeholder": "^3.2.0",
|
|
"@tiptap/extension-text": "^3.15.3",
|
|
"@tiptap/pm": "^3.2.0",
|
|
"@tiptap/react": "^3.2.0",
|
|
"@tiptap/starter-kit": "^3.2.0",
|
|
"@tiptap/suggestion": "^3.2.0",
|
|
"@uiw/react-codemirror": "^4.23.6",
|
|
"@visx/axis": "^3.10.1",
|
|
"@visx/clip-path": "^3.3.0",
|
|
"@visx/grid": "^3.5.0",
|
|
"@visx/group": "^3.3.0",
|
|
"@visx/scale": "^3.5.0",
|
|
"@visx/shape": "^3.5.0",
|
|
"@visx/text": "^3.3.0",
|
|
"@xiechao/codemirror-lang-handlebars": "^1.0.4",
|
|
"@xyflow/react": "^12.8.5",
|
|
"bowser": "^2.11.0",
|
|
"buffer": "^6.0.3",
|
|
"classnames": "^2.1.3",
|
|
"color": "^5.0.3",
|
|
"crc-32": "^1.2.2",
|
|
"cron-expression-validator": "^1.0.20",
|
|
"cronstrue": "^2.11.0",
|
|
"csv-parse": "^5.5.6",
|
|
"csv-stringify": "^6.5.0",
|
|
"cypress-each": "^1.14.1",
|
|
"d3": "^7.9.0",
|
|
"d3-scale": "^4.0.2",
|
|
"dayjs": "^1.11.18",
|
|
"detect-package-manager": "^3.0.2",
|
|
"diff": "^5.2.2",
|
|
"dompurify": "^3.4.11",
|
|
"echarts": "6.1.0",
|
|
"events": "^3.3.0",
|
|
"eventsource-parser": "^3.0.6",
|
|
"fast-text-encoding": "^1.0.6",
|
|
"formik": "^2.4.5",
|
|
"frimousse": "^0.3.0",
|
|
"fuse.js": "^7.1.0",
|
|
"html2canvas-pro": "^2.0.2",
|
|
"icepick": "2.4.0",
|
|
"iframe-resizer": "~4.3.2",
|
|
"immer": "^11.1.15",
|
|
"inflection": "^1.7.1",
|
|
"inquirer-toggle": "^1.0.1",
|
|
"js-cookie": "3.0.7",
|
|
"js-yaml": "^4.3.0",
|
|
"json5": "^2.2.2",
|
|
"jspdf": "^4.2.1",
|
|
"kbar": "0.1.0-beta.45",
|
|
"leaflet": "^1.2.0",
|
|
"leaflet-draw": "^0.4.9",
|
|
"lodash.debounce": "^4.0.8",
|
|
"lodash.orderby": "^4.6.0",
|
|
"marked": "18.0.6",
|
|
"merge-refs": "^1.3.0",
|
|
"mustache": "^2.3.2",
|
|
"normalizr": "^3.0.2",
|
|
"ora": "^8.0.1",
|
|
"oxlint": "^1.58.0",
|
|
"prettier": "^3.3.3",
|
|
"process": "^0.11.10",
|
|
"prosemirror-dropcursor": "1.8.2",
|
|
"prosemirror-state": "^1.4.4",
|
|
"prosemirror-view": "^1.40.1",
|
|
"querystring-es3": "^0.2.1",
|
|
"re-reselect": "^4.0.1",
|
|
"react": "^18.2.0",
|
|
"react-ansi-style": "^1.0.0",
|
|
"react-color": "^2.14.1",
|
|
"react-dnd": "4",
|
|
"react-dnd-html5-backend": "4",
|
|
"react-dom": "^18.2.0",
|
|
"react-dropzone": "^14.2.3",
|
|
"react-grid-layout": "^1.5.3",
|
|
"react-innertext": "^1.1.5",
|
|
"react-is": "^18.2.0",
|
|
"react-markdown": "^9.0.0",
|
|
"react-qr-code": "^2.0.15",
|
|
"react-redux": "^9.1.2",
|
|
"react-resizable": "^3.1.3",
|
|
"react-transition-group": "^4.4.5",
|
|
"react-use": "^17.5.1",
|
|
"react-virtualized": "9.22.6",
|
|
"redux-actions": "^2.0.1",
|
|
"redux-undo": "^1.1.0",
|
|
"rehype-external-links": "^3.0.0",
|
|
"remark-gfm": "^4.0.0",
|
|
"remend": "1.3.0",
|
|
"reselect": "^5.1.0",
|
|
"resize-observer-polyfill": "^1.5.1",
|
|
"server-text-width": "^1.0.2",
|
|
"simple-statistics": "^3.0.0",
|
|
"slugg": "^1.2.1",
|
|
"sql-formatter": "^15.1.2",
|
|
"stream-browserify": "^3.0.0",
|
|
"tinykeys": "^3.0.0",
|
|
"ts-pattern": "^5.9.0",
|
|
"ttag": "1.7.21",
|
|
"typescript": "6.0.3",
|
|
"typescript7": "npm:typescript@7.0.2",
|
|
"underscore": "^1.13.8",
|
|
"url": "^0.11.4",
|
|
"yup": "^0.32.11"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/cli": "^7.23.0",
|
|
"@babel/core": "7.29.7",
|
|
"@babel/eslint-parser": "^7.25.1",
|
|
"@babel/preset-env": "^7.24.8",
|
|
"@babel/preset-react": "^7.23.3",
|
|
"@babel/preset-typescript": "^7.24.7",
|
|
"@bahmutov/cypress-esbuild-preprocessor": "^2.2.8",
|
|
"@csstools/postcss-global-data": "^3.1.0",
|
|
"@cypress/code-coverage": "^4.0.3",
|
|
"@cypress/grep": "^6",
|
|
"@cypress/react": "^9",
|
|
"@cypress/skip-test": "^2.6.1",
|
|
"@emotion/babel-plugin": "^11.11.0",
|
|
"@esbuild-plugins/node-modules-polyfill": "^0.2.2",
|
|
"@eslint/compat": "2.0.2",
|
|
"@eslint/js": "9.39.2",
|
|
"@hey-api/openapi-ts": "0.97.3",
|
|
"@inquirer/prompts": "^5.3.8",
|
|
"@lezer/common": "^1.5.0",
|
|
"@lezer/generator": "^1.7.2",
|
|
"@loki/create-async-callback": "^0.35.0",
|
|
"@microsoft/api-extractor": "^7.58.7",
|
|
"@redocly/cli": "^2.14.3",
|
|
"@rspack/cli": "^2.0.3",
|
|
"@rspack/core": "^2.0.3",
|
|
"@rspack/dev-server": "^2.0.1",
|
|
"@rspack/plugin-react-refresh": "^2.0.0",
|
|
"@sinonjs/fake-timers": "^9.1.2",
|
|
"@stardazed/streams-text-encoding": "^1.0.2",
|
|
"@storybook/addon-a11y": "^8.5.0",
|
|
"@storybook/addon-actions": "^8.5.0",
|
|
"@storybook/addon-essentials": "^8.5.0",
|
|
"@storybook/addon-interactions": "^8.5.0",
|
|
"@storybook/addon-links": "^8.5.0",
|
|
"@storybook/addon-webpack5-compiler-babel": "^3.0.5",
|
|
"@storybook/blocks": "^8.5.0",
|
|
"@storybook/preview-api": "^8.6.14",
|
|
"@storybook/react": "^8.5.0",
|
|
"@storybook/react-webpack5": "^8.5.0",
|
|
"@storybook/test": "^8.5.0",
|
|
"@svgr/webpack": "^8.1.0",
|
|
"@swc-contrib/mut-cjs-exports": "^14.9.0",
|
|
"@swc/core": "^1.15.33",
|
|
"@swc/jest": "0.2.39",
|
|
"@swc/plugin-emotion": "^14.9.0",
|
|
"@tanstack/table-core": "^8.21.3",
|
|
"@testing-library/cypress": "^10.1.0",
|
|
"@testing-library/dom": "^10.4.1",
|
|
"@testing-library/jest-dom": "^6.4.8",
|
|
"@testing-library/react": "^16.0.0",
|
|
"@testing-library/user-event": "^14.5.2",
|
|
"@types/babel__core": "^7.20.4",
|
|
"@types/d3": "^7.4.3",
|
|
"@types/d3-scale": "^4.0.8",
|
|
"@types/diff": "^3.5.4",
|
|
"@types/geojson": "^7946.0.16",
|
|
"@types/glob": "^7.1.4",
|
|
"@types/hast": "^3.0.2",
|
|
"@types/icepick": "2.3.0",
|
|
"@types/iframe-resizer": "^3.5.9",
|
|
"@types/inflection": "^1.13.0",
|
|
"@types/jest": "^30.0.0",
|
|
"@types/js-cookie": "^2.2.7",
|
|
"@types/js-yaml": "^4.0.9",
|
|
"@types/jsonwebtoken": "^9.0.1",
|
|
"@types/leaflet": "^1.7.5",
|
|
"@types/leaflet-draw": "^0.4.14",
|
|
"@types/lodash.debounce": "^4.0.9",
|
|
"@types/lodash.orderby": "^4.6.9",
|
|
"@types/micromatch": "^4.0.10",
|
|
"@types/mustache": "^4.1.2",
|
|
"@types/postcss-import": "^14.0.3",
|
|
"@types/postcss-url": "^10.0.4",
|
|
"@types/raf": "^3.4.0",
|
|
"@types/react": "^18.3.3",
|
|
"@types/react-color": "^2.17.6",
|
|
"@types/react-dom": "^18.2.17",
|
|
"@types/react-grid-layout": "^1.3.5",
|
|
"@types/react-is": "^18.2.4",
|
|
"@types/react-resizable": "^3.0.4",
|
|
"@types/react-transition-group": "^4.4.5",
|
|
"@types/react-virtualized": "^9.22.2",
|
|
"@types/redux-actions": "^2.6.5",
|
|
"@types/semver": "^7.7.1",
|
|
"@types/sinonjs__fake-timers": "^15.0.1",
|
|
"@types/underscore": "^1.13.0",
|
|
"@vitejs/plugin-react": "^6.0.2",
|
|
"ajv": "^8.5.0",
|
|
"babel-loader": "^9.1.2",
|
|
"babel-plugin-ttag": "^1.8.16",
|
|
"chalk": "^4",
|
|
"chokidar-cli": "^3.0.0",
|
|
"chromatic": "^10.2.0",
|
|
"commander": "^12.1.0",
|
|
"compression-rspack-plugin": "^0.2.0",
|
|
"concurrently": "^8.2.2",
|
|
"cross-env": "^10.1.0",
|
|
"cross-fetch": "^3.1.5",
|
|
"crypto-browserify": "^3.12.0",
|
|
"css-loader": "^6.10.0",
|
|
"cypress": "^15.14.1",
|
|
"cypress-iframe": "^1.0.1",
|
|
"cypress-multi-reporters": "^2.0.5",
|
|
"cypress-on-fix": "^1.1.0",
|
|
"cypress-real-events": "^1.15.0",
|
|
"cypress-split": "^1.24.31",
|
|
"cypress-terminal-report": "^7.3.3",
|
|
"dependency-cruiser": "^17.4.3",
|
|
"dnd-core": "^16.0.1",
|
|
"esbuild": "^0.28.1",
|
|
"eslint": "^9.17.0",
|
|
"eslint-import-resolver-node": "^0.3.9",
|
|
"eslint-import-resolver-webpack": "^0.13.10",
|
|
"eslint-module-utils": "^2.12.1",
|
|
"eslint-plugin-boundaries": "5.4.0",
|
|
"eslint-plugin-chai-friendly": "^1.1.0",
|
|
"eslint-plugin-cypress": "6.1.0",
|
|
"eslint-plugin-depend": "1.4.0",
|
|
"eslint-plugin-i18next": "6.1.3",
|
|
"eslint-plugin-import-x": "4.16.1",
|
|
"eslint-plugin-jest": "29.12.1",
|
|
"eslint-plugin-jest-dom": "^5.5.0",
|
|
"eslint-plugin-jest-formatting": "^3.1.0",
|
|
"eslint-plugin-no-only-tests": "^3.3.0",
|
|
"eslint-plugin-react": "7.37.5",
|
|
"eslint-plugin-react-hooks": "^5.1.0",
|
|
"eslint-plugin-storybook": "9.1.17",
|
|
"eslint-plugin-testing-library": "7.15.4",
|
|
"eslint-plugin-ttag": "^1.1.0",
|
|
"fast-xml-builder": "^1.2.0",
|
|
"fast-xml-parser": "^5.8.0",
|
|
"fetch-mock": "^12.0.0",
|
|
"get-nonce": "^1.0.1",
|
|
"glob": "^7.1.1",
|
|
"globals": "^15.14.0",
|
|
"html-webpack-plugin": "5.5.0",
|
|
"husky": "^9.1.7",
|
|
"inquirer-file-selector": "^0.2.1",
|
|
"jest": "^30.0.0",
|
|
"jest-canvas-mock": "2.5.2",
|
|
"jest-environment-jsdom": "^30.0.0",
|
|
"jest-junit": "^16.0.0",
|
|
"jest-watch-typeahead": "^3.0.0",
|
|
"jose": "^5.6.3",
|
|
"json-to-pretty-yaml": "^1.2.2",
|
|
"jsonwebtoken": "^9.0.3",
|
|
"knex": "^2.4.2",
|
|
"lint-staged": "^16.4.0",
|
|
"loki": "^0.35.1",
|
|
"micromatch": "^4.0.8",
|
|
"mini-css-extract-plugin": "2.7.2",
|
|
"mocha": "^10.8.1",
|
|
"mocha-junit-reporter": "^2.2.1",
|
|
"mochawesome": "^7.1.4",
|
|
"mochawesome-merge": "^5.1.1",
|
|
"mochawesome-report-generator": "^6.3.2",
|
|
"mockdate": "^2.0.2",
|
|
"msw": "^2.7.5",
|
|
"msw-storybook-addon": "^2.0.4",
|
|
"mysql2": "^3.9.8",
|
|
"node-fetch": "2.6.7",
|
|
"node-polyfill-webpack-plugin": "4.0.0",
|
|
"null-loader": "^4.0.1",
|
|
"open": "^10.1.0",
|
|
"open-cli": "^8.0.0",
|
|
"openapi-typescript": "^7.10.0",
|
|
"otpauth": "^9.5.1",
|
|
"oxfmt": "^0.38.0",
|
|
"patch-package": "^8.0.1",
|
|
"pg": "^8.8.0",
|
|
"postcss": "^8.5.6",
|
|
"postcss-discard-comments": "^7.0.4",
|
|
"postcss-import": "^16.1.1",
|
|
"postcss-loader": "^8.2.0",
|
|
"postcss-nesting": "^14.0.0",
|
|
"postcss-prefixwrap": "^1.57.0",
|
|
"postcss-preset-env": "^10.4.0",
|
|
"postcss-preset-mantine": "^1.18.0",
|
|
"postcss-styled-syntax": "^0.7.1",
|
|
"postcss-url": "^10.1.3",
|
|
"raf": "^3.4.0",
|
|
"react-refresh": "^0.14.2",
|
|
"react-router": "7.18.2",
|
|
"reg-cli": "^0.17.7",
|
|
"semver": "^7.6.3",
|
|
"shadow-cljs": "^3.3.5",
|
|
"source-map-loader": "^4.0.1",
|
|
"storybook": "^8.6.15",
|
|
"storybook-addon-pseudo-states": "^4.0.2",
|
|
"style-loader": "^4.0.0",
|
|
"stylelint": "^16.25.0",
|
|
"stylelint-config-css-modules": "^4.5.1",
|
|
"stylelint-config-standard": "^36.0.0",
|
|
"swc-plugin-coverage-instrument": "0.0.32",
|
|
"ts-dedent": "^2.2.0",
|
|
"ts-morph": "^25.0.0",
|
|
"tsx": "^4.19.3",
|
|
"typedoc": "^0.28.18",
|
|
"typedoc-plugin-dt-links": "^2.0.21",
|
|
"typedoc-plugin-markdown": "^4.9.0",
|
|
"typedoc-plugin-mdn-links": "^5.0.9",
|
|
"typedoc-plugin-redirect": "^1.2.0",
|
|
"typescript-eslint": "8.60.0",
|
|
"typescript-plugin-css-modules": "^5.1.0",
|
|
"vite": "^8.0.16",
|
|
"vite-plugin-css-injected-by-js": "^3.5.2",
|
|
"vite-plugin-svgr": "^5.2.0",
|
|
"web-streams-polyfill": "^4.1.0",
|
|
"webpack": "5.105.0",
|
|
"webpack-bundle-analyzer": "^4.10.1",
|
|
"webpack-cli": "^5.1.1",
|
|
"webpack-dev-server": "^5.2.1",
|
|
"webpack-notifier": "1.15.0",
|
|
"webpack-stats-plugin": "^1.1.3",
|
|
"yaml-lint": "~1.6.0",
|
|
"zrender": "^6.0.0"
|
|
},
|
|
"resolutions": {
|
|
"@codemirror/autocomplete": "^6.18.6",
|
|
"@codemirror/commands": "^6.10.1",
|
|
"@codemirror/language": "^6.12.1",
|
|
"@codemirror/lint": "^6.9.2",
|
|
"@codemirror/search": "^6.6.0",
|
|
"@codemirror/state": "^6.5.4",
|
|
"@codemirror/view": "^6.39.11",
|
|
"@lezer/common": "^1.5.0",
|
|
"@lezer/highlight": "^1.2.1",
|
|
"@lezer/lr": "^1.4.2",
|
|
"ansi-html": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz",
|
|
"ansi-regex": "5.0.1",
|
|
"cipher-base": "^1.0.5",
|
|
"cross-spawn": "^7.0.5",
|
|
"csstype": "^3.2.3",
|
|
"d3-color": "^3.1.0",
|
|
"debug": "^4.3.4",
|
|
"dompurify": "^3.4.11",
|
|
"elliptic": "^6.6.1",
|
|
"esbuild": "^0.28.1",
|
|
"follow-redirects": "^1.16.0",
|
|
"form-data": "4.0.6",
|
|
"js-yaml": "^4.3.0",
|
|
"linkify-it": "^5.0.2",
|
|
"lodash-es": "^4.18.1",
|
|
"lodash": "^4.18.1",
|
|
"markdown-it": "^14.2.0",
|
|
"mdast-util-to-hast": "^13.2.1",
|
|
"on-headers": "^1.1.0",
|
|
"prosemirror-model": "^1.25.4",
|
|
"prosemirror-state": "^1.4.4",
|
|
"prosemirror-view": "^1.40.1",
|
|
"js-cookie": "^3.0.7",
|
|
"qs": "6.15.2",
|
|
"redux": "5.0.1",
|
|
"webpack-dev-middleware": "^5.3.4",
|
|
"webpack-dev-server": "^5.2.1",
|
|
"webpack": "5.105.0"
|
|
},
|
|
"scripts": {
|
|
"mage": "./bin/mage",
|
|
"build": "bun run build:cljs && bun run build:js",
|
|
"build-embedding-sdk-package": "bun run embedding-sdk:clean:dist && bun install && bun run build-release:cljs && bun run embedding-sdk:generate-package && bun run embedding-sdk:generate-package-support-files && bun run build-release:embedding-sdk-package && bun run build-embedding-sdk-node && bun run embedding-sdk:dts:generate",
|
|
"build-embedding-sdk-node": "rspack --config rspack.embedding-sdk-node.config.js",
|
|
"build-embedding-sdk-node:watch": "bun run build-embedding-sdk-node --watch",
|
|
"build-hot": "rm -f target/cljs_dev/cljs.core.js && bun run build:cljs && bun run concurrently -n 'js' -c 'green,cyan' 'bun run build-hot:js'",
|
|
"build-hot-be": "rm -f target/cljs_dev/cljs.core.js && bun run concurrently -n 'cljs,js' -c 'yellow,green,cyan' 'bun run build-hot:cljs' 'ENABLE_CLJS_HOT_RELOAD=true bun run build-hot:js-wait'",
|
|
"build-hot:cljs": "bun install && shadow-cljs watch app",
|
|
"build-hot:js": "bun install && bun run clean-dev:js && NODE_OPTIONS=--max-old-space-size=8192 WEBPACK_BUNDLE=hot rspack serve",
|
|
"build-hot:js-wait": "bun run wait:cljs; bun run build-hot:js",
|
|
"build-pure:cljs": "bun run clean-dev:cljs && shadow-cljs compile app",
|
|
"build-release": "bun run build-release:cljs && bun run build-release:js",
|
|
"build-release:cljs": "bun run clean-release:cljs && shadow-cljs release app",
|
|
"build-release:js": "WEBPACK_BUNDLE=production rspack build",
|
|
"build-release:static-viz": "WEBPACK_BUNDLE=production rspack --config rspack.static-viz.config.js",
|
|
"build-release:embedding-sdk-package": "WEBPACK_BUNDLE=production rspack --config rspack.embedding-sdk-package.config.js",
|
|
"build-release:embedding-sdk-bundle": "WEBPACK_BUNDLE=production rspack --config rspack.embedding-sdk-bundle.config.js",
|
|
"build-static-viz": "bun install && bun run build-release:cljs && WEBPACK_BUNDLE=production rspack --config rspack.static-viz.config.js",
|
|
"build-static-viz:watch": "rspack --config rspack.static-viz.config.js --watch",
|
|
"build-static-viz:watch-wait": "bun run wait:cljs; bun run build-static-viz:watch",
|
|
"build-stats": "bun install && rspack --json > stats.json",
|
|
"build-storybook": "NODE_OPTIONS=--max-old-space-size=8192 storybook build",
|
|
"build-watch": "bun run concurrently -n 'cljs,js' 'bun run build-watch:cljs' 'bun run build-watch:js'",
|
|
"build-watch:cljs": "bun install && shadow-cljs watch app",
|
|
"build-watch:js": "bun install && NODE_OPTIONS=--max-old-space-size=8192 rspack serve --watch",
|
|
"build:cljs": "bun install && bun run build-pure:cljs",
|
|
"build:custom-viz-fixtures": "node enterprise/frontend/src/custom-viz/fixtures/build-example-custom-viz.mjs",
|
|
"build:js": "bun install && rspack build",
|
|
"chromatic": "bun run build:cljs && NODE_OPTIONS=--max-old-space-size=8192 chromatic",
|
|
"ci": "bun run ci-frontend && bun run ci-backend",
|
|
"ci-backend": "clojure -X:dev:ee:ee-dev:drivers:drivers-dev:eastwood && clojure -X:dev:test",
|
|
"ci-frontend": "bun run lint && bun run test",
|
|
"clean-cypress-artifacts": "rm -R -f cypress/",
|
|
"clean-dev:cljs": "rm -rf target/cljs_dev/*",
|
|
"clean-dev:js": "rm -rf resources/frontend_client/app/dist target/classes/frontend_client/app/dist resources/frontend_client/app/embedding-sdk target/classes/frontend_client/app/embedding-sdk",
|
|
"clean-release:cljs": "rm -rf target/cljs_release/*",
|
|
"clean:cljs": "bun install && bun run clean-dev:cljs && bun run clean-release:cljs",
|
|
"cljs-nrepl": "bun install && shadow-cljs node-repl -d cider/cider-nrepl:0.57.0 -d cider/piggieback:0.6.1 -d refactor-nrepl/refactor-nrepl:3.11.0",
|
|
"cljs-server-restart": "bun install && shadow-cljs restart",
|
|
"cljs-server-start": "bun install && shadow-cljs start",
|
|
"cljs-server-stop": "bun install && shadow-cljs stop",
|
|
"concurrently": "bun install && concurrently --kill-others -p name",
|
|
"dev": "bun install && bun run clean-dev:cljs && concurrently -n 'backend,frontend,cljs,static-viz' -c 'blue,green,yellow,magenta,red,cyan' 'clojure -M:run:dev:dev-start --hot' 'bun run build-hot:js-wait' 'bun run build:cljs' 'bun run build-static-viz:watch-wait'",
|
|
"dev-hot-be": "bun install && bun run clean-dev:cljs && concurrently -n 'backend,frontend,cljs,static-viz' -c 'blue,green,yellow,magenta,red,cyan' 'clojure -M:run:dev:dev-start --hot' 'ENABLE_CLJS_HOT_RELOAD=true bun run build-hot:js-wait' 'bun run build-hot:cljs' 'bun run build-static-viz:watch-wait'",
|
|
"dev-ee": "bun install && bun run clean-dev:cljs && concurrently -n 'backend,frontend,cljs,static-viz' -c 'blue,green,yellow,magenta,red,cyan' 'clojure -M:run:ee:dev:dev-start --hot' 'MB_EDITION=ee bun run build-hot:js-wait' 'MB_EDITION=ee bun run build:cljs' 'bun run build-static-viz:watch-wait'",
|
|
"dev-ee-hot-be": "bun install && bun run clean-dev:cljs && concurrently -n 'backend,frontend,cljs,static-viz' -c 'blue,green,yellow,magenta,red,cyan' 'clojure -M:run:ee:dev:dev-start --hot' 'MB_EDITION=ee ENABLE_CLJS_HOT_RELOAD=true bun run build-hot:js-wait' 'MB_EDITION=ee bun run build-hot:cljs' 'bun run build-static-viz:watch-wait'",
|
|
"email-dev": "bun dev/email-preview/serve.ts",
|
|
"embedding-sdk:generate-package": "node ./bin/embedding-sdk/generate-sdk-package-files.js",
|
|
"embedding-sdk:publish": "cd ./resources/embedding-sdk && npm publish",
|
|
"embedding-sdk:generate-package-support-files": "tsx enterprise/frontend/src/embedding-sdk-package/bin/generate-package-support-files.ts",
|
|
"embedding-sdk:test-unit": "bun run test-unit enterprise/frontend/src/embedding-sdk-package/ enterprise/frontend/src/embedding-sdk-bundle/ enterprise/frontend/src/embedding-sdk-shared/",
|
|
"embedding-sdk:dts:generate": "bun run embedding-sdk:clean:tsbuildinfo && ./node_modules/typescript7/bin/tsc --project tsconfig.sdk.json || true && bun run embedding-sdk:dts:fixup",
|
|
"embedding-sdk:dts:fixup": "node ./bin/embedding-sdk/fixup-types-after-compilation.js",
|
|
"embedding-sdk:docs:generate:pure": "typedoc --options ./.typedoc/typedoc.html.config.js && typedoc --options ./.typedoc/typedoc.markdown.config.js",
|
|
"embedding-sdk:docs:generate": "bun run build-release:embedding-sdk-package && bun run embedding-sdk:dts:generate && bun run embedding-sdk:docs:generate:pure",
|
|
"embedding-eajs:docs:generate": "typedoc --options ./.typedoc/typedoc.eajs-markdown.config.js",
|
|
"embedding-sdk:cli-snippets:type-check": "./bin/embedding-sdk/type-check-embedding-sdk-cli-snippets.sh",
|
|
"embedding-sdk:docs-snippets:type-check": "./bin/embedding-sdk/type-check-embedding-sdk-docs-snippets.sh",
|
|
"embedding-sdk:clean:dist": "rm -rf resources/embedding-sdk/dist",
|
|
"embedding-sdk:clean:tsbuildinfo": "rm -rf resources/embedding-sdk/.tsbuildinfo",
|
|
"eslint-fix": "bun run lint-eslint --fix",
|
|
"find-never-defined-css-variables": "tsx bin/find-never-defined-css-variables/find-never-defined-css-variables.ts",
|
|
"generate-cypress-html-report": "mochawesome-merge cypress/reports/mochareports/*.json > cypress/reports/cypress-test-report.json && marge cypress/reports/cypress-test-report.json -o cypress/reports --inline",
|
|
"generate-openapi": "clojure -M:run:ee generate-openapi-spec",
|
|
"lint-openapi": "redocly lint resources/openapi/openapi.json --skip-rule security-defined --skip-rule operation-operationId --skip-rule no-unused-components --skip-rule info-license --skip-rule no-path-trailing-slash --skip-rule no-identical-paths --skip-rule no-ambiguous-paths --skip-rule path-parameters-defined --skip-rule spec-components-invalid-map-name",
|
|
"lint": "bun run lint-eslint && bun run lint-format && bun run lint-docs-links && bun run lint-yaml && bun run type-check",
|
|
"lint-docs-links": "bun install && ./bin/verify-doc-links",
|
|
"lint-css": "stylelint './frontend/**/*.css'",
|
|
"lint-eslint": "bun run build:cljs && bun run lint-eslint-pure",
|
|
"lint-eslint-pure": "eslint --cache --cache-strategy content --max-warnings 0 --report-unused-disable-directives enterprise/frontend frontend e2e",
|
|
"module-boundaries": "eslint --config eslint.config.module-boundaries.mjs 'frontend/src/**/*.{ts,tsx}' 'enterprise/frontend/src/**/*.{ts,tsx}'",
|
|
"lint-format": "bun install && bun lint-format-pure",
|
|
"lint-format-pure": "oxfmt --check '{frontend,enterprise/frontend,e2e}/**/*.{js,jsx,ts,tsx,css}'",
|
|
"lint-yaml": "yamllint **/*.{yaml,yml} --ignore=node_modules/**/*.{yaml,yml}",
|
|
"postinstall": "if [ -z \"$CI\" ]; then patch-package; fi",
|
|
"precommit": "lint-staged",
|
|
"preinstall": "node -e \"if(!/bun/.test(process.env.npm_execpath || '')) { console.error('Please use Bun, not npm or yarn.'); process.exit(1); }\"",
|
|
"prepare": "husky",
|
|
"format": "oxfmt --write '{frontend,enterprise/frontend,e2e}/**/*.{js,jsx,ts,tsx,css}'",
|
|
"remove-webpack-cache": "rm -rf ./node_modules/.cache",
|
|
"storybook": "bun run build:cljs && storybook dev -p 6006",
|
|
"storybook-pure": "storybook dev -p 6006",
|
|
"storybook-embedding-sdk": "IS_EMBEDDING_SDK=true storybook dev -c frontend/src/embedding-sdk-shared/.storybook -p 6006",
|
|
"test": "bun run test-unit && bun run test-timezones && bun run test-cypress",
|
|
"test-cljs": "bun install && shadow-cljs compile test && node target/node-tests.js",
|
|
"test-cypress": "tsx ./e2e/runner/run_cypress_local.ts",
|
|
"test-cypress-host-sample-apps": "tsx ./e2e/runner/run_cypress_host_sample_apps.ts",
|
|
"test-debug": "bun run build:cljs && node --inspect-brk node_modules/.bin/jest --runInBand --detectOpenHandles",
|
|
"test-timezones": "bun install && ./frontend/test/__runner__/run_timezone_tests",
|
|
"test-timezones-unit": "jest --silent --maxWorkers=4 --config jest.tz.unit.conf.js",
|
|
"test-unit": "bun run build:cljs && jest --maxWorkers=4",
|
|
"test-unit-keep-cljs": "jest --maxWorkers=4",
|
|
"test-unit-watch": "bun run test-unit --watch",
|
|
"test-unit-watch:cljs": "bun run concurrently -n 'cljs,tests' 'bun run build-watch:cljs' 'bun run test-unit-keep-cljs --watch'",
|
|
"test-visual:loki": "NODE_ENV=development loki test --chromeFlags='--headless --disable-gpu' ",
|
|
"test-visual:loki:ci": "bun run build-storybook && bun run test-visual:loki --reactUri file:./storybook-static --verboseRenderer",
|
|
"test-visual:loki-approve-diff": "ls .loki/difference | xargs -I _ find .loki/current -name _ | xargs -I _ cp _ .loki/reference/",
|
|
"test-visual:loki-prune": "ls .loki/reference | grep -v \"$(ls .loki/current)\" | xargs -I {} rm .loki/reference/{}",
|
|
"test-visual:loki-report": "node frontend/test/generate-loki-report-json.js && reg-cli --from .loki/report.json --report .loki/report.html",
|
|
"test-visual:loki-report-open": "bun run test-visual:loki || (echo 'Visual test failed, opening report...' && bun run test-visual:loki-report && open-cli .loki/report.html)",
|
|
"type-check": "bun run clean:cljs && bun run build:cljs && bun run type-check-pure",
|
|
"type-check-pure": "./node_modules/typescript7/bin/tsc --noEmit",
|
|
"types:generate": "openapi-ts -f ./frontend/build/openapi/openapi-ts.config.ts",
|
|
"types:generate:watch": "npx chokidar 'resources/openapi/openapi.json' --initial -c 'openapi-ts -f ./frontend/build/openapi/openapi-ts.config.ts' --debounce 1000",
|
|
"validate-e2e-filenames": "node e2e/validate-e2e-test-files.js",
|
|
"wait:cljs": "echo Waiting for first CLJS build; until [ -f target/cljs_dev/cljs.core.js ]; do sleep 1; done; echo CLJS build done",
|
|
"generate:expression-parser": "lezer-generator --typeScript frontend/src/metabase/querying/expressions/tokenizer/grammar.lezer -o frontend/src/metabase/querying/expressions/tokenizer/lezer.ts",
|
|
"generate-license-disclaimer": "node bin/generate-license-disclaimer.js",
|
|
"cloud:dev": "bun install && clojure -A:dev:drivers:drivers-dev:ee:ee-dev:cljs -P && bun run concurrently -n 'FE,BE' -c 'blue,green' 'bun run build-hot' 'clojure -M:dev:socket:dev-start:drivers:drivers-dev:ee:ee-dev'"
|
|
},
|
|
"browserslist": [
|
|
"defaults"
|
|
],
|
|
"packageManager": "bun@1.3.14"
|
|
}
|