Compare commits

..

No commits in common. "master" and "v5.10.0" have entirely different histories.

11 changed files with 1570 additions and 1699 deletions

3
.eslintignore Normal file
View File

@ -0,0 +1,3 @@
/dist/**
/coverage/**
/node_modules/**

24
.eslintrc.json Normal file
View File

@ -0,0 +1,24 @@
{
"env": {
"node": true,
"es6": true,
"jest": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:jest/recommended",
"plugin:prettier/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2023,
"sourceType": "module"
},
"plugins": [
"@typescript-eslint",
"jest",
"prettier"
]
}

View File

@ -77,7 +77,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v6 uses: actions/checkout@v5
- -
name: Docker meta name: Docker meta
id: meta id: meta
@ -131,7 +131,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v6 uses: actions/checkout@v5
- -
name: Docker meta name: Docker meta
id: meta id: meta

View File

@ -2770,6 +2770,7 @@ describe('pr', () => {
describe('pr-head-sha', () => { describe('pr-head-sha', () => {
// prettier-ignore // prettier-ignore
// eslint-disable-next-line jest/expect-expect
test.each([ test.each([
[ [
'pr01', 'pr01',
@ -3910,6 +3911,7 @@ describe('raw', () => {
describe('json', () => { describe('json', () => {
// prettier-ignore // prettier-ignore
// eslint-disable-next-line jest/expect-expect
test.each([ test.each([
[ [
'json01', 'json01',
@ -4273,6 +4275,7 @@ describe('json', () => {
describe('bakeFile', () => { describe('bakeFile', () => {
// prettier-ignore // prettier-ignore
// eslint-disable-next-line jest/expect-expect
test.each([ test.each([
[ [
'bakeFile01', 'bakeFile01',
@ -4794,6 +4797,7 @@ describe('bakeFile', () => {
describe('bakeFileTagsLabels', () => { describe('bakeFileTagsLabels', () => {
// prettier-ignore // prettier-ignore
// eslint-disable-next-line jest/expect-expect
test.each([ test.each([
[ [
'bakeFileTagsLabels01', 'bakeFileTagsLabels01',
@ -4851,6 +4855,7 @@ describe('bakeFileTagsLabels', () => {
describe('sepTags', () => { describe('sepTags', () => {
// prettier-ignore // prettier-ignore
// eslint-disable-next-line jest/expect-expect
test.each([ test.each([
[ [
'sepTags01', 'sepTags01',
@ -4883,10 +4888,13 @@ describe('sepTags', () => {
"user/app:dev,user/app:my,user/app:custom,user/app:tags" "user/app:dev,user/app:my,user/app:custom,user/app:tags"
] ]
])('given %p with %p event', async (name: string, envFile: string, inputs: Inputs, expTags: string) => { ])('given %p with %p event', async (name: string, envFile: string, inputs: Inputs, expTags: string) => {
process.env = dotenv.parse(fs.readFileSync(path.join(__dirname, 'fixtures', envFile))); process.env = dotenv.parse(fs.readFileSync(path.join(__dirname, 'fixtures', envFile)));
const toolkit = new Toolkit(); const toolkit = new Toolkit();
const repo = await toolkit.github.repoData(); const repo = await toolkit.github.repoData();
const meta = new Meta({...getInputs(), ...inputs}, await getContext(ContextSource.workflow, toolkit), repo); const meta = new Meta({...getInputs(), ...inputs}, await getContext(ContextSource.workflow, toolkit), repo);
expect(meta.getTags().join(inputs.sepTags)).toEqual(expTags); expect(meta.getTags().join(inputs.sepTags)).toEqual(expTags);

8
dist/index.js generated vendored

File diff suppressed because one or more lines are too long

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View File

@ -1,58 +0,0 @@
/* eslint-disable @typescript-eslint/no-require-imports */
const {defineConfig, globalIgnores} = require('eslint/config');
const {fixupConfigRules, fixupPluginRules} = require('@eslint/compat');
const typescriptEslint = require('@typescript-eslint/eslint-plugin');
const jestPlugin = require('eslint-plugin-jest');
const prettier = require('eslint-plugin-prettier');
const globals = require('globals');
const tsParser = require('@typescript-eslint/parser');
const js = require('@eslint/js');
const {FlatCompat} = require('@eslint/eslintrc');
// __dirname and __filename exist natively in CommonJS
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all
});
module.exports = defineConfig([
globalIgnores(['dist/**/*', 'coverage/**/*', 'node_modules/**/*']),
{
// prettier-ignore
extends: fixupConfigRules(
compat.extends(
'eslint:recommended',
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended',
'plugin:jest/recommended',
'plugin:prettier/recommended'
)
),
plugins: {
'@typescript-eslint': fixupPluginRules(typescriptEslint),
jest: fixupPluginRules(jestPlugin),
prettier: fixupPluginRules(prettier)
},
languageOptions: {
globals: {
...globals.node,
...globals.jest
},
parser: tsParser,
ecmaVersion: 'latest',
sourceType: 'module'
},
rules: {
'@typescript-eslint/no-require-imports': [
'error',
{
allowAsImport: true
}
]
}
}
]);

View File

@ -1,7 +1,6 @@
/* eslint-disable @typescript-eslint/no-require-imports */ import fs from 'fs';
const fs = require('fs'); import os from 'os';
const os = require('os'); import path from 'path';
const path = require('path');
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-metadata-action-')); const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-metadata-action-'));
@ -10,7 +9,9 @@ process.env = Object.assign({}, process.env, {
GITHUB_REPOSITORY: 'docker/metadata-action', GITHUB_REPOSITORY: 'docker/metadata-action',
RUNNER_TEMP: path.join(tmpDir, 'runner-temp'), RUNNER_TEMP: path.join(tmpDir, 'runner-temp'),
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache') RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache')
}); }) as {
[key: string]: string;
};
module.exports = { module.exports = {
clearMocks: true, clearMocks: true,

View File

@ -38,22 +38,20 @@
"semver": "^7.7.3" "semver": "^7.7.3"
}, },
"devDependencies": { "devDependencies": {
"@eslint/compat": "^2.0.0", "@types/node": "^20.19.9",
"@eslint/eslintrc": "^3.3.3", "@types/semver": "^7.7.1",
"@eslint/js": "^9.39.2", "@typescript-eslint/eslint-plugin": "^7.18.0",
"@types/node": "^20.19.27", "@typescript-eslint/parser": "^7.18.0",
"@typescript-eslint/eslint-plugin": "^8.50.0", "@vercel/ncc": "^0.38.3",
"@typescript-eslint/parser": "^8.50.0", "dotenv": "^16.6.1",
"@vercel/ncc": "^0.38.4", "eslint": "^8.57.1",
"dotenv": "^17.2.3", "eslint-config-prettier": "^9.1.2",
"eslint": "^9.39.2", "eslint-plugin-jest": "^28.14.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-jest": "^29.5.0",
"eslint-plugin-prettier": "^5.5.4", "eslint-plugin-prettier": "^5.5.4",
"jest": "^30.2.0", "jest": "^29.7.0",
"prettier": "^3.7.4", "prettier": "^3.6.2",
"ts-jest": "^29.4.6", "ts-jest": "^29.4.1",
"ts-node": "^10.9.2", "ts-node": "^10.9.2",
"typescript": "^5.9.3" "typescript": "^5.9.2"
} }
} }

View File

@ -376,7 +376,7 @@ export class Meta {
if (hp.body.length == 1 && hp.body[0].type == 'MustacheStatement') { if (hp.body.length == 1 && hp.body[0].type == 'MustacheStatement') {
return hp.body[0]['path']['parts'].length == 1 && hp.body[0]['path']['parts'][0] == 'raw'; return hp.body[0]['path']['parts'].length == 1 && hp.body[0]['path']['parts'][0] == 'raw';
} }
} catch { } catch (err) {
return false; return false;
} }
return false; return false;

3121
yarn.lock

File diff suppressed because it is too large Load Diff