mirror of
https://github.com/discordeno/discordeno.git
synced 2026-05-21 02:40:08 +00:00
I prefer semicolors, they also help avoiding certain pitfalls in JavaScript/TypeScript, such as the following code sample: ```js const xyz = "test" (something.else as string) = "another" ``` This results in a TypeError: "test" is not a function, this is because js thinks we are trying to call the string "test" as a function. To fix this it requires a `;` somewhere before the `(`, such as `;(something ... ` which in my opinion is ugly and less clean overall.
24 lines
771 B
JavaScript
24 lines
771 B
JavaScript
// @ts-check
|
|
|
|
// If we are running in Bun or Deno, they have native TypeScript support with .js imports, node requires .ts imports
|
|
const supportsTypescript = 'Bun' in globalThis || 'Deno' in globalThis;
|
|
|
|
/** @type {import("mocha").MochaInstanceOptions & Record<string, unknown>} */
|
|
const mochaConfig = {
|
|
timeout: 2000,
|
|
'watch-extensions': 'ts',
|
|
'watch-files': ['src', 'tests'],
|
|
};
|
|
|
|
if (!supportsTypescript) {
|
|
mochaConfig.require = ['ts-node/register'];
|
|
|
|
// Node options
|
|
mochaConfig.loader = ['ts-node/esm'];
|
|
// Node will output a ExperimentalWarning about --loader (--experimental-loader) and a DeprecationWarning because ts-node uses fs.Stat
|
|
mochaConfig['no-warnings'] = true;
|
|
mochaConfig['enable-source-maps'] = true;
|
|
}
|
|
|
|
module.exports = mochaConfig;
|