diff --git a/module/consts.mjs b/module/consts.mjs new file mode 100644 index 0000000..aba638c --- /dev/null +++ b/module/consts.mjs @@ -0,0 +1,7 @@ +// MARK: filePath +export function filePath(path) { + if (path.startsWith(`/`)) { + path = path.slice(1); + }; + return `modules/${__ID__}/${path}`; +}; diff --git a/module/hooks/init.mjs b/module/hooks/init.mjs new file mode 100644 index 0000000..066f96a --- /dev/null +++ b/module/hooks/init.mjs @@ -0,0 +1,8 @@ +import { registerMetaSettings } from "../settings/meta.mjs"; +import { Logger } from "../utils/Logger.mjs"; + +Hooks.on(`init`, () => { + Logger.debug(`Initializing`); + + registerMetaSettings(); +}); diff --git a/module/hooks/ready.mjs b/module/hooks/ready.mjs new file mode 100644 index 0000000..ab9ddc3 --- /dev/null +++ b/module/hooks/ready.mjs @@ -0,0 +1,5 @@ +import { Logger } from "../utils/Logger.mjs"; + +Hooks.on(`ready`, () => { + Logger.log(`Version: ${__VERSION__}`); +}); diff --git a/module/main.mjs b/module/main.mjs new file mode 100644 index 0000000..1bc2cd9 --- /dev/null +++ b/module/main.mjs @@ -0,0 +1,4 @@ +import "./api.mjs"; + +import "./hooks/init.mjs"; +import "./hooks/ready.mjs"; diff --git a/module/settings/meta.mjs b/module/settings/meta.mjs new file mode 100644 index 0000000..25602a3 --- /dev/null +++ b/module/settings/meta.mjs @@ -0,0 +1,8 @@ +export function registerMetaSettings() { + game.settings.register(__ID__, `data`, { + scope: `user`, + type: Object, + config: false, + requiresReload: false, + }); +}; diff --git a/module/utils/Logger.mjs b/module/utils/Logger.mjs new file mode 100644 index 0000000..c4dc387 --- /dev/null +++ b/module/utils/Logger.mjs @@ -0,0 +1,22 @@ +const augmentedProps = new Set([ + `debug`, + `log`, + `error`, + `info`, + `warn`, + `group`, + `time`, + `timeEnd`, + `timeLog`, + `timeStamp`, +]); + +/** @type {Console} */ +export const Logger = new Proxy(console, { + get(target, prop, _receiver) { + if (augmentedProps.has(prop)) { + return target[prop].bind(target, __ID__, `|`); + }; + return target[prop]; + }, +}); diff --git a/public/module.json b/public/module.json new file mode 100644 index 0000000..ad4fb6b --- /dev/null +++ b/public/module.json @@ -0,0 +1,13 @@ +{ + "id": "stat-tracker", + "title": "Stats Tracker", + "version": "0.0.1", + "compatibility": { + "maximum": 13, + "verified": 13, + "minimum": 13 + }, + "esmodules": [ + "./module.mjs" + ] +}