@sprucelabs/calendar-utils 40.0.9 → 40.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/build/.spruce/errors/calendarUtils/invalidTimezoneName.schema.js +3 -3
- package/build/.spruce/errors/errors.types.d.ts +2 -2
- package/build/.spruce/errors/options.types.d.ts +2 -2
- package/build/.spruce/schemas/calendarUtils/v2021_05_19/calendarEvent.schema.js +59 -121
- package/build/.spruce/schemas/calendarUtils/v2021_05_19/calendarEventLineIcon.schema.js +5 -175
- package/build/.spruce/schemas/calendarUtils/v2021_05_19/calendarEventTarget.schema.js +11 -11
- package/build/.spruce/schemas/calendarUtils/v2021_05_19/eventExclusionDate.schema.js +7 -7
- package/build/.spruce/schemas/calendarUtils/v2021_05_19/eventTimeBlock.schema.js +13 -13
- package/build/.spruce/schemas/fields/fields.types.d.ts +1 -1
- package/build/.spruce/schemas/schemas.types.d.ts +648 -840
- package/build/.spruce/schemas/schemas.types.js +4 -0
- package/build/errors/SpruceError.js +1 -1
- package/build/esm/.spruce/errors/errors.types.d.ts +2 -2
- package/build/esm/.spruce/errors/options.types.d.ts +2 -2
- package/build/esm/.spruce/schemas/calendarUtils/v2021_05_19/calendarEvent.schema.js +59 -121
- package/build/esm/.spruce/schemas/calendarUtils/v2021_05_19/calendarEventLineIcon.schema.js +5 -175
- package/build/esm/.spruce/schemas/calendarUtils/v2021_05_19/calendarEventTarget.schema.js +11 -11
- package/build/esm/.spruce/schemas/calendarUtils/v2021_05_19/eventExclusionDate.schema.js +7 -7
- package/build/esm/.spruce/schemas/calendarUtils/v2021_05_19/eventTimeBlock.schema.js +13 -13
- package/build/esm/.spruce/schemas/schemas.types.d.ts +648 -840
- package/build/esm/.spruce/schemas/schemas.types.js +4 -0
- package/build/locales/DateUtilDecorator.js +1 -2
- package/build/locales/Locale.js +4 -6
- package/build/locales/TimezoneChoiceSorter.js +0 -1
- package/build/parsing/AbstractParser.js +0 -2
- package/build/parsing/DateParser.js +1 -3
- package/build/parsing/ParserFactory.js +7 -9
- package/build/parsing/strategies/DowParser.js +2 -1
- package/build/parsing/strategies/TimeParser.js +4 -3
- package/build/parsing/strategies/WeekParser.js +2 -1
- package/build/utilities/PeopleSorter.js +8 -6
- package/build/utilities/RepeatingRuleTextGenerator.js +16 -17
- package/build/utilities/calendar.utility.js +5 -4
- package/build/utilities/date.utility.js +2 -1
- package/build/utilities/duration.utility.js +1 -1
- package/build/utilities/sortTimezoneChoices.js +2 -1
- package/package.json +13 -15
- package/tsconfig.json +1 -1
|
@@ -4,7 +4,6 @@ exports.calculateOffsetAtDate = void 0;
|
|
|
4
4
|
const schema_1 = require("@sprucelabs/schema");
|
|
5
5
|
const date_fns_tz_1 = require("date-fns-tz");
|
|
6
6
|
class DateUtilDecorator {
|
|
7
|
-
locale;
|
|
8
7
|
constructor(locale) {
|
|
9
8
|
(0, schema_1.assertOptions)({ locale }, ['locale']);
|
|
10
9
|
this.locale = locale;
|
|
@@ -57,7 +56,7 @@ class DateUtilDecorator {
|
|
|
57
56
|
};
|
|
58
57
|
}
|
|
59
58
|
offsetDate(date) {
|
|
60
|
-
return this.addOffset(date
|
|
59
|
+
return this.addOffset(date !== null && date !== void 0 ? date : new Date().getTime(), false);
|
|
61
60
|
}
|
|
62
61
|
addOffset(value, shouldInverse = true) {
|
|
63
62
|
let offset = this.calculateOffset(value);
|
package/build/locales/Locale.js
CHANGED
|
@@ -11,13 +11,11 @@ const date_fns_tz_1 = require("date-fns-tz");
|
|
|
11
11
|
const SpruceError_1 = __importDefault(require("../errors/SpruceError"));
|
|
12
12
|
const TimezoneChoiceSorter_1 = __importDefault(require("./TimezoneChoiceSorter"));
|
|
13
13
|
class LocaleImpl extends mercury_event_emitter_1.AbstractEventEmitter {
|
|
14
|
-
zoneNameByOffset = {};
|
|
15
|
-
offsetsForDate = {};
|
|
16
|
-
offset = new Date().getTimezoneOffset() * -1;
|
|
17
|
-
currentZone;
|
|
18
|
-
_timezoneChoices;
|
|
19
14
|
constructor() {
|
|
20
15
|
super(localeContract);
|
|
16
|
+
this.zoneNameByOffset = {};
|
|
17
|
+
this.offsetsForDate = {};
|
|
18
|
+
this.offset = new Date().getTimezoneOffset() * -1;
|
|
21
19
|
}
|
|
22
20
|
setTimezoneOffsetMinutes(offset) {
|
|
23
21
|
(0, schema_1.assertOptions)({ offset }, ['offset']);
|
|
@@ -28,7 +26,7 @@ class LocaleImpl extends mercury_event_emitter_1.AbstractEventEmitter {
|
|
|
28
26
|
if (onDate || timezone) {
|
|
29
27
|
const date = onDate ? onDate : Date.now();
|
|
30
28
|
const dateRoundedToNearestHour = date - (date % 3600000);
|
|
31
|
-
const zone = timezone
|
|
29
|
+
const zone = timezone !== null && timezone !== void 0 ? timezone : this.getZoneName();
|
|
32
30
|
const key = `${zone}-${dateRoundedToNearestHour}`;
|
|
33
31
|
if (!(key in this.offsetsForDate)) {
|
|
34
32
|
this.offsetsForDate[key] = this.zoneNameToOffsetMinutes(zone, onDate);
|
|
@@ -7,10 +7,8 @@ const schema_1 = require("@sprucelabs/schema");
|
|
|
7
7
|
const date_utility_1 = __importDefault(require("../utilities/date.utility"));
|
|
8
8
|
const ParserFactory_1 = __importDefault(require("./ParserFactory"));
|
|
9
9
|
class DateParser {
|
|
10
|
-
now;
|
|
11
|
-
parsers = [];
|
|
12
|
-
locale;
|
|
13
10
|
constructor(now, locale) {
|
|
11
|
+
this.parsers = [];
|
|
14
12
|
this.now = now;
|
|
15
13
|
this.locale = locale;
|
|
16
14
|
const parsers = ParserFactory_1.default.Factory(now, locale);
|
|
@@ -9,7 +9,6 @@ const TimeParser_1 = __importDefault(require("./strategies/TimeParser"));
|
|
|
9
9
|
const WeekParser_1 = __importDefault(require("./strategies/WeekParser"));
|
|
10
10
|
const YearParser_1 = __importDefault(require("./strategies/YearParser"));
|
|
11
11
|
class ParserFactory {
|
|
12
|
-
locale;
|
|
13
12
|
all() {
|
|
14
13
|
return [
|
|
15
14
|
this.Parser('Year'),
|
|
@@ -19,15 +18,14 @@ class ParserFactory {
|
|
|
19
18
|
this.Parser('Time'),
|
|
20
19
|
];
|
|
21
20
|
}
|
|
22
|
-
now;
|
|
23
|
-
strategies = {
|
|
24
|
-
Year: () => new YearParser_1.default(this.now, this.locale),
|
|
25
|
-
Month: () => new MonthParser_1.default(this.now, this.locale),
|
|
26
|
-
Dow: () => new DowParser_1.default(this.now, this.locale),
|
|
27
|
-
Time: () => new TimeParser_1.default(this.now, this.locale),
|
|
28
|
-
Week: () => new WeekParser_1.default(this.now, this.locale),
|
|
29
|
-
};
|
|
30
21
|
constructor(now, locale) {
|
|
22
|
+
this.strategies = {
|
|
23
|
+
Year: () => new YearParser_1.default(this.now, this.locale),
|
|
24
|
+
Month: () => new MonthParser_1.default(this.now, this.locale),
|
|
25
|
+
Dow: () => new DowParser_1.default(this.now, this.locale),
|
|
26
|
+
Time: () => new TimeParser_1.default(this.now, this.locale),
|
|
27
|
+
Week: () => new WeekParser_1.default(this.now, this.locale),
|
|
28
|
+
};
|
|
31
29
|
this.now = now;
|
|
32
30
|
this.locale = locale;
|
|
33
31
|
}
|
|
@@ -7,6 +7,7 @@ const date_utility_1 = __importDefault(require("../../utilities/date.utility"));
|
|
|
7
7
|
const AbstractParser_1 = require("../AbstractParser");
|
|
8
8
|
class DowParser extends AbstractParser_1.AbstractParser {
|
|
9
9
|
parse(str, date) {
|
|
10
|
+
var _a;
|
|
10
11
|
if (str.includes('tomorrow')) {
|
|
11
12
|
date.day += 1;
|
|
12
13
|
str = str.replace('tomorrow', '');
|
|
@@ -45,7 +46,7 @@ class DowParser extends AbstractParser_1.AbstractParser {
|
|
|
45
46
|
const re = new RegExp(`(^|\\W)${dow.abbr}(\\W|$)`, 'gi');
|
|
46
47
|
str = str.replace(re, `$1${dow.full}$2`);
|
|
47
48
|
}
|
|
48
|
-
const match = str.match(/(monday|tuesday|wednesday|thursday|friday|saturday|sunday)/)
|
|
49
|
+
const match = (_a = str.match(/(monday|tuesday|wednesday|thursday|friday|saturday|sunday)/)) === null || _a === void 0 ? void 0 : _a[0];
|
|
49
50
|
if (match) {
|
|
50
51
|
while (date_utility_1.default
|
|
51
52
|
.format(date_utility_1.default.date(date), 'EEEE')
|
|
@@ -7,7 +7,8 @@ const date_utility_1 = __importDefault(require("../../utilities/date.utility"));
|
|
|
7
7
|
const AbstractParser_1 = require("../AbstractParser");
|
|
8
8
|
class TimeParser extends AbstractParser_1.AbstractParser {
|
|
9
9
|
parse(str, date, context) {
|
|
10
|
-
|
|
10
|
+
var _a;
|
|
11
|
+
const matches = (_a = str.match(/(\d{1,2})(:?(\d{1,2}))?\s*([ap]m?)?/)) !== null && _a !== void 0 ? _a : [];
|
|
11
12
|
let [match, hour, , minutes, ampm] = matches;
|
|
12
13
|
if (!match) {
|
|
13
14
|
return str;
|
|
@@ -15,7 +16,7 @@ class TimeParser extends AbstractParser_1.AbstractParser {
|
|
|
15
16
|
if (hour) {
|
|
16
17
|
let parsedHour = parseInt(hour, 10);
|
|
17
18
|
if (parsedHour > 12) {
|
|
18
|
-
minutes = hour[1] + (minutes
|
|
19
|
+
minutes = hour[1] + (minutes !== null && minutes !== void 0 ? minutes : '');
|
|
19
20
|
hour = hour[0];
|
|
20
21
|
parsedHour = parseInt(hour, 10);
|
|
21
22
|
}
|
|
@@ -28,7 +29,7 @@ class TimeParser extends AbstractParser_1.AbstractParser {
|
|
|
28
29
|
}
|
|
29
30
|
date.minute = parseInt(minutes, 10);
|
|
30
31
|
}
|
|
31
|
-
if (ampm
|
|
32
|
+
if (ampm === null || ampm === void 0 ? void 0 : ampm.includes('p')) {
|
|
32
33
|
date.hour += 12;
|
|
33
34
|
}
|
|
34
35
|
else if (date.hour === 12 && match.includes('am')) {
|
|
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const AbstractParser_1 = require("../AbstractParser");
|
|
4
4
|
class WeekParser extends AbstractParser_1.AbstractParser {
|
|
5
5
|
parse(str, date) {
|
|
6
|
+
var _a;
|
|
6
7
|
if (str.includes('next week')) {
|
|
7
8
|
date.day += 7;
|
|
8
9
|
str = str.replace('next week', '');
|
|
9
10
|
}
|
|
10
|
-
const match = str.match(/(\d{1,2}) ?(weeks?)/)
|
|
11
|
+
const match = (_a = str.match(/(\d{1,2}) ?(weeks?)/)) === null || _a === void 0 ? void 0 : _a[0];
|
|
11
12
|
if (match) {
|
|
12
13
|
date.day += parseInt(match, 10) * 7;
|
|
13
14
|
str = str.replace(match, '');
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
class PeopleSorter {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
constructor() {
|
|
5
|
+
this.selectedEvents = [];
|
|
6
|
+
}
|
|
7
7
|
setPeople(people) {
|
|
8
8
|
this._people = [...people];
|
|
9
9
|
}
|
|
@@ -31,7 +31,7 @@ class PeopleSorter {
|
|
|
31
31
|
}
|
|
32
32
|
peopleExcluding(selectedPeopleWithValidEvents) {
|
|
33
33
|
return this.people.filter((p) => {
|
|
34
|
-
const match = selectedPeopleWithValidEvents.find((sp) => sp
|
|
34
|
+
const match = selectedPeopleWithValidEvents.find((sp) => (sp === null || sp === void 0 ? void 0 : sp.id) === p.id);
|
|
35
35
|
if (match) {
|
|
36
36
|
return false;
|
|
37
37
|
}
|
|
@@ -96,10 +96,12 @@ class PeopleSorter {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
get people() {
|
|
99
|
-
|
|
99
|
+
var _a;
|
|
100
|
+
return (_a = this._people) !== null && _a !== void 0 ? _a : [];
|
|
100
101
|
}
|
|
101
102
|
get events() {
|
|
102
|
-
|
|
103
|
+
var _a;
|
|
104
|
+
return (_a = this._events) !== null && _a !== void 0 ? _a : [];
|
|
103
105
|
}
|
|
104
106
|
}
|
|
105
107
|
exports.default = PeopleSorter;
|
|
@@ -2,22 +2,21 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const schema_1 = require("@sprucelabs/schema");
|
|
4
4
|
class RepeatingRuleTextGenerator {
|
|
5
|
-
unitMap = {
|
|
6
|
-
daily: 'days',
|
|
7
|
-
weekly: 'weeks',
|
|
8
|
-
monthly: 'months',
|
|
9
|
-
};
|
|
10
|
-
downMap = {
|
|
11
|
-
sun: 'Sundays',
|
|
12
|
-
mon: 'Mondays',
|
|
13
|
-
tue: 'Tuesdays',
|
|
14
|
-
wed: 'Wednesdays',
|
|
15
|
-
thur: 'Thursdays',
|
|
16
|
-
fri: 'Fridays',
|
|
17
|
-
sat: 'Saturdays',
|
|
18
|
-
};
|
|
19
|
-
dates;
|
|
20
5
|
constructor(dates) {
|
|
6
|
+
this.unitMap = {
|
|
7
|
+
daily: 'days',
|
|
8
|
+
weekly: 'weeks',
|
|
9
|
+
monthly: 'months',
|
|
10
|
+
};
|
|
11
|
+
this.downMap = {
|
|
12
|
+
sun: 'Sundays',
|
|
13
|
+
mon: 'Mondays',
|
|
14
|
+
tue: 'Tuesdays',
|
|
15
|
+
wed: 'Wednesdays',
|
|
16
|
+
thur: 'Thursdays',
|
|
17
|
+
fri: 'Fridays',
|
|
18
|
+
sat: 'Saturdays',
|
|
19
|
+
};
|
|
21
20
|
this.dates = dates;
|
|
22
21
|
}
|
|
23
22
|
static Generator(options) {
|
|
@@ -33,13 +32,13 @@ class RepeatingRuleTextGenerator {
|
|
|
33
32
|
.map((d) => this.downMap[d])
|
|
34
33
|
.join(', ')}`;
|
|
35
34
|
}
|
|
36
|
-
else if ((interval
|
|
35
|
+
else if ((interval !== null && interval !== void 0 ? interval : 0) > 1) {
|
|
37
36
|
message = `Repeats every ${interval} ${this.unitMap[repeats]}`;
|
|
38
37
|
}
|
|
39
38
|
else {
|
|
40
39
|
message = `Repeats ${repeats}`;
|
|
41
40
|
}
|
|
42
|
-
const until = activeUntilDate
|
|
41
|
+
const until = activeUntilDate !== null && activeUntilDate !== void 0 ? activeUntilDate : repeatsUntil;
|
|
43
42
|
if (until) {
|
|
44
43
|
message += ` until ${this.dates.formatDate(until)}.`;
|
|
45
44
|
}
|
|
@@ -29,6 +29,7 @@ const calendarUtil = {
|
|
|
29
29
|
return excludedEvents;
|
|
30
30
|
},
|
|
31
31
|
applyRuleAndGetEventsWithoutExclusion(e, dateUntil, timezone) {
|
|
32
|
+
var _a, _b, _c, _d;
|
|
32
33
|
let repeatsUntil;
|
|
33
34
|
if (e.repeats) {
|
|
34
35
|
if (e.repeatsUntil) {
|
|
@@ -44,13 +45,13 @@ const calendarUtil = {
|
|
|
44
45
|
const dtstart = (0, rrule_1.datetime)(startSplit.year, startSplit.month + 1, startSplit.day, startSplit.hour, startSplit.minute);
|
|
45
46
|
const rule = new rrule_1.RRule({
|
|
46
47
|
freq: this.freqMapToRRule[e.repeats],
|
|
47
|
-
interval: e.interval
|
|
48
|
-
byweekday: e.daysOfWeek
|
|
48
|
+
interval: (_a = e.interval) !== null && _a !== void 0 ? _a : 1,
|
|
49
|
+
byweekday: (_b = e.daysOfWeek) === null || _b === void 0 ? void 0 : _b.map((d) => this.weekDaysMapToRRuleDays[d]),
|
|
49
50
|
dtstart,
|
|
50
|
-
bymonthday: e.daysOfMonth
|
|
51
|
+
bymonthday: (_c = e.daysOfMonth) === null || _c === void 0 ? void 0 : _c.map((d) => parseInt(d)),
|
|
51
52
|
until: new Date(repeatsUntil),
|
|
52
53
|
count: e.occurrences,
|
|
53
|
-
bysetpos: e.nthOccurrences
|
|
54
|
+
bysetpos: (_d = e.nthOccurrences) === null || _d === void 0 ? void 0 : _d.map((o) => {
|
|
54
55
|
if (o >= 0) {
|
|
55
56
|
++o;
|
|
56
57
|
}
|
|
@@ -163,10 +163,11 @@ const dateUtil = {
|
|
|
163
163
|
return this.addMonths(this.getStartOfMonth(timestamp), count);
|
|
164
164
|
},
|
|
165
165
|
date(date) {
|
|
166
|
+
var _a, _b, _c, _d;
|
|
166
167
|
if (!date) {
|
|
167
168
|
return new Date().getTime();
|
|
168
169
|
}
|
|
169
|
-
return Date.UTC(date.year, date.month, date.day, date.hour
|
|
170
|
+
return Date.UTC(date.year, date.month, date.day, (_a = date.hour) !== null && _a !== void 0 ? _a : 0, (_b = date.minute) !== null && _b !== void 0 ? _b : 0, (_c = date.second) !== null && _c !== void 0 ? _c : 0, (_d = date.milliseconds) !== null && _d !== void 0 ? _d : 0);
|
|
170
171
|
},
|
|
171
172
|
/**
|
|
172
173
|
* Unit_______________Pattern___Results
|
|
@@ -44,7 +44,7 @@ const durationUtil = {
|
|
|
44
44
|
return this.renderDateTimeUntil(start, new Date().getTime(), prefixes);
|
|
45
45
|
},
|
|
46
46
|
renderDateTimeUntil(start, now, prefixes) {
|
|
47
|
-
const { today = null, tomorrow = null, yesterday = null, future = null, past = null, shouldCapitalize, } = prefixes
|
|
47
|
+
const { today = null, tomorrow = null, yesterday = null, future = null, past = null, shouldCapitalize, } = prefixes !== null && prefixes !== void 0 ? prefixes : {};
|
|
48
48
|
let prefix = today;
|
|
49
49
|
let startDateAndTime = 'today';
|
|
50
50
|
const daysFromNow = Math.round((start - now) / (1000 * 3600 * 24));
|
|
@@ -7,10 +7,11 @@ const schema_1 = require("@sprucelabs/schema");
|
|
|
7
7
|
const spruce_core_schemas_1 = require("@sprucelabs/spruce-core-schemas");
|
|
8
8
|
const TimezoneChoiceSorter_1 = __importDefault(require("../locales/TimezoneChoiceSorter"));
|
|
9
9
|
function sortTimezoneChoices(locale, schema, fieldName) {
|
|
10
|
+
var _a;
|
|
10
11
|
const sorter = new TimezoneChoiceSorter_1.default(locale);
|
|
11
12
|
const choices = sorter.sort(spruce_core_schemas_1.timezoneChoices);
|
|
12
13
|
const copy = (0, schema_1.cloneDeep)(schema);
|
|
13
|
-
const field = copy.fields
|
|
14
|
+
const field = (_a = copy.fields) === null || _a === void 0 ? void 0 : _a[fieldName];
|
|
14
15
|
if (field) {
|
|
15
16
|
field.options = {
|
|
16
17
|
...field.options,
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "40.0.
|
|
6
|
+
"version": "40.0.11",
|
|
7
7
|
"files": [
|
|
8
8
|
"build/**/*",
|
|
9
9
|
"!build/__tests__",
|
|
@@ -61,34 +61,32 @@
|
|
|
61
61
|
"post.watch.build": "yarn run build.copy-files && yarn run build.resolve-paths",
|
|
62
62
|
"watch.build.dev": "tsc-watch --sourceMap --onCompilationComplete 'yarn run post.watch.build'",
|
|
63
63
|
"lint.tsc": "tsc -p . --noEmit",
|
|
64
|
-
"watch.lint": "concurrently 'yarn run lint' \"chokidar 'src/**/*' -c 'yarn run lint.tsc'\"",
|
|
65
64
|
"watch.rebuild": "yarn run clean.all && yarn install && yarn run watch.build.dev"
|
|
66
65
|
},
|
|
67
66
|
"dependencies": {
|
|
68
|
-
"@sprucelabs/error": "^6.0.
|
|
69
|
-
"@sprucelabs/mercury-event-emitter": "^42.0.
|
|
70
|
-
"@sprucelabs/mercury-types": "^47.0.
|
|
71
|
-
"@sprucelabs/schema": "^30.0.
|
|
72
|
-
"@sprucelabs/spruce-core-schemas": "^40.0.
|
|
73
|
-
"@sprucelabs/spruce-event-utils": "^40.0.
|
|
67
|
+
"@sprucelabs/error": "^6.0.11",
|
|
68
|
+
"@sprucelabs/mercury-event-emitter": "^42.0.10",
|
|
69
|
+
"@sprucelabs/mercury-types": "^47.0.11",
|
|
70
|
+
"@sprucelabs/schema": "^30.0.15",
|
|
71
|
+
"@sprucelabs/spruce-core-schemas": "^40.0.11",
|
|
72
|
+
"@sprucelabs/spruce-event-utils": "^40.0.11",
|
|
74
73
|
"date-fns": "^3.6.0",
|
|
75
74
|
"date-fns-tz": "^3.1.3",
|
|
76
75
|
"rrule": "^2.8.1"
|
|
77
76
|
},
|
|
78
77
|
"devDependencies": {
|
|
79
|
-
"@sprucelabs/esm-postbuild": "^6.0.
|
|
80
|
-
"@sprucelabs/jest-json-reporter": "^8.0.
|
|
81
|
-
"@sprucelabs/resolve-path-aliases": "^2.0.
|
|
78
|
+
"@sprucelabs/esm-postbuild": "^6.0.11",
|
|
79
|
+
"@sprucelabs/jest-json-reporter": "^8.0.11",
|
|
80
|
+
"@sprucelabs/resolve-path-aliases": "^2.0.13",
|
|
82
81
|
"@sprucelabs/semantic-release": "^5.0.1",
|
|
83
|
-
"@sprucelabs/test": "^9.0.
|
|
84
|
-
"@sprucelabs/test-utils": "^5.0.
|
|
82
|
+
"@sprucelabs/test": "^9.0.9",
|
|
83
|
+
"@sprucelabs/test-utils": "^5.0.10",
|
|
85
84
|
"@types/lodash": "^4.17.0",
|
|
86
85
|
"@types/node": "^20.12.7",
|
|
87
86
|
"chokidar-cli": "^3.0.0",
|
|
88
|
-
"concurrently": "^8.2.2",
|
|
89
87
|
"dotenv": "^16.4.5",
|
|
90
88
|
"eslint": "^9.1.1",
|
|
91
|
-
"eslint-config-spruce": "^11.2.
|
|
89
|
+
"eslint-config-spruce": "^11.2.13",
|
|
92
90
|
"jest": "^29.7.0",
|
|
93
91
|
"jest-circus": "^29.7.0",
|
|
94
92
|
"prettier": "^3.2.5",
|