Compare commits

..
15 changed files with 91 additions and 60 deletions
+3
View File
@@ -4,6 +4,9 @@ module.exports = {
roots: ['<rootDir>/packages'], roots: ['<rootDir>/packages'],
testEnvironment: 'node', testEnvironment: 'node',
testMatch: ['**/__tests__/*.test.ts'], testMatch: ['**/__tests__/*.test.ts'],
moduleNameMapper: {
'^(\\.{1,2}/.*)\\.js$': '$1'
},
transform: { transform: {
'^.+\\.(ts|js)$': ['ts-jest', { '^.+\\.(ts|js)$': ['ts-jest', {
isolatedModules: true, isolatedModules: true,
+14 -3
View File
@@ -6,9 +6,20 @@
Returns an authenticated Octokit client that follows the machine [proxy settings](https://help.github.com/en/actions/hosting-your-own-runners/using-a-proxy-server-with-self-hosted-runners) and correctly sets GHES base urls. See https://octokit.github.io/rest.js for the API. Returns an authenticated Octokit client that follows the machine [proxy settings](https://help.github.com/en/actions/hosting-your-own-runners/using-a-proxy-server-with-self-hosted-runners) and correctly sets GHES base urls. See https://octokit.github.io/rest.js for the API.
**Note:** This package is ESM-only starting from v9.0.0. For CommonJS projects, use dynamic import:
```js ```js
const github = require('@actions/github'); async function main() {
const core = require('@actions/core'); const { getOctokit, context } = await import('@actions/github');
// ... your code here
}
main();
```
For bundled actions (recommended), most bundlers like esbuild, webpack, and rollup handle ESM imports automatically.
```js
import * as github from '@actions/github';
import * as core from '@actions/core';
async function run() { async function run() {
// This should be a token with access to your repository scoped in as a secret. // This should be a token with access to your repository scoped in as a secret.
@@ -46,7 +57,7 @@ const result = await octokit.graphql(query, variables);
Finally, you can get the context of the current action: Finally, you can get the context of the current action:
```js ```js
const github = require('@actions/github'); import * as github from '@actions/github';
const context = github.context; const context = github.context;
+7
View File
@@ -1,5 +1,12 @@
# @actions/github Releases # @actions/github Releases
### 9.0.0
- **Breaking change**: Package is now ESM-only
- CommonJS consumers must use dynamic `import()` instead of `require()`
- Example: `const { getOctokit, context } = await import('@actions/github')`
- Fix TypeScript compilation by migrating to ESM, enabling proper imports from `@octokit/core/types`
### 8.0.1 ### 8.0.1
- Update `undici` to `6.23.0` - Update `undici` to `6.23.0`
+6 -5
View File
@@ -1,8 +1,6 @@
import * as path from 'path' import * as path from 'path'
import {Context} from '../src/context' import {readFileSync} from 'fs'
import {Context} from '../src/context.js'
/* eslint-disable @typescript-eslint/no-require-imports */
/* eslint-disable @typescript-eslint/no-var-requires */
describe('@actions/context', () => { describe('@actions/context', () => {
let context: Context let context: Context
@@ -14,7 +12,10 @@ describe('@actions/context', () => {
}) })
it('returns the payload object', () => { it('returns the payload object', () => {
expect(context.payload).toEqual(require('./payload.json')) const payload = JSON.parse(
readFileSync(path.join(__dirname, 'payload.json'), 'utf8')
)
expect(context.payload).toEqual(payload)
}) })
it('returns an empty payload if the GITHUB_EVENT_PATH environment variable is falsey', () => { it('returns an empty payload if the GITHUB_EVENT_PATH environment variable is falsey', () => {
@@ -1,14 +1,19 @@
/** @type {import('jest').Config} */
module.exports = { module.exports = {
clearMocks: true, clearMocks: true,
moduleFileExtensions: ['js', 'ts'], moduleFileExtensions: ['js', 'ts'],
testEnvironment: 'node', testEnvironment: 'node',
testMatch: ['**/*.test.ts'], testMatch: ['**/*.test.ts'],
moduleNameMapper: {
'^(\\.{1,2}/.*)\\.js$': '$1'
},
transform: { transform: {
'^.+\\.(ts|js)$': ['ts-jest', { '^.+\\.(ts|js)$': ['ts-jest', {
useESM: false,
tsconfig: { tsconfig: {
allowJs: true, allowJs: true,
esModuleInterop: true esModuleInterop: true,
module: 'node16',
moduleResolution: 'node16'
} }
}] }]
}, },
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "@actions/github", "name": "@actions/github",
"version": "8.0.1", "version": "9.0.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@actions/github", "name": "@actions/github",
"version": "8.0.1", "version": "9.0.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@actions/http-client": "^3.0.2", "@actions/http-client": "^3.0.2",
+12 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@actions/github", "name": "@actions/github",
"version": "8.0.1", "version": "9.0.0",
"description": "Actions github lib", "description": "Actions github lib",
"keywords": [ "keywords": [
"github", "github",
@@ -8,8 +8,19 @@
], ],
"homepage": "https://github.com/actions/toolkit/tree/main/packages/github", "homepage": "https://github.com/actions/toolkit/tree/main/packages/github",
"license": "MIT", "license": "MIT",
"type": "module",
"main": "lib/github.js", "main": "lib/github.js",
"types": "lib/github.d.ts", "types": "lib/github.d.ts",
"exports": {
".": {
"types": "./lib/github.d.ts",
"import": "./lib/github.js"
},
"./lib/utils": {
"types": "./lib/utils.d.ts",
"import": "./lib/utils.js"
}
},
"directories": { "directories": {
"lib": "lib", "lib": "lib",
"test": "__tests__" "test": "__tests__"
+1 -1
View File
@@ -1,5 +1,5 @@
// Originally pulled from https://github.com/JasonEtco/actions-toolkit/blob/main/src/context.ts // Originally pulled from https://github.com/JasonEtco/actions-toolkit/blob/main/src/context.ts
import {WebhookPayload} from './interfaces' import {WebhookPayload} from './interfaces.js'
import {readFileSync, existsSync} from 'fs' import {readFileSync, existsSync} from 'fs'
import {EOL} from 'os' import {EOL} from 'os'
+3 -4
View File
@@ -1,8 +1,7 @@
import * as Context from './context' import * as Context from './context.js'
import {GitHub, getOctokitOptions} from './utils' import {GitHub, getOctokitOptions} from './utils.js'
// octokit + plugins // octokit + plugins
import {OctokitOptions, OctokitPlugin} from '@octokit/core/dist-types/types' import type {OctokitOptions, OctokitPlugin} from '@octokit/core/types'
export const context = new Context.Context() export const context = new Context.Context()
+1 -1
View File
@@ -1,6 +1,6 @@
import * as http from 'http' import * as http from 'http'
import * as httpClient from '@actions/http-client' import * as httpClient from '@actions/http-client'
import {OctokitOptions} from '@octokit/core/dist-types/types' import type {OctokitOptions} from '@octokit/core/types'
import {ProxyAgent, fetch} from 'undici' import {ProxyAgent, fetch} from 'undici'
export function getAuthString( export function getAuthString(
+3 -3
View File
@@ -1,9 +1,9 @@
import * as Context from './context' import * as Context from './context.js'
import * as Utils from './internal/utils' import * as Utils from './internal/utils.js'
import type {OctokitOptions} from '@octokit/core/types'
// octokit + plugins // octokit + plugins
import {Octokit} from '@octokit/core' import {Octokit} from '@octokit/core'
import {OctokitOptions} from '@octokit/core/dist-types/types'
import {restEndpointMethods} from '@octokit/plugin-rest-endpoint-methods' import {restEndpointMethods} from '@octokit/plugin-rest-endpoint-methods'
import {paginateRest} from '@octokit/plugin-paginate-rest' import {paginateRest} from '@octokit/plugin-paginate-rest'
+3 -1
View File
@@ -3,7 +3,9 @@
"compilerOptions": { "compilerOptions": {
"baseUrl": "./", "baseUrl": "./",
"outDir": "./lib", "outDir": "./lib",
"rootDir": "./src" "rootDir": "./src",
"module": "node16",
"moduleResolution": "node16"
}, },
"include": [ "include": [
"./src" "./src"
+4
View File
@@ -1,5 +1,9 @@
# @actions/glob Releases # @actions/glob Releases
### 0.5.1
- Bump `@actions/core` to `2.0.3`
### 0.5.0 ### 0.5.0
- Added `excludeHiddenFiles` option, which is disabled by default to preserve existing behavior [#1791: Add glob option to ignore hidden files](https://github.com/actions/toolkit/pull/1791) - Added `excludeHiddenFiles` option, which is disabled by default to preserve existing behavior [#1791: Add glob option to ignore hidden files](https://github.com/actions/toolkit/pull/1791)
+23 -35
View File
@@ -1,62 +1,53 @@
{ {
"name": "@actions/glob", "name": "@actions/glob",
"version": "0.5.0", "version": "0.5.1",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@actions/glob", "name": "@actions/glob",
"version": "0.5.0", "version": "0.5.1",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@actions/core": "^1.9.1", "@actions/core": "^2.0.3",
"minimatch": "^3.0.4" "minimatch": "^3.0.4"
} }
}, },
"node_modules/@actions/core": { "node_modules/@actions/core": {
"version": "1.11.1", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz", "resolved": "https://registry.npmjs.org/@actions/core/-/core-2.0.3.tgz",
"integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==", "integrity": "sha512-Od9Thc3T1mQJYddvVPM4QGiLUewdh+3txmDYHHxoNdkqysR1MbCT+rFOtNUxYAz+7+6RIsqipVahY2GJqGPyxA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@actions/exec": "^1.1.1", "@actions/exec": "^2.0.0",
"@actions/http-client": "^2.0.1" "@actions/http-client": "^3.0.2"
} }
}, },
"node_modules/@actions/exec": { "node_modules/@actions/exec": {
"version": "1.1.1", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz", "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-2.0.0.tgz",
"integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==", "integrity": "sha512-k8ngrX2voJ/RIN6r9xB82NVqKpnMRtxDoiO+g3olkIUpQNqjArXrCQceduQZCQj3P3xm32pChRLqRrtXTlqhIw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@actions/io": "^1.0.1" "@actions/io": "^2.0.0"
} }
}, },
"node_modules/@actions/http-client": { "node_modules/@actions/http-client": {
"version": "2.2.3", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz", "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-3.0.2.tgz",
"integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==", "integrity": "sha512-JP38FYYpyqvUsz+Igqlc/JG6YO9PaKuvqjM3iGvaLqFnJ7TFmcLyy2IDrY0bI0qCQug8E9K+elv5ZNfw62ZJzA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"tunnel": "^0.0.6", "tunnel": "^0.0.6",
"undici": "^5.25.4" "undici": "^6.23.0"
} }
}, },
"node_modules/@actions/io": { "node_modules/@actions/io": {
"version": "1.1.3", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz", "resolved": "https://registry.npmjs.org/@actions/io/-/io-2.0.0.tgz",
"integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==", "integrity": "sha512-Jv33IN09XLO+0HS79aaODsvIRyduiF7NY/F6LYeK5oeUmrsz7aFdRphQjFoESF4jS7lMauDOttKALcpapVDIAg==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/@fastify/busboy": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
"integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
"license": "MIT",
"engines": {
"node": ">=14"
}
},
"node_modules/balanced-match": { "node_modules/balanced-match": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
@@ -101,15 +92,12 @@
} }
}, },
"node_modules/undici": { "node_modules/undici": {
"version": "5.29.0", "version": "6.23.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", "resolved": "https://registry.npmjs.org/undici/-/undici-6.23.0.tgz",
"integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", "integrity": "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==",
"license": "MIT", "license": "MIT",
"dependencies": {
"@fastify/busboy": "^2.0.0"
},
"engines": { "engines": {
"node": ">=14.0" "node": ">=18.17"
} }
} }
} }
+2 -2
View File
@@ -1,6 +1,6 @@
{ {
"name": "@actions/glob", "name": "@actions/glob",
"version": "0.5.0", "version": "0.5.1",
"preview": true, "preview": true,
"description": "Actions glob lib", "description": "Actions glob lib",
"keywords": [ "keywords": [
@@ -37,7 +37,7 @@
"url": "https://github.com/actions/toolkit/issues" "url": "https://github.com/actions/toolkit/issues"
}, },
"dependencies": { "dependencies": {
"@actions/core": "^1.9.1", "@actions/core": "^2.0.3",
"minimatch": "^3.0.4" "minimatch": "^3.0.4"
} }
} }