@jsenv/github-release-package 1.3.5 → 1.5.0

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/github-release-package",
3
- "version": "1.3.5",
3
+ "version": "1.5.0",
4
4
  "description": "Create github release when package version changes.",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -23,34 +23,19 @@
23
23
  "type": "module",
24
24
  "exports": {
25
25
  ".": {
26
- "import": "./main.js"
26
+ "import": "./src/main.js"
27
27
  }
28
28
  },
29
- "main": "./main.js",
29
+ "main": "./src/main.js",
30
30
  "files": [
31
- "/src/",
32
- "/main.js"
31
+ "/src/"
33
32
  ],
34
33
  "scripts": {
35
- "eslint": "npx eslint . --ext=.js,.mjs",
36
- "importmap": "node ./script/importmap/importmap.mjs",
37
- "test": "node ./script/test/test.mjs",
38
- "test-with-coverage": "npm run test -- --coverage",
39
- "prettier": "prettier --write ."
34
+ "test": "node ./scripts/test.mjs"
40
35
  },
41
36
  "dependencies": {
42
- "@jsenv/filesystem": "2.7.1",
43
- "@jsenv/logger": "4.0.1",
44
- "@jsenv/github-pull-request-impact": "1.6.10"
45
- },
46
- "devDependencies": {
47
- "@jsenv/assert": "2.4.1",
48
- "@jsenv/core": "25.3.0",
49
- "@jsenv/eslint-config": "16.0.9",
50
- "@jsenv/importmap-eslint-resolver": "5.2.5",
51
- "@jsenv/importmap-node-module": "5.1.3",
52
- "eslint": "8.7.0",
53
- "eslint-plugin-import": "2.25.4",
54
- "prettier": "2.5.1"
37
+ "@jsenv/filesystem": "4.1.0",
38
+ "@jsenv/log": "2.1.0",
39
+ "@jsenv/github-pull-request-impact": "1.7.0"
55
40
  }
56
41
  }
@@ -1,23 +1,23 @@
1
- import * as githubRESTAPI from "@jsenv/github-pull-request-impact/src/internal/github_rest_api.js"
2
1
  import { assertAndNormalizeDirectoryUrl } from "@jsenv/filesystem"
3
- import { createLogger } from "@jsenv/logger"
2
+ import { createLogger } from "@jsenv/log"
3
+ import * as githubRESTAPI from "@jsenv/github-pull-request-impact/src/internal/github_rest_api.js"
4
4
 
5
5
  import { readProjectPackage } from "./internal/readProjectPackage.js"
6
6
 
7
7
  export const ensureGithubReleaseForPackage = async ({
8
8
  logLevel,
9
- projectDirectoryUrl,
9
+ rootDirectoryUrl,
10
10
  }) => {
11
11
  const logger = createLogger({ logLevel })
12
12
  logger.debug(
13
13
  `autoReleaseOnGithub(${JSON.stringify(
14
- { projectDirectoryUrl, logLevel },
14
+ { rootDirectoryUrl, logLevel },
15
15
  null,
16
16
  " ",
17
17
  )})`,
18
18
  )
19
19
 
20
- projectDirectoryUrl = assertAndNormalizeDirectoryUrl(projectDirectoryUrl)
20
+ rootDirectoryUrl = assertAndNormalizeDirectoryUrl(rootDirectoryUrl)
21
21
 
22
22
  const {
23
23
  githubToken,
@@ -27,10 +27,19 @@ export const ensureGithubReleaseForPackage = async ({
27
27
  } = getOptionsFromGithubAction()
28
28
 
29
29
  logger.debug(`reading project package.json`)
30
- const { packageVersion } = await getOptionsFromProjectPackage({
31
- projectDirectoryUrl,
32
- })
30
+ const projectPackage = readProjectPackage({ rootDirectoryUrl })
31
+ const packageVersion = projectPackage.version
33
32
  logger.debug(`${packageVersion} found in package.json`)
33
+ if (
34
+ packageVersion.includes("alpha") ||
35
+ packageVersion.includes("beta") ||
36
+ packageVersion.includes("prerelease")
37
+ ) {
38
+ logger.info(
39
+ `skip because package version ("${packageVersion}") is a prerelease`,
40
+ )
41
+ return
42
+ }
34
43
 
35
44
  logger.debug(`search release for ${packageVersion} on github`)
36
45
  const githubReleaseName = `v${packageVersion}`
@@ -110,10 +119,3 @@ const getOptionsFromGithubAction = () => {
110
119
  githubSha,
111
120
  }
112
121
  }
113
-
114
- const getOptionsFromProjectPackage = async ({ projectDirectoryUrl }) => {
115
- const projectPackage = await readProjectPackage({ projectDirectoryUrl })
116
- return {
117
- packageVersion: projectPackage.version,
118
- }
119
- }
@@ -1,10 +1,11 @@
1
- import { resolveUrl, urlToFileSystemPath, readFile } from "@jsenv/filesystem"
1
+ import { fileURLToPath } from "node:url"
2
+ import { readFileSync } from "node:fs"
2
3
 
3
- export const readProjectPackage = async ({ projectDirectoryUrl }) => {
4
- const packageFileUrl = resolveUrl("./package.json", projectDirectoryUrl)
4
+ export const readProjectPackage = ({ rootDirectoryUrl }) => {
5
+ const packageFileUrlObject = new URL("./package.json", rootDirectoryUrl)
5
6
  let packageInProject
6
7
  try {
7
- const packageString = await readFile(packageFileUrl)
8
+ const packageString = String(readFileSync(packageFileUrlObject))
8
9
  try {
9
10
  packageInProject = JSON.parse(packageString)
10
11
  } catch (e) {
@@ -13,7 +14,7 @@ export const readProjectPackage = async ({ projectDirectoryUrl }) => {
13
14
  --- syntax error stack ---
14
15
  ${e.stack}
15
16
  --- package.json path ---
16
- ${urlToFileSystemPath(packageFileUrl)}`)
17
+ ${fileURLToPath(packageFileUrlObject)}`)
17
18
  }
18
19
  throw e
19
20
  }
@@ -22,7 +23,7 @@ ${urlToFileSystemPath(packageFileUrl)}`)
22
23
  throw new Error(
23
24
  `cannot find project package.json
24
25
  --- package.json path ---
25
- ${urlToFileSystemPath(packageFileUrl)}`,
26
+ ${fileURLToPath(packageFileUrlObject)}`,
26
27
  )
27
28
  }
28
29
  throw e
package/src/main.js ADDED
@@ -0,0 +1 @@
1
+ export { ensureGithubReleaseForPackage } from "./ensureGithubReleaseForPackage.js"
package/main.js DELETED
@@ -1 +0,0 @@
1
- export { ensureGithubReleaseForPackage } from "./src/ensureGithubReleaseForPackage.js"