ts-time-utils 2.0.0 → 3.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/README.md +110 -1
- package/dist/chain.d.ts +269 -0
- package/dist/chain.d.ts.map +1 -0
- package/dist/chain.js +422 -0
- package/dist/esm/chain.d.ts +269 -0
- package/dist/esm/chain.d.ts.map +1 -0
- package/dist/esm/chain.js +422 -0
- package/dist/esm/holidays.d.ts +62 -0
- package/dist/esm/holidays.d.ts.map +1 -0
- package/dist/esm/holidays.js +793 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +6 -0
- package/dist/esm/plugins.d.ts +129 -0
- package/dist/esm/plugins.d.ts.map +1 -0
- package/dist/esm/plugins.js +173 -0
- package/dist/holidays.d.ts +62 -0
- package/dist/holidays.d.ts.map +1 -0
- package/dist/holidays.js +793 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/plugins.d.ts +129 -0
- package/dist/plugins.d.ts.map +1 -0
- package/dist/plugins.js +173 -0
- package/package.json +30 -10
package/dist/index.d.ts
CHANGED
|
@@ -29,4 +29,9 @@ export { getFiscalYear, getFiscalQuarter, getFiscalYearStart, getFiscalYearEnd,
|
|
|
29
29
|
export type { FiscalConfig } from './fiscal.js';
|
|
30
30
|
export { compareDates, compareDatesDesc, sortDates, minDate, maxDate, dateExtent, uniqueDates, closestDate, closestFutureDate, closestPastDate, clampDate, isDateInRange, filterDatesInRange, groupDates, groupDatesByYear, groupDatesByMonth, groupDatesByDay, groupDatesByDayOfWeek, medianDate, averageDate, roundDate, snapDate, isChronological, dateSpan, partitionDates, nthDate } from './compare.js';
|
|
31
31
|
export { eachDay, eachWeekday, eachWeekend, eachWeek, eachMonth, eachQuarter, eachYear, eachHour, eachMinute, eachDayOfWeek, eachInterval, countDays, countWeekdays, countWeekendDays, countWeeks, countMonths, iterateDates, iterateDays, iterateWeekdays, iterateMonths, filterDays, eachMonthEnd, eachNthDayOfMonth } from './iterate.js';
|
|
32
|
+
export { getUKHolidays, getNetherlandsHolidays, getGermanyHolidays, getCanadaHolidays, getAustraliaHolidays, getItalyHolidays, getSpainHolidays, getChinaHolidays, getIndiaHolidays, getHolidays, isHoliday, getHolidayName, getNextHoliday, getUpcomingHolidays, getSupportedCountries } from './holidays.js';
|
|
33
|
+
export type { CountryCode, Holiday } from './holidays.js';
|
|
34
|
+
export { chain, ChainedDate, formatMs } from './chain.js';
|
|
35
|
+
export { extend, uninstall, getRegisteredPlugins, getPluginMethods, isPluginRegistered } from './plugins.js';
|
|
36
|
+
export type { PluginFunction, Plugin } from './plugins.js';
|
|
32
37
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -50,3 +50,9 @@ export { getFiscalYear, getFiscalQuarter, getFiscalYearStart, getFiscalYearEnd,
|
|
|
50
50
|
export { compareDates, compareDatesDesc, sortDates, minDate, maxDate, dateExtent, uniqueDates, closestDate, closestFutureDate, closestPastDate, clampDate, isDateInRange, filterDatesInRange, groupDates, groupDatesByYear, groupDatesByMonth, groupDatesByDay, groupDatesByDayOfWeek, medianDate, averageDate, roundDate, snapDate, isChronological, dateSpan, partitionDates, nthDate } from './compare.js';
|
|
51
51
|
// Date iteration utilities
|
|
52
52
|
export { eachDay, eachWeekday, eachWeekend, eachWeek, eachMonth, eachQuarter, eachYear, eachHour, eachMinute, eachDayOfWeek, eachInterval, countDays, countWeekdays, countWeekendDays, countWeeks, countMonths, iterateDates, iterateDays, iterateWeekdays, iterateMonths, filterDays, eachMonthEnd, eachNthDayOfMonth } from './iterate.js';
|
|
53
|
+
// International holidays utilities
|
|
54
|
+
export { getUKHolidays, getNetherlandsHolidays, getGermanyHolidays, getCanadaHolidays, getAustraliaHolidays, getItalyHolidays, getSpainHolidays, getChinaHolidays, getIndiaHolidays, getHolidays, isHoliday, getHolidayName, getNextHoliday, getUpcomingHolidays, getSupportedCountries } from './holidays.js';
|
|
55
|
+
// Chain API (fluent interface)
|
|
56
|
+
export { chain, ChainedDate, formatMs } from './chain.js';
|
|
57
|
+
// Plugin system for extending ChainedDate
|
|
58
|
+
export { extend, uninstall, getRegisteredPlugins, getPluginMethods, isPluginRegistered } from './plugins.js';
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin system for extending ChainedDate with custom methods
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts
|
|
6
|
+
* import { extend } from 'ts-time-utils/plugins';
|
|
7
|
+
* import { ChainedDate } from 'ts-time-utils/chain';
|
|
8
|
+
*
|
|
9
|
+
* // Define plugin methods
|
|
10
|
+
* extend('myPlugin', {
|
|
11
|
+
* nextMonday(this: ChainedDate): ChainedDate {
|
|
12
|
+
* const day = this.weekday();
|
|
13
|
+
* const daysUntilMonday = day === 0 ? 1 : 8 - day;
|
|
14
|
+
* return this.add(daysUntilMonday, 'days');
|
|
15
|
+
* }
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* // Use plugin methods
|
|
19
|
+
* chain(new Date()).nextMonday().format('YYYY-MM-DD');
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Initialize the plugin system with ChainedDate class
|
|
24
|
+
* This is called automatically when chain.js is imported
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export declare function __initPluginSystem(ChainedDateClass: any): void;
|
|
28
|
+
/**
|
|
29
|
+
* Plugin function type - methods receive ChainedDate instance as `this`
|
|
30
|
+
*/
|
|
31
|
+
export type PluginFunction = (this: any, ...args: any[]) => any;
|
|
32
|
+
/**
|
|
33
|
+
* Plugin definition - map of method names to functions
|
|
34
|
+
*/
|
|
35
|
+
export interface Plugin {
|
|
36
|
+
[methodName: string]: PluginFunction;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Extend ChainedDate with custom methods
|
|
40
|
+
*
|
|
41
|
+
* @param pluginName - Unique name for the plugin
|
|
42
|
+
* @param methods - Object mapping method names to functions
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* extend('businessDays', {
|
|
47
|
+
* addBusinessDays(this: ChainedDate, days: number): ChainedDate {
|
|
48
|
+
* let current = this.clone();
|
|
49
|
+
* let remaining = days;
|
|
50
|
+
*
|
|
51
|
+
* while (remaining > 0) {
|
|
52
|
+
* current = current.add(1, 'days');
|
|
53
|
+
* if (current.isWeekday()) remaining--;
|
|
54
|
+
* }
|
|
55
|
+
*
|
|
56
|
+
* return current;
|
|
57
|
+
* }
|
|
58
|
+
* });
|
|
59
|
+
*
|
|
60
|
+
* chain(new Date()).addBusinessDays(5);
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function extend(pluginName: string, methods: Plugin): void;
|
|
64
|
+
/**
|
|
65
|
+
* Remove a plugin and its methods from ChainedDate
|
|
66
|
+
*
|
|
67
|
+
* @param pluginName - Name of the plugin to uninstall
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```ts
|
|
71
|
+
* uninstall('businessDays');
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare function uninstall(pluginName: string): void;
|
|
75
|
+
/**
|
|
76
|
+
* Get list of all registered plugin names
|
|
77
|
+
*
|
|
78
|
+
* @returns Array of plugin names
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```ts
|
|
82
|
+
* getRegisteredPlugins(); // ['businessDays', 'myPlugin']
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export declare function getRegisteredPlugins(): string[];
|
|
86
|
+
/**
|
|
87
|
+
* Get list of methods provided by a plugin
|
|
88
|
+
*
|
|
89
|
+
* @param pluginName - Name of the plugin
|
|
90
|
+
* @returns Array of method names, or empty array if plugin not found
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```ts
|
|
94
|
+
* getPluginMethods('businessDays'); // ['addBusinessDays', 'subtractBusinessDays']
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export declare function getPluginMethods(pluginName: string): string[];
|
|
98
|
+
/**
|
|
99
|
+
* Check if a plugin is registered
|
|
100
|
+
*
|
|
101
|
+
* @param pluginName - Name of the plugin
|
|
102
|
+
* @returns True if plugin is registered
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```ts
|
|
106
|
+
* isPluginRegistered('businessDays'); // true
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
export declare function isPluginRegistered(pluginName: string): boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Declare plugin methods for TypeScript support
|
|
112
|
+
*
|
|
113
|
+
* Use module augmentation to add type definitions for your plugin methods:
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```ts
|
|
117
|
+
* import { ChainedDate } from 'ts-time-utils/chain';
|
|
118
|
+
*
|
|
119
|
+
* declare module 'ts-time-utils/chain' {
|
|
120
|
+
* interface ChainedDate {
|
|
121
|
+
* addBusinessDays(days: number): ChainedDate;
|
|
122
|
+
* subtractBusinessDays(days: number): ChainedDate;
|
|
123
|
+
* }
|
|
124
|
+
* }
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
export interface PluginDeclaration {
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=plugins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA0BH;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,GAAG,QAEvD;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAAC;CACtC;AAcD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAwBhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAqBlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAG7D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,iBAAiB;CAAG"}
|
package/dist/plugins.js
ADDED
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin system for extending ChainedDate with custom methods
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts
|
|
6
|
+
* import { extend } from 'ts-time-utils/plugins';
|
|
7
|
+
* import { ChainedDate } from 'ts-time-utils/chain';
|
|
8
|
+
*
|
|
9
|
+
* // Define plugin methods
|
|
10
|
+
* extend('myPlugin', {
|
|
11
|
+
* nextMonday(this: ChainedDate): ChainedDate {
|
|
12
|
+
* const day = this.weekday();
|
|
13
|
+
* const daysUntilMonday = day === 0 ? 1 : 8 - day;
|
|
14
|
+
* return this.add(daysUntilMonday, 'days');
|
|
15
|
+
* }
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* // Use plugin methods
|
|
19
|
+
* chain(new Date()).nextMonday().format('YYYY-MM-DD');
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
// Import ChainedDate class directly - safe because chain.js doesn't import plugins.js
|
|
23
|
+
// We need the actual class (not just the type) to modify its prototype
|
|
24
|
+
let ChainedDateConstructor = null;
|
|
25
|
+
/**
|
|
26
|
+
* Get ChainedDate class lazily to ensure it's fully initialized
|
|
27
|
+
*/
|
|
28
|
+
function getChainedDate() {
|
|
29
|
+
if (!ChainedDateConstructor) {
|
|
30
|
+
// Use dynamic import that works in both CJS and ESM
|
|
31
|
+
try {
|
|
32
|
+
// Try ESM import path first
|
|
33
|
+
ChainedDateConstructor = globalThis.__chainedDateClass;
|
|
34
|
+
if (!ChainedDateConstructor) {
|
|
35
|
+
// Fallback: The class will be set by chain.js when it loads
|
|
36
|
+
throw new Error('ChainedDate not yet loaded. Import chain.js before using plugins.');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
catch (e) {
|
|
40
|
+
throw new Error('ChainedDate class not available. Ensure chain.js is imported before registering plugins.');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return ChainedDateConstructor;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Initialize the plugin system with ChainedDate class
|
|
47
|
+
* This is called automatically when chain.js is imported
|
|
48
|
+
* @internal
|
|
49
|
+
*/
|
|
50
|
+
export function __initPluginSystem(ChainedDateClass) {
|
|
51
|
+
ChainedDateConstructor = ChainedDateClass;
|
|
52
|
+
}
|
|
53
|
+
const registry = {};
|
|
54
|
+
/**
|
|
55
|
+
* Extend ChainedDate with custom methods
|
|
56
|
+
*
|
|
57
|
+
* @param pluginName - Unique name for the plugin
|
|
58
|
+
* @param methods - Object mapping method names to functions
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* extend('businessDays', {
|
|
63
|
+
* addBusinessDays(this: ChainedDate, days: number): ChainedDate {
|
|
64
|
+
* let current = this.clone();
|
|
65
|
+
* let remaining = days;
|
|
66
|
+
*
|
|
67
|
+
* while (remaining > 0) {
|
|
68
|
+
* current = current.add(1, 'days');
|
|
69
|
+
* if (current.isWeekday()) remaining--;
|
|
70
|
+
* }
|
|
71
|
+
*
|
|
72
|
+
* return current;
|
|
73
|
+
* }
|
|
74
|
+
* });
|
|
75
|
+
*
|
|
76
|
+
* chain(new Date()).addBusinessDays(5);
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export function extend(pluginName, methods) {
|
|
80
|
+
if (registry[pluginName]) {
|
|
81
|
+
throw new Error(`Plugin "${pluginName}" is already registered. Use a different name or uninstall first.`);
|
|
82
|
+
}
|
|
83
|
+
// Get ChainedDate class and save original methods before overwriting
|
|
84
|
+
const ChainedDateClass = getChainedDate();
|
|
85
|
+
const originalMethods = new Map();
|
|
86
|
+
Object.entries(methods).forEach(([methodName, fn]) => {
|
|
87
|
+
// Save original method if it exists
|
|
88
|
+
if (methodName in ChainedDateClass.prototype) {
|
|
89
|
+
const original = ChainedDateClass.prototype[methodName];
|
|
90
|
+
if (typeof original === 'function') {
|
|
91
|
+
originalMethods.set(methodName, original);
|
|
92
|
+
}
|
|
93
|
+
console.warn(`Method "${methodName}" already exists on ChainedDate and will be overwritten`);
|
|
94
|
+
}
|
|
95
|
+
// Add the plugin method
|
|
96
|
+
ChainedDateClass.prototype[methodName] = fn;
|
|
97
|
+
});
|
|
98
|
+
// Register the plugin with its original methods
|
|
99
|
+
registry[pluginName] = { plugin: methods, originalMethods };
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Remove a plugin and its methods from ChainedDate
|
|
103
|
+
*
|
|
104
|
+
* @param pluginName - Name of the plugin to uninstall
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```ts
|
|
108
|
+
* uninstall('businessDays');
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
export function uninstall(pluginName) {
|
|
112
|
+
const entry = registry[pluginName];
|
|
113
|
+
if (!entry) {
|
|
114
|
+
throw new Error(`Plugin "${pluginName}" is not registered`);
|
|
115
|
+
}
|
|
116
|
+
// Get ChainedDate class and restore/remove methods
|
|
117
|
+
const ChainedDateClass = getChainedDate();
|
|
118
|
+
Object.keys(entry.plugin).forEach((methodName) => {
|
|
119
|
+
// If there was an original method, restore it
|
|
120
|
+
const original = entry.originalMethods.get(methodName);
|
|
121
|
+
if (original) {
|
|
122
|
+
ChainedDateClass.prototype[methodName] = original;
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
// Otherwise, delete the method entirely
|
|
126
|
+
delete ChainedDateClass.prototype[methodName];
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
// Remove from registry
|
|
130
|
+
delete registry[pluginName];
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Get list of all registered plugin names
|
|
134
|
+
*
|
|
135
|
+
* @returns Array of plugin names
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* ```ts
|
|
139
|
+
* getRegisteredPlugins(); // ['businessDays', 'myPlugin']
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
export function getRegisteredPlugins() {
|
|
143
|
+
return Object.keys(registry);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Get list of methods provided by a plugin
|
|
147
|
+
*
|
|
148
|
+
* @param pluginName - Name of the plugin
|
|
149
|
+
* @returns Array of method names, or empty array if plugin not found
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ```ts
|
|
153
|
+
* getPluginMethods('businessDays'); // ['addBusinessDays', 'subtractBusinessDays']
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
export function getPluginMethods(pluginName) {
|
|
157
|
+
const entry = registry[pluginName];
|
|
158
|
+
return entry ? Object.keys(entry.plugin) : [];
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Check if a plugin is registered
|
|
162
|
+
*
|
|
163
|
+
* @param pluginName - Name of the plugin
|
|
164
|
+
* @returns True if plugin is registered
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```ts
|
|
168
|
+
* isPluginRegistered('businessDays'); // true
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
export function isPluginRegistered(pluginName) {
|
|
172
|
+
return pluginName in registry;
|
|
173
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-time-utils",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "A comprehensive TypeScript utility library for time, dates, durations, and calendar operations with full tree-shaking support",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -126,11 +126,37 @@
|
|
|
126
126
|
"import": "./dist/esm/iterate.js",
|
|
127
127
|
"require": "./dist/iterate.js",
|
|
128
128
|
"types": "./dist/iterate.d.ts"
|
|
129
|
+
},
|
|
130
|
+
"./holidays": {
|
|
131
|
+
"import": "./dist/esm/holidays.js",
|
|
132
|
+
"require": "./dist/holidays.js",
|
|
133
|
+
"types": "./dist/holidays.d.ts"
|
|
134
|
+
},
|
|
135
|
+
"./chain": {
|
|
136
|
+
"import": "./dist/esm/chain.js",
|
|
137
|
+
"require": "./dist/chain.js",
|
|
138
|
+
"types": "./dist/chain.d.ts"
|
|
139
|
+
},
|
|
140
|
+
"./plugins": {
|
|
141
|
+
"import": "./dist/esm/plugins.js",
|
|
142
|
+
"require": "./dist/plugins.js",
|
|
143
|
+
"types": "./dist/plugins.d.ts"
|
|
129
144
|
}
|
|
130
145
|
},
|
|
131
146
|
"files": [
|
|
132
147
|
"dist"
|
|
133
148
|
],
|
|
149
|
+
"scripts": {
|
|
150
|
+
"build": "npm run build:cjs && npm run build:esm",
|
|
151
|
+
"build:cjs": "tsc -p tsconfig.json",
|
|
152
|
+
"build:esm": "tsc -p tsconfig.esm.json",
|
|
153
|
+
"test": "vitest run",
|
|
154
|
+
"test:watch": "vitest",
|
|
155
|
+
"lint": "eslint src --ext .ts",
|
|
156
|
+
"size": "size-limit",
|
|
157
|
+
"size:check": "size-limit --json > docs/bundle-sizes.json",
|
|
158
|
+
"prepublishOnly": "npm run build"
|
|
159
|
+
},
|
|
134
160
|
"keywords": [
|
|
135
161
|
"time",
|
|
136
162
|
"date",
|
|
@@ -163,6 +189,8 @@
|
|
|
163
189
|
"author": "",
|
|
164
190
|
"license": "MIT",
|
|
165
191
|
"devDependencies": {
|
|
192
|
+
"@size-limit/file": "^12.0.0",
|
|
193
|
+
"size-limit": "^12.0.0",
|
|
166
194
|
"typescript": "^5.9.2",
|
|
167
195
|
"vitest": "^3.2.4"
|
|
168
196
|
},
|
|
@@ -173,13 +201,5 @@
|
|
|
173
201
|
"homepage": "https://github.com/hatefrad/ts-time-utils#readme",
|
|
174
202
|
"bugs": {
|
|
175
203
|
"url": "https://github.com/hatefrad/ts-time-utils/issues"
|
|
176
|
-
},
|
|
177
|
-
"scripts": {
|
|
178
|
-
"build": "npm run build:cjs && npm run build:esm",
|
|
179
|
-
"build:cjs": "tsc -p tsconfig.json",
|
|
180
|
-
"build:esm": "tsc -p tsconfig.esm.json",
|
|
181
|
-
"test": "vitest run",
|
|
182
|
-
"test:watch": "vitest",
|
|
183
|
-
"lint": "eslint src --ext .ts"
|
|
184
204
|
}
|
|
185
|
-
}
|
|
205
|
+
}
|