@swc/minifier 1.3.91

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/.tsbuildinfo +1 -0
  2. package/artifacts/minifier-aarch64-apple-darwin/minifier.darwin-arm64.node +0 -0
  3. package/artifacts/minifier-aarch64-pc-windows-msvc/minifier.win32-arm64-msvc.node +0 -0
  4. package/artifacts/minifier-aarch64-unknown-linux-gnu/minifier.linux-arm64-gnu.node +0 -0
  5. package/artifacts/minifier-aarch64-unknown-linux-musl/minifier.linux-arm64-musl.node +0 -0
  6. package/artifacts/minifier-armv7-unknown-linux-gnueabihf/minifier.linux-arm-gnueabihf.node +0 -0
  7. package/artifacts/minifier-i686-pc-windows-msvc/minifier.win32-ia32-msvc.node +0 -0
  8. package/artifacts/minifier-x86_64-apple-darwin/minifier.darwin-x64.node +0 -0
  9. package/artifacts/minifier-x86_64-pc-windows-msvc/minifier.win32-x64-msvc.node +0 -0
  10. package/artifacts/minifier-x86_64-unknown-linux-gnu/minifier.linux-x64-gnu.node +0 -0
  11. package/artifacts/minifier-x86_64-unknown-linux-musl/minifier.linux-x64-musl.node +0 -0
  12. package/binding.d.ts +4 -0
  13. package/binding.js +266 -0
  14. package/index.d.ts +11 -0
  15. package/index.js +44 -0
  16. package/minifier.darwin-arm64.node +0 -0
  17. package/minifier.darwin-x64.node +0 -0
  18. package/minifier.linux-arm-gnueabihf.node +0 -0
  19. package/minifier.linux-arm64-gnu.node +0 -0
  20. package/minifier.linux-arm64-musl.node +0 -0
  21. package/minifier.linux-x64-gnu.node +0 -0
  22. package/minifier.linux-x64-musl.node +0 -0
  23. package/minifier.win32-arm64-msvc.node +0 -0
  24. package/minifier.win32-ia32-msvc.node +0 -0
  25. package/minifier.win32-x64-msvc.node +0 -0
  26. package/package.json +82 -0
  27. package/scripts/npm/darwin-arm64/README.md +3 -0
  28. package/scripts/npm/darwin-arm64/minifier.darwin-arm64.node +0 -0
  29. package/scripts/npm/darwin-arm64/package.json +42 -0
  30. package/scripts/npm/darwin-x64/README.md +3 -0
  31. package/scripts/npm/darwin-x64/minifier.darwin-x64.node +0 -0
  32. package/scripts/npm/darwin-x64/package.json +42 -0
  33. package/scripts/npm/linux-arm-gnueabihf/README.md +3 -0
  34. package/scripts/npm/linux-arm-gnueabihf/minifier.linux-arm-gnueabihf.node +0 -0
  35. package/scripts/npm/linux-arm-gnueabihf/package.json +42 -0
  36. package/scripts/npm/linux-arm64-gnu/README.md +3 -0
  37. package/scripts/npm/linux-arm64-gnu/minifier.linux-arm64-gnu.node +0 -0
  38. package/scripts/npm/linux-arm64-gnu/package.json +45 -0
  39. package/scripts/npm/linux-arm64-musl/README.md +3 -0
  40. package/scripts/npm/linux-arm64-musl/minifier.linux-arm64-musl.node +0 -0
  41. package/scripts/npm/linux-arm64-musl/package.json +45 -0
  42. package/scripts/npm/linux-x64-gnu/README.md +3 -0
  43. package/scripts/npm/linux-x64-gnu/minifier.linux-x64-gnu.node +0 -0
  44. package/scripts/npm/linux-x64-gnu/package.json +45 -0
  45. package/scripts/npm/linux-x64-musl/README.md +3 -0
  46. package/scripts/npm/linux-x64-musl/minifier.linux-x64-musl.node +0 -0
  47. package/scripts/npm/linux-x64-musl/package.json +45 -0
  48. package/scripts/npm/win32-arm64-msvc/README.md +3 -0
  49. package/scripts/npm/win32-arm64-msvc/minifier.win32-arm64-msvc.node +0 -0
  50. package/scripts/npm/win32-arm64-msvc/package.json +42 -0
  51. package/scripts/npm/win32-ia32-msvc/README.md +3 -0
  52. package/scripts/npm/win32-ia32-msvc/minifier.win32-ia32-msvc.node +0 -0
  53. package/scripts/npm/win32-ia32-msvc/package.json +42 -0
  54. package/scripts/npm/win32-x64-msvc/README.md +3 -0
  55. package/scripts/npm/win32-x64-msvc/minifier.win32-x64-msvc.node +0 -0
  56. package/scripts/npm/win32-x64-msvc/package.json +42 -0
  57. package/src/binding.d.ts +18 -0
  58. package/src/binding.js +260 -0
  59. package/src/index.ts +23 -0
  60. package/tsconfig.json +63 -0
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@swc/minifier-linux-arm-gnueabihf",
3
+ "version": "1.3.91",
4
+ "os": [
5
+ "linux"
6
+ ],
7
+ "cpu": [
8
+ "arm"
9
+ ],
10
+ "main": "minifier.linux-arm-gnueabihf.node",
11
+ "files": [
12
+ "minifier.linux-arm-gnueabihf.node",
13
+ "swc"
14
+ ],
15
+ "description": "Super-fast alternative for babel",
16
+ "keywords": [
17
+ "swc",
18
+ "swcpack",
19
+ "babel",
20
+ "typescript",
21
+ "rust",
22
+ "webpack",
23
+ "tsc"
24
+ ],
25
+ "author": "강동윤 <kdy1997.dev@gmail.com>",
26
+ "homepage": "https://swc.rs",
27
+ "license": "Apache-2.0 AND MIT",
28
+ "engines": {
29
+ "node": ">=10"
30
+ },
31
+ "publishConfig": {
32
+ "registry": "https://registry.npmjs.org/",
33
+ "access": "public"
34
+ },
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "git+https://github.com/swc-project/swc.git"
38
+ },
39
+ "bugs": {
40
+ "url": "https://github.com/swc-project/swc/issues"
41
+ }
42
+ }
@@ -0,0 +1,3 @@
1
+ # `@swc/minifier-linux-arm64-gnu`
2
+
3
+ This is the **aarch64-unknown-linux-gnu** binary for `@swc/minifier`
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@swc/minifier-linux-arm64-gnu",
3
+ "version": "1.3.91",
4
+ "os": [
5
+ "linux"
6
+ ],
7
+ "cpu": [
8
+ "arm64"
9
+ ],
10
+ "main": "minifier.linux-arm64-gnu.node",
11
+ "files": [
12
+ "minifier.linux-arm64-gnu.node",
13
+ "swc"
14
+ ],
15
+ "libc": [
16
+ "glibc"
17
+ ],
18
+ "description": "Super-fast alternative for babel",
19
+ "keywords": [
20
+ "swc",
21
+ "swcpack",
22
+ "babel",
23
+ "typescript",
24
+ "rust",
25
+ "webpack",
26
+ "tsc"
27
+ ],
28
+ "author": "강동윤 <kdy1997.dev@gmail.com>",
29
+ "homepage": "https://swc.rs",
30
+ "license": "Apache-2.0 AND MIT",
31
+ "engines": {
32
+ "node": ">=10"
33
+ },
34
+ "publishConfig": {
35
+ "registry": "https://registry.npmjs.org/",
36
+ "access": "public"
37
+ },
38
+ "repository": {
39
+ "type": "git",
40
+ "url": "git+https://github.com/swc-project/swc.git"
41
+ },
42
+ "bugs": {
43
+ "url": "https://github.com/swc-project/swc/issues"
44
+ }
45
+ }
@@ -0,0 +1,3 @@
1
+ # `@swc/minifier-linux-arm64-musl`
2
+
3
+ This is the **aarch64-unknown-linux-musl** binary for `@swc/minifier`
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@swc/minifier-linux-arm64-musl",
3
+ "version": "1.3.91",
4
+ "os": [
5
+ "linux"
6
+ ],
7
+ "cpu": [
8
+ "arm64"
9
+ ],
10
+ "main": "minifier.linux-arm64-musl.node",
11
+ "files": [
12
+ "minifier.linux-arm64-musl.node",
13
+ "swc"
14
+ ],
15
+ "libc": [
16
+ "musl"
17
+ ],
18
+ "description": "Super-fast alternative for babel",
19
+ "keywords": [
20
+ "swc",
21
+ "swcpack",
22
+ "babel",
23
+ "typescript",
24
+ "rust",
25
+ "webpack",
26
+ "tsc"
27
+ ],
28
+ "author": "강동윤 <kdy1997.dev@gmail.com>",
29
+ "homepage": "https://swc.rs",
30
+ "license": "Apache-2.0 AND MIT",
31
+ "engines": {
32
+ "node": ">=10"
33
+ },
34
+ "publishConfig": {
35
+ "registry": "https://registry.npmjs.org/",
36
+ "access": "public"
37
+ },
38
+ "repository": {
39
+ "type": "git",
40
+ "url": "git+https://github.com/swc-project/swc.git"
41
+ },
42
+ "bugs": {
43
+ "url": "https://github.com/swc-project/swc/issues"
44
+ }
45
+ }
@@ -0,0 +1,3 @@
1
+ # `@swc/minifier-linux-x64-gnu`
2
+
3
+ This is the **x86_64-unknown-linux-gnu** binary for `@swc/minifier`
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@swc/minifier-linux-x64-gnu",
3
+ "version": "1.3.91",
4
+ "os": [
5
+ "linux"
6
+ ],
7
+ "cpu": [
8
+ "x64"
9
+ ],
10
+ "main": "minifier.linux-x64-gnu.node",
11
+ "files": [
12
+ "minifier.linux-x64-gnu.node",
13
+ "swc"
14
+ ],
15
+ "libc": [
16
+ "glibc"
17
+ ],
18
+ "description": "Super-fast alternative for babel",
19
+ "keywords": [
20
+ "swc",
21
+ "swcpack",
22
+ "babel",
23
+ "typescript",
24
+ "rust",
25
+ "webpack",
26
+ "tsc"
27
+ ],
28
+ "author": "강동윤 <kdy1997.dev@gmail.com>",
29
+ "homepage": "https://swc.rs",
30
+ "license": "Apache-2.0 AND MIT",
31
+ "engines": {
32
+ "node": ">=10"
33
+ },
34
+ "publishConfig": {
35
+ "registry": "https://registry.npmjs.org/",
36
+ "access": "public"
37
+ },
38
+ "repository": {
39
+ "type": "git",
40
+ "url": "git+https://github.com/swc-project/swc.git"
41
+ },
42
+ "bugs": {
43
+ "url": "https://github.com/swc-project/swc/issues"
44
+ }
45
+ }
@@ -0,0 +1,3 @@
1
+ # `@swc/minifier-linux-x64-musl`
2
+
3
+ This is the **x86_64-unknown-linux-musl** binary for `@swc/minifier`
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@swc/minifier-linux-x64-musl",
3
+ "version": "1.3.91",
4
+ "os": [
5
+ "linux"
6
+ ],
7
+ "cpu": [
8
+ "x64"
9
+ ],
10
+ "main": "minifier.linux-x64-musl.node",
11
+ "files": [
12
+ "minifier.linux-x64-musl.node",
13
+ "swc"
14
+ ],
15
+ "libc": [
16
+ "musl"
17
+ ],
18
+ "description": "Super-fast alternative for babel",
19
+ "keywords": [
20
+ "swc",
21
+ "swcpack",
22
+ "babel",
23
+ "typescript",
24
+ "rust",
25
+ "webpack",
26
+ "tsc"
27
+ ],
28
+ "author": "강동윤 <kdy1997.dev@gmail.com>",
29
+ "homepage": "https://swc.rs",
30
+ "license": "Apache-2.0 AND MIT",
31
+ "engines": {
32
+ "node": ">=10"
33
+ },
34
+ "publishConfig": {
35
+ "registry": "https://registry.npmjs.org/",
36
+ "access": "public"
37
+ },
38
+ "repository": {
39
+ "type": "git",
40
+ "url": "git+https://github.com/swc-project/swc.git"
41
+ },
42
+ "bugs": {
43
+ "url": "https://github.com/swc-project/swc/issues"
44
+ }
45
+ }
@@ -0,0 +1,3 @@
1
+ # `@swc/minifier-win32-arm64-msvc`
2
+
3
+ This is the **aarch64-pc-windows-msvc** binary for `@swc/minifier`
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@swc/minifier-win32-arm64-msvc",
3
+ "version": "1.3.91",
4
+ "os": [
5
+ "win32"
6
+ ],
7
+ "cpu": [
8
+ "arm64"
9
+ ],
10
+ "main": "minifier.win32-arm64-msvc.node",
11
+ "files": [
12
+ "minifier.win32-arm64-msvc.node",
13
+ "swc.exe"
14
+ ],
15
+ "description": "Super-fast alternative for babel",
16
+ "keywords": [
17
+ "swc",
18
+ "swcpack",
19
+ "babel",
20
+ "typescript",
21
+ "rust",
22
+ "webpack",
23
+ "tsc"
24
+ ],
25
+ "author": "강동윤 <kdy1997.dev@gmail.com>",
26
+ "homepage": "https://swc.rs",
27
+ "license": "Apache-2.0 AND MIT",
28
+ "engines": {
29
+ "node": ">=10"
30
+ },
31
+ "publishConfig": {
32
+ "registry": "https://registry.npmjs.org/",
33
+ "access": "public"
34
+ },
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "git+https://github.com/swc-project/swc.git"
38
+ },
39
+ "bugs": {
40
+ "url": "https://github.com/swc-project/swc/issues"
41
+ }
42
+ }
@@ -0,0 +1,3 @@
1
+ # `@swc/minifier-win32-ia32-msvc`
2
+
3
+ This is the **i686-pc-windows-msvc** binary for `@swc/minifier`
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@swc/minifier-win32-ia32-msvc",
3
+ "version": "1.3.91",
4
+ "os": [
5
+ "win32"
6
+ ],
7
+ "cpu": [
8
+ "ia32"
9
+ ],
10
+ "main": "minifier.win32-ia32-msvc.node",
11
+ "files": [
12
+ "minifier.win32-ia32-msvc.node",
13
+ "swc.exe"
14
+ ],
15
+ "description": "Super-fast alternative for babel",
16
+ "keywords": [
17
+ "swc",
18
+ "swcpack",
19
+ "babel",
20
+ "typescript",
21
+ "rust",
22
+ "webpack",
23
+ "tsc"
24
+ ],
25
+ "author": "강동윤 <kdy1997.dev@gmail.com>",
26
+ "homepage": "https://swc.rs",
27
+ "license": "Apache-2.0 AND MIT",
28
+ "engines": {
29
+ "node": ">=10"
30
+ },
31
+ "publishConfig": {
32
+ "registry": "https://registry.npmjs.org/",
33
+ "access": "public"
34
+ },
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "git+https://github.com/swc-project/swc.git"
38
+ },
39
+ "bugs": {
40
+ "url": "https://github.com/swc-project/swc/issues"
41
+ }
42
+ }
@@ -0,0 +1,3 @@
1
+ # `@swc/minifier-win32-x64-msvc`
2
+
3
+ This is the **x86_64-pc-windows-msvc** binary for `@swc/minifier`
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@swc/minifier-win32-x64-msvc",
3
+ "version": "1.3.91",
4
+ "os": [
5
+ "win32"
6
+ ],
7
+ "cpu": [
8
+ "x64"
9
+ ],
10
+ "main": "minifier.win32-x64-msvc.node",
11
+ "files": [
12
+ "minifier.win32-x64-msvc.node",
13
+ "swc.exe"
14
+ ],
15
+ "description": "Super-fast alternative for babel",
16
+ "keywords": [
17
+ "swc",
18
+ "swcpack",
19
+ "babel",
20
+ "typescript",
21
+ "rust",
22
+ "webpack",
23
+ "tsc"
24
+ ],
25
+ "author": "강동윤 <kdy1997.dev@gmail.com>",
26
+ "homepage": "https://swc.rs",
27
+ "license": "Apache-2.0 AND MIT",
28
+ "engines": {
29
+ "node": ">=10"
30
+ },
31
+ "publishConfig": {
32
+ "registry": "https://registry.npmjs.org/",
33
+ "access": "public"
34
+ },
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "git+https://github.com/swc-project/swc.git"
38
+ },
39
+ "bugs": {
40
+ "url": "https://github.com/swc-project/swc/issues"
41
+ }
42
+ }
@@ -0,0 +1,18 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+
4
+ /* auto-generated by NAPI-RS */
5
+
6
+ export interface TransformOutput {
7
+ code: string
8
+ map?: string
9
+ }
10
+ export function minify(code: Buffer, opts: Buffer, signal?: AbortSignal | undefined | null): Promise<TransformOutput>
11
+ export function minifySync(code: Buffer, opts: Buffer): TransformOutput
12
+ export function getTargetTriple(): string
13
+ export function initCustomTraceSubscriber(traceOutFilePath?: string | undefined | null): void
14
+ /** Hack for `Type Generation` */
15
+ export interface TransformOutput {
16
+ code: string
17
+ map?: string
18
+ }
package/src/binding.js ADDED
@@ -0,0 +1,260 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /* prettier-ignore */
4
+
5
+ /* auto-generated by NAPI-RS */
6
+
7
+ const { existsSync, readFileSync } = require('fs')
8
+ const { join } = require('path')
9
+
10
+ const { platform, arch } = process
11
+
12
+ let nativeBinding = null
13
+ let localFileExisted = false
14
+ let loadError = null
15
+
16
+ function isMusl() {
17
+ // For Node 10
18
+ if (!process.report || typeof process.report.getReport !== 'function') {
19
+ try {
20
+ const lddPath = require('child_process').execSync('which ldd').toString().trim()
21
+ return readFileSync(lddPath, 'utf8').includes('musl')
22
+ } catch (e) {
23
+ return true
24
+ }
25
+ } else {
26
+ const { glibcVersionRuntime } = process.report.getReport().header
27
+ return !glibcVersionRuntime
28
+ }
29
+ }
30
+
31
+ switch (platform) {
32
+ case 'android':
33
+ switch (arch) {
34
+ case 'arm64':
35
+ localFileExisted = existsSync(join(__dirname, 'minifier.android-arm64.node'))
36
+ try {
37
+ if (localFileExisted) {
38
+ nativeBinding = require('./minifier.android-arm64.node')
39
+ } else {
40
+ nativeBinding = require('@swc/minifier-android-arm64')
41
+ }
42
+ } catch (e) {
43
+ loadError = e
44
+ }
45
+ break
46
+ case 'arm':
47
+ localFileExisted = existsSync(join(__dirname, 'minifier.android-arm-eabi.node'))
48
+ try {
49
+ if (localFileExisted) {
50
+ nativeBinding = require('./minifier.android-arm-eabi.node')
51
+ } else {
52
+ nativeBinding = require('@swc/minifier-android-arm-eabi')
53
+ }
54
+ } catch (e) {
55
+ loadError = e
56
+ }
57
+ break
58
+ default:
59
+ throw new Error(`Unsupported architecture on Android ${arch}`)
60
+ }
61
+ break
62
+ case 'win32':
63
+ switch (arch) {
64
+ case 'x64':
65
+ localFileExisted = existsSync(
66
+ join(__dirname, 'minifier.win32-x64-msvc.node')
67
+ )
68
+ try {
69
+ if (localFileExisted) {
70
+ nativeBinding = require('./minifier.win32-x64-msvc.node')
71
+ } else {
72
+ nativeBinding = require('@swc/minifier-win32-x64-msvc')
73
+ }
74
+ } catch (e) {
75
+ loadError = e
76
+ }
77
+ break
78
+ case 'ia32':
79
+ localFileExisted = existsSync(
80
+ join(__dirname, 'minifier.win32-ia32-msvc.node')
81
+ )
82
+ try {
83
+ if (localFileExisted) {
84
+ nativeBinding = require('./minifier.win32-ia32-msvc.node')
85
+ } else {
86
+ nativeBinding = require('@swc/minifier-win32-ia32-msvc')
87
+ }
88
+ } catch (e) {
89
+ loadError = e
90
+ }
91
+ break
92
+ case 'arm64':
93
+ localFileExisted = existsSync(
94
+ join(__dirname, 'minifier.win32-arm64-msvc.node')
95
+ )
96
+ try {
97
+ if (localFileExisted) {
98
+ nativeBinding = require('./minifier.win32-arm64-msvc.node')
99
+ } else {
100
+ nativeBinding = require('@swc/minifier-win32-arm64-msvc')
101
+ }
102
+ } catch (e) {
103
+ loadError = e
104
+ }
105
+ break
106
+ default:
107
+ throw new Error(`Unsupported architecture on Windows: ${arch}`)
108
+ }
109
+ break
110
+ case 'darwin':
111
+ localFileExisted = existsSync(join(__dirname, 'minifier.darwin-universal.node'))
112
+ try {
113
+ if (localFileExisted) {
114
+ nativeBinding = require('./minifier.darwin-universal.node')
115
+ } else {
116
+ nativeBinding = require('@swc/minifier-darwin-universal')
117
+ }
118
+ break
119
+ } catch {}
120
+ switch (arch) {
121
+ case 'x64':
122
+ localFileExisted = existsSync(join(__dirname, 'minifier.darwin-x64.node'))
123
+ try {
124
+ if (localFileExisted) {
125
+ nativeBinding = require('./minifier.darwin-x64.node')
126
+ } else {
127
+ nativeBinding = require('@swc/minifier-darwin-x64')
128
+ }
129
+ } catch (e) {
130
+ loadError = e
131
+ }
132
+ break
133
+ case 'arm64':
134
+ localFileExisted = existsSync(
135
+ join(__dirname, 'minifier.darwin-arm64.node')
136
+ )
137
+ try {
138
+ if (localFileExisted) {
139
+ nativeBinding = require('./minifier.darwin-arm64.node')
140
+ } else {
141
+ nativeBinding = require('@swc/minifier-darwin-arm64')
142
+ }
143
+ } catch (e) {
144
+ loadError = e
145
+ }
146
+ break
147
+ default:
148
+ throw new Error(`Unsupported architecture on macOS: ${arch}`)
149
+ }
150
+ break
151
+ case 'freebsd':
152
+ if (arch !== 'x64') {
153
+ throw new Error(`Unsupported architecture on FreeBSD: ${arch}`)
154
+ }
155
+ localFileExisted = existsSync(join(__dirname, 'minifier.freebsd-x64.node'))
156
+ try {
157
+ if (localFileExisted) {
158
+ nativeBinding = require('./minifier.freebsd-x64.node')
159
+ } else {
160
+ nativeBinding = require('@swc/minifier-freebsd-x64')
161
+ }
162
+ } catch (e) {
163
+ loadError = e
164
+ }
165
+ break
166
+ case 'linux':
167
+ switch (arch) {
168
+ case 'x64':
169
+ if (isMusl()) {
170
+ localFileExisted = existsSync(
171
+ join(__dirname, 'minifier.linux-x64-musl.node')
172
+ )
173
+ try {
174
+ if (localFileExisted) {
175
+ nativeBinding = require('./minifier.linux-x64-musl.node')
176
+ } else {
177
+ nativeBinding = require('@swc/minifier-linux-x64-musl')
178
+ }
179
+ } catch (e) {
180
+ loadError = e
181
+ }
182
+ } else {
183
+ localFileExisted = existsSync(
184
+ join(__dirname, 'minifier.linux-x64-gnu.node')
185
+ )
186
+ try {
187
+ if (localFileExisted) {
188
+ nativeBinding = require('./minifier.linux-x64-gnu.node')
189
+ } else {
190
+ nativeBinding = require('@swc/minifier-linux-x64-gnu')
191
+ }
192
+ } catch (e) {
193
+ loadError = e
194
+ }
195
+ }
196
+ break
197
+ case 'arm64':
198
+ if (isMusl()) {
199
+ localFileExisted = existsSync(
200
+ join(__dirname, 'minifier.linux-arm64-musl.node')
201
+ )
202
+ try {
203
+ if (localFileExisted) {
204
+ nativeBinding = require('./minifier.linux-arm64-musl.node')
205
+ } else {
206
+ nativeBinding = require('@swc/minifier-linux-arm64-musl')
207
+ }
208
+ } catch (e) {
209
+ loadError = e
210
+ }
211
+ } else {
212
+ localFileExisted = existsSync(
213
+ join(__dirname, 'minifier.linux-arm64-gnu.node')
214
+ )
215
+ try {
216
+ if (localFileExisted) {
217
+ nativeBinding = require('./minifier.linux-arm64-gnu.node')
218
+ } else {
219
+ nativeBinding = require('@swc/minifier-linux-arm64-gnu')
220
+ }
221
+ } catch (e) {
222
+ loadError = e
223
+ }
224
+ }
225
+ break
226
+ case 'arm':
227
+ localFileExisted = existsSync(
228
+ join(__dirname, 'minifier.linux-arm-gnueabihf.node')
229
+ )
230
+ try {
231
+ if (localFileExisted) {
232
+ nativeBinding = require('./minifier.linux-arm-gnueabihf.node')
233
+ } else {
234
+ nativeBinding = require('@swc/minifier-linux-arm-gnueabihf')
235
+ }
236
+ } catch (e) {
237
+ loadError = e
238
+ }
239
+ break
240
+ default:
241
+ throw new Error(`Unsupported architecture on Linux: ${arch}`)
242
+ }
243
+ break
244
+ default:
245
+ throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`)
246
+ }
247
+
248
+ if (!nativeBinding) {
249
+ if (loadError) {
250
+ throw loadError
251
+ }
252
+ throw new Error(`Failed to load native binding`)
253
+ }
254
+
255
+ const { minify, minifySync, getTargetTriple, initCustomTraceSubscriber } = nativeBinding
256
+
257
+ module.exports.minify = minify
258
+ module.exports.minifySync = minifySync
259
+ module.exports.getTargetTriple = getTargetTriple
260
+ module.exports.initCustomTraceSubscriber = initCustomTraceSubscriber