Skip to content

Commit f4519fb

Browse files
committed
Compile version into source
1 parent 1f51873 commit f4519fb

File tree

8 files changed

+25
-15
lines changed

8 files changed

+25
-15
lines changed

.npmignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
# source and docs
55
/src
6+
/scripts
67
/docs
78
/.github
89
.gitignore

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
}
1212
},
1313
"scripts": {
14-
"build": "rm -rf dist typings && npm run format && npm test && tsc",
14+
"build": "node scripts/versionSync.js && rm -rf dist typings && npm run format && npm test && tsc",
1515
"format": "prettier --write .",
1616
"docs": "rm -rf docs && npm run format && npm test && typedoc",
1717
"buildWithDocs": "rm -rf docs && npm run build && typedoc",

scripts/versionSync.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import PackageJSON from "../package.json" assert { type: "json" };
2+
import { writeFileSync } from "fs";
3+
4+
const numbers = PackageJSON.version.split(".");
5+
writeFileSync(
6+
"src/__autogenerated__/versionNumbers.ts",
7+
`/**
8+
* @internal
9+
*/
10+
export const versionNumbers = ${JSON.stringify(numbers)};`
11+
);
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/**
2+
* @internal
3+
*/
4+
export const versionNumbers = ["2", "0", "0"];

src/functions/getVersionNumber.ts

Lines changed: 0 additions & 4 deletions
This file was deleted.

src/index.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
// @ts-ignore
2-
import PackageJSON from "../package.json" assert { type: "json" };
1+
import { versionNumbers } from "./__autogenerated__/versionNumbers.js";
32

43
import { precisionRange } from "./precisionRange.js";
54
import { defaultOptions } from "./defaultOptions.js";
@@ -12,7 +11,6 @@ import { add } from "./functions/add.js";
1211
import { subtract } from "./functions/subtract.js";
1312
import { multiply } from "./functions/multiply.js";
1413
import { divide } from "./functions/divide.js";
15-
import { getVersionNumber } from "./functions/getVersionNumber.js";
1614

1715
/**
1816
* A FloatToolkit contains methods to round floats and perform accurate math operations with them.
@@ -262,19 +260,19 @@ namespace FloatToolkit {
262260
*/
263261
export const VERSION: Version = {
264262
get full() {
265-
return PackageJSON.version;
263+
return versionNumbers.join(".");
266264
},
267265

268266
get major() {
269-
return getVersionNumber(PackageJSON.version, 0);
267+
return versionNumbers[0];
270268
},
271269

272270
get minor() {
273-
return getVersionNumber(PackageJSON.version, 1);
271+
return versionNumbers[1];
274272
},
275273

276274
get patch() {
277-
return getVersionNumber(PackageJSON.version, 2);
275+
return versionNumbers[2];
278276
},
279277
};
280278
}

tsconfig.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
"rootDir": "./src/",
1111
"moduleResolution": "node",
1212
"types": [],
13-
"resolveJsonModule": true,
1413

1514
"declaration": true,
1615
"outDir": "./dist/",
@@ -39,7 +38,7 @@
3938
"skipLibCheck": true
4039
},
4140

42-
"include": ["./src/**/*.ts", "./package.json"],
41+
"include": ["./src/**/*.ts"],
4342
"exclude": ["./src/__tests__/**/*.ts"],
4443

4544
"typedocOptions": {

tsconfig.test.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@
33

44
"compilerOptions": {
55
"types": ["node", "jest"],
6+
"resolveJsonModule": true,
67

78
"declaration": false,
89
"declarationDir": null
910
},
1011

11-
"include": ["./src/__tests__/**/*.ts"],
12+
"include": ["./src/__tests__/**/*.ts", "./package.json"],
1213
"exclude": []
1314
}

0 commit comments

Comments
 (0)