mirror of
https://github.com/lovell/sharp.git
synced 2025-12-06 03:51:40 +01:00
Uses the recommended rules apart from complexity/useArrowFunction, which would affect about 1700 lines of code with little benefit right now. This is something that can be addressed over time.
40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
// Copyright 2013 Lovell Fuller and others.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
try {
|
|
const { useGlobalLibvips, globalLibvipsVersion, log, spawnRebuild } = require('../lib/libvips');
|
|
|
|
const buildFromSource = (msg) => {
|
|
log(msg);
|
|
log('Attempting to build from source via node-gyp');
|
|
try {
|
|
const addonApi = require('node-addon-api');
|
|
log(`Found node-addon-api ${addonApi.version || ''}`);
|
|
} catch (_err) {
|
|
log('Please add node-addon-api to your dependencies');
|
|
return;
|
|
}
|
|
try {
|
|
const gyp = require('node-gyp');
|
|
log(`Found node-gyp ${gyp().version}`);
|
|
} catch (_err) {
|
|
log('Please add node-gyp to your dependencies');
|
|
return;
|
|
}
|
|
log('See https://sharp.pixelplumbing.com/install#building-from-source');
|
|
const status = spawnRebuild();
|
|
if (status !== 0) {
|
|
process.exit(status);
|
|
}
|
|
};
|
|
|
|
if (useGlobalLibvips(log)) {
|
|
buildFromSource(`Detected globally-installed libvips v${globalLibvipsVersion()}`);
|
|
} else if (process.env.npm_config_build_from_source) {
|
|
buildFromSource('Detected --build-from-source flag');
|
|
}
|
|
} catch (err) {
|
|
const summary = err.message.split(/\n/).slice(0, 1);
|
|
console.log(`sharp: skipping install check: ${summary}`);
|
|
}
|