Skip to content

Commit d803f72

Browse files
authored
add support for openharmony-arm64 platform (#4212)
1 parent 0231961 commit d803f72

File tree

7 files changed

+67
-28
lines changed

7 files changed

+67
-28
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
/npm/@esbuild/android-x64/esbuild.wasm
1414
/npm/@esbuild/android-x64/wasm_exec_node.js
1515
/npm/@esbuild/android-x64/wasm_exec.js
16+
/npm/@esbuild/openharmony-arm64/esbuild.wasm
17+
/npm/@esbuild/openharmony-arm64/wasm_exec_node.js
18+
/npm/@esbuild/openharmony-arm64/wasm_exec.js
1619
/npm/@esbuild/wasi-preview1/esbuild.wasm
1720
/npm/esbuild-wasm/browser.js
1821
/npm/esbuild-wasm/esbuild.wasm

Makefile

Lines changed: 38 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,7 @@ platform-all:
289289
platform-android-arm \
290290
platform-android-arm64 \
291291
platform-android-x64 \
292+
platform-openharmony-arm64 \
292293
platform-darwin-arm64 \
293294
platform-darwin-x64 \
294295
platform-deno \
@@ -344,6 +345,9 @@ platform-android-x64: platform-wasm
344345
platform-android-arm: platform-wasm
345346
node scripts/esbuild.js npm/@esbuild/android-arm/package.json --version
346347

348+
platform-openharmony-arm64: platform-wasm
349+
node scripts/esbuild.js npm/@esbuild/openharmony-arm64/package.json --version
350+
347351
platform-aix-ppc64:
348352
@$(MAKE) --no-print-directory GOOS=aix GOARCH=ppc64 NPMDIR=npm/@esbuild/aix-ppc64 platform-unixlike
349353

@@ -463,7 +467,8 @@ publish-all: check-go-version
463467
@read OTP && OTP="$$OTP" $(MAKE) --no-print-directory -j4 \
464468
publish-android-x64 \
465469
publish-android-arm \
466-
publish-android-arm64
470+
publish-android-arm64 \
471+
publish-openharmony-arm64
467472

468473
@echo Enter one-time password:
469474
@read OTP && OTP="$$OTP" $(MAKE) --no-print-directory -j4 \
@@ -519,6 +524,9 @@ publish-android-arm: platform-android-arm
519524
publish-android-arm64: platform-android-arm64
520525
test -n "$(OTP)" && cd npm/@esbuild/android-arm64 && npm publish --otp="$(OTP)"
521526

527+
publish-openharmony-arm64: platform-openharmony-arm64
528+
test -n "$(OTP)" && cd npm/@esbuild/openharmony-arm64 && npm publish --otp="$(OTP)"
529+
522530
publish-darwin-x64: platform-darwin-x64
523531
test -n "$(OTP)" && cd npm/@esbuild/darwin-x64 && npm publish --otp="$(OTP)"
524532

@@ -614,33 +622,34 @@ validate-build:
614622
# This checks that the published binaries are bitwise-identical to the locally-build binaries
615623
validate-builds:
616624
git fetch --all --tags && git checkout "v$(ESBUILD_VERSION)"
617-
@$(MAKE) --no-print-directory TARGET=platform-aix-ppc64 SCOPE=@esbuild/ PACKAGE=aix-ppc64 SUBPATH=bin/esbuild validate-build
618-
@$(MAKE) --no-print-directory TARGET=platform-android-arm SCOPE=@esbuild/ PACKAGE=android-arm SUBPATH=esbuild.wasm validate-build
619-
@$(MAKE) --no-print-directory TARGET=platform-android-arm64 SCOPE=@esbuild/ PACKAGE=android-arm64 SUBPATH=bin/esbuild validate-build
620-
@$(MAKE) --no-print-directory TARGET=platform-android-x64 SCOPE=@esbuild/ PACKAGE=android-x64 SUBPATH=esbuild.wasm validate-build
621-
@$(MAKE) --no-print-directory TARGET=platform-darwin-arm64 SCOPE=@esbuild/ PACKAGE=darwin-arm64 SUBPATH=bin/esbuild validate-build
622-
@$(MAKE) --no-print-directory TARGET=platform-darwin-x64 SCOPE=@esbuild/ PACKAGE=darwin-x64 SUBPATH=bin/esbuild validate-build
623-
@$(MAKE) --no-print-directory TARGET=platform-freebsd-arm64 SCOPE=@esbuild/ PACKAGE=freebsd-arm64 SUBPATH=bin/esbuild validate-build
624-
@$(MAKE) --no-print-directory TARGET=platform-freebsd-x64 SCOPE=@esbuild/ PACKAGE=freebsd-x64 SUBPATH=bin/esbuild validate-build
625-
@$(MAKE) --no-print-directory TARGET=platform-linux-arm SCOPE=@esbuild/ PACKAGE=linux-arm SUBPATH=bin/esbuild validate-build
626-
@$(MAKE) --no-print-directory TARGET=platform-linux-arm64 SCOPE=@esbuild/ PACKAGE=linux-arm64 SUBPATH=bin/esbuild validate-build
627-
@$(MAKE) --no-print-directory TARGET=platform-linux-ia32 SCOPE=@esbuild/ PACKAGE=linux-ia32 SUBPATH=bin/esbuild validate-build
628-
@$(MAKE) --no-print-directory TARGET=platform-linux-loong64 SCOPE=@esbuild/ PACKAGE=linux-loong64 SUBPATH=bin/esbuild validate-build
629-
@$(MAKE) --no-print-directory TARGET=platform-linux-mips64el SCOPE=@esbuild/ PACKAGE=linux-mips64el SUBPATH=bin/esbuild validate-build
630-
@$(MAKE) --no-print-directory TARGET=platform-linux-ppc64 SCOPE=@esbuild/ PACKAGE=linux-ppc64 SUBPATH=bin/esbuild validate-build
631-
@$(MAKE) --no-print-directory TARGET=platform-linux-riscv64 SCOPE=@esbuild/ PACKAGE=linux-riscv64 SUBPATH=bin/esbuild validate-build
632-
@$(MAKE) --no-print-directory TARGET=platform-linux-s390x SCOPE=@esbuild/ PACKAGE=linux-s390x SUBPATH=bin/esbuild validate-build
633-
@$(MAKE) --no-print-directory TARGET=platform-linux-x64 SCOPE=@esbuild/ PACKAGE=linux-x64 SUBPATH=bin/esbuild validate-build
634-
@$(MAKE) --no-print-directory TARGET=platform-netbsd-arm64 SCOPE=@esbuild/ PACKAGE=netbsd-arm64 SUBPATH=bin/esbuild validate-build
635-
@$(MAKE) --no-print-directory TARGET=platform-netbsd-x64 SCOPE=@esbuild/ PACKAGE=netbsd-x64 SUBPATH=bin/esbuild validate-build
636-
@$(MAKE) --no-print-directory TARGET=platform-openbsd-arm64 SCOPE=@esbuild/ PACKAGE=openbsd-arm64 SUBPATH=bin/esbuild validate-build
637-
@$(MAKE) --no-print-directory TARGET=platform-openbsd-x64 SCOPE=@esbuild/ PACKAGE=openbsd-x64 SUBPATH=bin/esbuild validate-build
638-
@$(MAKE) --no-print-directory TARGET=platform-sunos-x64 SCOPE=@esbuild/ PACKAGE=sunos-x64 SUBPATH=bin/esbuild validate-build
639-
@$(MAKE) --no-print-directory TARGET=platform-wasi-preview1 SCOPE=@esbuild/ PACKAGE=wasi-preview1 SUBPATH=esbuild.wasm validate-build
640-
@$(MAKE) --no-print-directory TARGET=platform-wasm PACKAGE=esbuild-wasm SUBPATH=esbuild.wasm validate-build
641-
@$(MAKE) --no-print-directory TARGET=platform-win32-arm64 SCOPE=@esbuild/ PACKAGE=win32-arm64 SUBPATH=esbuild.exe validate-build
642-
@$(MAKE) --no-print-directory TARGET=platform-win32-ia32 SCOPE=@esbuild/ PACKAGE=win32-ia32 SUBPATH=esbuild.exe validate-build
643-
@$(MAKE) --no-print-directory TARGET=platform-win32-x64 SCOPE=@esbuild/ PACKAGE=win32-x64 SUBPATH=esbuild.exe validate-build
625+
@$(MAKE) --no-print-directory TARGET=platform-aix-ppc64 SCOPE=@esbuild/ PACKAGE=aix-ppc64 SUBPATH=bin/esbuild validate-build
626+
@$(MAKE) --no-print-directory TARGET=platform-android-arm SCOPE=@esbuild/ PACKAGE=android-arm SUBPATH=esbuild.wasm validate-build
627+
@$(MAKE) --no-print-directory TARGET=platform-android-arm64 SCOPE=@esbuild/ PACKAGE=android-arm64 SUBPATH=bin/esbuild validate-build
628+
@$(MAKE) --no-print-directory TARGET=platform-android-x64 SCOPE=@esbuild/ PACKAGE=android-x64 SUBPATH=esbuild.wasm validate-build
629+
@$(MAKE) --no-print-directory TARGET=platform-openharmony-arm64 SCOPE=@esbuild/ PACKAGE=openharmony-arm64 SUBPATH=esbuild.wasm validate-build
630+
@$(MAKE) --no-print-directory TARGET=platform-darwin-arm64 SCOPE=@esbuild/ PACKAGE=darwin-arm64 SUBPATH=bin/esbuild validate-build
631+
@$(MAKE) --no-print-directory TARGET=platform-darwin-x64 SCOPE=@esbuild/ PACKAGE=darwin-x64 SUBPATH=bin/esbuild validate-build
632+
@$(MAKE) --no-print-directory TARGET=platform-freebsd-arm64 SCOPE=@esbuild/ PACKAGE=freebsd-arm64 SUBPATH=bin/esbuild validate-build
633+
@$(MAKE) --no-print-directory TARGET=platform-freebsd-x64 SCOPE=@esbuild/ PACKAGE=freebsd-x64 SUBPATH=bin/esbuild validate-build
634+
@$(MAKE) --no-print-directory TARGET=platform-linux-arm SCOPE=@esbuild/ PACKAGE=linux-arm SUBPATH=bin/esbuild validate-build
635+
@$(MAKE) --no-print-directory TARGET=platform-linux-arm64 SCOPE=@esbuild/ PACKAGE=linux-arm64 SUBPATH=bin/esbuild validate-build
636+
@$(MAKE) --no-print-directory TARGET=platform-linux-ia32 SCOPE=@esbuild/ PACKAGE=linux-ia32 SUBPATH=bin/esbuild validate-build
637+
@$(MAKE) --no-print-directory TARGET=platform-linux-loong64 SCOPE=@esbuild/ PACKAGE=linux-loong64 SUBPATH=bin/esbuild validate-build
638+
@$(MAKE) --no-print-directory TARGET=platform-linux-mips64el SCOPE=@esbuild/ PACKAGE=linux-mips64el SUBPATH=bin/esbuild validate-build
639+
@$(MAKE) --no-print-directory TARGET=platform-linux-ppc64 SCOPE=@esbuild/ PACKAGE=linux-ppc64 SUBPATH=bin/esbuild validate-build
640+
@$(MAKE) --no-print-directory TARGET=platform-linux-riscv64 SCOPE=@esbuild/ PACKAGE=linux-riscv64 SUBPATH=bin/esbuild validate-build
641+
@$(MAKE) --no-print-directory TARGET=platform-linux-s390x SCOPE=@esbuild/ PACKAGE=linux-s390x SUBPATH=bin/esbuild validate-build
642+
@$(MAKE) --no-print-directory TARGET=platform-linux-x64 SCOPE=@esbuild/ PACKAGE=linux-x64 SUBPATH=bin/esbuild validate-build
643+
@$(MAKE) --no-print-directory TARGET=platform-netbsd-arm64 SCOPE=@esbuild/ PACKAGE=netbsd-arm64 SUBPATH=bin/esbuild validate-build
644+
@$(MAKE) --no-print-directory TARGET=platform-netbsd-x64 SCOPE=@esbuild/ PACKAGE=netbsd-x64 SUBPATH=bin/esbuild validate-build
645+
@$(MAKE) --no-print-directory TARGET=platform-openbsd-arm64 SCOPE=@esbuild/ PACKAGE=openbsd-arm64 SUBPATH=bin/esbuild validate-build
646+
@$(MAKE) --no-print-directory TARGET=platform-openbsd-x64 SCOPE=@esbuild/ PACKAGE=openbsd-x64 SUBPATH=bin/esbuild validate-build
647+
@$(MAKE) --no-print-directory TARGET=platform-sunos-x64 SCOPE=@esbuild/ PACKAGE=sunos-x64 SUBPATH=bin/esbuild validate-build
648+
@$(MAKE) --no-print-directory TARGET=platform-wasi-preview1 SCOPE=@esbuild/ PACKAGE=wasi-preview1 SUBPATH=esbuild.wasm validate-build
649+
@$(MAKE) --no-print-directory TARGET=platform-wasm PACKAGE=esbuild-wasm SUBPATH=esbuild.wasm validate-build
650+
@$(MAKE) --no-print-directory TARGET=platform-win32-arm64 SCOPE=@esbuild/ PACKAGE=win32-arm64 SUBPATH=esbuild.exe validate-build
651+
@$(MAKE) --no-print-directory TARGET=platform-win32-ia32 SCOPE=@esbuild/ PACKAGE=win32-ia32 SUBPATH=esbuild.exe validate-build
652+
@$(MAKE) --no-print-directory TARGET=platform-win32-x64 SCOPE=@esbuild/ PACKAGE=win32-x64 SUBPATH=esbuild.exe validate-build
644653

645654
clean:
646655
go clean -cache
@@ -655,6 +664,7 @@ clean:
655664
rm -rf npm/@esbuild/android-arm/bin npm/@esbuild/android-arm/esbuild.wasm npm/@esbuild/android-arm/wasm_exec*.js
656665
rm -rf npm/@esbuild/android-arm64/bin
657666
rm -rf npm/@esbuild/android-x64/bin npm/@esbuild/android-x64/esbuild.wasm npm/@esbuild/android-x64/wasm_exec*.js
667+
rm -rf npm/@esbuild/openharmony-arm64/bin npm/@esbuild/openharmony-arm64/esbuild.wasm npm/@esbuild/openharmony-arm64/wasm_exec*.js
658668
rm -rf npm/@esbuild/darwin-arm64/bin
659669
rm -rf npm/@esbuild/darwin-x64/bin
660670
rm -rf npm/@esbuild/freebsd-arm64/bin

lib/npm/node-platform.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ export const knownUnixlikePackages: Record<string, string> = {
5151
export const knownWebAssemblyFallbackPackages: Record<string, string> = {
5252
'android arm LE': '@esbuild/android-arm',
5353
'android x64 LE': '@esbuild/android-x64',
54+
'openharmony arm64 LE': '@esbuild/openharmony-arm64',
5455
}
5556

5657
export function pkgAndSubpathForCurrentPlatform(): { pkg: string, subpath: string, isWASM: boolean } {
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# esbuild
2+
3+
This is a WebAssembly shim for esbuild on OpenHarmony ARM64. See https://github.com/evanw/esbuild for details.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"name": "@esbuild/openharmony-arm64",
3+
"version": "0.25.5",
4+
"description": "A WebAssembly shim for esbuild on OpenHarmony ARM64.",
5+
"repository": {
6+
"type": "git",
7+
"url": "git+https://github.com/evanw/esbuild.git"
8+
},
9+
"license": "MIT",
10+
"preferUnplugged": true,
11+
"engines": {
12+
"node": ">=18"
13+
},
14+
"os": [
15+
"openharmony"
16+
],
17+
"cpu": [
18+
"arm64"
19+
]
20+
}

npm/esbuild/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"@esbuild/android-arm": "0.25.5",
2323
"@esbuild/android-arm64": "0.25.5",
2424
"@esbuild/android-x64": "0.25.5",
25+
"@esbuild/openharmony-arm64": "0.25.5",
2526
"@esbuild/darwin-arm64": "0.25.5",
2627
"@esbuild/darwin-x64": "0.25.5",
2728
"@esbuild/freebsd-arm64": "0.25.5",

scripts/esbuild.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ exports.buildWasmLib = async (esbuildPath) => {
213213
for (const dir of [
214214
path.join(repoDir, 'npm', '@esbuild', 'android-arm'),
215215
path.join(repoDir, 'npm', '@esbuild', 'android-x64'),
216+
path.join(repoDir, 'npm', '@esbuild', 'openharmony-arm64'),
216217
]) {
217218
fs.mkdirSync(path.join(dir, 'bin'), { recursive: true })
218219
fs.writeFileSync(path.join(dir, 'wasm_exec.js'), wasm_exec_js)

0 commit comments

Comments
 (0)