@actions/cache: convert to an ESM module (#2275)
* `@actions/cache`: convert to an ESM module * Update the fixture to ESM syntax * Update the cache workflows * Bump `@actions/glob` to `0.6.1` * Fix awaiting in the cache unit tests * Fix a type issues in contracts * Export the `DownloadOptions`/`UploadOptions` like before * More cache test fixes * Make the cache units tests better * Add some more logging * Add retries to restore-cache.mjs
This commit is contained in:
+6
-6
@@ -1,12 +1,12 @@
|
||||
import {info, debug, warning} from '@actions/core'
|
||||
import {getUserAgentString} from './user-agent'
|
||||
import {NetworkError, RateLimitError, UsageError} from './errors'
|
||||
import {getCacheServiceURL} from '../config'
|
||||
import {getRuntimeToken} from '../cacheUtils'
|
||||
import {getUserAgentString} from './user-agent.js'
|
||||
import {NetworkError, RateLimitError, UsageError} from './errors.js'
|
||||
import {getCacheServiceURL} from '../config.js'
|
||||
import {getRuntimeToken} from '../cacheUtils.js'
|
||||
import {BearerCredentialHandler} from '@actions/http-client/lib/auth'
|
||||
import {HttpClient, HttpClientResponse, HttpCodes} from '@actions/http-client'
|
||||
import {CacheServiceClientJSON} from '../../generated/results/api/v1/cache.twirp-client'
|
||||
import {maskSecretUrls} from './util'
|
||||
import {CacheServiceClientJSON} from '../../generated/results/api/v1/cache.twirp-client.js'
|
||||
import {maskSecretUrls} from './util.js'
|
||||
|
||||
// The twirp http client must implement this interface
|
||||
interface Rpc {
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
// This file exists as a CommonJS module to read the version from package.json.
|
||||
// In an ESM package, using `require()` directly in .ts files requires disabling
|
||||
// ESLint rules and doesn't work reliably across all Node.js versions.
|
||||
// By keeping this as a .cjs file, we can use require() naturally and export
|
||||
// the version for the ESM modules to import.
|
||||
const packageJson = require('../../../package.json')
|
||||
module.exports = { version: packageJson.version }
|
||||
+2
-3
@@ -1,9 +1,8 @@
|
||||
// eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports
|
||||
const packageJson = require('../../../package.json')
|
||||
import {version} from './package-version.cjs'
|
||||
|
||||
/**
|
||||
* Ensure that this User Agent String is used in all HTTP calls so that we can monitor telemetry between different versions of this package
|
||||
*/
|
||||
export function getUserAgentString(): string {
|
||||
return `@actions/cache-${packageJson.version}`
|
||||
return `@actions/cache-${version}`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user