@allthings/eslint-config 3.0.0-dev.0 → 3.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/README.md +41 -8
  2. package/index.js +2 -1
  3. package/node.js +1 -1
  4. package/package.json +17 -13
package/README.md CHANGED
@@ -48,14 +48,6 @@ export default [
48
48
  ]
49
49
  ```
50
50
 
51
- ## Deployment
52
-
53
- Publishing to npm
54
-
55
- ```shell
56
- yarn deploy
57
- ```
58
-
59
51
  ## Development
60
52
 
61
53
  Run `yarn link` in the project folder
@@ -66,3 +58,44 @@ After you finish run in your project `yarn unlink @allthings/eslint-config` and
66
58
  to restore the initial state of dependencies
67
59
 
68
60
  Or you could release a dev npm version with `yarn deploy:dev`. Remember to update the version in package.json
61
+
62
+ ### Production release
63
+
64
+ !! DO NOT `npm version` !!
65
+
66
+ The project uses [semantic-release](https://github.com/semantic-release/semantic-release) which automates the whole package release workflow including:
67
+
68
+ - determining the next version number
69
+ - generating the release notes and publishing the package
70
+
71
+ This repository is also configured to `squash-merge` ([see here](https://github.blog/2016-04-01-squash-your-commits/)).
72
+ When you squash merge, GitHub takes the title of the PR for the squash-merge's commit subject.
73
+
74
+ By choosing a proper PR title e.g. `feat: my new feature` your merged PR will trigger a new release.
75
+ See semantic-releases [docs](https://github.com/semantic-release/semantic-release#how-does-it-work) for available prefixes.
76
+
77
+ ### Development release
78
+
79
+ 1. **Create or check out the target branch** from the commit you want to release.
80
+
81
+ 2. **Push the branch** to trigger the CI pipeline:
82
+
83
+ ```sh
84
+ git push --force origin HEAD:beta # or alpha / next
85
+ ```
86
+
87
+ The pipeline will automatically run `semantic-release`, which detects the branch name, bumps the version with the appropriate pre-release tag, and publishes it to npm under the matching dist-tag. Check [Actions page](https://github.com/allthings/eslint-config/actions) for the release logs.
88
+
89
+ 3. **Install the pre-release** in another project:
90
+
91
+ ```sh
92
+ yarn add -E @allthings/eslint-config@beta # or @alpha / @next
93
+ ```
94
+
95
+ or use exact release (check [versions on npm](https://www.npmjs.com/package/@allthings/eslint-config?activeTab=versions)):
96
+
97
+ ```sh
98
+ yarn add -E @allthings/eslint-config@x.x.x-beta.x
99
+ ```
100
+
101
+ 4. **Promote to stable** – once the pre-release is validated, create a PR from your target branch and proceed with [Production release](#production-release) section.
package/index.js CHANGED
@@ -41,7 +41,7 @@ export default [
41
41
  },
42
42
  plugins: {
43
43
  '@stylistic': stylisticPlugin,
44
- 'jest': jestPlugin,
44
+ jest: jestPlugin,
45
45
  'prefer-arrow': preferArrowPlugin,
46
46
  'simple-import-sort': simpleImportSortPlugin,
47
47
  'typescript-sort-keys': typescriptSortKeysPlugin,
@@ -268,6 +268,7 @@ export default [
268
268
  'react/jsx-uses-react': 'error',
269
269
  'react/jsx-uses-vars': 'error',
270
270
  'react/no-unknown-property': ['error', { ignore: ['css'] }],
271
+ 'react/prop-types': 'off',
271
272
  'react/react-in-jsx-scope': 'off',
272
273
  'simple-import-sort/exports': 'error',
273
274
  'simple-import-sort/imports': 'error',
package/node.js CHANGED
@@ -30,7 +30,7 @@ export default [
30
30
  },
31
31
  plugins: {
32
32
  '@stylistic': stylisticPlugin,
33
- 'jest': jestPlugin,
33
+ jest: jestPlugin,
34
34
  'prefer-arrow': preferArrowPlugin,
35
35
  'simple-import-sort': simpleImportSortPlugin,
36
36
  'typescript-sort-keys': typescriptSortKeysPlugin,
package/package.json CHANGED
@@ -1,9 +1,16 @@
1
1
  {
2
2
  "name": "@allthings/eslint-config",
3
- "version": "3.0.0-dev.0",
3
+ "version": "3.1.0-beta.1",
4
4
  "type": "module",
5
5
  "description": "ESlint shareable config for Allthings style",
6
6
  "main": "index.js",
7
+ "release": {
8
+ "repositoryUrl": "https://github.com/allthings/eslint-config-allthings.git"
9
+ },
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git@github.com:allthings/eslint-config-allthings.git"
13
+ },
7
14
  "exports": {
8
15
  ".": "./index.js",
9
16
  "./node": "./node.js"
@@ -15,15 +22,12 @@
15
22
  "packageManager": "yarn@1.22.22",
16
23
  "scripts": {
17
24
  "lint": "prettier --check .",
25
+ "semantic-release": "semantic-release",
18
26
  "test": "eslint test/",
19
- "predeploy": "yarn test",
20
- "deploy": "yarn publish --new-version $npm_package_version --tag latest --access public",
21
- "deploy:dev": "yarn publish --new-version $npm_package_version --tag dev --access public",
22
- "postdeploy": "git push --tags origin HEAD",
23
27
  "deps": "yarn upgrade-interactive --latest"
24
28
  },
25
29
  "dependencies": {
26
- "@stylistic/eslint-plugin": "3.1.0",
30
+ "@stylistic/eslint-plugin": "^3.1.0",
27
31
  "@typescript-eslint/eslint-plugin": "^8.48.0",
28
32
  "@typescript-eslint/parser": "^8.48.0",
29
33
  "eslint-config-prettier": "^10.1.8",
@@ -43,14 +47,15 @@
43
47
  "globals": "^13.0.0"
44
48
  },
45
49
  "peerDependencies": {
46
- "eslint": "^9.0.0",
47
- "prettier": ">=3.5.0",
48
- "typescript": ">=4.7.4"
50
+ "eslint": ">=9.33.0",
51
+ "prettier": ">=3.8.0",
52
+ "typescript": ">=5.9.0"
49
53
  },
50
54
  "devDependencies": {
51
- "eslint": "^9.0.0",
52
- "prettier": "^3.5.3",
53
- "typescript": "^5.8.3"
55
+ "eslint": "9.39.4",
56
+ "prettier": "3.8.1",
57
+ "semantic-release": "25.0.3",
58
+ "typescript": "5.9.3"
54
59
  },
55
60
  "keywords": [
56
61
  "eslint",
@@ -64,7 +69,6 @@
64
69
  "trailingComma": "all",
65
70
  "useTabs": false
66
71
  },
67
- "repository": "git@github.com:allthings/eslint-config-allthings.git",
68
72
  "author": "Dmitry Markov <forall@stylive.com>",
69
73
  "license": "MIT"
70
74
  }