From 271b3179e8bdaa865bb0616d923789aaf152c73b Mon Sep 17 00:00:00 2001 From: Michael Rasicci Date: Sun, 4 Dec 2022 01:40:53 -0500 Subject: [PATCH 1/4] Add standalone-cli build for Windows ARM64 --- .github/workflows/prepare-release.yml | 1 + standalone-cli/package.json | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/prepare-release.yml b/.github/workflows/prepare-release.yml index 04f44e59158e..b78a61d754d5 100644 --- a/.github/workflows/prepare-release.yml +++ b/.github/workflows/prepare-release.yml @@ -75,3 +75,4 @@ jobs: standalone-cli/dist/tailwindcss-macos-arm64 standalone-cli/dist/tailwindcss-macos-x64 standalone-cli/dist/tailwindcss-windows-x64.exe + standalone-cli/dist/tailwindcss-windows-arm64.exe diff --git a/standalone-cli/package.json b/standalone-cli/package.json index 03640b32272d..d1b0309a16bb 100644 --- a/standalone-cli/package.json +++ b/standalone-cli/package.json @@ -5,7 +5,7 @@ "scripts": { "build": "pkg . --compress Brotli --no-bytecode --public-packages \"*\" --public", "prebuild": "rimraf dist", - "postbuild": "move-file dist/tailwindcss-standalone-macos-x64 dist/tailwindcss-macos-x64 && move-file dist/tailwindcss-standalone-macos-arm64 dist/tailwindcss-macos-arm64 && move-file dist/tailwindcss-standalone-win-x64.exe dist/tailwindcss-windows-x64.exe && move-file dist/tailwindcss-standalone-linuxstatic-x64 dist/tailwindcss-linux-x64 && move-file dist/tailwindcss-standalone-linuxstatic-arm64 dist/tailwindcss-linux-arm64 && move-file dist/tailwindcss-standalone-linuxstatic-armv7 dist/tailwindcss-linux-armv7", + "postbuild": "move-file dist/tailwindcss-standalone-macos-x64 dist/tailwindcss-macos-x64 && move-file dist/tailwindcss-standalone-macos-arm64 dist/tailwindcss-macos-arm64 && move-file dist/tailwindcss-standalone-win-x64.exe dist/tailwindcss-windows-x64.exe && move-file dist/tailwindcss-standalone-win-arm64.exe dist/tailwindcss-windows-arm64.exe && move-file dist/tailwindcss-standalone-linuxstatic-x64 dist/tailwindcss-linux-x64 && move-file dist/tailwindcss-standalone-linuxstatic-arm64 dist/tailwindcss-linux-arm64 && move-file dist/tailwindcss-standalone-linuxstatic-armv7 dist/tailwindcss-linux-armv7", "test": "jest" }, "devDependencies": { @@ -27,6 +27,7 @@ "node16-macos-x64", "node16-macos-arm64", "node16-win-x64", + "node16-win-arm64", "node16-linuxstatic-x64", "node16-linuxstatic-arm64", "node16-linuxstatic-armv7" From 83f4b2d02864f8ca1a9e81485ceef03e932e64ef Mon Sep 17 00:00:00 2001 From: Michael Rasicci Date: Sun, 4 Dec 2022 01:49:38 -0500 Subject: [PATCH 2/4] Fix path to binary on windows Change the path to the binary on Windows to use backslashes and the OS architecture instead of the architecture of the node binary. Visual Studio 17.4, the first GA release supporting ARM64, bundles node built for ia32, as official arm64 binaries are not yet available on Windows. Using the PROCESSOR_ARCHITEW6432 environment variable, if present, ensures we run the tests using the executable supported natively by the OS. --- standalone-cli/tests/test.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/standalone-cli/tests/test.js b/standalone-cli/tests/test.js index f96faf1be643..aa22df319c00 100644 --- a/standalone-cli/tests/test.js +++ b/standalone-cli/tests/test.js @@ -3,14 +3,14 @@ const os = require('os') const fs = require('fs-extra') const platformMap = { - darwin: 'macos', - win32: 'windows', - linux: 'linux', + darwin: `./dist/tailwindcss-macos-${process.arch}`, + linux: `./dist/tailwindcss-linux-${process.arch}`, + win32: `.\\dist\\tailwindcss-windows-${(process.env.PROCESSOR_ARCHITEW6432 || process.arch).toLowerCase()}.exe`, } function exec(args) { return execSync( - `./dist/tailwindcss-${platformMap[process.platform]}-${process.arch} ${args}` + `${platformMap[process.platform]} ${args}` ).toString() } From ed032fc3ed2629699d287c9b9bba363f02da997b Mon Sep 17 00:00:00 2001 From: Michael Rasicci Date: Sun, 4 Dec 2022 03:05:26 -0500 Subject: [PATCH 3/4] Fix style --- standalone-cli/tests/test.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/standalone-cli/tests/test.js b/standalone-cli/tests/test.js index aa22df319c00..03566e56c271 100644 --- a/standalone-cli/tests/test.js +++ b/standalone-cli/tests/test.js @@ -5,13 +5,13 @@ const fs = require('fs-extra') const platformMap = { darwin: `./dist/tailwindcss-macos-${process.arch}`, linux: `./dist/tailwindcss-linux-${process.arch}`, - win32: `.\\dist\\tailwindcss-windows-${(process.env.PROCESSOR_ARCHITEW6432 || process.arch).toLowerCase()}.exe`, + win32: `.\\dist\\tailwindcss-windows-${( + process.env.PROCESSOR_ARCHITEW6432 || process.arch + ).toLowerCase()}.exe`, } function exec(args) { - return execSync( - `${platformMap[process.platform]} ${args}` - ).toString() + return execSync(`${platformMap[process.platform]} ${args}`).toString() } it('works', () => { From 58c96400c0dd8f5fc5b1223323a4b0f8f22c10c5 Mon Sep 17 00:00:00 2001 From: Jordan Pittman Date: Mon, 5 Dec 2022 12:10:18 -0500 Subject: [PATCH 4/4] Simplify Windows mapping in standalone CLI tests --- standalone-cli/tests/test.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/standalone-cli/tests/test.js b/standalone-cli/tests/test.js index 03566e56c271..7b6e1f22d847 100644 --- a/standalone-cli/tests/test.js +++ b/standalone-cli/tests/test.js @@ -5,9 +5,7 @@ const fs = require('fs-extra') const platformMap = { darwin: `./dist/tailwindcss-macos-${process.arch}`, linux: `./dist/tailwindcss-linux-${process.arch}`, - win32: `.\\dist\\tailwindcss-windows-${( - process.env.PROCESSOR_ARCHITEW6432 || process.arch - ).toLowerCase()}.exe`, + win32: `.\\dist\\tailwindcss-windows-${process.arch}`, } function exec(args) {