Skip to content

Commit 4bad539

Browse files
committed
Migration to TypeScript (Closes #1)
1 parent 1f38d6a commit 4bad539

19 files changed

+596
-483
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
.idea
22
node_modules
33
lib
4+
build

.npmignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
.idea
22
docs
3+
src
4+
build
5+
scripts
6+
tsconfig.json
37
babel.config.json
48
.gitignore

babel.config.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
["@babel/plugin-transform-modules-commonjs", {
1111
"noInterop": true
1212
}],
13-
"@babel/plugin-proposal-nullish-coalescing-operator",
14-
"@babel/plugin-transform-runtime"
13+
"@babel/plugin-proposal-nullish-coalescing-operator"
1514
]
1615
}

esm/index.mjs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import DiscordJSPages from "../lib/PagesManager.js";
2+
3+
export default DiscordJSPages;
4+
5+
export const { PagesManager, PagesBuilder } = DiscordJSPages;

package-lock.json

Lines changed: 22 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11
{
22
"name": "discord.js-pages",
3-
"version": "1.0.2",
3+
"version": "1.1.0",
44
"description": "Dynamic pages pagination module for discord.js",
55
"scripts": {
6-
"build": "babel src --out-dir lib"
6+
"tsc": "tsc && node --experimental-modules --es-module-specifier-resolution=node ./scripts/removeEmptyFiles.mjs",
7+
"build": "npm run-script tsc && babel build --out-dir lib --copy-files && node --experimental-modules --es-module-specifier-resolution=node ./scripts/cleanUp.mjs"
78
},
89
"main": "./lib/PagesManager.js",
910
"exports": {
10-
".": {
11-
"require": "./lib/PagesManager.js",
12-
"default": "./src/PagesManager.mjs"
13-
}
11+
".": [
12+
{
13+
"require": "./lib/PagesManager.js",
14+
"import": "./esm/index.mjs"
15+
},
16+
"./lib/PagesManager.js"
17+
],
18+
"./esm": "./esm/index.mjs"
1419
},
15-
"module": "./src/PagesManager.mjs",
20+
"types": "./lib/interfaces.d.ts",
1621
"author": "MrZillaGold <Pronin Egor | mrzillagold@gmail.com>",
1722
"license": "GPL-3.0",
1823
"repository": {
@@ -37,7 +42,9 @@
3742
"@babel/core": "^7.12.3",
3843
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
3944
"@babel/plugin-transform-modules-commonjs": "^7.12.1",
40-
"@babel/plugin-transform-runtime": "^7.12.1",
41-
"@babel/preset-env": "^7.12.1"
45+
"@babel/preset-env": "^7.12.1",
46+
"@types/node": "^14.14.20",
47+
"@types/ws": "^7.4.0",
48+
"typescript": "^4.1.3"
4249
}
4350
}

scripts/cleanUp.mjs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { promises as fs } from "fs";
2+
3+
import tsconfig from "../tsconfig.json";
4+
5+
const OUT_DIR = tsconfig.compilerOptions.outDir;
6+
7+
await fs.rmdir(`./${OUT_DIR}`, { recursive: true });

scripts/removeEmptyFiles.mjs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { promises as fs } from "fs";
2+
3+
import tsconfig from "../tsconfig.json";
4+
5+
const OUT_DIR = tsconfig.compilerOptions.outDir;
6+
7+
const INTERFACES_DIR = `./${OUT_DIR}/interfaces`;
8+
9+
fs.readdir(INTERFACES_DIR)
10+
.then((files) => {
11+
files.forEach(async (file) => {
12+
if (file.endsWith(".js")) {
13+
await fs.unlink(`${INTERFACES_DIR}/${file}`);
14+
}
15+
})
16+
});
17+
18+
await fs.unlink(`${OUT_DIR}/interfaces.js`);

0 commit comments

Comments
 (0)