@titocandradev/neatcore 0.1.0 โ 0.2.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/README.md +142 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +123 -119
package/README.md
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# @tito/neatcore
|
|
2
|
+
|
|
3
|
+
> Zero-dependency, tree-shakeable, TypeScript-first utility library.
|
|
4
|
+
|
|
5
|
+
NeatCore is a lightweight utility library for JavaScript & TypeScript
|
|
6
|
+
focused on:
|
|
7
|
+
|
|
8
|
+
- โ
Zero Dependency
|
|
9
|
+
- ๐ฒ Fully Tree-Shakeable
|
|
10
|
+
- ๐ง Strongly Typed (TypeScript First)
|
|
11
|
+
- โก Small & Performant
|
|
12
|
+
- ๐ Ecosystem-Ready Foundation
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## ๐ฆ Installation
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install @tito/neatcore
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
or
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
pnpm add @tito/neatcore
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
or
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
bun add @tito/neatcore
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## ๐ Usage
|
|
37
|
+
|
|
38
|
+
### ES Module
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
import { firstUppercase } from "@tito/neatcore";
|
|
42
|
+
|
|
43
|
+
firstUppercase("tito candra");
|
|
44
|
+
// โ "Tito Candra"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### CommonJS
|
|
48
|
+
|
|
49
|
+
```js
|
|
50
|
+
const { firstUppercase } = require("@tito/neatcore");
|
|
51
|
+
|
|
52
|
+
firstUppercase("tito candra");
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## ๐งฐ Available Utilities (V1 Scope)
|
|
58
|
+
|
|
59
|
+
### ๐ค String
|
|
60
|
+
|
|
61
|
+
- `firstUppercase(str: string): string`
|
|
62
|
+
|
|
63
|
+
Example:
|
|
64
|
+
|
|
65
|
+
```ts
|
|
66
|
+
firstUppercase("hello world");
|
|
67
|
+
// โ "Hello World"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## ๐ฏ Design Principles
|
|
73
|
+
|
|
74
|
+
NeatCore is built with the following principles:
|
|
75
|
+
|
|
76
|
+
- Small surface API
|
|
77
|
+
- Explicit over magic
|
|
78
|
+
- Functional and predictable
|
|
79
|
+
- No hidden mutation
|
|
80
|
+
- Strong typing by default
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## ๐ฒ Tree-Shaking Friendly
|
|
85
|
+
|
|
86
|
+
Import only what you need:
|
|
87
|
+
|
|
88
|
+
```ts
|
|
89
|
+
import { firstUppercase } from "@tito/neatcore";
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Modern bundlers like Vite, Webpack, and Rollup will automatically remove
|
|
93
|
+
unused code.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## ๐งช Testing
|
|
98
|
+
|
|
99
|
+
This library uses:
|
|
100
|
+
|
|
101
|
+
- Vitest
|
|
102
|
+
- Coverage support
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## ๐ Build
|
|
107
|
+
|
|
108
|
+
Build tool: - tsup
|
|
109
|
+
|
|
110
|
+
Output: - ESM - CJS - Type Definitions
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## ๐ฃ Roadmap
|
|
115
|
+
|
|
116
|
+
V1 Scope: - Array utilities - Object utilities - String utilities -
|
|
117
|
+
Function utilities
|
|
118
|
+
|
|
119
|
+
Future plans: - Advanced typing utilities - Performance helpers - DX
|
|
120
|
+
improvements - Plugin ecosystem
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## ๐ License
|
|
125
|
+
|
|
126
|
+
MIT
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## ๐จโ๐ป Author
|
|
131
|
+
|
|
132
|
+
Tito Candra\
|
|
133
|
+
GitHub: https://github.com/tcandra24
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## โญ Why NeatCore?
|
|
138
|
+
|
|
139
|
+
Because small utilities are often underestimated.
|
|
140
|
+
|
|
141
|
+
NeatCore is designed as a strongly-typed engineering utility foundation
|
|
142
|
+
--- not just another helper library.
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/array/chunk.ts","../src/array/unique.ts","../src/function/debounce.ts","../src/object/get.ts","../src/string/capitalize.ts"],"names":["chunk","arr","size","result","i","unique","array","debounce","fn","delay","timeout","args","get","obj","path","defaultValue","keys","key","capitalize","str"],"mappings":"aAAO,SAASA,CAAAA,CAASC,CAAAA,CAAUC,CAAAA,CAAqB,CACtD,IAAMC,CAAAA,CAAgB,EAAC,CAEvB,IAAA,IAASC,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAIH,CAAAA,CAAI,OAAQG,CAAAA,EAAKF,CAAAA,CACnCC,CAAAA,CAAO,IAAA,CAAKF,CAAAA,CAAI,KAAA,CAAMG,CAAAA,CAAGA,CAAAA,CAAIF,CAAI,CAAC,CAAA,CAGpC,OAAOC,CACT,CCRO,SAASE,CAAAA,CAAUC,CAAAA,CAAiB,CACzC,OAAO,CAAC,GAAG,IAAI,GAAA,CAAIA,CAAK,CAAC,CAC3B,CCFO,SAASC,CAAAA,CAA6CC,EAAOC,CAAAA,CAAe,CACjF,IAAIC,CAAAA,CAEJ,OAAO,SAAA,GAAaC,CAAAA,CAAqB,CACvC,YAAA,CAAaD,CAAO,CAAA,CAEpBA,CAAAA,CAAU,UAAA,CAAW,IAAM,CACzBF,CAAAA,CAAG,GAAGG,CAAI,EACZ,CAAA,CAAGF,CAAK,EACV,CACF,CCVO,SAASG,CAAAA,CAAIC,CAAAA,CAAUC,CAAAA,CAAcC,CAAAA,CAAoB,CAC9D,IAAMC,CAAAA,CAAOF,CAAAA,CAAK,KAAA,CAAM,GAAG,CAAA,CACvBX,CAAAA,CAASU,CAAAA,CAEb,IAAA,IAAWI,CAAAA,IAAOD,CAAAA,CAAM,CACtB,GAAIb,CAAAA,EAAU,KAAM,OAAOY,CAAAA,CAC3BZ,CAAAA,CAASA,CAAAA,CAAOc,CAAG,EACrB,CAEA,OAAOd,CAAAA,GAAW,MAAA,CAAYY,CAAAA,CAAeZ,CAC/C,CCVO,SAASe,CAAAA,CAAWC,CAAAA,CAAqB,CAC9C,OAAKA,CAAAA,EACEA,CAAAA,CAAI,MAAA,CAAO,CAAC,CAAA,CAAE,WAAA,EAAY,CAAIA,CAAAA,CAAI,KAAA,CAAM,CAAC,CAClD","file":"index.cjs","sourcesContent":["export function chunk<T>(arr: T[], size: number): T[][] {\n const result: T[][] = [];\n\n for (let i = 0; i < arr.length; i += size) {\n result.push(arr.slice(i, i + size));\n }\n\n return result;\n}\n","export function unique<T>(array: T[]): T[] {\n return [...new Set(array)];\n}\n","export function debounce<T extends (...args: any[]) => void>(fn: T, delay: number) {\n let timeout: ReturnType<typeof setTimeout>;\n\n return function (...args: Parameters<T>) {\n clearTimeout(timeout);\n\n timeout = setTimeout(() => {\n fn(...args);\n }, delay);\n };\n}\n","export function get(obj: any, path: string, defaultValue?: any) {\n const keys = path.split(\".\");\n let result = obj;\n\n for (const key of keys) {\n if (result == null) return defaultValue;\n result = result[key];\n }\n\n return result === undefined ? defaultValue : result;\n}\n","export function capitalize(str: string): string {\n if (!str) return str;\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/array/chunk.ts","../src/array/unique.ts","../src/function/debounce.ts","../src/object/get.ts","../src/string/capitalize.ts"],"names":["chunk","arr","size","result","i","unique","array","debounce","fn","delay","timeout","args","get","obj","path","defaultValue","keys","key","capitalize","str"],"mappings":"aAAO,SAASA,CAAAA,CAASC,CAAAA,CAAUC,CAAAA,CAAqB,CACtD,IAAMC,CAAAA,CAAgB,EAAC,CAEvB,IAAA,IAASC,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAIH,CAAAA,CAAI,OAAQG,CAAAA,EAAKF,CAAAA,CACnCC,CAAAA,CAAO,IAAA,CAAKF,CAAAA,CAAI,KAAA,CAAMG,CAAAA,CAAGA,CAAAA,CAAIF,CAAI,CAAC,CAAA,CAGpC,OAAOC,CACT,CCRO,SAASE,CAAAA,CAAUC,CAAAA,CAAiB,CACzC,OAAO,CAAC,GAAG,IAAI,GAAA,CAAIA,CAAK,CAAC,CAC3B,CCFO,SAASC,CAAAA,CAA6CC,EAAOC,CAAAA,CAAe,CACjF,IAAIC,CAAAA,CAEJ,OAAO,SAAA,GAAaC,CAAAA,CAAqB,CACvC,YAAA,CAAaD,CAAO,CAAA,CAEpBA,CAAAA,CAAU,UAAA,CAAW,IAAM,CACzBF,CAAAA,CAAG,GAAGG,CAAI,EACZ,CAAA,CAAGF,CAAK,EACV,CACF,CCVO,SAASG,CAAAA,CAAIC,CAAAA,CAAUC,CAAAA,CAAcC,CAAAA,CAAoB,CAC9D,IAAMC,CAAAA,CAAOF,CAAAA,CAAK,KAAA,CAAM,GAAG,CAAA,CACvBX,CAAAA,CAASU,CAAAA,CAEb,IAAA,IAAWI,CAAAA,IAAOD,CAAAA,CAAM,CACtB,GAAIb,CAAAA,EAAU,KAAM,OAAOY,CAAAA,CAC3BZ,CAAAA,CAASA,CAAAA,CAAOc,CAAG,EACrB,CAEA,OAAOd,CAAAA,GAAW,MAAA,CAAYY,CAAAA,CAAeZ,CAC/C,CCVO,SAASe,CAAAA,CAAWC,CAAAA,CAAqB,CAC9C,OAAKA,CAAAA,EACEA,CAAAA,CAAI,MAAA,CAAO,CAAC,CAAA,CAAE,WAAA,EAAY,CAAIA,CAAAA,CAAI,KAAA,CAAM,CAAC,CAClD","file":"index.cjs","sourcesContent":["export function chunk<T>(arr: T[], size: number): T[][] {\r\n const result: T[][] = [];\r\n\r\n for (let i = 0; i < arr.length; i += size) {\r\n result.push(arr.slice(i, i + size));\r\n }\r\n\r\n return result;\r\n}\r\n","export function unique<T>(array: T[]): T[] {\r\n return [...new Set(array)];\r\n}\r\n","export function debounce<T extends (...args: any[]) => void>(fn: T, delay: number) {\r\n let timeout: ReturnType<typeof setTimeout>;\r\n\r\n return function (...args: Parameters<T>) {\r\n clearTimeout(timeout);\r\n\r\n timeout = setTimeout(() => {\r\n fn(...args);\r\n }, delay);\r\n };\r\n}\r\n","export function get(obj: any, path: string, defaultValue?: any) {\r\n const keys = path.split(\".\");\r\n let result = obj;\r\n\r\n for (const key of keys) {\r\n if (result == null) return defaultValue;\r\n result = result[key];\r\n }\r\n\r\n return result === undefined ? defaultValue : result;\r\n}\r\n","export function capitalize(str: string): string {\r\n if (!str) return str;\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n}\r\n"]}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/array/chunk.ts","../src/array/unique.ts","../src/function/debounce.ts","../src/object/get.ts","../src/string/capitalize.ts"],"names":["chunk","arr","size","result","i","unique","array","debounce","fn","delay","timeout","args","get","obj","path","defaultValue","keys","key","capitalize","str"],"mappings":"AAAO,SAASA,CAAAA,CAASC,CAAAA,CAAUC,CAAAA,CAAqB,CACtD,IAAMC,CAAAA,CAAgB,EAAC,CAEvB,IAAA,IAASC,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAIH,CAAAA,CAAI,OAAQG,CAAAA,EAAKF,CAAAA,CACnCC,CAAAA,CAAO,IAAA,CAAKF,CAAAA,CAAI,KAAA,CAAMG,CAAAA,CAAGA,CAAAA,CAAIF,CAAI,CAAC,CAAA,CAGpC,OAAOC,CACT,CCRO,SAASE,CAAAA,CAAUC,CAAAA,CAAiB,CACzC,OAAO,CAAC,GAAG,IAAI,GAAA,CAAIA,CAAK,CAAC,CAC3B,CCFO,SAASC,CAAAA,CAA6CC,EAAOC,CAAAA,CAAe,CACjF,IAAIC,CAAAA,CAEJ,OAAO,SAAA,GAAaC,CAAAA,CAAqB,CACvC,YAAA,CAAaD,CAAO,CAAA,CAEpBA,CAAAA,CAAU,UAAA,CAAW,IAAM,CACzBF,CAAAA,CAAG,GAAGG,CAAI,EACZ,CAAA,CAAGF,CAAK,EACV,CACF,CCVO,SAASG,CAAAA,CAAIC,CAAAA,CAAUC,CAAAA,CAAcC,CAAAA,CAAoB,CAC9D,IAAMC,CAAAA,CAAOF,CAAAA,CAAK,KAAA,CAAM,GAAG,CAAA,CACvBX,CAAAA,CAASU,CAAAA,CAEb,IAAA,IAAWI,CAAAA,IAAOD,CAAAA,CAAM,CACtB,GAAIb,CAAAA,EAAU,KAAM,OAAOY,CAAAA,CAC3BZ,CAAAA,CAASA,CAAAA,CAAOc,CAAG,EACrB,CAEA,OAAOd,CAAAA,GAAW,MAAA,CAAYY,CAAAA,CAAeZ,CAC/C,CCVO,SAASe,CAAAA,CAAWC,CAAAA,CAAqB,CAC9C,OAAKA,CAAAA,EACEA,CAAAA,CAAI,MAAA,CAAO,CAAC,CAAA,CAAE,WAAA,EAAY,CAAIA,CAAAA,CAAI,KAAA,CAAM,CAAC,CAClD","file":"index.js","sourcesContent":["export function chunk<T>(arr: T[], size: number): T[][] {\n const result: T[][] = [];\n\n for (let i = 0; i < arr.length; i += size) {\n result.push(arr.slice(i, i + size));\n }\n\n return result;\n}\n","export function unique<T>(array: T[]): T[] {\n return [...new Set(array)];\n}\n","export function debounce<T extends (...args: any[]) => void>(fn: T, delay: number) {\n let timeout: ReturnType<typeof setTimeout>;\n\n return function (...args: Parameters<T>) {\n clearTimeout(timeout);\n\n timeout = setTimeout(() => {\n fn(...args);\n }, delay);\n };\n}\n","export function get(obj: any, path: string, defaultValue?: any) {\n const keys = path.split(\".\");\n let result = obj;\n\n for (const key of keys) {\n if (result == null) return defaultValue;\n result = result[key];\n }\n\n return result === undefined ? defaultValue : result;\n}\n","export function capitalize(str: string): string {\n if (!str) return str;\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/array/chunk.ts","../src/array/unique.ts","../src/function/debounce.ts","../src/object/get.ts","../src/string/capitalize.ts"],"names":["chunk","arr","size","result","i","unique","array","debounce","fn","delay","timeout","args","get","obj","path","defaultValue","keys","key","capitalize","str"],"mappings":"AAAO,SAASA,CAAAA,CAASC,CAAAA,CAAUC,CAAAA,CAAqB,CACtD,IAAMC,CAAAA,CAAgB,EAAC,CAEvB,IAAA,IAASC,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAIH,CAAAA,CAAI,OAAQG,CAAAA,EAAKF,CAAAA,CACnCC,CAAAA,CAAO,IAAA,CAAKF,CAAAA,CAAI,KAAA,CAAMG,CAAAA,CAAGA,CAAAA,CAAIF,CAAI,CAAC,CAAA,CAGpC,OAAOC,CACT,CCRO,SAASE,CAAAA,CAAUC,CAAAA,CAAiB,CACzC,OAAO,CAAC,GAAG,IAAI,GAAA,CAAIA,CAAK,CAAC,CAC3B,CCFO,SAASC,CAAAA,CAA6CC,EAAOC,CAAAA,CAAe,CACjF,IAAIC,CAAAA,CAEJ,OAAO,SAAA,GAAaC,CAAAA,CAAqB,CACvC,YAAA,CAAaD,CAAO,CAAA,CAEpBA,CAAAA,CAAU,UAAA,CAAW,IAAM,CACzBF,CAAAA,CAAG,GAAGG,CAAI,EACZ,CAAA,CAAGF,CAAK,EACV,CACF,CCVO,SAASG,CAAAA,CAAIC,CAAAA,CAAUC,CAAAA,CAAcC,CAAAA,CAAoB,CAC9D,IAAMC,CAAAA,CAAOF,CAAAA,CAAK,KAAA,CAAM,GAAG,CAAA,CACvBX,CAAAA,CAASU,CAAAA,CAEb,IAAA,IAAWI,CAAAA,IAAOD,CAAAA,CAAM,CACtB,GAAIb,CAAAA,EAAU,KAAM,OAAOY,CAAAA,CAC3BZ,CAAAA,CAASA,CAAAA,CAAOc,CAAG,EACrB,CAEA,OAAOd,CAAAA,GAAW,MAAA,CAAYY,CAAAA,CAAeZ,CAC/C,CCVO,SAASe,CAAAA,CAAWC,CAAAA,CAAqB,CAC9C,OAAKA,CAAAA,EACEA,CAAAA,CAAI,MAAA,CAAO,CAAC,CAAA,CAAE,WAAA,EAAY,CAAIA,CAAAA,CAAI,KAAA,CAAM,CAAC,CAClD","file":"index.js","sourcesContent":["export function chunk<T>(arr: T[], size: number): T[][] {\r\n const result: T[][] = [];\r\n\r\n for (let i = 0; i < arr.length; i += size) {\r\n result.push(arr.slice(i, i + size));\r\n }\r\n\r\n return result;\r\n}\r\n","export function unique<T>(array: T[]): T[] {\r\n return [...new Set(array)];\r\n}\r\n","export function debounce<T extends (...args: any[]) => void>(fn: T, delay: number) {\r\n let timeout: ReturnType<typeof setTimeout>;\r\n\r\n return function (...args: Parameters<T>) {\r\n clearTimeout(timeout);\r\n\r\n timeout = setTimeout(() => {\r\n fn(...args);\r\n }, delay);\r\n };\r\n}\r\n","export function get(obj: any, path: string, defaultValue?: any) {\r\n const keys = path.split(\".\");\r\n let result = obj;\r\n\r\n for (const key of keys) {\r\n if (result == null) return defaultValue;\r\n result = result[key];\r\n }\r\n\r\n return result === undefined ? defaultValue : result;\r\n}\r\n","export function capitalize(str: string): string {\r\n if (!str) return str;\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n}\r\n"]}
|
package/package.json
CHANGED
|
@@ -1,119 +1,123 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@titocandradev/neatcore",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"private": false,
|
|
5
|
-
"description": "A clean, zero-dependency, TypeScript-first utility core.",
|
|
6
|
-
"homepage": "https://github.com/tcandra24/neat-core#readme",
|
|
7
|
-
"bugs": {
|
|
8
|
-
"url": "https://github.com/tcandra24/neat-core/issues"
|
|
9
|
-
},
|
|
10
|
-
"repository": {
|
|
11
|
-
"type": "git",
|
|
12
|
-
"url": "git+https://github.com/tcandra24/neat-core.git"
|
|
13
|
-
},
|
|
14
|
-
"license": "MIT",
|
|
15
|
-
"author": "Tito Candra",
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
"
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
"
|
|
109
|
-
"
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
"
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
"
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
"
|
|
119
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@titocandradev/neatcore",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"private": false,
|
|
5
|
+
"description": "A clean, zero-dependency, TypeScript-first utility core.",
|
|
6
|
+
"homepage": "https://github.com/tcandra24/neat-core#readme",
|
|
7
|
+
"bugs": {
|
|
8
|
+
"url": "https://github.com/tcandra24/neat-core/issues"
|
|
9
|
+
},
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/tcandra24/neat-core.git"
|
|
13
|
+
},
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"author": "Tito Candra",
|
|
16
|
+
"keywords": [
|
|
17
|
+
"module",
|
|
18
|
+
"util"
|
|
19
|
+
],
|
|
20
|
+
"type": "module",
|
|
21
|
+
"exports": {
|
|
22
|
+
".": {
|
|
23
|
+
"import": "./dist/index.js",
|
|
24
|
+
"require": "./dist/index.cjs"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"main": "./dist/index.cjs",
|
|
28
|
+
"types": "./dist/index.d.ts",
|
|
29
|
+
"directories": {
|
|
30
|
+
"test": "tests"
|
|
31
|
+
},
|
|
32
|
+
"files": [
|
|
33
|
+
"dist"
|
|
34
|
+
],
|
|
35
|
+
"scripts": {
|
|
36
|
+
"dev": "tsup --watch",
|
|
37
|
+
"build": "tsup",
|
|
38
|
+
"test": "vitest",
|
|
39
|
+
"test:run": "vitest run",
|
|
40
|
+
"coverage": "vitest run --coverage"
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"acorn": "^8.15.0",
|
|
44
|
+
"any-promise": "^1.3.0",
|
|
45
|
+
"assertion-error": "^2.0.1",
|
|
46
|
+
"ast-v8-to-istanbul": "^0.3.11",
|
|
47
|
+
"bundle-require": "^5.1.0",
|
|
48
|
+
"cac": "^6.7.14",
|
|
49
|
+
"chai": "^6.2.2",
|
|
50
|
+
"chokidar": "^4.0.3",
|
|
51
|
+
"commander": "^4.1.1",
|
|
52
|
+
"confbox": "^0.1.8",
|
|
53
|
+
"consola": "^3.4.2",
|
|
54
|
+
"debug": "^4.4.3",
|
|
55
|
+
"es-module-lexer": "^1.7.0",
|
|
56
|
+
"esbuild": "^0.27.3",
|
|
57
|
+
"estree-walker": "^3.0.3",
|
|
58
|
+
"expect-type": "^1.3.0",
|
|
59
|
+
"fdir": "^6.5.0",
|
|
60
|
+
"fix-dts-default-cjs-exports": "^1.0.1",
|
|
61
|
+
"has-flag": "^4.0.0",
|
|
62
|
+
"html-escaper": "^2.0.2",
|
|
63
|
+
"istanbul-lib-coverage": "^3.2.2",
|
|
64
|
+
"istanbul-lib-report": "^3.0.1",
|
|
65
|
+
"istanbul-reports": "^3.2.0",
|
|
66
|
+
"joycon": "^3.1.1",
|
|
67
|
+
"js-tokens": "^10.0.0",
|
|
68
|
+
"lilconfig": "^3.1.3",
|
|
69
|
+
"lines-and-columns": "^1.2.4",
|
|
70
|
+
"load-tsconfig": "^0.2.5",
|
|
71
|
+
"magic-string": "^0.30.21",
|
|
72
|
+
"magicast": "^0.5.2",
|
|
73
|
+
"make-dir": "^4.0.0",
|
|
74
|
+
"mlly": "^1.8.0",
|
|
75
|
+
"ms": "^2.1.3",
|
|
76
|
+
"mz": "^2.7.0",
|
|
77
|
+
"nanoid": "^3.3.11",
|
|
78
|
+
"object-assign": "^4.1.1",
|
|
79
|
+
"obug": "^2.1.1",
|
|
80
|
+
"pathe": "^2.0.3",
|
|
81
|
+
"picocolors": "^1.1.1",
|
|
82
|
+
"picomatch": "^4.0.3",
|
|
83
|
+
"pirates": "^4.0.7",
|
|
84
|
+
"pkg-types": "^1.3.1",
|
|
85
|
+
"postcss": "^8.5.6",
|
|
86
|
+
"postcss-load-config": "^6.0.1",
|
|
87
|
+
"readdirp": "^4.1.2",
|
|
88
|
+
"resolve-from": "^5.0.0",
|
|
89
|
+
"rollup": "^4.57.1",
|
|
90
|
+
"semver": "^7.7.4",
|
|
91
|
+
"siginfo": "^2.0.0",
|
|
92
|
+
"source-map": "^0.7.6",
|
|
93
|
+
"source-map-js": "^1.2.1",
|
|
94
|
+
"stackback": "^0.0.2",
|
|
95
|
+
"std-env": "^3.10.0",
|
|
96
|
+
"sucrase": "^3.35.1",
|
|
97
|
+
"supports-color": "^7.2.0",
|
|
98
|
+
"thenify": "^3.3.1",
|
|
99
|
+
"thenify-all": "^1.6.0",
|
|
100
|
+
"tinybench": "^2.9.0",
|
|
101
|
+
"tinyexec": "^0.3.2",
|
|
102
|
+
"tinyglobby": "^0.2.15",
|
|
103
|
+
"tinyrainbow": "^3.0.3",
|
|
104
|
+
"tree-kill": "^1.2.2",
|
|
105
|
+
"ts-interface-checker": "^0.1.13",
|
|
106
|
+
"ufo": "^1.6.3",
|
|
107
|
+
"undici-types": "^7.16.0",
|
|
108
|
+
"vite": "^7.3.1",
|
|
109
|
+
"why-is-node-running": "^2.3.0"
|
|
110
|
+
},
|
|
111
|
+
"devDependencies": {
|
|
112
|
+
"@types/node": "^25.2.3",
|
|
113
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
114
|
+
"tsup": "^8.5.1",
|
|
115
|
+
"typescript": "^5.9.3",
|
|
116
|
+
"vitest": "^4.0.18"
|
|
117
|
+
},
|
|
118
|
+
"publishConfig": {
|
|
119
|
+
"access": "public"
|
|
120
|
+
},
|
|
121
|
+
"sideEffects": false,
|
|
122
|
+
"module": "./dist/index.js"
|
|
123
|
+
}
|