mirror of
https://github.com/gradle/actions.git
synced 2026-03-02 17:49:49 +08:00
Convert project to ESM and update dependencies (#854)
- Switch to esbuild for bundling - Update npm dependency version - Add require header for compat with older JS libs
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
# Configuration file for asdf version manager
|
# Configuration file for asdf version manager
|
||||||
nodejs 24.3.0
|
nodejs 24.3.0
|
||||||
gradle 8.14.2
|
gradle 8.14.2
|
||||||
|
java liberica-11.0.26+9
|
||||||
6
build
6
build
@@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
cd sources
|
cd sources
|
||||||
|
|
||||||
if [[ -f ~/.gradle/develocity/keys.properties ]]; then
|
|
||||||
export NODE_OPTIONS='-r @gradle-tech/develocity-agent/preload'
|
|
||||||
export DEVELOCITY_URL=https://ge.solutions-team.gradle.com
|
|
||||||
export DEVELOCITY_ACCESS_KEY=$(paste -sd ';' ~/.gradle/develocity/keys.properties)
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
all)
|
all)
|
||||||
npm run all
|
npm run all
|
||||||
|
|||||||
@@ -1,12 +1,16 @@
|
|||||||
const develocityReporter = require.resolve('@gradle-tech/develocity-agent/jest-reporter');
|
import {createRequire} from 'node:module'
|
||||||
|
|
||||||
module.exports = {
|
const require = createRequire(import.meta.url)
|
||||||
|
const develocityReporter = require.resolve('@gradle-tech/develocity-agent/jest-reporter')
|
||||||
|
|
||||||
|
export default {
|
||||||
clearMocks: true,
|
clearMocks: true,
|
||||||
moduleFileExtensions: ['js', 'ts', 'json'],
|
moduleFileExtensions: ['js', 'ts', 'json'],
|
||||||
testEnvironment: 'node',
|
testEnvironment: 'node',
|
||||||
testMatch: ['**/*.test.ts'],
|
testMatch: ['**/*.test.ts'],
|
||||||
|
extensionsToTreatAsEsm: ['.ts'],
|
||||||
transform: {
|
transform: {
|
||||||
'^.+\\.ts$': 'ts-jest'
|
'^.+\\.ts$': ['ts-jest', { useESM: true }]
|
||||||
},
|
},
|
||||||
reporters: [
|
reporters: [
|
||||||
'default',
|
'default',
|
||||||
|
|||||||
1271
sources/package-lock.json
generated
1271
sources/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -2,21 +2,22 @@
|
|||||||
"name": "gradle-actions",
|
"name": "gradle-actions",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
|
"type": "module",
|
||||||
"description": "Execute Gradle Build",
|
"description": "Execute Gradle Build",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"postinstall": "patch-package",
|
"postinstall": "patch-package",
|
||||||
"prettier-write": "prettier --write 'src/**/*.ts'",
|
"prettier-write": "prettier --write 'src/**/*.ts'",
|
||||||
"prettier-check": "prettier --check 'src/**/*.ts'",
|
"prettier-check": "prettier --check 'src/**/*.ts'",
|
||||||
"lint": "eslint 'src/**/*.ts'",
|
"lint": "eslint 'src/**/*.ts'",
|
||||||
"compile-dependency-submission-main": "ncc build src/actions/dependency-submission/main.ts --out dist/dependency-submission/main --source-map --no-source-map-register",
|
"compile-dependency-submission-main": "esbuild src/actions/dependency-submission/main.ts --bundle --platform=node --target=node24 --format=esm --banner:js=\"import {createRequire} from 'module';const require=createRequire(import.meta.url);\" --outfile=dist/dependency-submission/main/index.js --sourcemap --minify",
|
||||||
"compile-dependency-submission-post": "ncc build src/actions/dependency-submission/post.ts --out dist/dependency-submission/post --source-map --no-source-map-register",
|
"compile-dependency-submission-post": "esbuild src/actions/dependency-submission/post.ts --bundle --platform=node --target=node24 --format=esm --banner:js=\"import {createRequire} from 'module';const require=createRequire(import.meta.url);\" --outfile=dist/dependency-submission/post/index.js --sourcemap --minify",
|
||||||
"compile-setup-gradle-main": "ncc build src/actions/setup-gradle/main.ts --out dist/setup-gradle/main --source-map --no-source-map-register",
|
"compile-setup-gradle-main": "esbuild src/actions/setup-gradle/main.ts --bundle --platform=node --target=node24 --format=esm --banner:js=\"import {createRequire} from 'module';const require=createRequire(import.meta.url);\" --outfile=dist/setup-gradle/main/index.js --sourcemap --minify",
|
||||||
"compile-setup-gradle-post": "ncc build src/actions/setup-gradle/post.ts --out dist/setup-gradle/post --source-map --no-source-map-register",
|
"compile-setup-gradle-post": "esbuild src/actions/setup-gradle/post.ts --bundle --platform=node --target=node24 --format=esm --banner:js=\"import {createRequire} from 'module';const require=createRequire(import.meta.url);\" --outfile=dist/setup-gradle/post/index.js --sourcemap --minify",
|
||||||
"compile-wrapper-validation-main": "ncc build src/actions/wrapper-validation/main.ts --out dist/wrapper-validation/main --source-map --no-source-map-register",
|
"compile-wrapper-validation-main": "esbuild src/actions/wrapper-validation/main.ts --bundle --platform=node --target=node24 --format=esm --banner:js=\"import {createRequire} from 'module';const require=createRequire(import.meta.url);\" --outfile=dist/wrapper-validation/main/index.js --sourcemap --minify",
|
||||||
"compile": "npm-run-all --parallel compile-*",
|
"compile": "npm-run-all --parallel compile-*",
|
||||||
"check": "npm-run-all --parallel prettier-check lint",
|
"check": "npm-run-all --parallel prettier-check lint",
|
||||||
"format": "npm-run-all --parallel prettier-write lint",
|
"format": "npm-run-all --parallel prettier-write lint",
|
||||||
"test": "jest",
|
"test": "NODE_OPTIONS=--experimental-vm-modules jest",
|
||||||
"build": "npm run format && npm run compile",
|
"build": "npm run format && npm run compile",
|
||||||
"all": "npm run build && npm test"
|
"all": "npm run build && npm test"
|
||||||
},
|
},
|
||||||
@@ -35,38 +36,38 @@
|
|||||||
"node": ">=24.0.0"
|
"node": ">=24.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/artifact": "4.0.0",
|
"@actions/artifact": "6.1.0",
|
||||||
"@actions/cache": "4.0.5",
|
"@actions/cache": "4.0.5",
|
||||||
"@actions/core": "2.0.2",
|
"@actions/core": "3.0.0",
|
||||||
"@actions/exec": "2.0.0",
|
"@actions/exec": "3.0.0",
|
||||||
"@actions/github": "7.0.0",
|
"@actions/github": "9.0.0",
|
||||||
"@actions/glob": "0.5.0",
|
"@actions/glob": "0.6.1",
|
||||||
"@actions/http-client": "3.0.1",
|
"@actions/http-client": "4.0.0",
|
||||||
"@actions/tool-cache": "3.0.0",
|
"@actions/tool-cache": "4.0.0",
|
||||||
"@octokit/webhooks-types": "7.6.1",
|
"@octokit/webhooks-types": "7.6.1",
|
||||||
"cheerio": "1.1.2",
|
"cheerio": "1.2.0",
|
||||||
"semver": "7.7.3",
|
"semver": "7.7.4",
|
||||||
"string-argv": "0.3.2",
|
"string-argv": "0.3.2",
|
||||||
"unhomoglyph": "1.0.6",
|
"unhomoglyph": "1.0.6",
|
||||||
"which": "6.0.0"
|
"which": "6.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@jest/globals": "30.2.0",
|
"@jest/globals": "30.2.0",
|
||||||
"@types/jest": "30.0.0",
|
"@types/jest": "30.0.0",
|
||||||
"@types/node": "25.0.9",
|
"@types/node": "25.2.3",
|
||||||
"@types/semver": "7.7.1",
|
"@types/semver": "7.7.1",
|
||||||
"@types/unzipper": "0.10.11",
|
"@types/unzipper": "0.10.11",
|
||||||
"@types/which": "3.0.4",
|
"@types/which": "3.0.4",
|
||||||
"@typescript-eslint/eslint-plugin": "8.53.0",
|
"@typescript-eslint/eslint-plugin": "8.55.0",
|
||||||
"@vercel/ncc": "0.38.4",
|
|
||||||
"dedent": "1.7.1",
|
"dedent": "1.7.1",
|
||||||
|
"esbuild": "0.27.3",
|
||||||
"eslint": "9.24.0",
|
"eslint": "9.24.0",
|
||||||
"globals": "17.0.0",
|
"globals": "17.3.0",
|
||||||
"jest": "30.2.0",
|
"jest": "30.2.0",
|
||||||
"nock": "15.0.0",
|
"nock": "15.0.0",
|
||||||
"npm-run-all": "4.1.5",
|
"npm-run-all": "4.1.5",
|
||||||
"patch-package": "8.0.1",
|
"patch-package": "8.0.1",
|
||||||
"prettier": "3.8.0",
|
"prettier": "3.8.1",
|
||||||
"ts-jest": "29.4.6",
|
"ts-jest": "29.4.6",
|
||||||
"typescript": "5.9.3"
|
"typescript": "5.9.3"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
import path from 'path'
|
import path from 'path'
|
||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
|
import {fileURLToPath} from 'url'
|
||||||
|
|
||||||
export function readResourceFileAsString(...paths: string[]): string {
|
export function readResourceFileAsString(...paths: string[]): string {
|
||||||
// Resolving relative to __dirname will allow node to find the resource at runtime
|
// Resolving relative to __dirname will allow node to find the resource at runtime
|
||||||
const absolutePath = path.resolve(__dirname, '..', '..', '..', 'sources', 'src', 'resources', ...paths)
|
const moduleDir = path.dirname(fileURLToPath(import.meta.url))
|
||||||
|
const absolutePath = path.resolve(moduleDir, '..', '..', '..', 'sources', 'src', 'resources', ...paths)
|
||||||
return fs.readFileSync(absolutePath, 'utf8')
|
return fs.readFileSync(absolutePath, 'utf8')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ import * as core from '@actions/core'
|
|||||||
import * as github from '@actions/github'
|
import * as github from '@actions/github'
|
||||||
import * as cache from '@actions/cache'
|
import * as cache from '@actions/cache'
|
||||||
import * as deprecator from './deprecation-collector'
|
import * as deprecator from './deprecation-collector'
|
||||||
import {SUMMARY_ENV_VAR} from '@actions/core/lib/summary'
|
|
||||||
|
|
||||||
import path from 'path'
|
import * as path from 'path'
|
||||||
|
|
||||||
const ACTION_ID_VAR = 'GRADLE_ACTION_ID'
|
const ACTION_ID_VAR = 'GRADLE_ACTION_ID'
|
||||||
|
const SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY'
|
||||||
|
|
||||||
export const ACTION_METADATA_DIR = '.setup-gradle'
|
export const ACTION_METADATA_DIR = '.setup-gradle'
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
/* Basic Options */
|
/* Basic Options */
|
||||||
"incremental": false, /* Enable incremental compilation */
|
"incremental": false, /* Enable incremental compilation */
|
||||||
"target": "es2021", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
|
"target": "es2021", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
|
||||||
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
|
"module": "ESNext", /* Emit ESM so source aligns with package "type": "module". */
|
||||||
// "allowJs": true, /* Allow javascript files to be compiled. */
|
// "allowJs": true, /* Allow javascript files to be compiled. */
|
||||||
// "checkJs": true, /* Report errors in .js files. */
|
// "checkJs": true, /* Report errors in .js files. */
|
||||||
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
|
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
"noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
|
"noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
|
||||||
|
|
||||||
/* Module Resolution Options */
|
/* Module Resolution Options */
|
||||||
// "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
|
"moduleResolution": "bundler", /* Use bundler-friendly resolution to avoid requiring file extensions in TS imports. */
|
||||||
// "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
|
// "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
|
||||||
// "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
|
// "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
|
||||||
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
|
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
|
||||||
|
|||||||
Reference in New Issue
Block a user