121 lines
3.4 KiB
JSON
121 lines
3.4 KiB
JSON
{
|
|
"name": "Dev.to",
|
|
"version": "1.0.0",
|
|
"description": "Where programmers share ideas and help each other grow",
|
|
"main": "index.js",
|
|
"directories": {
|
|
"doc": "docs",
|
|
"lib": "lib",
|
|
"test": "test"
|
|
},
|
|
"scripts": {
|
|
"test": "jest app/javascript/ --coverage",
|
|
"test:watch": "jest app/javascript/ --watch",
|
|
"storybook": "start-storybook -p 6006 -c app/javascript/.storybook -s app/javascript/.storybook/assets",
|
|
"build-storybook": "build-storybook -c app/javascript/.storybook -s app/javascript/.storybook/assets",
|
|
"api-docs:serve": "yarn redoc-cli serve docs/api_v0.yml --options.pathInMiddlePanel --options.jsonSampleExpandLevel=all --options.menuToggle -t docs/api_template.hbs --watch"
|
|
},
|
|
"husky": {
|
|
"hooks": {
|
|
"pre-commit": "lint-staged"
|
|
}
|
|
},
|
|
"lint-staged": {
|
|
"*.{js,jsx}": [
|
|
"prettier --write",
|
|
"eslint --fix",
|
|
"git add"
|
|
],
|
|
"{app,spec,config,lib}/**/*.rb": [
|
|
"bundle exec rubocop --require rubocop-rspec --safe-auto-correct",
|
|
"git add"
|
|
],
|
|
"Gemfile": [
|
|
"bundle exec rubocop --require rubocop-rspec --safe-auto-correct",
|
|
"git add"
|
|
],
|
|
"app/**/*.html.erb": [
|
|
"bundle exec erblint",
|
|
"git add"
|
|
],
|
|
"*.json": [
|
|
"prettier --write",
|
|
"git add"
|
|
],
|
|
"*.md": [
|
|
"prettier --write --prose-wrap always",
|
|
"git add"
|
|
]
|
|
},
|
|
"prettier": {
|
|
"singleQuote": true,
|
|
"trailingComma": "all",
|
|
"printWidth": 80
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/thepracticaldev/dev.to.git"
|
|
},
|
|
"author": "",
|
|
"license": "AGPL-3.0-or-later",
|
|
"bugs": {
|
|
"url": "https://github.com/thepracticaldev/dev.to/issues"
|
|
},
|
|
"homepage": "https://github.com/thepracticaldev/dev.to#readme",
|
|
"devDependencies": {
|
|
"@storybook/addon-actions": "^5.1.9",
|
|
"@storybook/addon-links": "^5.1.9",
|
|
"@storybook/addons": "^5.1.8",
|
|
"@storybook/react": "^3.4.11",
|
|
"babel-eslint": "^10.0.3",
|
|
"babel-jest": "^23.4.2",
|
|
"eslint": "^5.16.0",
|
|
"eslint-config-airbnb": "^17.1.1",
|
|
"eslint-config-airbnb-base": "^14.0.0",
|
|
"eslint-config-prettier": "^6.7.0",
|
|
"eslint-plugin-babel": "^5.3.0",
|
|
"eslint-plugin-ignore-erb": "^0.1.1",
|
|
"eslint-plugin-import": "^2.19.1",
|
|
"eslint-plugin-jsx-a11y": "^6.2.3",
|
|
"eslint-plugin-react": "^7.17.0",
|
|
"faker": "^4.1.0",
|
|
"husky": "^3.1.0",
|
|
"jest": "^23.5.0",
|
|
"jest-axe": "^3.2.0",
|
|
"jest-fetch-mock": "^2.1.2",
|
|
"jsdom": "^15.2.1",
|
|
"lint-staged": "^9.5.0",
|
|
"preact-render-spy": "1.3.0",
|
|
"preact-render-to-json": "^3.6.6",
|
|
"prettier": "^1.19.1",
|
|
"redoc-cli": "0.9.4",
|
|
"webpack-dev-server": "^2.11.3"
|
|
},
|
|
"dependencies": {
|
|
"@github/clipboard-copy-element": "^1.1.1",
|
|
"@rails/webpacker": "^3.5.5",
|
|
"babel-plugin-transform-react-jsx": "^6.24.1",
|
|
"babel-preset-preact": "^1.1.0",
|
|
"chart.js": "^2.9.3",
|
|
"clipboard-polyfill": "^2.8.6",
|
|
"codemirror": "^5.49.2",
|
|
"focus-visible": "^5.0.2",
|
|
"intersection-observer": "^0.7.0",
|
|
"linkstate": "^1.1.1",
|
|
"lodash.debounce": "4.0.8",
|
|
"marked": "^0.8.0",
|
|
"postscribe": "^2.0.8",
|
|
"preact": "^8.5.3",
|
|
"preact-compat": "^3.19.0",
|
|
"preact-textarea-autosize": "^4.0.7",
|
|
"prop-types": "^15.7.2",
|
|
"pusher-js": "^5.0.3",
|
|
"twilio-video": "^1.20.0",
|
|
"web-share-wrapper": "^0.2.1"
|
|
},
|
|
"jest": {
|
|
"setupFiles": [
|
|
"jest-localstorage-mock"
|
|
]
|
|
}
|
|
}
|