{ "name": "@woocommerce/block-library", "private": true, "title": "WooCommerce Blocks", "author": "Automattic", "version": "11.8.0-dev", "description": "WooCommerce blocks for the Gutenberg editor.", "homepage": "https://github.com/woocommerce/woocommerce/plugins/woocommerce-blocks/", "keywords": [ "woocommerce", "wordpress", "blocks" ], "sideEffects": [ "*.css", "*.scss", "./assets/js/atomic/blocks/**", "./assets/js/filters/**", "./assets/js/middleware/**", "./assets/js/types/**", "./assets/js/blocks/checkout/inner-blocks/**/index.tsx", "./assets/js/blocks/checkout/inner-blocks/register-components.ts", "./assets/js/blocks/cart/inner-blocks/**/index.tsx", "./assets/js/blocks/cart/inner-blocks/register-components.ts", "./assets/js/base/components/**/*.{tsx,ts}", "./assets/js/blocks/mini-cart/mini-cart-contents/inner-blocks/**/index.tsx", "./assets/js/blocks/mini-cart/mini-cart-contents/inner-blocks/register-components.ts", "./assets/js/blocks/cart-checkout-shared/sidebar-notices/index.tsx", "./assets/js/blocks/cart-checkout-shared/view-switcher/index.tsx", "./assets/js/blocks/filter-wrapper/register-components.ts", "./assets/js/blocks/product-query/variations/**.tsx", "./assets/js/blocks/product-query/index.tsx", "./assets/js/blocks/product-query/inspector-controls.tsx", "./assets/js/blocks/product-gallery/**.tsx", "./assets/js/blocks/product-gallery/inner-blocks/**/index.tsx", "./assets/js/templates/revert-button/index.tsx", "./assets/js/settings/blocks/index.ts", "./assets/js/atomic/utils/blocks-registration-manager/index.ts", "./packages/**/*.{tsx,ts,js}" ], "repository": { "type": "git", "url": "https://github.com/woocommerce/woocommerce.git" }, "license": "GPL-3.0+", "scripts": { "analyze-bundles": "cross-env WP_BUNDLE_ANALYZER=1 pnpm run build", "changelog": "XDEBUG_MODE=off composer install --quiet && composer exec -- changelogger", "build": "pnpm --if-present --workspace-concurrency=Infinity --stream --filter=\"$npm_package_name...\" '/^build:project:.*$/'", "build:project": "pnpm --if-present '/^build:project:.*$/'", "build:project:bundle": "wireit", "build:check-assets": "rimraf build/* && cross-env ASSET_CHECK=true BABEL_ENV=default NODE_ENV=production webpack", "prebuild:docs": "rimraf docs/extensibility/actions.md & rimraf docs/extensibility/filters.md", "build:docs": "./vendor/bin/wp-hooks-generator --input=src --output=bin/hook-docs/data && node ./bin/hook-docs && pnpm build:docs:block-references", "build:docs:block-references": "node ./bin/gen-block-list-doc.js", "postbuild:docs": "./bin/add-doc-footer.sh", "dev": "rimraf build/* && cross-env BABEL_ENV=default webpack", "labels:dry": "github-label-sync --labels ./.github/label-sync-config.json --allow-added-labels --dry-run woocommerce/woocommerce-gutenberg-products-block", "labels:sync": "github-label-sync --labels ./.github/label-sync-config.json --allow-added-labels woocommerce/woocommerce-gutenberg-products-block", "lint": "pnpm --if-present '/^lint:lang:.*$/'", "lint:fix": "pnpm --if-present '/^lint:fix:lang:.*$/'", "lint:fix:lang:css": "pnpm lint:css-fix", "lint:fix:lang:js": "pnpm lint:js-fix", "lint:lang:css": "pnpm lint:css", "lint:lang:js": "pnpm lint:js", "lint:ci": "pnpm run lint:js && pnpm run lint:css", "lint:css": "stylelint '**/*.scss'", "lint:css-fix": "stylelint '**/*.scss' --fix", "lint:js": "wp-scripts lint-js --ext=js,ts,tsx", "lint:js:report": "pnpm run lint:js -- --output-file eslint_report.json --ext=js,ts,tsx --format json", "lint:js-fix": "eslint assets/js --ext=js,jsx,ts,tsx --fix", "lint:md:docs": "wp-scripts lint-md-docs", "pre-commit": "lint-staged", "reformat-files": "prettier --ignore-path .eslintignore --write \"**/*.{js,jsx,json,ts,tsx}\"", "rimraf": "./node_modules/rimraf/bin.js", "start": "rimraf build/* && cross-env BABEL_ENV=default CHECK_CIRCULAR_DEPS=true webpack --watch", "storybook": "storybook dev -c ./storybook -p 6006 --ci", "storybook:build": "BABEL_ENV=development storybook build -c ./storybook -o ./storybook/dist", "storybook:deploy": "rimraf ./storybook/dist/* && pnpm run storybook:build && gh-pages -d ./storybook/dist", "test:js": "wp-scripts test-unit-js --config tests/js/jest.config.json", "test:debug": "ndb .", "test:e2e": "sh ./bin/check-env.sh && pnpm playwright test --config=tests/e2e/playwright.config.ts", "test:e2e:block-theme": "pnpm run test:e2e block_theme", "test:e2e:classic-theme": "pnpm run test:e2e classic_theme", "test:e2e:block-theme-with-templates": "pnpm run test:e2e block_theme_with_templates", "test:e2e:jest": "pnpm run wp-env:config && cross-env JEST_PUPPETEER_CONFIG=tests/e2e-jest/config/jest-puppeteer.config.js NODE_CONFIG_DIR=tests/e2e-jest/config wp-scripts test-e2e --config tests/e2e-jest/config/jest.config.js", "test:e2e:jest:dev": "pnpm run wp-env:config && cross-env JEST_PUPPETEER_CONFIG=tests/e2e-jest/config/jest-puppeteer.config-dev.js NODE_CONFIG_DIR=tests/e2e-jest/config wp-scripts test-e2e --config tests/e2e-jest/config/jest.config.js", "test:e2e:jest:dev-watch": "pnpm run wp-env:config && cross-env JEST_PUPPETEER_CONFIG=tests/e2e-jest/config/jest-puppeteer.config-dev.js NODE_CONFIG_DIR=tests/e2e-jest/config wp-scripts test-e2e --config tests/e2e-jest/config/jest.config.js --watch", "test:e2e:jest:update": "pnpm run wp-env:config && cross-env JEST_PUPPETEER_CONFIG=tests/e2e-jest/config/jest-puppeteer.config.js NODE_CONFIG_DIR=tests/e2e-jest/config wp-scripts test-e2e --config tests/e2e-jest/config/jest.config.js --updateSnapshot", "env:start": "pnpm --filter='@woocommerce/block-library' wp-env start && ./tests/e2e/bin/test-env-setup.sh", "env:restart": "pnpm run wp-env clean all && pnpm run wp-env start && ./tests/e2e/bin/test-env-setup.sh", "env:stop": "pnpm run wp-env stop", "test:help": "wp-scripts test-unit-js --help", "test:performance": "sh ./bin/check-env.sh && pnpm playwright test --config=tests/e2e/playwright.performance.config.ts", "test:update": "wp-scripts test-unit-js --updateSnapshot --config tests/js/jest.config.json", "test:watch": "pnpm run test -- --watch", "ts:check": "tsc --build", "ts:log-errors": "npm --silent run ts:check | npx -y @bartekbp/typescript-checkstyle > checkstyle.xml", "wp-env": "wp-env", "wp-env:config": "./bin/wp-env-pre-config.sh", "watch:build": "pnpm --if-present --workspace-concurrency=Infinity --filter=\"$npm_package_name...\" --parallel '/^watch:build:project:.*$/'", "watch:build:project": "pnpm --if-present run '/^watch:build:project:.*$/'", "watch:build:project:bundle": "wireit" }, "devDependencies": { "@automattic/color-studio": "2.5.0", "@babel/cli": "7.23.0", "@babel/core": "7.23.2", "@babel/plugin-proposal-class-properties": "7.18.6", "@babel/plugin-proposal-optional-chaining": "7.21.0", "@babel/plugin-syntax-jsx": "7.22.5", "@babel/polyfill": "7.12.1", "@babel/preset-react": "7.23.3", "@babel/preset-typescript": "7.23.2", "@bartekbp/typescript-checkstyle": "5.0.0", "@playwright/test": "^1.46.1", "@storybook/addon-a11y": "7.5.2", "@storybook/addon-actions": "^7.6.4", "@storybook/addon-docs": "^7.6.4", "@storybook/addon-essentials": "7.5.2", "@storybook/addon-links": "7.5.2", "@storybook/addon-storysource": "7.5.2", "@storybook/addon-styling-webpack": "^0.0.5", "@storybook/addons": "7.5.2", "@storybook/client-api": "7.5.2", "@storybook/preview-api": "^7.6.4", "@storybook/react": "7.5.2", "@storybook/react-webpack5": "^7.6.4", "@testing-library/dom": "9.3.3", "@testing-library/jest-dom": "6.4.5", "@testing-library/react": "15.0.7", "@testing-library/user-event": "14.5.2", "@types/dinero.js": "1.9.0", "@types/dompurify": "2.3.4", "@types/gtag.js": "0.0.10", "@types/jest": "27.5.2", "@types/jest-environment-puppeteer": "5.0.2", "@types/jquery": "3.5.14", "@types/lodash": "4.14.182", "@types/prop-types": "^15.7.11", "@types/puppeteer": "5.4.6", "@types/react": "^17.0.71", "@types/react-dom": "18.0.10", "@types/react-transition-group": "^4.4.10", "@types/wordpress__block-editor": "6.0.6", "@types/wordpress__blocks": "11.0.9", "@types/wordpress__components": "^23.0.10", "@types/wordpress__core-data": "^2.4.5", "@types/wordpress__data": "^6.0.2", "@types/wordpress__data-controls": "2.2.0", "@types/wordpress__editor": "^13.6.7", "@types/wordpress__notices": "^3.27.6", "@types/wordpress__wordcount": "^2.4.5", "@typescript-eslint/eslint-plugin": "5.56.0", "@typescript-eslint/parser": "5.56.0", "@woocommerce/data": "workspace:*", "@woocommerce/e2e-utils": "workspace:*", "@woocommerce/eslint-plugin": "workspace:*", "@woocommerce/woocommerce-rest-api": "1.0.1", "@wordpress/api-fetch": "6.21.0", "@wordpress/babel-preset-default": "7.28.0", "@wordpress/base-styles": "4.35.0", "@wordpress/block-editor": "8.2.0", "@wordpress/blocks": "11.1.5", "@wordpress/browserslist-config": "5.21.0", "@wordpress/components": "19.17.0", "@wordpress/core-data": "5.5.0", "@wordpress/data": "6.15.0", "@wordpress/data-controls": "2.2.7", "@wordpress/date": "4.44.0", "@wordpress/dependency-extraction-webpack-plugin": "4.28.0", "@wordpress/dom": "3.27.0", "@wordpress/dom-ready": "3.27.0", "@wordpress/e2e-test-utils": "10.12.0", "@wordpress/e2e-test-utils-playwright": "wp-6.6", "@wordpress/e2e-tests": "^4.9.2", "@wordpress/element": "5.22.0", "@wordpress/env": "^10.1.0", "@wordpress/html-entities": "3.24.0", "@wordpress/i18n": "4.45.0", "@wordpress/is-shallow-equal": "4.24.0", "@wordpress/postcss-plugins-preset": "1.6.0", "@wordpress/postcss-themes": "1.0.5", "@wordpress/prettier-config": "1.4.0", "@wordpress/scripts": "24.6.0", "@wordpress/stylelint-config": "^21.36.0", "allure-playwright": "^2.9.2", "autoprefixer": "10.4.14", "babel-jest": "^29.7.0", "babel-plugin-explicit-exports-references": "^1.0.2", "babel-plugin-react-docgen": "4.2.1", "babel-plugin-transform-react-remove-prop-types": "0.4.24", "buildkite-test-collector": "^1.7.1", "chalk": "4.1.2", "circular-dependency-plugin": "5.2.2", "copy-webpack-plugin": "11.0.0", "core-js": "3.25.0", "create-file-webpack": "1.0.2", "cross-env": "7.0.3", "css-loader": "^6.8.1", "cssnano": "5.1.12", "deep-freeze": "0.0.1", "dotenv": "^16.3.1", "eslint-import-resolver-typescript": "3.6.1", "eslint-import-resolver-webpack": "0.13.2", "eslint-plugin-import": "2.28.1", "eslint-plugin-playwright": "1.6.0", "eslint-plugin-rulesdir": "^0.2.2", "eslint-plugin-storybook": "^0.6.15", "eslint-plugin-woocommerce": "file:bin/eslint-plugin-woocommerce", "eslint-plugin-you-dont-need-lodash-underscore": "6.12.0", "gh-pages": "4.0.0", "github-label-sync": "^2.3.1", "glob": "7.2.3", "glob-promise": "4.2.2", "handlebars": "^4.7.8", "ignore-loader": "0.1.2", "jest": "^29.7.0", "jest-circus": "27.5.1", "jest-environment-puppeteer": "6.1.1", "jest-fetch-mock": "3.0.3", "jest-html-reporters": "3.0.10", "json2md": "1.12.0", "lint-staged": "13.2.0", "lodash": "4.17.21", "markdown-it": "13.0.1", "mini-css-extract-plugin": "2.7.6", "postcss": "8.4.32", "postcss-color-function": "4.1.0", "postcss-loader": "4.3.0", "prettier": "npm:wp-prettier@^2.8.5", "progress-bar-webpack-plugin": "2.1.0", "puppeteer": "17.1.3", "react-docgen": "5.4.3", "react-docgen-typescript-plugin": "^1.0.5", "react-test-renderer": "18.3.1", "redux": "4.2.1", "request-promise": "4.2.6", "rimraf": "5.0.5", "rtlcss": "^4.1.1", "sass-loader": "^10.5.0", "storybook": "^7.6.4", "storybook-addon-react-docgen": "1.2.44", "stylelint": "^14.16.1", "terser-webpack-plugin": "5.3.6", "typescript": "5.3.2", "utility-types": "3.10.0", "webpack": "5.91.0", "webpack-bundle-analyzer": "4.7.0", "webpack-cli": "5.1.4", "wireit": "0.14.3", "wp-types": "3.63.0" }, "engines": { "node": "^20.11.1", "pnpm": "9.1.3" }, "dependencies": { "@ariakit/react": "^0.4.5", "@dnd-kit/core": "^6.1.0", "@dnd-kit/modifiers": "^6.0.1", "@dnd-kit/sortable": "^7.0.2", "@dnd-kit/utilities": "^3.2.2", "@emotion/styled": "^11.11.0", "@preact/signals": "^1.2.2", "@woocommerce/tracks": "workspace:^", "@wordpress/autop": "3.16.0", "@wordpress/compose": "5.5.0", "@wordpress/deprecated": "3.41.0", "@wordpress/icons": "9.36.0", "@wordpress/notices": "3.12.0", "@wordpress/plugins": "4.10.0", "@wordpress/primitives": "3.0.4", "@wordpress/server-side-render": "3.10.0", "@wordpress/style-engine": "^1.30.0", "@wordpress/url": "3.13.0", "@wordpress/wordcount": "3.47.0", "change-case": "^4.1.2", "check-password-strength": "^2.0.10", "clsx": "^2.1.1", "compare-versions": "4.1.3", "config": "3.3.7", "dataloader": "2.2.2", "deepsignal": "1.3.6", "dinero.js": "1.9.1", "dompurify": "^2.4.7", "downshift": "6.1.7", "fast-deep-equal": "^3.1.3", "fast-sort": "^3.4.0", "html-react-parser": "3.0.4", "postcode-validator": "3.9.2", "preact": "^10.19.3", "prop-types": "^15.8.1", "react-number-format": "4.9.3", "react-transition-group": "^4.4.5", "request": "2.88.2", "trim-html": "0.1.9", "use-debounce": "9.0.4", "usehooks-ts": "^2.9.1", "wordpress-components": "npm:@wordpress/components@14.2.0", "wordpress-components-slotfill": "npm:@wordpress/components@wp-6.5" }, "peerDependencies": { "react": "^18.3.0", "react-dom": "^18.3.0" }, "optionalDependencies": { "ndb": "1.1.5" }, "lint-staged": { "*.scss": [ "pnpm run lint:css" ], "*.{js,ts,tsx}": [ "prettier --write", "pnpm run lint:js" ], "*.php": [ "php -d display_errors=1 -l", "composer run-script phpcs" ], "*.md": [ "pnpm run lint:md:docs" ] }, "files": [ "build", "blocks.ini" ], "config": { "ci": { "lint": { "command": "lint", "changes": [ "assets/**/*.{js,ts,tsx,scss}", "packages/**/*.{js,ts,tsx,scss}", "tests/**/*.{js,ts,tsx,scss}" ] }, "tests": [ { "name": "JavaScript", "command": "test:js", "changes": [ ".wp-env.json", "webpack.config.js", "babel.config.js", "tsconfig.json", "assets/**/*.{js,ts,tsx,scss}", "packages/**/*.{js,ts,tsx,scss}", "tests/js/**/*.{js,ts,tsx,scss,json}", "tests/utils/**/.{js,ts,tsx,scss,json}" ], "cascade": "test:js", "events": [ "pull_request", "push" ] } ] } }, "wireit": { "build:project:bundle": { "command": "webpack", "clean": "if-file-deleted", "env": { "NODE_ENV": { "external": true, "default": "production" }, "BABEL_ENV": { "external": true, "default": "default" } }, "files": [ "webpack.config.js", "bin/webpack-*.js", "tsconfig.json", "tsconfig.base.json", "babel.config.js", "assets", "packages" ], "output": [ "build", "blocks.ini" ], "dependencies": [ "dependencyOutputs" ] }, "watch:build:project:bundle": { "command": "webpack --watch", "service": true }, "dependencyOutputs": { "allowUsuallyExcludedPaths": true, "files": [ "node_modules/@woocommerce/eslint-plugin/configs", "node_modules/@woocommerce/eslint-plugin/rules", "node_modules/@woocommerce/eslint-plugin/index.js", "node_modules/@woocommerce/data/build", "node_modules/@woocommerce/data/build-module", "node_modules/@woocommerce/data/build-types", "node_modules/@woocommerce/tracks/build", "node_modules/@woocommerce/tracks/build-module", "node_modules/@woocommerce/tracks/build-types", "package.json" ] } } }