jpp-toolkit 0.0.11

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/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Julien Papini
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/bin/jpp.js ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import '@jpp-toolkit/cli/bin';
@@ -0,0 +1 @@
1
+ export * from '@jpp-toolkit/eslint-config';
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "jpp-toolkit",
3
+ "version": "0.0.11",
4
+ "description": "A set of tools for JS/TS projects.",
5
+ "keywords": [
6
+ "jpp",
7
+ "toolkit"
8
+ ],
9
+ "homepage": "https://github.com/jpapini/jpp-toolkit/tree/main/packages/toolkit#readme",
10
+ "bugs": {
11
+ "url": "https://github.com/jpapini/jpp-toolkit/issues"
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/jpapini/jpp-toolkit.git",
16
+ "directory": "packages/toolkit"
17
+ },
18
+ "license": "MIT",
19
+ "author": "Julien Papini <julien.papini@gmail.com> (https://github.com/jpapini)",
20
+ "type": "module",
21
+ "exports": {
22
+ "./eslint": "./eslint/index.js",
23
+ "./prettier": "./prettier/index.js",
24
+ "./ts-config/*.json": "./ts-config/*.json",
25
+ "./package.json": "./package.json"
26
+ },
27
+ "bin": {
28
+ "jpp": "bin/jpp.js"
29
+ },
30
+ "files": [
31
+ "bin/jpp.js",
32
+ "eslint/index.js",
33
+ "prettier/index.js",
34
+ "ts-config/*.json"
35
+ ],
36
+ "dependencies": {
37
+ "@jpp-toolkit/cli": "0.0.11",
38
+ "@jpp-toolkit/eslint-config": "0.0.11",
39
+ "@jpp-toolkit/prettier-config": "0.0.11",
40
+ "@jpp-toolkit/git-hooks": "0.0.11",
41
+ "@jpp-toolkit/ts-config": "0.0.11"
42
+ },
43
+ "devDependencies": {
44
+ "eslint": "9.39.1",
45
+ "prettier": "3.7.4"
46
+ },
47
+ "peerDependencies": {
48
+ "eslint": "9",
49
+ "prettier": "3"
50
+ },
51
+ "engines": {
52
+ "node": "24",
53
+ "pnpm": "10"
54
+ },
55
+ "volta": {
56
+ "extends": "../../package.json"
57
+ },
58
+ "publishConfig": {
59
+ "access": "public"
60
+ },
61
+ "scripts": {}
62
+ }
@@ -0,0 +1 @@
1
+ export { default } from '@jpp-toolkit/prettier-config';
@@ -0,0 +1,86 @@
1
+ {
2
+ "$schema": "https://www.schemastore.org/tsconfig.json",
3
+ "display": "Base configuration for TypeScript projects",
4
+
5
+ "compilerOptions": {
6
+ /* Type Checking */
7
+ // Disallow unreachable code after return statements, throw expressions, etc.
8
+ "allowUnreachableCode": false,
9
+ // Disallow unused labels in switch statements and loops.
10
+ "allowUnusedLabels": false,
11
+ // Require exact types for optional properties instead of allowing undefined.
12
+ "exactOptionalPropertyTypes": true,
13
+ // Ensure all switch cases either break or have explicit fallthrough comments.
14
+ "noFallthroughCasesInSwitch": true,
15
+ // Require override keyword when overriding methods in derived classes.
16
+ "noImplicitOverride": true,
17
+ // Error on functions that don't return a value when they should.
18
+ "noImplicitReturns": true,
19
+ // Require bracket notation for accessing properties with dynamic names.
20
+ "noPropertyAccessFromIndexSignature": true,
21
+ // Add undefined to index signature results to catch potential undefined access.
22
+ "noUncheckedIndexedAccess": true,
23
+ // Report errors on unused local variables.
24
+ "noUnusedLocals": true,
25
+ // Report errors on unused function parameters.
26
+ "noUnusedParameters": true,
27
+ // Enable all strict type checking options.
28
+ "strict": true,
29
+
30
+ /* Modules */
31
+ // Use Node.js ESM and CommonJS module system with package.json type field support.
32
+ "module": "nodenext",
33
+ // Use Node.js-style module resolution with package.json exports field support.
34
+ "moduleResolution": "nodenext",
35
+ // Require explicit import assertions for side-effect imports.
36
+ "noUncheckedSideEffectImports": true,
37
+ // Allow importing JSON files as modules.
38
+ "resolveJsonModule": true,
39
+ // Rewrite relative import extensions to match the module system.
40
+ "rewriteRelativeImportExtensions": true,
41
+
42
+ /* Emit */
43
+ // Generate .d.ts declaration files for TypeScript compilation.
44
+ "declaration": true,
45
+ // Generate source maps for declaration files to enable go-to-definition.
46
+ "declarationMap": true,
47
+ // Generate source map files for debugging support.
48
+ "sourceMap": true,
49
+
50
+ /* JavaScript Support */
51
+ // Allow JavaScript files to be included in the compilation.
52
+ "allowJs": true,
53
+ // Enable type checking for JavaScript files.
54
+ "checkJs": true,
55
+
56
+ /* Interop Constraints */
57
+ // Allow default imports from modules without default exports.
58
+ "allowSyntheticDefaultImports": true,
59
+ // Enable interoperability between CommonJS and ES modules.
60
+ "esModuleInterop": true,
61
+ // Enforce consistent casing in file names across different file systems.
62
+ "forceConsistentCasingInFileNames": true,
63
+ // Ensure each file can be transpiled independently without relying on other files.
64
+ "isolatedModules": true,
65
+ // Preserve import and export syntax exactly as written.
66
+ "verbatimModuleSyntax": true,
67
+
68
+ /* Language and Environment */
69
+ // Emit design-type metadata for decorated declarations.
70
+ "emitDecoratorMetadata": true,
71
+ // Enable experimental support for decorators.
72
+ "experimentalDecorators": true,
73
+ // Use React 17+ automatic JSX runtime transformation.
74
+ "jsx": "react-jsx",
75
+ // Include type definitions for ESNext features, DOM APIs, and DOM iterables.
76
+ "lib": ["ESNext", "DOM", "DOM.Iterable"],
77
+ // Target the latest ECMAScript standard for maximum feature support.
78
+ "target": "esnext",
79
+ // Use define semantics for class fields instead of assignment semantics.
80
+ "useDefineForClassFields": true,
81
+
82
+ /* Completeness */
83
+ // Skip type checking of declaration files for faster compilation.
84
+ "skipLibCheck": true
85
+ }
86
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "$schema": "https://www.schemastore.org/tsconfig.json",
3
+ "display": "Bundler configuration for TypeScript projects",
4
+ "extends": "./tsconfig.base.json",
5
+
6
+ "compilerOptions": {
7
+ /* Modules */
8
+ // Allow importing files with any extension when using a bundler.
9
+ "allowArbitraryExtensions": true,
10
+ // Allow importing TypeScript files with .ts/.tsx extensions directly.
11
+ "allowImportingTsExtensions": true,
12
+ // Use the latest ECMAScript module format for modern bundlers.
13
+ "module": "esnext",
14
+ // Use bundler-specific module resolution for tools like Vite, Webpack, etc.
15
+ "moduleResolution": "bundler",
16
+ // Don't rewrite import extensions since bundlers handle them natively.
17
+ "rewriteRelativeImportExtensions": false,
18
+
19
+ /* Emit */
20
+ // Don't generate .d.ts declaration files since bundlers don't need them.
21
+ "declaration": false,
22
+ // Don't generate source maps for declaration files.
23
+ "declarationMap": false,
24
+ // Don't emit any files, let the bundler handle compilation and output.
25
+ "noEmit": true,
26
+ // Don't generate source maps, let the bundler create them instead.
27
+ "sourceMap": false
28
+ }
29
+ }