{ "name": "dev.to", "version": "1.0.0", "description": "Where programmers share ideas and help each other grow", "engines": { "yarn": ">=1.21.x", "node": "14.x" }, "main": "index.js", "directories": { "doc": "docs", "lib": "lib", "test": "test" }, "scripts": { "prepare": "husky install", "api-docs:lint": "spectral lint -F hint -v docs/api_v0.yml", "api-docs:serve": "redoc-cli serve docs/api_v0.yml --options.pathInMiddlePanel --options.jsonSampleExpandLevel=all --options.menuToggle -t docs/api_template.hbs --watch", "storybook-prerequisites": "sass -q app/assets/stylesheets/themes:app/javascript/storybook-static/themes && bin/generate-css-utility-classes-docs.js", "prebuild-storybook": "yarn run storybook-prerequisites", "build-storybook": "build-storybook -c app/javascript/.storybook -s app/assets -o app/javascript/storybook-static --quiet", "prestorybook": "yarn run storybook-prerequisites", "storybook": "start-storybook -p 6006 -c app/javascript/.storybook -s app/assets,app/javascript/storybook-static", "lint:frontend": "eslint app/assets/javascripts/**/*.js app/javascript/**/*.jsx app/javascript/**/*.js cypress/**/*.js", "test": "jest app/javascript/ bin/ --coverage", "test:watch": "jest app/javascript/ bin/ --watch", "postcss": "postcss public/assets/*.css -d public/assets 2> postcss_error.log", "e2e": "bin/e2e", "e2e:noseed": "yarn run e2e --no-seed" }, "lint-staged": { "app/assets/config/manifest.js": [ "prettier --write", "eslint --fix -c app/assets/javascripts/.eslintrc.js" ], "docs/api_v0.yml": [ "spectral lint -F hint" ], "*.{js,jsx}": [ "prettier --write", "eslint --fix", "jest --findRelatedTests" ], "{app,spec,config,lib}/**/*.rb": [ "bundle exec rubocop --require rubocop-rspec --auto-correct" ], "app/views/**/*.jbuilder": [ "bundle exec rubocop --require rubocop-rspec --auto-correct" ], "./Gemfile": [ "bundle exec rubocop --require rubocop-rspec --auto-correct" ], "docs/Gemfile": [ "bundle exec rubocop --require rubocop-rspec --auto-correct" ], "*.rake": [ "bundle exec rubocop --require rubocop-rspec --auto-correct" ], "app/**/*.html.erb": [ "bundle exec erblint --autocorrect" ], "*.json": [ "prettier --write" ], "*.scss": [ "prettier --write" ], "*.md": [ "prettier --write --prose-wrap always" ], "*.svg": [ "svgo --pretty" ] }, "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": { "@stoplight/spectral": "5.9.1", "@storybook/addon-a11y": "^6.3.6", "@storybook/addon-actions": "^6.3.5", "@storybook/addon-docs": "^6.3.6", "@storybook/addon-knobs": "^6.2.9", "@storybook/addon-links": "^6.3.6", "@storybook/addon-notes": "^5.3.21", "@storybook/addon-storysource": "^6.3.6", "@storybook/addons": "^6.2.8", "@storybook/preact": "^6.2.9", "@testing-library/cypress": "^7.0.6", "@testing-library/dom": "^7.31.2", "@testing-library/jest-dom": "^5.14.1", "@testing-library/preact": "^2.0.1", "@testing-library/preact-hooks": "^1.1.0", "@testing-library/user-event": "^13.2.0", "babel-core": "^7.0.0-bridge.0", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.3", "babel-loader": "^8.2.2", "css-loader": "^5.2.7", "cssom": "^0.5.0", "cypress": "^7.7.0", "cypress-failed-log": "^2.9.2", "cypress-file-upload": "^5.0.8", "eslint": "^7.31.0", "eslint-config-preact": "^1.1.4", "eslint-config-prettier": "^8.3.0", "eslint-import-resolver-webpack": "^0.13.1", "eslint-plugin-babel": "^5.3.1", "eslint-plugin-cypress": "^2.11.3", "eslint-plugin-ignore-erb": "^0.1.1", "eslint-plugin-import": "^2.23.4", "eslint-plugin-jsx-a11y": "^6.3.1", "eslint-plugin-no-only-tests": "^2.6.0", "eslint-plugin-react": "^7.24.0", "faker": "^5.5.3", "gitdocs": "^2.0.0", "husky": "^7.0.1", "jest": "26.6.3", "jest-axe": "^4.1.0", "jest-fetch-mock": "^3.0.3", "jest-watch-typeahead": "^0.6.3", "jsdom": "^16.6.0", "lint-staged": "^11.0.1", "markdown-loader": "^6.0.0", "prettier": "^2.3.2", "redoc-cli": "0.12.2", "sass": "1.35.2", "sass-loader": "^10.1.1", "style-loader": "^2.0.0", "svgo": "2.3.1", "webpack-bundle-analyzer": "^4.4.2", "webpack-dev-server": "^3.11.2" }, "dependencies": { "@babel/core": "^7.14.8", "@babel/plugin-proposal-class-properties": "^7.13.0", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-transform-react-jsx": "^7.14.5", "@babel/preset-env": "^7.14.7", "@github/clipboard-copy-element": "^1.1.2", "@honeybadger-io/webpack": "^1.2.0", "@rails/ujs": "6.1.4", "@rails/webpacker": "5.4.0", "@reach/combobox": "^0.15.3", "ahoy.js": "^0.3.8", "autoprefixer": "^10.3.1", "babel-preset-preact": "^2.0.0", "canvas": "^2.8.0", "chart.js": "^3.4.1", "clipboard-polyfill": "^3.0.3", "core-js": "3", "file-loader": "^6.2.0", "focus-trap": "^6.6.0", "focus-visible": "^5.2.0", "he": "^1.2.0", "honeybadger-js": "2.3.0", "intersection-observer": "^0.12.0", "linkstate": "^2.0.1", "lodash.debounce": "4.0.8", "postcss": "^8.3.6", "postcss-cli": "^8.3.1", "postcss-cssnext": "^3.1.0", "postcss-smart-import": "^0.7.6", "postscribe": "^2.0.8", "preact": "^10.5.14", "prop-types": "^15.7.2", "pusher-js": "^7.0.3", "rails-erb-loader": "^5.5.2", "stimulus": "^2.0.0", "web-share-wrapper": "^0.2.2" }, "resolutions": { "gitdocs/markdown-to-jsx": "^6.11.4", "gitdocs/prismjs": "^1.23.0", "gitdocs/axios": "^0.21.1" }, "jest": { "setupFiles": [ "jest-localstorage-mock" ] } }