Skip to content

Commit a4ef663

Browse files
Merge pull request #104 from smarty/andrew/tsConfig2
updates sdk to handle typescript
2 parents 6bbaa66 + 9b32a96 commit a4ef663

File tree

11 files changed

+1571
-1106
lines changed

11 files changed

+1571
-1106
lines changed

.github/workflows/node-tests.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ jobs:
2222
with:
2323
node-version: ${{ matrix.node-version }}
2424
- run: npm ci
25+
- run: npm run build
2526
- run: npm test
2627
env:
2728
CI: true

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ __MACOSX
44
/.idea/
55
/node_modules/
66
/dist/
7-
.env
7+
.env
8+
.rollup.cache/

package-lock.json

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

package.json

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
],
2929
"main": "dist/cjs/index.cjs",
3030
"module": "dist/esm/index.mjs",
31+
"types": "dist/types/index.d.ts",
3132
"exports": {
3233
".": {
3334
"import": "./dist/esm/index.mjs",
@@ -45,18 +46,21 @@
4546
"url": "github:smartystreets/smartystreets-javascript-sdk"
4647
},
4748
"devDependencies": {
48-
"@babel/preset-env": "^7.25.8",
49-
"@rollup/plugin-commonjs": "^28.0.1",
49+
"@babel/preset-env": "^7.27.2",
50+
"@rollup/plugin-commonjs": "^28.0.3",
5051
"@rollup/plugin-json": "^6.1.0",
51-
"@rollup/plugin-node-resolve": "^15.3.0",
52+
"@rollup/plugin-node-resolve": "^16.0.1",
5253
"@rollup/plugin-terser": "^0.4.4",
54+
"@rollup/plugin-typescript": "^12.1.2",
55+
"@types/node": "^22.15.17",
5356
"chai": "^4.3.6",
54-
"mocha": "^10.2.0",
55-
"rollup": "^4.22.5",
56-
"rollup-plugin-delete": "^2.1.0"
57+
"mocha": "^11.2.2",
58+
"rollup": "^4.40.2",
59+
"rollup-plugin-delete": "^3.0.1",
60+
"typescript": "^5.8.3"
5761
},
5862
"dependencies": {
59-
"axios": "^1.7.7",
63+
"axios": "^1.9.0",
6064
"axios-retry": "^4.5.0"
6165
}
6266
}

rollup.config.mjs

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,29 @@ import del from "rollup-plugin-delete";
22
import commonjs from "@rollup/plugin-commonjs";
33
import json from "@rollup/plugin-json";
44
import terser from "@rollup/plugin-terser";
5-
import { nodeResolve } from '@rollup/plugin-node-resolve';
5+
import { nodeResolve } from "@rollup/plugin-node-resolve";
6+
import typescript from "@rollup/plugin-typescript";
67

78
export default {
89
input: "index.mjs",
910
external: ["axios", "axios-retry"],
1011
output: [
1112
{
12-
dir: "dist/cjs",
13-
format: "cjs",
13+
dir: "dist",
14+
format: "esm",
1415
preserveModules: true,
1516
preserveModulesRoot: "src",
1617
exports: "named",
17-
entryFileNames: "[name].cjs",
18+
entryFileNames: "esm/[name].mjs",
1819
},
1920
{
20-
dir: "dist/esm",
21-
format: "esm",
21+
dir: "dist",
22+
format: "cjs",
2223
preserveModules: true,
2324
preserveModulesRoot: "src",
2425
exports: "named",
25-
entryFileNames: "[name].mjs",
26+
esModule: false,
27+
entryFileNames: "cjs/[name].cjs",
2628
},
2729
],
2830
plugins: [
@@ -33,5 +35,11 @@ export default {
3335
}),
3436
json(),
3537
terser(),
38+
typescript({
39+
declaration: true,
40+
emitDeclarationOnly: true,
41+
outDir: "dist/types",
42+
rootDir: "src"
43+
}),
3644
],
3745
};

src/ClientBuilder.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const StatusCodeSender = require("./StatusCodeSender");
99
const LicenseSender = require("./LicenseSender");
1010
const BadCredentialsError = require("./Errors").BadCredentialsError;
1111
const RetrySender = require("./RetrySender.js");
12-
const Sleeper = require("./util/Sleeper.js");
12+
const Sleeper = require("./util/Sleeper.ts");
1313

1414
//TODO: refactor this to work more cleanly with a bundler.
1515
const UsStreetClient = require("./us_street/Client");

src/util/Sleeper.js

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

src/util/Sleeper.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export default class Sleeper {
2+
constructor () {}
3+
sleep(seconds: number) {
4+
return new Promise<void>((resolve) => setTimeout(resolve, seconds*1000));
5+
}
6+
}

tests/test_ExtractExample.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { expect } from "chai"; // Importing expect directly from chai
2-
import SmartySDK from "../index.mjs"; // Importing SmartySDK
2+
import SmartySDK from "../dist/esm/index.mjs"; // Importing SmartySDK
33

44
describe("Extract example test", () => {
55
const authId = "";

tests/us_street/test_Client.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
const chai = require("chai");
22
const expect = chai.expect;
33
const Client = require("../../src/us_street/Client");
4-
const ClientBuilder = require("../../src/ClientBuilder");
54
const Lookup = require("../../src/us_street/Lookup");
65
const Candidate = require("../../src/us_street/Candidate");
76
const Batch = require("../../src/Batch");

0 commit comments

Comments
 (0)