@api3/commons 0.13.0 → 0.13.1

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.
@@ -1,2 +1,2 @@
1
- export declare const tagAndRelease: (repo: string, branch?: string) => Promise<void>;
1
+ export declare const tagAndRelease: (repo: string, packageJsonPath: string, branch?: string) => Promise<void>;
2
2
  //# sourceMappingURL=tag-and-release.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tag-and-release.d.ts","sourceRoot":"","sources":["../../src/release-scripts/tag-and-release.ts"],"names":[],"mappings":"AA4DA,eAAO,MAAM,aAAa,SAAgB,MAAM,WAAU,MAAM,kBAgC/D,CAAC"}
1
+ {"version":3,"file":"tag-and-release.d.ts","sourceRoot":"","sources":["../../src/release-scripts/tag-and-release.ts"],"names":[],"mappings":"AA2DA,eAAO,MAAM,aAAa,SAAgB,MAAM,mBAAmB,MAAM,WAAU,MAAM,kBAgCxF,CAAC"}
@@ -18,7 +18,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.tagAndRelease = void 0;
19
19
  const node_child_process_1 = require("node:child_process");
20
20
  const node_fs_1 = require("node:fs");
21
- const node_path_1 = require("node:path");
22
21
  const promise_utils_1 = require("@api3/promise-utils");
23
22
  const rest_1 = require("@octokit/rest");
24
23
  const execSyncWithErrorHandling = (command) => {
@@ -56,7 +55,7 @@ const createGithubRelease = async (repo, tagName) => {
56
55
  }
57
56
  return goRes.data;
58
57
  };
59
- const tagAndRelease = async (repo, branch = 'main') => {
58
+ const tagAndRelease = async (repo, packageJsonPath, branch = 'main') => {
60
59
  console.info('Ensuring working directory is clean...');
61
60
  const gitStatus = execSyncWithErrorHandling('git status --porcelain');
62
61
  if (gitStatus !== '')
@@ -70,7 +69,7 @@ const tagAndRelease = async (repo, branch = 'main') => {
70
69
  const gitDiff = execSyncWithErrorHandling(`git diff origin/${branch}`);
71
70
  if (gitDiff !== '')
72
71
  throw new Error('Not up to date with the remote');
73
- const packageJson = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(__dirname, '../../package.json'), 'utf8'));
72
+ const packageJson = JSON.parse((0, node_fs_1.readFileSync)(packageJsonPath, 'utf8'));
74
73
  const { version } = packageJson;
75
74
  console.info(`Version set to ${version}...`);
76
75
  const gitTag = execSyncWithErrorHandling(`git tag -l '*v${version}*'`);
@@ -1 +1 @@
1
- {"version":3,"file":"tag-and-release.js","sourceRoot":"","sources":["../../src/release-scripts/tag-and-release.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tag-and-release.js","sourceRoot":"","sources":["../../src/release-scripts/tag-and-release.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@api3/commons",
3
- "version": "0.13.0",
3
+ "version": "0.13.1",
4
4
  "keywords": [],
5
5
  "license": "MIT",
6
6
  "engines": {
@@ -40,14 +40,14 @@
40
40
  "@api3/eslint-plugin-commons": "^2.0.1",
41
41
  "@types/jest": "^29.5.12",
42
42
  "@types/lodash": "^4.17.7",
43
- "@types/node": "^20.16.3",
43
+ "@types/node": "^20.16.5",
44
44
  "eslint": "^8.57.0",
45
45
  "husky": "^9.1.5",
46
46
  "jest": "^29.7.0",
47
47
  "prettier": "^3.3.3",
48
48
  "ts-jest": "^29.2.5",
49
49
  "ts-node": "^10.9.2",
50
- "typescript": "^5.5.4"
50
+ "typescript": "^5.6.2"
51
51
  },
52
52
  "scripts": {
53
53
  "build": "tsc --project tsconfig.build.json",
@@ -7,31 +7,27 @@ The following scripts are exposed for use:
7
7
  This script creates a Git tag and Github release for a given version. It is expected to be run as part of CI and only
8
8
  once for the given version defined in `package.json`.
9
9
 
10
- Git tags are created with the following naming scheme: `v1.2.3`. i.e. a `v` is prepended to the version defined in
11
- `package.json`.
10
+ Git tags and releases are created with the following naming scheme: `v1.2.3`. i.e. a `v` is prepended to the version
11
+ defined in `package.json`.
12
12
 
13
13
  ### Usage
14
14
 
15
+ It is recommended to 1) create a script that imports and uses the `tagAndRelease` function as demonstrated below, 2)
16
+ define a script in `package.json`, and then 3) call that script as part of the CI process.
17
+
15
18
  ```ts
16
19
  // The following environment variable is expected. See the script itself for more details
17
20
  //
18
21
  // GH_ACCESS_TOKEN - created through the Github UI with relevant permissions to the repo. See the tag-and-release source for more information
19
22
 
20
- import { tagAndRelease } from '@api3/commons';
21
-
22
- await tagAndRelease('my-repo-name'); // defaults to using the 'main' branch
23
- await tagAndRelease('my-repo-name', 'release-branch');
24
- ```
25
-
26
- It is advised to create a script that imports and uses the `tagAndRelease` function, setup a script in `package.json`
27
- and then call that in CI.
28
-
29
- ```ts
30
23
  // scripts/tag-and-release.ts
24
+ import { join } from 'node:path';
25
+
31
26
  import { tagAndRelease } from '@api3/commons';
32
27
 
33
28
  const main = async () => {
34
- await tagAndRelease('my-repo-name');
29
+ const packageJsonPath = join(__dirname, '../package.json'); // the script is one level deep in the repo
30
+ await tagAndRelease('my-repo-name', packageJsonPath, 'optional-branch-name-if-not-main');
35
31
  };
36
32
 
37
33
  main()
@@ -16,7 +16,6 @@
16
16
 
17
17
  import { execSync } from 'node:child_process';
18
18
  import { readFileSync } from 'node:fs';
19
- import { join } from 'node:path';
20
19
 
21
20
  import { go } from '@api3/promise-utils';
22
21
  import { Octokit } from '@octokit/rest';
@@ -58,7 +57,7 @@ const createGithubRelease = async (repo: string, tagName: `v${string}`) => {
58
57
  return goRes.data;
59
58
  };
60
59
 
61
- export const tagAndRelease = async (repo: string, branch: string = 'main') => {
60
+ export const tagAndRelease = async (repo: string, packageJsonPath: string, branch: string = 'main') => {
62
61
  console.info('Ensuring working directory is clean...');
63
62
  const gitStatus = execSyncWithErrorHandling('git status --porcelain');
64
63
  if (gitStatus !== '') throw new Error('Working directory is not clean');
@@ -73,7 +72,7 @@ export const tagAndRelease = async (repo: string, branch: string = 'main') => {
73
72
  const gitDiff = execSyncWithErrorHandling(`git diff origin/${branch}`);
74
73
  if (gitDiff !== '') throw new Error('Not up to date with the remote');
75
74
 
76
- const packageJson = JSON.parse(readFileSync(join(__dirname, '../../package.json'), 'utf8')) as any;
75
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8')) as any;
77
76
  const { version } = packageJson;
78
77
  console.info(`Version set to ${version}...`);
79
78