* Add release scripts * Use `delete` over `gsub` with an empty string Co-authored-by: Michael Kohl <citizen428@dev.to> * wip * wip * Include stable release-channel branches in builds * Add changelog stub * Include the union of changes to the changelog * Add things * Add stuff * Remove test changelog content * Fix String#delete call Extraneous `.` made Ruby parse it as a range * Fix suggested release command * Use backticks to denote a command to run * Add debugging output to script * Build more appropriate containers for stable This includes tags * Check if branch *starts with* release channel name * Cache tag builds from production tag * Skip trying to build containers for untagged pushes * Clear out stubbed changelog * Update PR template to incorporate CHANGELOG.md * Run Rubocop on release scripts This excludes some linter rules that only make sense in code that is running as part of the Rails app. For example, we can't rely on `ActiveSupport::TimeWithZone` because these scripts don't load Rails, and we define top-level methods because they're scripts rather than complex applications. Co-authored-by: Michael Kohl <citizen428@dev.to>
192 lines
6.2 KiB
JSON
192 lines
6.2 KiB
JSON
{
|
|
"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"
|
|
],
|
|
"scripts/{release,stage_release}": [
|
|
"bundle exec rubocop --require rubocop-rspec --auto-correct --except Style/TopLevelMethodDefinition,Rails/Date"
|
|
],
|
|
"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.1",
|
|
"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.36.0",
|
|
"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"
|
|
]
|
|
}
|
|
}
|