@eagleoutice/eslint-config-flowr 1.0.2

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.
@@ -0,0 +1,38 @@
1
+ name: release
2
+ on:
3
+ push:
4
+ branches: [main]
5
+ jobs:
6
+ release:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - name: Checkout repository
10
+ uses: actions/checkout@v4
11
+ with:
12
+ token: ${{ secrets.PUSH_TOKEN }}
13
+ fetch-depth: 0
14
+ - name: Configure git user
15
+ run: |
16
+ git config --local user.email "action@github.com"
17
+ git config --local user.name "GitHub Action"
18
+
19
+ - name: Install node
20
+ uses: actions/setup-node@v4
21
+ with:
22
+ node-version: 21.6.x
23
+ registry-url: 'https://registry.npmjs.org/'
24
+ - name: Install deps
25
+ run: npm ci
26
+
27
+ - name: Bump version
28
+ id: version
29
+ run: npm version patch -m "[skip ci] Release %s"
30
+ - name: Push version update commmit
31
+ run: |
32
+ git push
33
+ git push --tags
34
+
35
+ - name: Publish
36
+ run: npm run publish
37
+ env:
38
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
package/README.md ADDED
File without changes
package/index.js ADDED
@@ -0,0 +1,202 @@
1
+ module.exports = {
2
+ "env": {
3
+ "browser": false,
4
+ "node": true,
5
+ "es2022": true
6
+ },
7
+ "extends": [
8
+ "eslint:recommended",
9
+ "plugin:@typescript-eslint/recommended-requiring-type-checking",
10
+ "plugin:@typescript-eslint/strict",
11
+ "plugin:@typescript-eslint/recommended"
12
+ ],
13
+ "overrides": [],
14
+ "parserOptions": {
15
+ "ecmaVersion": "latest",
16
+ "sourceType": "module",
17
+ "project": "./tsconfig.json"
18
+ },
19
+ "parser": "@typescript-eslint/parser",
20
+ "plugins": [
21
+ "@typescript-eslint",
22
+ "eslint-plugin-tsdoc",
23
+ "check-file",
24
+ "@stylistic",
25
+ "@stylistic/js",
26
+ "@stylistic/ts",
27
+ "import"
28
+ ],
29
+ "rules": {
30
+ "@stylistic/js/object-curly-spacing": [
31
+ "error",
32
+ "always"
33
+ ],
34
+ "@stylistic/js/indent": [
35
+ "error",
36
+ "tab",
37
+ {
38
+ "FunctionDeclaration": {
39
+ "parameters": "first"
40
+ },
41
+ "ObjectExpression": 1,
42
+ "SwitchCase": 1
43
+ }
44
+ ],
45
+ "@stylistic/js/quotes": [
46
+ "error",
47
+ "single",
48
+ {
49
+ "avoidEscape": true
50
+ }
51
+ ],
52
+ "@stylistic/no-mixed-spaces-and-tabs": [
53
+ "error",
54
+ "smart-tabs"
55
+ ],
56
+ "no-warning-comments": [
57
+ "error",
58
+ {
59
+ "terms": [
60
+ "todo",
61
+ "fixme",
62
+ "xxx"
63
+ ],
64
+ "location": "anywhere"
65
+ }
66
+ ],
67
+ "@typescript-eslint/non-nullable-type-assertion-style": "off",
68
+ "@typescript-eslint/no-unsafe-enum-comparison": "off",
69
+ "@typescript-eslint/no-redundant-type-constituents": "off",
70
+ "@typescript-eslint/consistent-type-assertions": [
71
+ "error",
72
+ {
73
+ "assertionStyle": "as"
74
+ }
75
+ ],
76
+ "@stylistic/ts/key-spacing": [
77
+ "error",
78
+ {
79
+ "align": "value"
80
+ }
81
+ ],
82
+ "@stylistic/js/semi": [
83
+ "error",
84
+ "never"
85
+ ],
86
+ "@stylistic/js/space-before-function-paren": [
87
+ "error",
88
+ "never"
89
+ ],
90
+ "@stylistic/js/keyword-spacing": "off",
91
+ "check-file/filename-naming-convention": [
92
+ "error",
93
+ {
94
+ "**/*.ts": "?([A-Z])+([a-z])*((-|.)?([A-Z])+([a-z]))"
95
+ }
96
+ ],
97
+ "check-file/folder-match-with-fex": [
98
+ "error",
99
+ {
100
+ "*.spec.{js,jsx,ts,tsx}": "test/**"
101
+ }
102
+ ],
103
+ "@stylistic/ts/keyword-spacing": [
104
+ "error",
105
+ {
106
+ "before": true,
107
+ "after": true,
108
+ "overrides": {
109
+ "if": {
110
+ "after": false
111
+ },
112
+ "for": {
113
+ "after": false
114
+ },
115
+ "while": {
116
+ "after": false
117
+ },
118
+ "do": {
119
+ "after": false
120
+ },
121
+ "catch": {
122
+ "after": false
123
+ },
124
+ "switch": {
125
+ "after": false
126
+ },
127
+ "default": {
128
+ "after": false
129
+ },
130
+ "throw": {
131
+ "after": false
132
+ }
133
+ }
134
+ }
135
+ ],
136
+ "@stylistic/ts/space-before-function-paren": [
137
+ "error",
138
+ "never"
139
+ ],
140
+ "@typescript-eslint/no-unused-vars": [
141
+ "error",
142
+ {
143
+ "argsIgnorePattern": "^_",
144
+ "destructuredArrayIgnorePattern": "^_",
145
+ "varsIgnorePattern": "^_"
146
+ }
147
+ ],
148
+ "tsdoc/syntax": "error",
149
+ "@typescript-eslint/naming-convention": [
150
+ "error",
151
+ {
152
+ "selector": "variable",
153
+ "modifiers": [
154
+ "const",
155
+ "global",
156
+ "exported"
157
+ ],
158
+ "format": [
159
+ "camelCase",
160
+ "PascalCase",
161
+ "UPPER_CASE"
162
+ ],
163
+ "leadingUnderscore": "allow",
164
+ "trailingUnderscore": "allow"
165
+ },
166
+ {
167
+ "selector": "variable",
168
+ "modifiers": [
169
+ "const"
170
+ ],
171
+ "format": [
172
+ "camelCase",
173
+ "PascalCase"
174
+ ],
175
+ "leadingUnderscore": "allow",
176
+ "trailingUnderscore": "allow"
177
+ },
178
+ {
179
+ "selector": "enumMember",
180
+ "format": [
181
+ "StrictPascalCase"
182
+ ],
183
+ "leadingUnderscore": "forbid",
184
+ "trailingUnderscore": "forbid"
185
+ },
186
+ {
187
+ "selector": "typeLike",
188
+ "format": [
189
+ "PascalCase"
190
+ ]
191
+ }
192
+ ],
193
+ "@typescript-eslint/consistent-type-imports": "error",
194
+ "curly": "error",
195
+ "@stylistic/js/brace-style": [
196
+ "error",
197
+ "1tbs"
198
+ ],
199
+ "@stylistic/js/new-parens": "error",
200
+ "import/no-duplicates": "error"
201
+ }
202
+ }
package/package.json ADDED
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "@eagleoutice/eslint-config-flowr",
3
+ "version": "1.0.2",
4
+ "description": "Linting rules for flowr and friends",
5
+ "license": "ISC",
6
+ "main": "index.js",
7
+ "scripts": {
8
+ "publish": "npm publish --access public"
9
+ },
10
+ "peerDependencies": {
11
+ "@stylistic/eslint-plugin": "^1.6.2",
12
+ "@stylistic/eslint-plugin-plus": "^1.6.2",
13
+ "@stylistic/eslint-plugin-ts": "^1.6.2",
14
+ "@typescript-eslint/eslint-plugin": "^6.13.2",
15
+ "eslint": "^8.55.0",
16
+ "eslint-config-standard-with-typescript": "^42.0.0",
17
+ "eslint-plugin-check-file": "^2.6.2",
18
+ "eslint-plugin-import": "^2.29.0",
19
+ "eslint-plugin-n": "^16.3.1",
20
+ "eslint-plugin-promise": "^6.1.1",
21
+ "eslint-plugin-tsdoc": "^0.2.17"
22
+ }
23
+ }