@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 ADDED
@@ -0,0 +1,15 @@
1
+ root = true
2
+
3
+ [*]
4
+ end_of_line = lf
5
+ insert_final_newline = true
6
+ charset = utf-8
7
+ indent_style = space
8
+ indent_size = 2
9
+ trim_trailing_whitespace = true
10
+
11
+ [*.json]
12
+ insert_final_newline = false
13
+
14
+ [Makefile]
15
+ indent_style = tab
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
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "@vellone/techsak",
3
+ "version": "1.0.0",
4
+ "description": "matheusvellone's personal tech sak (swiss army knife)",
5
+ "keywords": [],
6
+ "author": "matheusvellone",
7
+ "license": "MIT"
8
+ }
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
+ }