@vellone/techsak 1.0.0
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.
- package/.editorconfig +15 -0
- package/.eslintrc.json +86 -0
- package/Makefile +16 -0
- package/README.md +11 -0
- package/package.json +8 -0
- package/tsconfig.json +49 -0
package/.editorconfig
ADDED
package/.eslintrc.json
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": [
|
|
3
|
+
"next/core-web-vitals",
|
|
4
|
+
"plugin:@typescript-eslint/strict"
|
|
5
|
+
],
|
|
6
|
+
"plugins": [
|
|
7
|
+
"@typescript-eslint",
|
|
8
|
+
"eslint-comments",
|
|
9
|
+
"unicorn"
|
|
10
|
+
],
|
|
11
|
+
"parser": "@typescript-eslint/parser",
|
|
12
|
+
"parserOptions": {
|
|
13
|
+
"project": ["tsconfig.json"]
|
|
14
|
+
},
|
|
15
|
+
"rules": {
|
|
16
|
+
"keyword-spacing": ["error", {
|
|
17
|
+
"before": true,
|
|
18
|
+
"after": true
|
|
19
|
+
}],
|
|
20
|
+
"indent": ["error", 2],
|
|
21
|
+
"no-extra-semi": "error",
|
|
22
|
+
"semi": ["error", "never"],
|
|
23
|
+
"quotes": ["error", "single", {
|
|
24
|
+
"avoidEscape": true
|
|
25
|
+
}],
|
|
26
|
+
"prefer-const": "error",
|
|
27
|
+
"space-before-blocks": "error",
|
|
28
|
+
"comma-dangle": ["error", "always-multiline"],
|
|
29
|
+
"no-multiple-empty-lines": ["error", {
|
|
30
|
+
"max": 1,
|
|
31
|
+
"maxBOF": 0,
|
|
32
|
+
"maxEOF": 0
|
|
33
|
+
}],
|
|
34
|
+
"no-multi-spaces": "error",
|
|
35
|
+
"no-console": "error",
|
|
36
|
+
"no-alert": "error",
|
|
37
|
+
"no-useless-computed-key": "error",
|
|
38
|
+
"quote-props": ["error", "as-needed"],
|
|
39
|
+
"no-unused-expressions": "error",
|
|
40
|
+
// Queria na verdade configurar que "ou é tudo em uma linha ou é tudo em várias linhas", mas não consegui.
|
|
41
|
+
// Esse foi o mais próximo disso que consegui
|
|
42
|
+
"object-curly-newline": ["error", {
|
|
43
|
+
"ObjectExpression": { "multiline": true, "minProperties": 5, "consistent": true },
|
|
44
|
+
"ObjectPattern": { "multiline": true, "minProperties": 5, "consistent": true },
|
|
45
|
+
"ImportDeclaration": { "multiline": true, "minProperties": 50, "consistent": true },
|
|
46
|
+
"ExportDeclaration": { "multiline": true, "minProperties": 5, "consistent": true }
|
|
47
|
+
}],
|
|
48
|
+
"object-property-newline": ["error", {
|
|
49
|
+
"allowAllPropertiesOnSameLine": true
|
|
50
|
+
}],
|
|
51
|
+
|
|
52
|
+
"import/no-deprecated": "error",
|
|
53
|
+
"import/no-anonymous-default-export": [0],
|
|
54
|
+
"import/no-unused-modules": ["error", {
|
|
55
|
+
"unusedExports": true,
|
|
56
|
+
"ignoreExports": [
|
|
57
|
+
"./src/app"
|
|
58
|
+
]
|
|
59
|
+
}],
|
|
60
|
+
|
|
61
|
+
"require-await": "off",
|
|
62
|
+
"@typescript-eslint/require-await": "error",
|
|
63
|
+
|
|
64
|
+
"@typescript-eslint/await-thenable": "error",
|
|
65
|
+
"@typescript-eslint/array-type": ["error", {
|
|
66
|
+
"default": "array-simple"
|
|
67
|
+
}],
|
|
68
|
+
"@typescript-eslint/no-unused-vars": "error",
|
|
69
|
+
"@typescript-eslint/no-require-imports": "error",
|
|
70
|
+
"@typescript-eslint/no-duplicate-enum-values": "error",
|
|
71
|
+
"@typescript-eslint/no-unnecessary-condition": "error",
|
|
72
|
+
"@typescript-eslint/no-inferrable-types": "error",
|
|
73
|
+
"@typescript-eslint/no-floating-promises": "error",
|
|
74
|
+
"@typescript-eslint/ban-ts-comment": "error",
|
|
75
|
+
|
|
76
|
+
"eslint-comments/no-unlimited-disable": "error",
|
|
77
|
+
"eslint-comments/no-unused-disable": "error",
|
|
78
|
+
"eslint-comments/no-use": ["error", {
|
|
79
|
+
"allow": [
|
|
80
|
+
"eslint-disable-next-line"
|
|
81
|
+
]
|
|
82
|
+
}],
|
|
83
|
+
|
|
84
|
+
"unicorn/no-unused-properties": "error"
|
|
85
|
+
}
|
|
86
|
+
}
|
package/Makefile
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
.PHONY: default
|
|
2
|
+
default: help
|
|
3
|
+
|
|
4
|
+
## Public commands
|
|
5
|
+
|
|
6
|
+
.PHONY: update-packages
|
|
7
|
+
update-packages: ## Interactively updates packages
|
|
8
|
+
@npx npm-check-updates -i
|
|
9
|
+
|
|
10
|
+
## Hidden commands
|
|
11
|
+
|
|
12
|
+
.PHONY: help
|
|
13
|
+
help:
|
|
14
|
+
@echo "Make tasks:\n"
|
|
15
|
+
@grep -hE '^[%a-zA-Z_-]+:.*?## .*$$' Makefile | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m %-17s\033[0m %s\n", $$1, $$2}'
|
|
16
|
+
@echo ""
|
package/README.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
MatheusVellone's Tech SAK (Swiss Army Knife)
|
|
2
|
+
---
|
|
3
|
+
|
|
4
|
+
This project is a collection of tools and utilities that I've created to help me in my day-to-day work. I've decided to share them with the community in the hope that they can be useful to others as well.
|
|
5
|
+
|
|
6
|
+
## Eslint Config
|
|
7
|
+
## TSConfig
|
|
8
|
+
|
|
9
|
+
## Makefile
|
|
10
|
+
Commands with `##` after the target are 'public' commands and are intended to be used by developers.
|
|
11
|
+
The other commands are 'hidden' and are intended to be used by automations or by 'public' commands.
|
package/package.json
ADDED
package/tsconfig.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"ts-node": {
|
|
3
|
+
"files": true,
|
|
4
|
+
"require": [
|
|
5
|
+
"tsconfig-paths/register"
|
|
6
|
+
],
|
|
7
|
+
"compilerOptions": {
|
|
8
|
+
"module": "commonjs"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"compilerOptions": {
|
|
12
|
+
"target": "es5",
|
|
13
|
+
"types": [
|
|
14
|
+
"@serwist/next/typings"
|
|
15
|
+
],
|
|
16
|
+
"lib": ["dom", "dom.iterable", "esnext", "webworker"],
|
|
17
|
+
"allowJs": true,
|
|
18
|
+
"skipLibCheck": true,
|
|
19
|
+
"noEmit": true,
|
|
20
|
+
"esModuleInterop": true,
|
|
21
|
+
"module": "esnext",
|
|
22
|
+
"moduleResolution": "bundler",
|
|
23
|
+
"resolveJsonModule": true,
|
|
24
|
+
"isolatedModules": true,
|
|
25
|
+
"jsx": "preserve",
|
|
26
|
+
"incremental": true,
|
|
27
|
+
"plugins": [
|
|
28
|
+
{ "name": "next" }
|
|
29
|
+
],
|
|
30
|
+
"baseUrl": ".",
|
|
31
|
+
"paths": {
|
|
32
|
+
"~/*": ["./src/*"]
|
|
33
|
+
},
|
|
34
|
+
|
|
35
|
+
"strict": true,
|
|
36
|
+
|
|
37
|
+
"allowUnreachableCode": false,
|
|
38
|
+
"allowUnusedLabels": false,
|
|
39
|
+
"exactOptionalPropertyTypes": false,
|
|
40
|
+
"noImplicitOverride": true,
|
|
41
|
+
"noImplicitReturns": true,
|
|
42
|
+
"noPropertyAccessFromIndexSignature": true,
|
|
43
|
+
"noUncheckedIndexedAccess": true,
|
|
44
|
+
"noUnusedLocals": true,
|
|
45
|
+
"noUnusedParameters": true,
|
|
46
|
+
},
|
|
47
|
+
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
|
|
48
|
+
"exclude": ["node_modules"]
|
|
49
|
+
}
|