grommet
Version:
focus on the essential experience
252 lines (251 loc) • 8.53 kB
JSON
{
"name": "grommet",
"version": "2.53.0",
"main": "index.js",
"module": "es6/index.js",
"jsnext:main": "es6/index.js",
"sideEffects": [
"./src/js/contexts/ThemeContext/ThemeContext.js",
"./es6/contexts/ThemeContext/ThemeContext.js"
],
"description": "focus on the essential experience",
"authors": [
"Alan Souza",
"Bryan Jacquot",
"Chris Carlozzi",
"Eric Soderberg",
"Shimrit Yacobi"
],
"homepage": "http://grommet.io",
"bugs": "https://github.com/grommet/grommet/issues",
"license": "Apache-2.0",
"repository": {
"type": "git",
"url": "https://github.com/grommet/grommet.git"
},
"engines": {
"node": ">= 16"
},
"scripts": {
"build": "webpack --mode production && babel ./src/js/ --out-dir ./dist --ignore '**/**/__tests__' --ignore './e2e' --ignore 'src/**/portal.js' && copyfiles -u 2 \"src/js/**/**/*.*\" -e \"src/js/**/**/*.js\" -e \"src/js/**/**/*.js.snap\" \"./dist\" && cross-env BABEL_ENV=es6 babel ./src/js/ --out-dir ./dist/es6 --ignore '**/**/__tests__' --ignore 'src/**/portal.js' && copyfiles -u 2 \"src/js/**/**/*.*\" -e \"src/js/**/**/*.js\" -e \"src/js/**/**/*.js.snap\" \"./dist/es6\" && copyfiles LICENSE COPYRIGHT.md ./dist",
"release-stable": "babel-node ./tools/release-stable",
"release-styled-components-beta-stable": "babel-node ./tools/release-styled-components-beta-stable",
"lint": "eslint src",
"lint-fix": "eslint src --fix",
"test": "jest --runInBand && yarn test-timezones",
"test-simple": "jest --runInBand",
"test-update": "jest --updateSnapshot && yarn test-timezones",
"test-watch": "jest --watchAll",
"test-bundlesize": "bundlesize",
"test-timezones": "cross-env TZ=Australia/Brisbane yarn test-calendar-dateinput --coverage=false && cross-env TZ=America/Los_Angeles yarn test-calendar-dateinput --coverage=false && cross-env TZ=Europe/Madrid yarn test-calendar-dateinput --coverage=false && cross-env TZ=Asia/Nagpur yarn test-calendar-dateinput --coverage=false",
"test-calendar-dateinput": "jest ./src/js/components/Calendar/__tests__/Calendar-test.tsx ./src/js/components/DateInput/__tests__/DateInput-test.tsx",
"pack": "babel-node ./tools/pack",
"storybook": "cross-env NODE_ENV=development storybook dev -p 9001 -c storybook",
"start": "webpack serve --config ./e2e/webpack.config.js --mode development",
"test-e2e": "testcafe chrome:headless e2e/tests",
"test-e2e-ci": "testcafe chrome --headless=new e2e/tests -r xunit:/tmp/test-results/testcafe/results.xml",
"build-storybook": "storybook build -c storybook -o storybook-static",
"prettier": "pretty-quick --staged",
"chromatic": "chromatic"
},
"peerDependencies": {
"react": "^16.6.1 || ^17.0.0 || ^18.0.0 || ^19.0.0",
"react-dom": "^16.6.1 || ^17.0.0 || ^18.0.0 || ^19.0.0",
"styled-components": "^5.1.0 || ^6.0.0"
},
"dependencies": {
"@emotion/is-prop-valid": "^1.4.0",
"grommet-icons": "^4.14.0",
"markdown-to-jsx": "7.4.4",
"prop-types": "^15.8.1"
},
"devDependencies": {
"@babel/cli": "^7.28.3",
"@babel/core": "^7.28.5",
"@babel/eslint-parser": "^7.28.5",
"@babel/node": "^7.28.0",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-do-expressions": "^7.28.3",
"@babel/plugin-proposal-export-default-from": "^7.27.1",
"@babel/plugin-proposal-pipeline-operator": "^7.27.1",
"@babel/plugin-transform-class-properties": "^7.27.1",
"@babel/plugin-transform-logical-assignment-operators": "^7.28.5",
"@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1",
"@babel/plugin-transform-optional-chaining": "^7.28.5",
"@babel/preset-env": "^7.28.5",
"@babel/preset-react": "^7.28.5",
"@chromatic-com/storybook": "^3.2.6",
"@eslint/compat": "^2.0.0",
"@eslint/eslintrc": "^3.3.3",
"@eslint/js": "^9.39.1",
"@storybook/addon-a11y": "^8.6.15",
"@storybook/addon-storysource": "^8.6.15",
"@storybook/addon-toolbars": "^8.6.15",
"@storybook/addon-webpack5-compiler-babel": "^3.0.6",
"@storybook/manager-api": "^8.6.15",
"@storybook/react": "^8.6.15",
"@storybook/react-webpack5": "^8.6.15",
"@storybook/source-loader": "^8.6.15",
"@testing-library/dom": "^10.4.1",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.0",
"@testing-library/testcafe": "^5.0.1",
"@testing-library/user-event": "^14.6.1",
"@types/jest": "^30.0.0",
"@types/jest-axe": "^3.5.9",
"@types/node": "^25.0.1",
"@types/react": "^19.2.7",
"@types/react-dom": "^19.2.3",
"@types/styled-components": "^5.1.36",
"babel-core": "^7.0.0-bridge.0",
"babel-jest": "^30.2.0",
"babel-loader": "^10.0.0",
"babel-plugin-styled-components": "^2.1.4",
"babel-plugin-transform-imports": "^2.0.0",
"bundlesize2": "^0.0.35",
"chromatic": "^13.3.3",
"clean-webpack-plugin": "^4.0.0",
"copy-webpack-plugin": "^13.0.1",
"copyfiles": "^2.4.1",
"core-js": "^3.47.0",
"cross-env": "^10.1.0",
"del": "^6.1.1",
"eslint": "^9.39.1",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-babel": "^5.3.1",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-prettier": "^5.5.4",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-testing-library": "^7.13.6",
"fs-extra": "^11.3.2",
"globals": "^16.5.0",
"grommet-theme-hpe": "^7.0.2",
"jest": "^30.2.0",
"jest-axe": "^10.0.0",
"jest-cli": "^30.2.0",
"jest-environment-jsdom": "^30.2.0",
"jest-styled-components": "7.0.5",
"jsdom": "^27.3.0",
"postcss": "^8.5.6",
"pre-commit": "^1.2.2",
"prettier": "^2.8.8",
"pretty-quick": "^4.2.2",
"react": "^19.2.3",
"react-dev-utils": "^12.0.1",
"react-dom": "^19.2.3",
"react-is": "^19.2.3",
"react-shadow": "^20.6.0",
"regenerator-runtime": "^0.14.1",
"simple-git": "^3.30.0",
"storybook": "^8.6.15",
"styled-components": "^6.1.19",
"tarball-extract": "^0.0.6",
"testcafe": "^3.7.4",
"testcafe-react-selectors": "^5.0.3",
"testcafe-reporter-xunit": "^2.2.3",
"ts-jest": "^29.4.6",
"ts-loader": "^9.5.4",
"typescript": "^5.9.3",
"webpack": "^5.103.0",
"webpack-cli": "^6.0.1",
"webpack-dev-server": "^5.2.2"
},
"jest": {
"transform": {
"^.+\\.tsx?$": [
"ts-jest",
{
"tsconfig": "tsconfig.tests.json"
}
],
"^.+\\.jsx?$": "babel-jest"
},
"collectCoverage": true,
"testEnvironment": "jsdom",
"testEnvironmentOptions": {
"url": "http://localhost/"
},
"setupFilesAfterEnv": [
"<rootDir>/src/setupTests.js"
],
"coverageReporters": [
"lcov"
],
"collectCoverageFrom": [
"src/js/components/**/*.js",
"src/js/contexts/**/*.js",
"src/js/themes/**/*.js",
"src/js/utils/**/*.js",
"!src/js/**/**/*.stories.js",
"!src/js/**/**/stories/*.js",
"!src/js/**/**/stories/**/**/*.js",
"!src/js/utils/portal.js",
"!src/js/**/**/doc.js",
"!src/js/components/**/__tests__/**/*.js"
],
"coverageThreshold": {
"global": {
"branches": 76.3,
"functions": 88,
"lines": 87.5,
"statements": 86.6
}
},
"moduleNameMapper": {
"^styled-components": "styled-components/dist/styled-components.browser.cjs.js"
},
"modulePathIgnorePatterns": [
"<rootDir>/dist/"
],
"testPathIgnorePatterns": [
"<rootDir>[/\\\\](dist|node_modules)[/\\\\]",
"components/(.*)/__tests__/(.*)/(.*).js"
]
},
"pre-commit": [
"lint-fix",
"prettier",
"test"
],
"bundlesize": [
{
"path": "./dist/grommet.min.js",
"maxSize": "192 kB"
}
],
"keywords": [
"grommet",
"grommet.io",
"grommetux",
"component",
"library",
"design system",
"framework",
"react",
"theme",
"theming",
"templates",
"sticker sheets",
"design patterns",
"app templates",
"atomic design",
"accessibility",
"WCAG 2.1",
"keyboard navigation",
"screen reader tags",
"color",
"type",
"layout",
"typography",
"interaction",
"ui",
"user interface",
"gui",
"graphical user interface",
"styled-components"
],
"packageManager": "yarn@4.3.1"
}