enefel 2.15.3 → 2.16.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/2025/skillMigration.ts +1 -2
- package/block.ts +1 -1
- package/calcul.ts +1 -1
- package/career.ts +1 -1
- package/color.ts +1 -1
- package/dist/2025/skillMigration.d.ts +2 -1
- package/dist/block.d.ts +1 -1
- package/dist/calcul.d.ts +1 -1
- package/dist/career.d.ts +2 -1
- package/dist/color.d.ts +1 -1
- package/dist/game.d.ts +1 -1
- package/dist/improvement.d.ts +1 -1
- package/dist/index.d.ts +8 -5
- package/dist/index.js +5 -2
- package/dist/package-lock.json +2 -2
- package/dist/package.json +1 -8
- package/dist/pitch.d.ts +2 -2
- package/dist/right.d.ts +1 -1
- package/dist/skill.d.ts +1 -1
- package/dist/skillCoach.d.ts +2 -2
- package/dist/skills/hitAndRun.d.ts +2 -1
- package/dist/skills/sidestep.d.ts +1 -1
- package/dist/stadium.d.ts +1 -1
- package/dist/state.d.ts +1 -1
- package/dist/status.d.ts +1 -1
- package/dist/time.js +4 -1
- package/dist/tsconfig.json +0 -1
- package/game.ts +1 -1
- package/improvement.ts +1 -1
- package/index.ts +15 -19
- package/package.json +1 -8
- package/pitch.ts +1 -1
- package/right.ts +1 -1
- package/skill.ts +1 -1
- package/skillCoach.ts +1 -1
- package/skills/hitAndRun.ts +2 -1
- package/skills/sidestep.ts +1 -1
- package/stadium.ts +1 -1
- package/state.ts +1 -1
- package/status.ts +1 -1
- package/time.ts +4 -1
- package/tsconfig.json +0 -1
- package/.npmrc.disabled +0 -2
- package/dist/jest.config.d.ts +0 -0
- package/dist/jest.config.js +0 -11
- package/dist/teams/career_v2025.d.ts +0 -246
- package/dist/teams/career_v2025.js +0 -3512
package/2025/skillMigration.ts
CHANGED
package/block.ts
CHANGED
package/calcul.ts
CHANGED
package/career.ts
CHANGED
|
@@ -2211,7 +2211,6 @@ export {
|
|
|
2211
2211
|
AVATAR,
|
|
2212
2212
|
AVATAR_RARITY,
|
|
2213
2213
|
CAREER_ID,
|
|
2214
|
-
CAREER_ID_ALL,
|
|
2215
2214
|
CAREER_IS_2025,
|
|
2216
2215
|
CAREER_MIGRATION_2025,
|
|
2217
2216
|
CAREER_VERSION,
|
|
@@ -2219,3 +2218,4 @@ export {
|
|
|
2219
2218
|
getAvailableCareers,
|
|
2220
2219
|
getCareers,
|
|
2221
2220
|
};
|
|
2221
|
+
export type { CAREER_ID_ALL };
|
package/color.ts
CHANGED
|
@@ -28,4 +28,5 @@ declare const SKILL_DISPLAY_OVERRIDE: Record<string, string>;
|
|
|
28
28
|
declare const normalizeSkillKey: (value: string) => string;
|
|
29
29
|
declare const formatSkillName: (value: string) => string;
|
|
30
30
|
declare const buildSkillMigrationRows: (existingSkills: Record<string, SKILL_TYPE>, nextSkills: SkillBasic[], legacyCareers: Record<string, CareerLite>, nextCareers: Record<string, CareerLite>) => SkillMigrationRow[];
|
|
31
|
-
export { buildSkillMigrationRows, formatSkillName, normalizeSkillKey, SKILL_DISPLAY_OVERRIDE,
|
|
31
|
+
export { buildSkillMigrationRows, formatSkillName, normalizeSkillKey, SKILL_DISPLAY_OVERRIDE, };
|
|
32
|
+
export type { SkillBasic, SkillMigrationRow };
|
package/dist/block.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PlayerWithSkill } from "types/models";
|
|
1
|
+
import { PlayerWithSkill } from "./types/models";
|
|
2
2
|
declare function isFrenzyAvailable(player: PlayerWithSkill, defender: PlayerWithSkill): boolean;
|
|
3
3
|
declare const getOrderDice: (attacker: PlayerWithSkill, defender: PlayerWithSkill) => {
|
|
4
4
|
value: number;
|
package/dist/calcul.d.ts
CHANGED
package/dist/career.d.ts
CHANGED
|
@@ -187,4 +187,5 @@ declare const getCareers: () => CareerMap;
|
|
|
187
187
|
declare const getAvailableCareers: () => AvailableCareerMap;
|
|
188
188
|
declare const CAREER_IS_2025: Record<CAREER_ID, boolean>;
|
|
189
189
|
declare const CAREER_MIGRATION_2025: Record<CAREER_ID, boolean>;
|
|
190
|
-
export { AVATAR, AVATAR_RARITY, CAREER_ID,
|
|
190
|
+
export { AVATAR, AVATAR_RARITY, CAREER_ID, CAREER_IS_2025, CAREER_MIGRATION_2025, CAREER_VERSION, RACE, getAvailableCareers, getCareers, };
|
|
191
|
+
export type { CAREER_ID_ALL };
|
package/dist/color.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Game } from "types/models";
|
|
1
|
+
import { Game } from "./types/models";
|
|
2
2
|
declare const colorShade: (col: string | null | undefined, amt: number) => string;
|
|
3
3
|
declare function isColorTooClose(a: string, b: string): boolean;
|
|
4
4
|
declare function invertColor(hexTripletColor: string): string;
|
package/dist/game.d.ts
CHANGED
package/dist/improvement.d.ts
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Game, Player, PlayerWithSkill, Point, Team } from "types/models";
|
|
1
|
+
import { Game, Player, PlayerWithSkill, Point, Team } from "./types/models";
|
|
2
2
|
import { METEO } from "./meteo";
|
|
3
3
|
import { getAllAdjacentSquares } from "./position";
|
|
4
4
|
import version from "./version";
|
|
@@ -217,7 +217,7 @@ declare enum TAKE_BALL_TYPE {
|
|
|
217
217
|
declare const p: (x: number | string, y: number | string) => Point;
|
|
218
218
|
declare function addSeconds(date: Date, days: number): Date;
|
|
219
219
|
declare const isSquareValidToPushBack: (availableSquares: Point[], targetIndex: number, players: Record<string, PlayerWithSkill>, w: number, h: number, busy?: Point[]) => boolean;
|
|
220
|
-
declare const getPlayerOnCell: (x: number | null, y: number | null, players: Record<string, PlayerWithSkill>) =>
|
|
220
|
+
declare const getPlayerOnCell: (x: number | null, y: number | null, players: Record<string, PlayerWithSkill>) => PlayerWithSkill | null;
|
|
221
221
|
declare const getHypnoticGazeMalus: (player: Player, target: Player, players: Record<string, Player>) => number;
|
|
222
222
|
declare const getBlockAssistance: (attackerPlayer: PlayerWithSkill, defenderPlayer: PlayerWithSkill, players: PlayerWithSkill[], isAttacker?: boolean, isFoul?: boolean) => PlayerWithSkill[];
|
|
223
223
|
declare const getDicesBlock: (attackerStrength: number, defenderStrength: number) => 2 | 1 | 3;
|
|
@@ -262,6 +262,9 @@ declare const swapArrayLocs: (arr: any[], index1: number, index2: number) => any
|
|
|
262
262
|
declare const getInactiveDays: (isDev?: boolean) => 10 | 10000;
|
|
263
263
|
declare const getMaxPlayers: (isDev?: boolean) => number;
|
|
264
264
|
export { addSeconds, arrayMove, availableSquaresToPushBack, canBlock, canEndTurn, canFaceUp, canFoul, canMove, canPass, canPlayerIntercepts, canStandup, canThrowTeamMate, canTransmit, FORMATION_DEFAULT_NAME, GAME_HISTORY_INFO, GAME_HISTORY_TYPE, getAllAdjacentSquares, getAttackerStrength, getBestInterceptor, getBlockAssistance, getDefenderStrength, getDicesBlock, getHypnoticGazeMalus, getInactiveDays, getMaxPlayers, getMoralModifier, getPlayerOnCell, getTeamColor, getTeamMoral, getTeamMoralByPlayer, getTeamXP, getThrowingBonus, haveSameTeam, INACTIVE_DAYS, isCoach, isGameRunning, isOnField, isOnLine, isSamePlayer, isSetUp, allAdjacentSquaresToPushBack, isSquareValidToPushBack, LAST_SEASON_ALPHA, MAX_PLAYER_TEAM, MAX_PLAYER_USER, p, PLAYER_HISTORY_INFO, PLAYER_HISTORY_TYPE, PLAYER_STAT, POSTULATION_HOURS, swapArrayLocs, TAKE_BALL_TYPE, version, };
|
|
265
|
-
export { SidestepMode, SidestepStrategy
|
|
266
|
-
export {
|
|
267
|
-
export {
|
|
265
|
+
export { SidestepMode, SidestepStrategy } from "./skills/sidestep";
|
|
266
|
+
export type { SidestepPreference } from "./skills/sidestep";
|
|
267
|
+
export { HitAndRunMode, HitAndRunStrategy } from "./skills/hitAndRun";
|
|
268
|
+
export type { HitAndRunPreference } from "./skills/hitAndRun";
|
|
269
|
+
export { SafePairOfHandsMode, SafePairOfHandsStrategy } from "./skills/safePairOfHands";
|
|
270
|
+
export type { SafePairOfHandsPreference } from "./skills/safePairOfHands";
|
package/dist/index.js
CHANGED
|
@@ -289,10 +289,13 @@ const isSquareValidToPushBack = (availableSquares, targetIndex, players, w, h, b
|
|
|
289
289
|
};
|
|
290
290
|
exports.isSquareValidToPushBack = isSquareValidToPushBack;
|
|
291
291
|
const getPlayerOnCell = (x, y, players) => {
|
|
292
|
+
// Retour normalisé à `PlayerWithSkill | null` : la fonction renvoyait `false`
|
|
293
|
+
// quand les coordonnées manquaient et `undefined` quand personne n'était sur
|
|
294
|
+
// la case, ce qui contaminait les signatures des appelants.
|
|
292
295
|
if (x === null || y === null) {
|
|
293
|
-
return
|
|
296
|
+
return null;
|
|
294
297
|
}
|
|
295
|
-
return Object.values(players).find((player) => player.x === x && player.y === y && (0, status_1.hasStatusOnField)(player));
|
|
298
|
+
return (Object.values(players).find((player) => player.x === x && player.y === y && (0, status_1.hasStatusOnField)(player)) ?? null);
|
|
296
299
|
};
|
|
297
300
|
exports.getPlayerOnCell = getPlayerOnCell;
|
|
298
301
|
const getHypnoticGazeMalus = (player, target, players) => {
|
package/dist/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "enefel",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.16.0",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "enefel",
|
|
9
|
-
"version": "2.
|
|
9
|
+
"version": "2.16.0",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"csv-parse": "^6.1.0",
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "enefel",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.16.0",
|
|
4
4
|
"description": "Fantasy Football game engine",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -8,13 +8,6 @@
|
|
|
8
8
|
".": "./dist/index.js",
|
|
9
9
|
"./*": "./dist/*.js"
|
|
10
10
|
},
|
|
11
|
-
"typesVersions": {
|
|
12
|
-
"*": {
|
|
13
|
-
"*": [
|
|
14
|
-
"./dist/*"
|
|
15
|
-
]
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
11
|
"scripts": {
|
|
19
12
|
"build": "tsc",
|
|
20
13
|
"watch": "tsc -w",
|
package/dist/pitch.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Game, Player } from "types/models";
|
|
1
|
+
import { Game, Player } from "./types/models";
|
|
2
2
|
declare enum TILES {
|
|
3
3
|
TD1 = "b",
|
|
4
4
|
CENTRE1 = "c",
|
|
@@ -21,7 +21,7 @@ declare function getTdTile(teamNumber: number): TILES.TD1 | TILES.TD2;
|
|
|
21
21
|
declare function getCenterTile(teamNumber: number): TILES.CENTRE1 | TILES.CENTRE2;
|
|
22
22
|
declare function getTile(game: Game, x: number, y: number): string;
|
|
23
23
|
declare function getIndexFromXY(x: number, y: number, width: number): number;
|
|
24
|
-
declare function getHalfStadium(side: 1 | 2, width: number): import("types/models").Point;
|
|
24
|
+
declare function getHalfStadium(side: 1 | 2, width: number): import("./types/models").Point;
|
|
25
25
|
declare function getNumberPlayerZone(teamNumber: number, players: Player[], game: Game): {
|
|
26
26
|
playerScrimmage: number;
|
|
27
27
|
playerLateralA: number;
|
package/dist/right.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Game, Player, PlayerWithSkill, Team } from "types/models";
|
|
1
|
+
import { Game, Player, PlayerWithSkill, Team } from "./types/models";
|
|
2
2
|
declare function canJoinTeam(player: PlayerWithSkill, team: Team): boolean;
|
|
3
3
|
declare function canCreateTeam(player: Player): boolean;
|
|
4
4
|
declare function canQuitTeam(player: Player): boolean | "";
|
package/dist/skill.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Player, PlayerSkill, PlayerWithSkill } from "types/models";
|
|
1
|
+
import { Player, PlayerSkill, PlayerWithSkill } from "./types/models";
|
|
2
2
|
declare const BIG_GUY_LIMIT = 1;
|
|
3
3
|
declare const SKILL_INFO_ACTIVE = "active";
|
|
4
4
|
declare const SKILL_INFO_INACTIVE = "inactive";
|
package/dist/skillCoach.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PlayerWithSkill } from "types/models";
|
|
1
|
+
import { PlayerWithSkill } from "./types/models";
|
|
2
2
|
declare enum SKILL_COACH_NAMES {
|
|
3
3
|
SPONSOR = "sponsor",
|
|
4
4
|
SPY = "spy",
|
|
@@ -12,6 +12,6 @@ declare const COACH_SKILLS: {
|
|
|
12
12
|
threatening: SKILL_COACH_TYPE;
|
|
13
13
|
};
|
|
14
14
|
declare function shouldDisplayInfoInName(skillId: SKILL_COACH_NAMES): boolean;
|
|
15
|
-
declare function getCoachSkill(player: PlayerWithSkill, skillId: SKILL_COACH_NAMES): false | import("types/models").CoachSkill | undefined;
|
|
15
|
+
declare function getCoachSkill(player: PlayerWithSkill, skillId: SKILL_COACH_NAMES): false | import("./types/models").CoachSkill | undefined;
|
|
16
16
|
declare function hasAvailableCoachSkill(player: PlayerWithSkill, skillId: SKILL_COACH_NAMES): number | false;
|
|
17
17
|
export { COACH_SKILLS, getCoachSkill, hasAvailableCoachSkill, shouldDisplayInfoInName, SKILL_COACH_NAMES, };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { SidestepStrategy as HitAndRunStrategy
|
|
1
|
+
export { SidestepStrategy as HitAndRunStrategy } from "./sidestep";
|
|
2
|
+
export type { CustomPriorities } from "./sidestep";
|
|
2
3
|
export declare enum HitAndRunMode {
|
|
3
4
|
DISABLED = "DISABLED",
|
|
4
5
|
ENABLED = "ENABLED"
|
package/dist/stadium.d.ts
CHANGED
package/dist/state.d.ts
CHANGED
package/dist/status.d.ts
CHANGED
package/dist/time.js
CHANGED
|
@@ -35,7 +35,10 @@ const getTime = (type) => {
|
|
|
35
35
|
// after turnover malus time for player actions
|
|
36
36
|
const TIME_TURNOVER = 4 * 60 * 60;
|
|
37
37
|
// how many hours a game stay pending
|
|
38
|
-
|
|
38
|
+
// 24h était trop court pour la population actuelle : un défi lancé le soir
|
|
39
|
+
// n'était vu que par les gens connectés le lendemain soir, et disparaissait.
|
|
40
|
+
// Le coach peut de toute façon annuler son défi à tout moment.
|
|
41
|
+
const TIME_WAITING_GAME = 72;
|
|
39
42
|
// before league games (last game end + 1 day)
|
|
40
43
|
const TIME_INIT_LEAGUE = 1 * 24 * 60 * 60;
|
|
41
44
|
// between each league games
|
package/dist/tsconfig.json
CHANGED
package/game.ts
CHANGED
package/improvement.ts
CHANGED
package/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Game, Player, PlayerWithSkill, Point, Team } from "types/models";
|
|
1
|
+
import { Game, Player, PlayerWithSkill, Point, Team } from "./types/models";
|
|
2
2
|
import { distance } from "./calcul";
|
|
3
3
|
import { GAME_STATUS } from "./game";
|
|
4
4
|
import { ranges } from "./improvement";
|
|
@@ -307,11 +307,16 @@ const getPlayerOnCell = (
|
|
|
307
307
|
y: number | null,
|
|
308
308
|
players: Record<string, PlayerWithSkill>
|
|
309
309
|
) => {
|
|
310
|
+
// Retour normalisé à `PlayerWithSkill | null` : la fonction renvoyait `false`
|
|
311
|
+
// quand les coordonnées manquaient et `undefined` quand personne n'était sur
|
|
312
|
+
// la case, ce qui contaminait les signatures des appelants.
|
|
310
313
|
if (x === null || y === null) {
|
|
311
|
-
return
|
|
314
|
+
return null;
|
|
312
315
|
}
|
|
313
|
-
return
|
|
314
|
-
(
|
|
316
|
+
return (
|
|
317
|
+
Object.values(players).find(
|
|
318
|
+
(player) => player.x === x && player.y === y && hasStatusOnField(player)
|
|
319
|
+
) ?? null
|
|
315
320
|
);
|
|
316
321
|
};
|
|
317
322
|
|
|
@@ -1107,20 +1112,11 @@ export {
|
|
|
1107
1112
|
version,
|
|
1108
1113
|
};
|
|
1109
1114
|
|
|
1110
|
-
export {
|
|
1111
|
-
|
|
1112
|
-
SidestepStrategy,
|
|
1113
|
-
SidestepPreference,
|
|
1114
|
-
} from "./skills/sidestep";
|
|
1115
|
+
export { SidestepMode, SidestepStrategy } from "./skills/sidestep";
|
|
1116
|
+
export type { SidestepPreference } from "./skills/sidestep";
|
|
1115
1117
|
|
|
1116
|
-
export {
|
|
1117
|
-
|
|
1118
|
-
HitAndRunStrategy,
|
|
1119
|
-
HitAndRunPreference,
|
|
1120
|
-
} from "./skills/hitAndRun";
|
|
1118
|
+
export { HitAndRunMode, HitAndRunStrategy } from "./skills/hitAndRun";
|
|
1119
|
+
export type { HitAndRunPreference } from "./skills/hitAndRun";
|
|
1121
1120
|
|
|
1122
|
-
export {
|
|
1123
|
-
|
|
1124
|
-
SafePairOfHandsStrategy,
|
|
1125
|
-
SafePairOfHandsPreference,
|
|
1126
|
-
} from "./skills/safePairOfHands";
|
|
1121
|
+
export { SafePairOfHandsMode, SafePairOfHandsStrategy } from "./skills/safePairOfHands";
|
|
1122
|
+
export type { SafePairOfHandsPreference } from "./skills/safePairOfHands";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "enefel",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.16.0",
|
|
4
4
|
"description": "Fantasy Football game engine",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -8,13 +8,6 @@
|
|
|
8
8
|
".": "./dist/index.js",
|
|
9
9
|
"./*": "./dist/*.js"
|
|
10
10
|
},
|
|
11
|
-
"typesVersions": {
|
|
12
|
-
"*": {
|
|
13
|
-
"*": [
|
|
14
|
-
"./dist/*"
|
|
15
|
-
]
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
11
|
"scripts": {
|
|
19
12
|
"build": "tsc",
|
|
20
13
|
"watch": "tsc -w",
|
package/pitch.ts
CHANGED
package/right.ts
CHANGED
package/skill.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Player, PlayerSkill, PlayerWithSkill } from "types/models";
|
|
1
|
+
import { Player, PlayerSkill, PlayerWithSkill } from "./types/models";
|
|
2
2
|
import { newSkills } from "./2025/newSkills";
|
|
3
3
|
import { distanceSquares } from "./calcul";
|
|
4
4
|
import { hasStatusOnField } from "./status";
|
package/skillCoach.ts
CHANGED
package/skills/hitAndRun.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Hit and Run reuses the same strategies as Sidestep
|
|
2
2
|
// The UI is a toggle + select in the block action dialog
|
|
3
|
-
export { SidestepStrategy as HitAndRunStrategy
|
|
3
|
+
export { SidestepStrategy as HitAndRunStrategy } from "./sidestep";
|
|
4
|
+
export type { CustomPriorities } from "./sidestep";
|
|
4
5
|
|
|
5
6
|
export enum HitAndRunMode {
|
|
6
7
|
DISABLED = "DISABLED",
|
package/skills/sidestep.ts
CHANGED
package/stadium.ts
CHANGED
package/state.ts
CHANGED
package/status.ts
CHANGED
package/time.ts
CHANGED
|
@@ -38,7 +38,10 @@ const getTime = (type: TYPE_TIMER) => {
|
|
|
38
38
|
const TIME_TURNOVER = 4 * 60 * 60;
|
|
39
39
|
|
|
40
40
|
// how many hours a game stay pending
|
|
41
|
-
|
|
41
|
+
// 24h était trop court pour la population actuelle : un défi lancé le soir
|
|
42
|
+
// n'était vu que par les gens connectés le lendemain soir, et disparaissait.
|
|
43
|
+
// Le coach peut de toute façon annuler son défi à tout moment.
|
|
44
|
+
const TIME_WAITING_GAME = 72;
|
|
42
45
|
|
|
43
46
|
// before league games (last game end + 1 day)
|
|
44
47
|
const TIME_INIT_LEAGUE = 1 * 24 * 60 * 60;
|
package/tsconfig.json
CHANGED
package/.npmrc.disabled
DELETED
package/dist/jest.config.d.ts
DELETED
|
File without changes
|
package/dist/jest.config.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
module.exports = {
|
|
3
|
-
preset: "ts-jest",
|
|
4
|
-
testEnvironment: "node",
|
|
5
|
-
roots: ["<rootDir>/__tests__"],
|
|
6
|
-
testMatch: ["**/*.test.ts"],
|
|
7
|
-
transform: {
|
|
8
|
-
"^.+\\.tsx?$": "ts-jest",
|
|
9
|
-
},
|
|
10
|
-
moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"],
|
|
11
|
-
};
|