@algorandfoundation/algokit-utils 0.1.0 → 1.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +31 -0
  3. package/dist/account.d.ts +87 -0
  4. package/dist/account.d.ts.map +1 -0
  5. package/dist/account.js +148 -0
  6. package/dist/account.js.map +1 -0
  7. package/dist/algo-amount.d.ts +18 -0
  8. package/dist/algo-amount.d.ts.map +1 -0
  9. package/dist/algo-amount.js +31 -0
  10. package/dist/algo-amount.js.map +1 -0
  11. package/dist/algo-http-client-with-retry.d.ts +14 -0
  12. package/dist/algo-http-client-with-retry.d.ts.map +1 -0
  13. package/dist/algo-http-client-with-retry.js +62 -0
  14. package/dist/algo-http-client-with-retry.js.map +1 -0
  15. package/dist/algod-type.d.ts +124 -0
  16. package/dist/algod-type.d.ts.map +1 -0
  17. package/dist/algod-type.js +3 -0
  18. package/dist/algod-type.js.map +1 -0
  19. package/dist/app.d.ts +150 -0
  20. package/dist/app.d.ts.map +1 -0
  21. package/dist/app.js +160 -0
  22. package/dist/app.js.map +1 -0
  23. package/dist/application-client.d.ts +1 -0
  24. package/dist/application-client.d.ts.map +1 -0
  25. package/dist/application-client.js +69 -0
  26. package/dist/application-client.js.map +1 -0
  27. package/dist/config.d.ts +25 -0
  28. package/dist/config.d.ts.map +1 -0
  29. package/dist/config.js +28 -0
  30. package/dist/config.js.map +1 -0
  31. package/dist/deploy-app.d.ts +149 -0
  32. package/dist/deploy-app.d.ts.map +1 -0
  33. package/dist/deploy-app.js +418 -0
  34. package/dist/deploy-app.js.map +1 -0
  35. package/dist/index.d.ts +13 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +29 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/indexer-lookup.d.ts +31 -0
  40. package/dist/indexer-lookup.d.ts.map +1 -0
  41. package/dist/indexer-lookup.js +96 -0
  42. package/dist/indexer-lookup.js.map +1 -0
  43. package/dist/indexer-type.d.ts +314 -0
  44. package/dist/indexer-type.d.ts.map +1 -0
  45. package/dist/indexer-type.js +25 -0
  46. package/dist/indexer-type.js.map +1 -0
  47. package/dist/localnet.d.ts +54 -0
  48. package/dist/localnet.d.ts.map +1 -0
  49. package/dist/localnet.js +121 -0
  50. package/dist/localnet.js.map +1 -0
  51. package/dist/network-client.d.ts +102 -0
  52. package/dist/network-client.d.ts.map +1 -0
  53. package/dist/network-client.js +182 -0
  54. package/dist/network-client.js.map +1 -0
  55. package/dist/package.json +20 -0
  56. package/dist/transaction.d.ts +147 -0
  57. package/dist/transaction.d.ts.map +1 -0
  58. package/dist/transaction.js +274 -0
  59. package/dist/transaction.js.map +1 -0
  60. package/dist/transfer.d.ts +24 -0
  61. package/dist/transfer.d.ts.map +1 -0
  62. package/dist/transfer.js +33 -0
  63. package/dist/transfer.js.map +1 -0
  64. package/dist/urlTokenBaseHTTPClient.d.ts +41 -0
  65. package/dist/urlTokenBaseHTTPClient.d.ts.map +1 -0
  66. package/dist/urlTokenBaseHTTPClient.js +151 -0
  67. package/dist/urlTokenBaseHTTPClient.js.map +1 -0
  68. package/package.json +101 -12
@@ -0,0 +1,24 @@
1
+ import { Algodv2, SuggestedParams } from 'algosdk';
2
+ import { AlgoAmount } from './algo-amount';
3
+ import { SendTransactionFrom, SendTransactionParams, SendTransactionResult, TransactionNote } from './transaction';
4
+ interface AlgoTransferParams extends SendTransactionParams {
5
+ /** The account (with private key loaded) that will send the µALGOs */
6
+ from: SendTransactionFrom;
7
+ /** The account address that will receive the ALGOs */
8
+ to: string;
9
+ /** The amount to send */
10
+ amount: AlgoAmount;
11
+ /** Optional transaction parameters */
12
+ transactionParams?: SuggestedParams;
13
+ /** The (optional) transaction note */
14
+ note?: TransactionNote;
15
+ }
16
+ /**
17
+ * Transfer ALGOs between two accounts.
18
+ * @param transfer The transfer definition
19
+ * @param algod An algod client
20
+ * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
21
+ */
22
+ export declare function transferAlgos(transfer: AlgoTransferParams, algod: Algodv2): Promise<SendTransactionResult>;
23
+ export {};
24
+ //# sourceMappingURL=transfer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../src/transfer.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,EAKL,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EAChB,MAAM,eAAe,CAAA;AAEtB,UAAU,kBAAmB,SAAQ,qBAAqB;IACxD,sEAAsE;IACtE,IAAI,EAAE,mBAAmB,CAAA;IACzB,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAA;IACV,yBAAyB;IACzB,MAAM,EAAE,UAAU,CAAA;IAClB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,eAAe,CAAA;IACnC,sCAAsC;IACtC,IAAI,CAAC,EAAE,eAAe,CAAA;CACvB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAkBhH"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.transferAlgos = void 0;
7
+ const algosdk_1 = __importDefault(require("algosdk"));
8
+ const config_1 = require("./config");
9
+ const transaction_1 = require("./transaction");
10
+ /**
11
+ * Transfer ALGOs between two accounts.
12
+ * @param transfer The transfer definition
13
+ * @param algod An algod client
14
+ * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
15
+ */
16
+ async function transferAlgos(transfer, algod) {
17
+ const { from, to, amount, note, transactionParams, ...sendConfig } = transfer;
18
+ const transaction = algosdk_1.default.makePaymentTxnWithSuggestedParamsFromObject({
19
+ from: (0, transaction_1.getSenderAddress)(from),
20
+ to: to,
21
+ amount: amount.microAlgos,
22
+ note: (0, transaction_1.encodeTransactionNote)(note),
23
+ suggestedParams: await (0, transaction_1.getTransactionParams)(transactionParams, algod),
24
+ closeRemainderTo: undefined,
25
+ rekeyTo: undefined,
26
+ });
27
+ if (!sendConfig.suppressLog && !sendConfig.skipSending) {
28
+ config_1.AlgoKitConfig.logger.debug(`Transferring ${amount.microAlgos}µALGOs from ${(0, transaction_1.getSenderAddress)(from)} to ${to}`);
29
+ }
30
+ return (0, transaction_1.sendTransaction)(algod, transaction, from, sendConfig);
31
+ }
32
+ exports.transferAlgos = transferAlgos;
33
+ //# sourceMappingURL=transfer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../src/transfer.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA2D;AAE3D,qCAAwC;AACxC,+CASsB;AAetB;;;;;GAKG;AACI,KAAK,UAAU,aAAa,CAAC,QAA4B,EAAE,KAAc;IAC9E,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAA;IAE7E,MAAM,WAAW,GAAG,iBAAO,CAAC,2CAA2C,CAAC;QACtE,IAAI,EAAE,IAAA,8BAAgB,EAAC,IAAI,CAAC;QAC5B,EAAE,EAAE,EAAE;QACN,MAAM,EAAE,MAAM,CAAC,UAAU;QACzB,IAAI,EAAE,IAAA,mCAAqB,EAAC,IAAI,CAAC;QACjC,eAAe,EAAE,MAAM,IAAA,kCAAoB,EAAC,iBAAiB,EAAE,KAAK,CAAC;QACrE,gBAAgB,EAAE,SAAS;QAC3B,OAAO,EAAE,SAAS;KACnB,CAAC,CAAA;IAEF,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;QACtD,sBAAa,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,MAAM,CAAC,UAAU,eAAe,IAAA,8BAAgB,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;KAC9G;IAED,OAAO,IAAA,6BAAe,EAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;AAC9D,CAAC;AAlBD,sCAkBC"}
@@ -0,0 +1,41 @@
1
+ import { BaseHTTPClient, BaseHTTPClientResponse, Query } from 'algosdk/dist/types/client/baseHTTPClient';
2
+ export interface AlgodTokenHeader {
3
+ 'X-Algo-API-Token': string;
4
+ }
5
+ export interface IndexerTokenHeader {
6
+ 'X-Indexer-API-Token': string;
7
+ }
8
+ export interface KMDTokenHeader {
9
+ 'X-KMD-API-Token': string;
10
+ }
11
+ export interface CustomTokenHeader {
12
+ [headerName: string]: string;
13
+ }
14
+ export type TokenHeader = AlgodTokenHeader | IndexerTokenHeader | KMDTokenHeader | CustomTokenHeader;
15
+ /**
16
+ * Implementation of BaseHTTPClient that uses a URL and a token
17
+ * and make the REST queries using fetch.
18
+ * This is the default implementation of BaseHTTPClient.
19
+ */
20
+ export declare class URLTokenBaseHTTPClient implements BaseHTTPClient {
21
+ private defaultHeaders;
22
+ private readonly baseURL;
23
+ private readonly tokenHeader;
24
+ constructor(tokenHeader: TokenHeader, baseServer: string, port?: string | number, defaultHeaders?: Record<string, any>);
25
+ /**
26
+ * Compute the URL for a path relative to the instance's address
27
+ * @param relativePath - A path string
28
+ * @param query - An optional key-value object of query parameters to add to the URL. If the
29
+ * relativePath already has query parameters on it, the additional parameters defined here will
30
+ * be added to the URL without modifying those (unless a key collision occurs).
31
+ * @returns A URL string
32
+ */
33
+ private getURL;
34
+ private static formatFetchResponseHeaders;
35
+ private static checkHttpError;
36
+ private static formatFetchResponse;
37
+ get(relativePath: string, query?: Query<string>, requestHeaders?: Record<string, string>): Promise<BaseHTTPClientResponse>;
38
+ post(relativePath: string, data: Uint8Array, query?: Query<string>, requestHeaders?: Record<string, string>): Promise<BaseHTTPClientResponse>;
39
+ delete(relativePath: string, data: Uint8Array, query?: Query<string>, requestHeaders?: Record<string, string>): Promise<BaseHTTPClientResponse>;
40
+ }
41
+ //# sourceMappingURL=urlTokenBaseHTTPClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urlTokenBaseHTTPClient.d.ts","sourceRoot":"","sources":["../src/urlTokenBaseHTTPClient.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAuB,sBAAsB,EAAE,KAAK,EAAE,MAAM,0CAA0C,CAAA;AAI7H,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,qBAAqB,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;CAC7B;AAUD,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,cAAc,GAAG,iBAAiB,CAAA;AAEpG;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,cAAc;IAKuB,OAAO,CAAC,cAAc;IAJxG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAK;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;gBAG7B,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAU,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAkBlI;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM;IAkBd,OAAO,CAAC,MAAM,CAAC,0BAA0B;mBAQpB,cAAc;mBA+Bd,mBAAmB;IASlC,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAgB9H,IAAI,CACR,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,UAAU,EAChB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EACrB,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAC1C,OAAO,CAAC,sBAAsB,CAAC;IAkB5B,MAAM,CACV,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,UAAU,EAChB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EACrB,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAC1C,OAAO,CAAC,sBAAsB,CAAC;CAiBnC"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.URLTokenBaseHTTPClient = void 0;
4
+ const buffer_1 = require("buffer");
5
+ const cross_fetch_1 = require("cross-fetch");
6
+ class URLTokenBaseHTTPError extends Error {
7
+ constructor(message, response) {
8
+ super(message);
9
+ this.response = response;
10
+ this.name = 'URLTokenBaseHTTPError';
11
+ this.response = response;
12
+ }
13
+ }
14
+ /**
15
+ * Implementation of BaseHTTPClient that uses a URL and a token
16
+ * and make the REST queries using fetch.
17
+ * This is the default implementation of BaseHTTPClient.
18
+ */
19
+ class URLTokenBaseHTTPClient {
20
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
+ constructor(tokenHeader, baseServer, port, defaultHeaders = {}) {
22
+ this.defaultHeaders = defaultHeaders;
23
+ // Append a trailing slash so we can use relative paths. Without the trailing
24
+ // slash, the last path segment will be replaced by the relative path. See
25
+ // usage in `addressWithPath`.
26
+ const fixedBaseServer = baseServer.endsWith('/') ? baseServer : `${baseServer}/`;
27
+ const baseServerURL = new URL(fixedBaseServer);
28
+ if (typeof port !== 'undefined') {
29
+ baseServerURL.port = port.toString();
30
+ }
31
+ if (baseServerURL.protocol.length === 0) {
32
+ throw new Error('Invalid base server URL, protocol must be defined.');
33
+ }
34
+ this.baseURL = baseServerURL;
35
+ this.tokenHeader = tokenHeader;
36
+ }
37
+ /**
38
+ * Compute the URL for a path relative to the instance's address
39
+ * @param relativePath - A path string
40
+ * @param query - An optional key-value object of query parameters to add to the URL. If the
41
+ * relativePath already has query parameters on it, the additional parameters defined here will
42
+ * be added to the URL without modifying those (unless a key collision occurs).
43
+ * @returns A URL string
44
+ */
45
+ getURL(relativePath, query) {
46
+ let fixedRelativePath;
47
+ if (relativePath.startsWith('./')) {
48
+ fixedRelativePath = relativePath;
49
+ }
50
+ else if (relativePath.startsWith('/')) {
51
+ fixedRelativePath = `.${relativePath}`;
52
+ }
53
+ else {
54
+ fixedRelativePath = `./${relativePath}`;
55
+ }
56
+ const address = new URL(fixedRelativePath, this.baseURL);
57
+ if (query) {
58
+ for (const [key, value] of Object.entries(query)) {
59
+ address.searchParams.set(key, value);
60
+ }
61
+ }
62
+ return address.toString();
63
+ }
64
+ static formatFetchResponseHeaders(headers) {
65
+ const headersObj = {};
66
+ headers.forEach((key, value) => {
67
+ headersObj[key] = value;
68
+ });
69
+ return headersObj;
70
+ }
71
+ static async checkHttpError(res) {
72
+ if (res.ok) {
73
+ return;
74
+ }
75
+ let body = null;
76
+ let bodyErrorMessage = null;
77
+ try {
78
+ body = new Uint8Array(await res.arrayBuffer());
79
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
80
+ const decoded = JSON.parse(buffer_1.Buffer.from(body).toString());
81
+ if (decoded.message) {
82
+ bodyErrorMessage = decoded.message;
83
+ }
84
+ }
85
+ catch (_) {
86
+ // ignore any error that happened while we are parsing the error response
87
+ }
88
+ let message = `Network request error. Received status ${res.status} (${res.statusText})`;
89
+ if (bodyErrorMessage) {
90
+ message += `: ${bodyErrorMessage}`;
91
+ }
92
+ throw new URLTokenBaseHTTPError(message, {
93
+ body: body !== null ? body : new Uint8Array(),
94
+ status: res.status,
95
+ headers: URLTokenBaseHTTPClient.formatFetchResponseHeaders(res.headers),
96
+ });
97
+ }
98
+ static async formatFetchResponse(res) {
99
+ await this.checkHttpError(res);
100
+ return {
101
+ body: new Uint8Array(await res.arrayBuffer()),
102
+ status: res.status,
103
+ headers: URLTokenBaseHTTPClient.formatFetchResponseHeaders(res.headers),
104
+ };
105
+ }
106
+ async get(relativePath, query, requestHeaders = {}) {
107
+ // Expand headers for use in fetch
108
+ const headers = {
109
+ ...this.tokenHeader,
110
+ ...this.defaultHeaders,
111
+ ...requestHeaders,
112
+ };
113
+ const res = await (0, cross_fetch_1.fetch)(this.getURL(relativePath, query), {
114
+ mode: 'cors',
115
+ headers,
116
+ });
117
+ return URLTokenBaseHTTPClient.formatFetchResponse(res);
118
+ }
119
+ async post(relativePath, data, query, requestHeaders = {}) {
120
+ // Expand headers for use in fetch
121
+ const headers = {
122
+ ...this.tokenHeader,
123
+ ...this.defaultHeaders,
124
+ ...requestHeaders,
125
+ };
126
+ const res = await (0, cross_fetch_1.fetch)(this.getURL(relativePath, query), {
127
+ method: 'POST',
128
+ mode: 'cors',
129
+ body: data,
130
+ headers,
131
+ });
132
+ return URLTokenBaseHTTPClient.formatFetchResponse(res);
133
+ }
134
+ async delete(relativePath, data, query, requestHeaders = {}) {
135
+ // Expand headers for use in fetch
136
+ const headers = {
137
+ ...this.tokenHeader,
138
+ ...this.defaultHeaders,
139
+ ...requestHeaders,
140
+ };
141
+ const res = await (0, cross_fetch_1.fetch)(this.getURL(relativePath, query), {
142
+ method: 'DELETE',
143
+ mode: 'cors',
144
+ body: data,
145
+ headers,
146
+ });
147
+ return URLTokenBaseHTTPClient.formatFetchResponse(res);
148
+ }
149
+ }
150
+ exports.URLTokenBaseHTTPClient = URLTokenBaseHTTPClient;
151
+ //# sourceMappingURL=urlTokenBaseHTTPClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urlTokenBaseHTTPClient.js","sourceRoot":"","sources":["../src/urlTokenBaseHTTPClient.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,19 +1,108 @@
1
1
  {
2
2
  "name": "@algorandfoundation/algokit-utils",
3
- "version": "0.1.0",
4
- "description": "npm package for algokit-utils",
5
- "main": "index.js",
3
+ "version": "1.0.0-beta.2",
4
+ "private": false,
5
+ "description": "A set of core Algorand utilities written in TypeScript and released via npm that make it easier to build solutions on Algorand.",
6
+ "author": "Algorand Foundation",
7
+ "license": "MIT",
8
+ "engines": {
9
+ "node": ">=16.0"
10
+ },
11
+ "main": "./dist/index.js",
12
+ "files": [
13
+ "dist/**/*"
14
+ ],
6
15
  "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
16
+ "build": "run-s build:*",
17
+ "build:0-clean": "rimraf dist coverage",
18
+ "build:1-compile": "tsc -p tsconfig.build.json",
19
+ "build:2-copy-pkg-json": "npx --yes @makerx/ts-toolkit@latest copy-package-json",
20
+ "test": "jest --coverage --passWithNoTests",
21
+ "lint": "eslint ./src/ --ext .ts",
22
+ "lint:fix": "eslint ./src/ --ext .ts --fix",
23
+ "check-types": "tsc --noEmit",
24
+ "audit": "npm audit",
25
+ "format": "prettier --write .",
26
+ "commit-lint": "commitlint --edit -o",
27
+ "semantic-release": "semantic-release"
8
28
  },
9
- "repository": {
10
- "type": "git",
11
- "url": "git+https://github.com/algorandfoundation/algokit-utils-ts.git"
29
+ "dependencies": {
30
+ "algosdk": "^2.1.0",
31
+ "buffer": "^6.0.3"
12
32
  },
13
- "author": "",
14
- "license": "MIT",
15
- "bugs": {
16
- "url": "https://github.com/algorandfoundation/algokit-utils-ts/issues"
33
+ "devDependencies": {
34
+ "@commitlint/cli": "^17.4.3",
35
+ "@commitlint/config-conventional": "^17.4.3",
36
+ "@makerx/eslint-config": "3.0.0",
37
+ "@makerx/prettier-config": "2.0.0",
38
+ "@makerx/ts-config": "1.0.1",
39
+ "@tsconfig/node16": "^1.0.3",
40
+ "@types/jest": "^29.2.3",
41
+ "@types/uuid": "^9.0.1",
42
+ "conventional-changelog-conventionalcommits": "^5.0.0",
43
+ "eslint": "8.35.0",
44
+ "npm-run-all": "^4.1.5",
45
+ "prettier": "2.8.4",
46
+ "rimraf": "^4.4.0",
47
+ "semantic-release": "^20.1.0",
48
+ "tiny-invariant": "^1.3.1",
49
+ "ts-jest": "^29.0.3",
50
+ "ts-node": "^10.9.1",
51
+ "typescript": "^4.9.3",
52
+ "uuid": "^9.0.0"
17
53
  },
18
- "homepage": "https://github.com/algorandfoundation/algokit-utils-ts#readme"
54
+ "release": {
55
+ "branches": [
56
+ {
57
+ "name": "main",
58
+ "prerelease": "beta"
59
+ },
60
+ {
61
+ "name": "release"
62
+ }
63
+ ],
64
+ "plugins": [
65
+ [
66
+ "@semantic-release/commit-analyzer",
67
+ {
68
+ "preset": "conventionalcommits",
69
+ "releaseRules": [
70
+ {
71
+ "type": "build",
72
+ "release": "patch"
73
+ },
74
+ {
75
+ "type": "chore",
76
+ "release": "patch"
77
+ }
78
+ ]
79
+ }
80
+ ],
81
+ [
82
+ "@semantic-release/release-notes-generator",
83
+ {
84
+ "preset": "conventionalcommits",
85
+ "presetConfig": {
86
+ "types": [
87
+ {
88
+ "type": "feat",
89
+ "section": "Features"
90
+ },
91
+ {
92
+ "type": "fix",
93
+ "section": "Bug Fixes"
94
+ },
95
+ {
96
+ "type": "build",
97
+ "section": "Dependencies and Other Build Updates",
98
+ "hidden": false
99
+ }
100
+ ]
101
+ }
102
+ }
103
+ ],
104
+ "@semantic-release/npm",
105
+ "@semantic-release/github"
106
+ ]
107
+ }
19
108
  }