Skip to content

Commit

Permalink
Create global foundry module from single file (foundryvtt#7453)
Browse files Browse the repository at this point in the history
  • Loading branch information
stwlam committed Apr 18, 2023
1 parent 5c6e93c commit 40142b6
Show file tree
Hide file tree
Showing 120 changed files with 3,967 additions and 4,024 deletions.
11 changes: 5 additions & 6 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@
"jest/globals": true
},
"extends": [
"prettier",
"plugin:import/errors",
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:json/recommended"
"plugin:import/errors",
"plugin:import/typescript",
"plugin:json/recommended",
"prettier"
],
"parserOptions": {
"ecmaVersion": 2018,
Expand Down Expand Up @@ -84,9 +85,7 @@
]
},
"eslint-import-resolver-typescript": true,
"typescript": {
"alwaysTryTypes": true
}
"typescript": true
},
"import/parsers": {
"@typescript-eslint/parser": [
Expand Down
2 changes: 1 addition & 1 deletion src/module/rules/rule-element/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { TokenDocumentPF2e } from "@scene/index.ts";
import { CheckRoll } from "@system/check/index.ts";
import { LaxSchemaField, PredicateField, SlugField } from "@system/schema-data-fields.ts";
import { isObject, tupleHasValue } from "@util";
import type { DataModelValidationOptions } from "types/foundry/common/abstract/data.d.mts";
import type { DataModelValidationOptions } from "types/foundry/common/abstract/data.d.ts";
import { BracketedValue, RuleElementData, RuleElementSchema, RuleElementSource, RuleValue } from "./data.ts";

const { DataModel } = foundry.abstract;
Expand Down
11 changes: 11 additions & 0 deletions types/foundry/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"rules": {
// follow foundry convention in commons module
"import/no-default-export": "off",
// import plugin doesn't understand multiple exports in type declarations
"import/export": "off",
// import plugin isn't wise to node16 module resolution
"import/no-unresolved": "off",
"no-var": "off"
}
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import "./active-effect-config.js";
import "./actor-sheet.js";
import "./base.js";
import "./combatant-config.js";
import "./item-sheet.js";
import "./journal-page-sheet.js";
import "./journal-sheet.js";
import "./macro-config.js";
import "./note-config.js";
import "./roll-table-config.js";
import "./scene-config.js";
import "./tile-config.js";
import "./token-config.js";
import "./user-config.js";
import "./wall-config.js";
import "./active-effect-config.d.ts";
import "./actor-sheet.d.ts";
import "./base.d.ts";
import "./combatant-config.d.ts";
import "./item-sheet.d.ts";
import "./journal-page-sheet.d.ts";
import "./journal-sheet.d.ts";
import "./macro-config.d.ts";
import "./note-config.d.ts";
import "./roll-table-config.d.ts";
import "./scene-config.d.ts";
import "./tile-config.d.ts";
import "./token-config.d.ts";
import "./user-config.d.ts";
import "./wall-config.d.ts";
16 changes: 8 additions & 8 deletions types/foundry/client/application/form-application/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import "./base.js";
import "./client-settings.js";
import "./document-sheet/index.js";
import "./document-sheet-config.js";
import "./image-popout.js";
import "./other.js";
import "./permission.js";
import "./placeables-config.js";
import "./base.d.ts";
import "./client-settings.d.ts";
import "./document-sheet/index.d.ts";
import "./document-sheet-config.d.ts";
import "./image-popout.d.ts";
import "./other.d.ts";
import "./permission.d.ts";
import "./placeables-config.d.ts";
4 changes: 2 additions & 2 deletions types/foundry/client/apps/sidebar/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
import "./package-configuration.js";
import "./apps/keybindings-config.js";
import "./package-configuration.d.ts";
import "./apps/keybindings-config.d.ts";
24 changes: 12 additions & 12 deletions types/foundry/client/core/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import "./audio.js";
import "./clipboard.js";
import "./document-index.js";
import "./fonts.js";
import "./game-time.js";
import "./hooks.js";
import "./searchfilter.js";
import "./settings.js";
import "./socket.js";
import "./sorting.js";
import "./text-editor.js";
import "./video.js";
import "./audio.d.ts";
import "./clipboard.d.ts";
import "./document-index.d.ts";
import "./fonts.d.ts";
import "./game-time.d.ts";
import "./hooks.d.ts";
import "./searchfilter.d.ts";
import "./settings.d.ts";
import "./socket.d.ts";
import "./sorting.d.ts";
import "./text-editor.d.ts";
import "./video.d.ts";
2 changes: 1 addition & 1 deletion types/foundry/client/documents/active-effect.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ClientBaseActiveEffect } from "./client-base-mixes.js";
import type { ClientBaseActiveEffect } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/actor.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ClientBaseActor } from "./client-base-mixes.js";
import type { ClientBaseActor } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/ambient-light-document.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { CanvasBaseAmbientLight } from "./client-base-mixes.js";
import type { CanvasBaseAmbientLight } from "./client-base-mixes.d.ts";

declare global {
class AmbientLightDocument<TParent extends Scene | null> extends CanvasBaseAmbientLight<TParent> {
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/ambient-sound-document.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { CanvasBaseAmbientSound } from "./client-base-mixes.js";
import type { CanvasBaseAmbientSound } from "./client-base-mixes.d.ts";

declare global {
class AmbientSoundDocument<TParent extends Scene | null> extends CanvasBaseAmbientSound<TParent> {}
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/cards.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ClientBaseCards } from "./client-base-mixes.js";
import type { ClientBaseCards } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/chat-message.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ClientBaseChatMessage } from "./client-base-mixes.js";
import type { ClientBaseChatMessage } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/client-document.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ClientBaseScene } from "./client-base-mixes.js";
import type { ClientBaseScene } from "./client-base-mixes.d.ts";

declare global {
// Interfaces for ClientDocuments, given there is no common base with the generated intermediate classes
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/combat.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ClientBaseCombat } from "./client-base-mixes.js";
import type { ClientBaseCombat } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/combatant.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ClientBaseCombatant } from "./client-base-mixes.js";
import type { ClientBaseCombatant } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/drawing-document.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { CanvasBaseDrawing } from "./client-base-mixes.js";
import type { CanvasBaseDrawing } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/fog-exploration.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as io from "socket.io";
import { ClientBaseFogExploration } from "./client-base-mixes.js";
import type { ClientBaseFogExploration } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
4 changes: 2 additions & 2 deletions types/foundry/client/documents/folder.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ClientBaseFolder } from "./client-base-mixes.js";
import type { ClientBaseFolder } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down Expand Up @@ -33,7 +33,7 @@ declare global {
get displayed(): boolean;

/** Return a reference to the Document type which is contained within this Folder. */
get documentClass(): Function;
get documentClass(): ConstructorOf<TDocument>;

/** Return a reference to the WorldCollection instance which provides Documents to this Folder. */
get documentCollection(): WorldCollection<TDocument>;
Expand Down
56 changes: 28 additions & 28 deletions types/foundry/client/documents/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
import "./active-effect.js";
import "./actor.js";
import "./ambient-light-document.js";
import "./ambient-sound-document.js";
import "./cards.js";
import "./chat-message.js";
import "./client-base-mixes.js";
import "./client-document.js";
import "./combat.js";
import "./combatant.js";
import "./drawing-document.js";
import "./fog-exploration.js";
import "./folder.js";
import "./item.js";
import "./journal-entry.js";
import "./journal-entry-page.js";
import "./macro.js";
import "./measured-template-document.js";
import "./note-document.js";
import "./playlist.js";
import "./playlist-sound.js";
import "./roll-table.js";
import "./scene.js";
import "./table-result.js";
import "./tile-document.js";
import "./token-document.js";
import "./user.js";
import "./wall-document.js";
import "./active-effect.d.ts";
import "./actor.d.ts";
import "./ambient-light-document.d.ts";
import "./ambient-sound-document.d.ts";
import "./cards.d.ts";
import "./chat-message.d.ts";
import "./client-base-mixes.d.ts";
import "./client-document.d.ts";
import "./combat.d.ts";
import "./combatant.d.ts";
import "./drawing-document.d.ts";
import "./fog-exploration.d.ts";
import "./folder.d.ts";
import "./item.d.ts";
import "./journal-entry.d.ts";
import "./journal-entry-page.d.ts";
import "./macro.d.ts";
import "./measured-template-document.d.ts";
import "./note-document.d.ts";
import "./playlist.d.ts";
import "./playlist-sound.d.ts";
import "./roll-table.d.ts";
import "./scene.d.ts";
import "./table-result.d.ts";
import "./tile-document.d.ts";
import "./token-document.d.ts";
import "./user.d.ts";
import "./wall-document.d.ts";

declare global {
type WorldDocument =
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/item.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ClientBaseItem } from "./client-base-mixes.js";
import type { ClientBaseItem } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/journal-entry-page.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ClientBaseJournalEntryPage } from "./client-base-mixes.js";
import type { ClientBaseJournalEntryPage } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/journal-entry.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ClientBaseJournalEntry } from "./client-base-mixes.js";
import type { ClientBaseJournalEntry } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/macro.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ClientBaseMacro } from "./client-base-mixes.js";
import type { ClientBaseMacro } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { CanvasBaseMeasuredTemplate } from "./client-base-mixes.js";
import type { CanvasBaseMeasuredTemplate } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/note-document.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { CanvasBaseNote } from "./client-base-mixes.js";
import type { CanvasBaseNote } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/playlist-sound.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ClientBasePlaylistSound } from "./client-base-mixes.js";
import type { ClientBasePlaylistSound } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/playlist.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ClientBasePlaylist } from "./client-base-mixes.js";
import type { ClientBasePlaylist } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/roll-table.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ClientBaseRollTable } from "./client-base-mixes.js";
import type { ClientBaseRollTable } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/scene.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ClientBaseScene } from "./client-base-mixes.js";
import type { ClientBaseScene } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/table-result.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ClientBaseTableResult } from "./client-base-mixes.js";
import type { ClientBaseTableResult } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/tile-document.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { CanvasBaseTile } from "./client-base-mixes.js";
import type { CanvasBaseTile } from "./client-base-mixes.d.ts";

declare global {
class TileDocument<TParent extends Scene | null> extends CanvasBaseTile<TParent> {}
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/token-document.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { CanvasBaseToken } from "./client-base-mixes.js";
import type { CanvasBaseToken } from "./client-base-mixes.d.ts";

declare global {
class TokenDocument<TParent extends Scene | null> extends CanvasBaseToken<TParent> {
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/user.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ClientBaseUser } from "./client-base-mixes.js";
import type { ClientBaseUser } from "./client-base-mixes.d.ts";

declare global {
/**
Expand Down
2 changes: 1 addition & 1 deletion types/foundry/client/documents/wall-document.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { CanvasBaseWall } from "./client-base-mixes.js";
import type { CanvasBaseWall } from "./client-base-mixes.d.ts";

declare global {
class WallDocument<TParent extends Scene | null> extends CanvasBaseWall<TParent> {}
Expand Down
14 changes: 14 additions & 0 deletions types/foundry/client/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
declare global {
const CONST: typeof Constants;
namespace globalThis {
export import Color = Utils.Color;

module foundry {
export import CONST = Constants;
export import abstract = Abstract;
export import data = Data;
export import documents = Documents;
export import utils = Utils;
}
}
}
4 changes: 2 additions & 2 deletions types/foundry/client/keyboard/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
import "./client-keybindings.js";
import "./keyboard-manager.js";
import "./client-keybindings.d.ts";
import "./keyboard-manager.d.ts";
4 changes: 2 additions & 2 deletions types/foundry/client/pixi/core/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
import "./interaction/index.js";
import "./shapes/index.js";
import "./interaction/index.d.ts";
import "./shapes/index.d.ts";
2 changes: 1 addition & 1 deletion types/foundry/client/pixi/core/interaction/index.d.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
import "./canvas-animation.js";
import "./canvas-animation.d.ts";
4 changes: 2 additions & 2 deletions types/foundry/client/pixi/core/shapes/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
import "./polygon-helpers.js";
import "./source-polygon.js";
import "./polygon-helpers.d.ts";
import "./source-polygon.d.ts";
6 changes: 3 additions & 3 deletions types/foundry/client/pixi/grid/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import "./base.js";
import "./hexagonal-grid.js";
import "./square-grid.js";
import "./base.d.ts";
import "./hexagonal-grid.d.ts";
import "./square-grid.d.ts";
Loading

0 comments on commit 40142b6

Please sign in to comment.