@wfp/ui
Version:
WFP UI Kit
370 lines (369 loc) • 11.2 kB
JSON
{
"name": "@wfp/ui",
"version": "1.22.5",
"description": "WFP UI Kit",
"license": "Apache-2",
"main": "lib/index.js",
"module": "es/index.js",
"main:scss": "source/globals/styles.scss",
"sideEffects": false,
"scripts": {
"build": "npm run build:rollup && npm run build:css && npm run build:cssmin",
"build:rollup": "rollup -c",
"build:storybook": "rm -r -f docs && build-storybook -s ./src/assets -o docs && npm run build:favicon",
"ci-check": "npm run prettier:diff && npm run lint && npm run test --runInBand && npm run test-ssr",
"build:cssmin": "sass --load-path=node_modules ./src/globals/scss/styles.scss ./assets/css/styles.min.css && postcss ./assets/css/styles.min.css --no-map -u autoprefixer -rs",
"build:css": "sass --load-path=node_modules ./src/globals/scss/styles.scss ./assets/css/styles.css && postcss ./assets/css/styles.css --output ./assets/css/styles.css --use autoprefixer",
"commitmsg": "validate-commit-msg",
"build:favicon": "convert ./src/assets/internal/wfp-favicon-png32.png ./src/assets/internal/wfp-favicon-png512.png -colors 256 docs/favicon.ico",
"contributors:add": "all-contributors add",
"contributors:generate": "all-contributors generate",
"lint": "eslint src",
"precommit": "lint-staged && npm run lint",
"prettier": "prettier --write \"**/*.{scss,css,js}\"",
"prettier:staged": "prettier",
"prettier:diff": "prettier --list-different \"**/*.{scss,css,js}\"",
"semantic-release": "semantic-release",
"start": "npm run storybook",
"storybook": "STORYBOOK_ASSETS=https://uikit.wfp.org/cdn/ STORYBOOK_NPM_VERSION=10.10.3 STORYBOOK_INTERNAL_ASSETS=../ start-storybook -s ./src/assets -p 9000",
"test": "jest",
"test-ssr": "npm run build && node ssr-tests/*.js",
"jest-w": "jest --watch"
},
"overrides": {
"@storybook/addon-docs": {
"@mdx-js/react": "1.6.22"
}
},
"sass": {
"includePaths": [
"./node_modules"
]
},
"keywords": [
"WFP",
"World Food Programme",
"UN",
"United Nations",
"react",
"ui-kit",
"components"
],
"eslintConfig": {
"parser": "babel-eslint",
"extends": [
"eslint:recommended",
"plugin:jsx-a11y/recommended"
],
"plugins": [
"react",
"jsdoc",
"jsx-a11y"
],
"rules": {
"react/jsx-uses-vars": 1,
"react/jsx-uses-react": 1,
"react/no-find-dom-node": 1,
"jsdoc/check-param-names": 2,
"jsdoc/check-tag-names": 2,
"jsdoc/check-types": 2,
"jsx-a11y/no-static-element-interactions": 1,
"jsx-a11y/no-noninteractive-element-interactions": 1,
"jsx-a11y/click-events-have-key-events": 1,
"jsx-a11y/anchor-is-valid": 1,
"jsx-a11y/interactive-supports-focus": 1,
"jsx-a11y/label-has-for": [
1,
{
"components": [
"Label"
],
"required": {
"some": [
"nesting",
"id"
]
},
"allowChildren": true
}
]
},
"env": {
"node": true,
"browser": true,
"es6": true,
"jest": true,
"jasmine": true
},
"globals": {
"__DEV__": true
},
"settings": {
"jsdoc": {
"tagNamePreference": {
"augments": "extends"
}
}
}
},
"peerDependencies": {
"@wfp/icons": "0.2.2",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"dependencies": {
"@carbon/import-once": "^10.5.0",
"invariant": "^2.2.4",
"react-popper-tooltip": "^4.1.0",
"sass": "^1.33.0",
"storybook-addon-designs": "^6.0.0-alpha.3",
"warning": "^4.0.3",
"window-or-global": "^1.0.1"
},
"devDependencies": {
"@babel/plugin-proposal-decorators": "^7.10.5",
"@babel/plugin-proposal-do-expressions": "^7.10.4",
"@babel/plugin-proposal-export-default-from": "^7.10.4",
"@babel/plugin-proposal-export-namespace-from": "^7.10.4",
"@babel/plugin-proposal-function-sent": "^7.10.4",
"@babel/plugin-proposal-logical-assignment-operators": "^7.11.0",
"@babel/plugin-proposal-pipeline-operator": "^7.10.5",
"@babel/plugin-proposal-throw-expressions": "^7.10.4",
"@babel/plugin-syntax-export-default-from": "^7.10.4",
"@babel/plugin-syntax-import-meta": "^7.10.4",
"@popperjs/core": "^2.4.4",
"@semantic-release/commit-analyzer": "^8.0.1",
"@semantic-release/exec": "^5.0.0",
"@semantic-release/git": "^9.0.0",
"@semantic-release/npm": "^7.1.3",
"@semantic-release/release-notes-generator": "^9.0.1",
"@storybook/addon-a11y": "6.2.3",
"@storybook/addon-actions": "6.2.3",
"@storybook/addon-backgrounds": "6.2.3",
"@storybook/addon-controls": "6.2.3",
"@storybook/addon-cssresources": "6.2.3",
"@storybook/addon-docs": "6.2.3",
"@storybook/addon-links": "6.2.3",
"@storybook/addon-toolbars": "6.2.3",
"@storybook/addon-viewport": "^6.0.28",
"@storybook/addons": "7.6.17",
"@storybook/builder-webpack5": "^6.2.3",
"@storybook/react": "6.2.3",
"@storybook/theming": "8.0.4",
"@tippy.js/react": "^3.1.1",
"@typescript-eslint/eslint-plugin": "^4.9.0",
"@typescript-eslint/parser": "^3.8.0",
"@wfp/icons": "0.2.1",
"add": "^2.0.6",
"all-contributors-cli": "^6.17.0",
"autoprefixer": "^9.8.6",
"babel-eslint": "^10.1.0",
"babel-loader": "^8.1.0",
"babel-plugin-dev-expression": "^0.2.2",
"browserslist-config-carbon": "^10.4.0",
"classnames": "2.2.6",
"clean-webpack-plugin": "^3.0.0",
"core-js": "^3.6.5",
"css-loader": "^4.2.1",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.2",
"enzyme-to-json": "^3.5.0",
"eslint": "^7.6.0",
"eslint-config-react-app": "^5.2.1",
"eslint-loader": "4.0.2",
"eslint-plugin-flowtype": "^5.2.0",
"eslint-plugin-import": "^2.22.0",
"eslint-plugin-jsdoc": "^30.2.1",
"eslint-plugin-jsx-a11y": "^6.3.1",
"eslint-plugin-react": "^7.20.5",
"eslint-plugin-react-hooks": "^4.0.8",
"extract-text-webpack-plugin": "^3.0.2",
"fast-sass-loader": "^1.5.0",
"file-loader": "^6.0.0",
"final-form": "^4.20.1",
"flexboxgrid": "^6.3.1",
"fuse.js": "^6.4.1",
"generic-names": "^2.0.1",
"gzip-size": "^5.1.1",
"handlebars": "^4.7.6",
"jest": "^26.2.2",
"lint-staged": "^10.2.11",
"lodash.debounce": "^4.0.8",
"lodash.isequal": "^4.5.0",
"lodash.omit": "^4.5.0",
"mini-css-extract-plugin": "^0.9.0",
"moment": "^2.27.0",
"object-assign": "^4.1.1",
"postcss": "^8.3.0",
"postcss-cli": "^8.3.1",
"postcss-loader": "^5.3.0",
"prettier": "^2.0.5",
"pretty": "^2.0.0",
"prismjs": "^1.20.0",
"promise": "^8.1.0",
"prop-types": "^15.7.2",
"raw-loader": "^4.0.1",
"react": "^18.2.0",
"react-dates": "^21.8.0",
"react-dom": "^18.2.0",
"react-dropzone": "^11.0.2",
"react-final-form": "^6.5.1",
"react-hook-form": "^7.20.5",
"react-is": "^16.13.1",
"react-markdown": "^4.3.1",
"react-popper": "^2.2.3",
"react-prism": "^4.3.2",
"react-redux": "^7.2.1",
"react-select": "^3.1.0",
"react-table": "7.5.0",
"react-toastify": "^6.0.8",
"react-truncate": "^2.4.0",
"recharts": "^2.0.0-beta.6",
"redux-form": "^8.3.6",
"redux-form-website-template": "^1.0.13",
"requestanimationframe": "^0.0.23",
"rimraf": "^3.0.2",
"rollup": "^2.23.0",
"rollup-plugin-babel": "^4.4.0",
"rollup-plugin-commonjs": "^10.1.0",
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-replace": "^2.2.0",
"rollup-plugin-strip-banner": "^2.0.0",
"rollup-plugin-terser": "^6.1.0",
"sass-loader": "^9.0.3",
"semantic-release": "^17.2.3",
"semantic-release-ado": "^1.2.2",
"story-description-loader": "^1.0.0",
"style-loader": "^1.2.1",
"terser-webpack-plugin": "^4.0.0",
"twig": "^1.15.4",
"validate-commit-msg": "^2.14.0",
"wcag-contrast": "^3.0.0",
"webpack": "^4.44.1",
"webpack-cli": "^3.3.12",
"whatwg-fetch": "^3.3.1",
"xml2js": "^0.4.23"
},
"babel": {
"presets": [
"./scripts/env",
"@babel/preset-react"
],
"plugins": [
"dev-expression",
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-syntax-import-meta",
"@babel/plugin-syntax-export-default-from",
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-json-strings",
[
"@babel/plugin-proposal-decorators",
{
"legacy": true
}
],
"@babel/plugin-proposal-function-sent",
"@babel/plugin-proposal-export-namespace-from",
"@babel/plugin-proposal-numeric-separator",
"@babel/plugin-proposal-throw-expressions",
"@babel/plugin-proposal-export-default-from",
"@babel/plugin-proposal-logical-assignment-operators",
"@babel/plugin-proposal-optional-chaining",
[
"@babel/plugin-proposal-pipeline-operator",
{
"proposal": "minimal"
}
],
"@babel/plugin-proposal-nullish-coalescing-operator",
"@babel/plugin-proposal-do-expressions"
]
},
"prettier": {
"jsxBracketSameLine": true,
"printWidth": 80,
"singleQuote": true,
"trailingComma": "es5"
},
"lint-staged": {
"*.js": [
"npm prettier",
"npm lint",
"git add"
],
"*.{css,scss}": [
"npm prettier",
"git add"
]
},
"config": {
"validate-commit-msg": {
"types": [
"feat",
"fix",
"docs",
"style",
"refactor",
"perf",
"test",
"chore",
"revert"
],
"warnOnFail": false,
"maxSubjectLength": 100,
"subjectPattern": ".+",
"subjectPatternErrorMsg": "Subject does not match subject pattern!"
},
"commitizen": {
"path": "./node_modules/cz-conventional-changelog-components"
}
},
"repository": {
"type": "git",
"url": "https://github.com/wfp/ui.git"
},
"types": "src/types/index.d.ts",
"jest": {
"collectCoverageFrom": [
"src/components/**/*.js",
"!src/components/**/*-story.js"
],
"coverageDirectory": "coverage",
"coverageReporters": [
"text",
"html"
],
"setupFiles": [
"<rootDir>/config/jest/setup.js"
],
"testMatch": [
"<rootDir>/**/__tests__/**/*.js?(x)",
"<rootDir>/**/?(*-)(spec|test).js?(x)"
],
"testURL": "http://localhost",
"transform": {
"^.+\\.(js|jsx)$": "<rootDir>/config/jest/jsTransform.js",
"^.+\\.s?css$": "<rootDir>/config/jest/cssTransform.js",
"^(?!.*\\.(js|jsx|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
},
"testPathIgnorePatterns": [
"/node_modules/",
"/examples/",
"/config/",
"/lib/",
"/es/",
"/cjs/"
],
"transformIgnorePatterns": [
"[/\\\\]node_modules[/\\\\].+\\.(js|jsx)$"
],
"moduleFileExtensions": [
"js",
"json"
],
"snapshotSerializers": [
"enzyme-to-json/serializer"
]
},
"bundleSizeThreshold": 80000
}