From 973d7f088c24f3ddb362eaef27b09851eef0012e Mon Sep 17 00:00:00 2001 From: romainmenke Date: Sun, 1 May 2022 09:47:49 +0200 Subject: [PATCH 1/7] package json lint error as github annotation --- .github/bin/format-package-json.mjs | 2 +- plugins/postcss-color-function/package.json | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/bin/format-package-json.mjs b/.github/bin/format-package-json.mjs index 144af8880..acd4f8a4d 100644 --- a/.github/bin/format-package-json.mjs +++ b/.github/bin/format-package-json.mjs @@ -199,7 +199,7 @@ const formatted = {}; Object.assign(formatted, packageJSONInfo); if (process.env.GITHUB_ACTIONS && JSON.stringify(formatted, null, '\t') !== packageJSONInfoCopy) { - console.error('package.json has an incorrect field order. Run "npm run lint" to resolve.') + console.error('::error file=./package.json,line=1,col=1::package.json has an incorrect field order. Run "npm run lint" to resolve.') process.exit(1); } diff --git a/plugins/postcss-color-function/package.json b/plugins/postcss-color-function/package.json index 6a078823d..7ca0bd82c 100644 --- a/plugins/postcss-color-function/package.json +++ b/plugins/postcss-color-function/package.json @@ -31,12 +31,12 @@ "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" }, - "peerDependencies": { - "postcss": "^8.4" - }, "devDependencies": { "postcss-lab-function": "^4.0.3" }, + "peerDependencies": { + "postcss": "^8.4" + }, "scripts": { "build": "rollup -c ../../rollup/default.js", "clean": "node -e \"fs.rmSync('./dist', { recursive: true, force: true });\"", From c79b509efdbe10a5b031ed18043d94f9afa7ea8d Mon Sep 17 00:00:00 2001 From: romainmenke Date: Sun, 1 May 2022 10:05:21 +0200 Subject: [PATCH 2/7] path fixes --- .github/bin/format-package-json.mjs | 3 ++- packages/postcss-tape/src/github-annotations.ts | 11 ++++++++++- plugins/postcss-color-function/package.json | 1 - 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/bin/format-package-json.mjs b/.github/bin/format-package-json.mjs index acd4f8a4d..5db7b7df1 100644 --- a/.github/bin/format-package-json.mjs +++ b/.github/bin/format-package-json.mjs @@ -1,4 +1,5 @@ import { promises as fsp, constants } from 'fs'; +import path from 'path'; const packageJSONInfo = JSON.parse(await fsp.readFile('./package.json', 'utf8')); const packageJSONInfoCopy = JSON.stringify(packageJSONInfo, null, '\t'); @@ -199,7 +200,7 @@ const formatted = {}; Object.assign(formatted, packageJSONInfo); if (process.env.GITHUB_ACTIONS && JSON.stringify(formatted, null, '\t') !== packageJSONInfoCopy) { - console.error('::error file=./package.json,line=1,col=1::package.json has an incorrect field order. Run "npm run lint" to resolve.') + console.error(`::error file=${path.relative(process.env.GITHUB_WORKSPACE, path.resolve('./package.json'))},line=1,col=1::package.json has an incorrect field order. Run "npm run lint" to resolve.`); process.exit(1); } diff --git a/packages/postcss-tape/src/github-annotations.ts b/packages/postcss-tape/src/github-annotations.ts index db8759287..2835e9f01 100644 --- a/packages/postcss-tape/src/github-annotations.ts +++ b/packages/postcss-tape/src/github-annotations.ts @@ -1,8 +1,17 @@ +import path from 'path'; + export function formatGitHubActionAnnotation(message, level = 'error', options = {}) { let output = '::' + level; const outputOptions = Object.keys(options).map((key) => { - return `${key}=${escapeValue(String(options[key]))}`; + let value = String(options[key]); + + if (key === 'file' && process.env.GITHUB_WORKSPACE) { + // make file paths relative to the workspace root. + value = path.relative(process.env.GITHUB_WORKSPACE, path.resolve(value)); + } + + return `${key}=${escapeValue(value)}`; }).join(','); if (outputOptions) { diff --git a/plugins/postcss-color-function/package.json b/plugins/postcss-color-function/package.json index 7ca0bd82c..a627c223d 100644 --- a/plugins/postcss-color-function/package.json +++ b/plugins/postcss-color-function/package.json @@ -63,7 +63,6 @@ "css", "design", "display-p3", - "postcss", "postcss-plugin", "prophoto-rgb", "rec2020", From 5612cf949174574920a2cf82c78ca7a7fd060c17 Mon Sep 17 00:00:00 2001 From: romainmenke Date: Sun, 1 May 2022 10:10:22 +0200 Subject: [PATCH 3/7] undo lint violation --- plugins/postcss-color-function/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/postcss-color-function/package.json b/plugins/postcss-color-function/package.json index a627c223d..2167f7b49 100644 --- a/plugins/postcss-color-function/package.json +++ b/plugins/postcss-color-function/package.json @@ -31,12 +31,12 @@ "@csstools/postcss-progressive-custom-properties": "^1.1.0", "postcss-value-parser": "^4.2.0" }, - "devDependencies": { - "postcss-lab-function": "^4.0.3" - }, "peerDependencies": { "postcss": "^8.4" }, + "devDependencies": { + "postcss-lab-function": "^4.0.3" + }, "scripts": { "build": "rollup -c ../../rollup/default.js", "clean": "node -e \"fs.rmSync('./dist', { recursive: true, force: true });\"", From 0fb8f6623220638bdeab6d190ba868a5dfc74c40 Mon Sep 17 00:00:00 2001 From: romainmenke Date: Sun, 1 May 2022 10:20:01 +0200 Subject: [PATCH 4/7] correct test violation --- plugins/postcss-color-function/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/postcss-color-function/package.json b/plugins/postcss-color-function/package.json index 2167f7b49..84cb53e0b 100644 --- a/plugins/postcss-color-function/package.json +++ b/plugins/postcss-color-function/package.json @@ -63,7 +63,7 @@ "css", "design", "display-p3", - "postcss-plugin", + "postcss", "prophoto-rgb", "rec2020", "rgb", From bfeabde0b30b757a540ff278ed903f5afb8e04fc Mon Sep 17 00:00:00 2001 From: romainmenke Date: Sun, 1 May 2022 10:28:01 +0200 Subject: [PATCH 5/7] css test violation --- plugins/postcss-color-function/package.json | 1 + plugins/postcss-color-function/test/basic.expect.css | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/postcss-color-function/package.json b/plugins/postcss-color-function/package.json index 84cb53e0b..6a078823d 100644 --- a/plugins/postcss-color-function/package.json +++ b/plugins/postcss-color-function/package.json @@ -64,6 +64,7 @@ "design", "display-p3", "postcss", + "postcss-plugin", "prophoto-rgb", "rec2020", "rgb", diff --git a/plugins/postcss-color-function/test/basic.expect.css b/plugins/postcss-color-function/test/basic.expect.css index c872d7446..c811f90ad 100644 --- a/plugins/postcss-color-function/test/basic.expect.css +++ b/plugins/postcss-color-function/test/basic.expect.css @@ -4,7 +4,6 @@ color-3: rgb(254,255,0); color-4: rgba(254,255,0,0.5); color-5: rgb(255,255,255); - color-6: rgba(255,255,255,0.5); } .test-color-none { From 22500d3fc8752952e580f689001d18f3a018c728 Mon Sep 17 00:00:00 2001 From: romainmenke Date: Sun, 1 May 2022 10:46:24 +0200 Subject: [PATCH 6/7] fixes --- packages/postcss-tape/src/index.ts | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/packages/postcss-tape/src/index.ts b/packages/postcss-tape/src/index.ts index cc305393b..b67c8f9c5 100644 --- a/packages/postcss-tape/src/index.ts +++ b/packages/postcss-tape/src/index.ts @@ -248,7 +248,7 @@ export default function runner(currentPlugin: PluginCreator) { console.log(formatGitHubActionAnnotation( formatCSSAssertError(testCaseLabel, testCaseOptions, err, true), 'error', - { file: normalizeFilePathForGithubAnnotation(expectFilePath), line: 1, col: 1 }, + { file: expectFilePath, line: 1, col: 1 }, )); } else { failureSummary.add(testCaseLabel); @@ -344,7 +344,7 @@ export default function runner(currentPlugin: PluginCreator) { console.log(formatGitHubActionAnnotation( 'testing older PostCSS:\n' + formatCSSAssertError(testCaseLabel, testCaseOptions, err, true), 'error', - { file: normalizeFilePathForGithubAnnotation(expectFilePath), line: 1, col: 1 }, + { file: expectFilePath, line: 1, col: 1 }, )); } else { failureSummary.add(testCaseLabel); @@ -366,7 +366,7 @@ export default function runner(currentPlugin: PluginCreator) { console.log(formatGitHubActionAnnotation( formatWarningsAssertError(testCaseLabel, testCaseOptions, result.warnings(), testCaseOptions.warnings, true), 'error', - { file: normalizeFilePathForGithubAnnotation(expectFilePath), line: 1, col: 1 }, + { file: expectFilePath, line: 1, col: 1 }, )); } else { failureSummary.add(testCaseLabel); @@ -390,22 +390,3 @@ export default function runner(currentPlugin: PluginCreator) { console.warn('pass ' + (currentPlugin() as Plugin).postcssPlugin); }; } - -function normalizeFilePathForGithubAnnotation(filePath: string) { - // Any plugin or packages is located in `/`; - const parts = process.cwd().split('/').slice(-2); - - const workspaces = [ - 'packages', - 'plugins', - 'plugin-packs', - 'cli', - 'experimental', - ]; - - if (!workspaces.includes(parts[0])) { - throw new Error('PostCSS Tape was intended to be run from /'); - } - - return path.join(parts.join('/'), filePath); -} From d5f0ec266e9711a7f145f6830b1e3d4730eb0e46 Mon Sep 17 00:00:00 2001 From: romainmenke Date: Sun, 1 May 2022 10:59:09 +0200 Subject: [PATCH 7/7] fix --- plugins/postcss-color-function/test/basic.expect.css | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/postcss-color-function/test/basic.expect.css b/plugins/postcss-color-function/test/basic.expect.css index c811f90ad..c872d7446 100644 --- a/plugins/postcss-color-function/test/basic.expect.css +++ b/plugins/postcss-color-function/test/basic.expect.css @@ -4,6 +4,7 @@ color-3: rgb(254,255,0); color-4: rgba(254,255,0,0.5); color-5: rgb(255,255,255); + color-6: rgba(255,255,255,0.5); } .test-color-none {