forked from parcel-bundler/lightningcss
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnative.js
More file actions
33 lines (31 loc) · 1008 Bytes
/
native.js
File metadata and controls
33 lines (31 loc) · 1008 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
let parts = [process.platform, process.arch];
if (process.platform === 'linux') {
const {MUSL, family} = require('detect-libc');
if (family === MUSL) {
parts.push('musl');
} else if (process.arch === 'arm') {
parts.push('gnueabihf');
} else {
parts.push('gnu');
}
} else if (process.platform === 'win32') {
parts.push('msvc');
}
let name = `parcel-css.${parts.join('-')}.node`;
if (process.env.PARCEL_BUILD_ENV === 'production') {
module.exports = require(`./${name}`);
} else if (process.env.PARCEL_SWC_WASM) {
const {transform} = require('./wasm/dist-node/parcel_js_swc_wasm.js');
module.exports.transform = function(config) {
let result = transform(config);
return {
...result,
// Hydrate Uint8Array into Buffer
code: Buffer.from(result.code.buffer),
};
};
} else if (require('fs').existsSync(require('path').join(__dirname, name))) {
module.exports = require(`./${name}`);
} else {
module.exports = require(`self-published/${name}`);
}