@lens-image/core 0.1.0 → 0.1.2
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.
- package/README.md +2 -2
- package/dist/cjs/engines/sharp.d.ts.map +1 -1
- package/dist/cjs/engines/sharp.js +60 -10
- package/dist/cjs/engines/sharp.js.map +1 -1
- package/dist/esm/engines/sharp.d.ts.map +1 -1
- package/dist/esm/engines/sharp.js +60 -10
- package/dist/esm/engines/sharp.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<a href="https://lens-image.vercel.app">
|
|
3
|
-
<img src="https://raw.githubusercontent.com/Sthabiso10/lens-image/main/docs/media/logo.png" alt="Lens" width="300" />
|
|
2
|
+
<a href="https://lens-image-docs.vercel.app">
|
|
3
|
+
<img src="https://raw.githubusercontent.com/Sthabiso10/lens-image/main/docs/media/logo.png?v=81977681" alt="Lens" width="300" />
|
|
4
4
|
</a>
|
|
5
5
|
</p>
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharp.d.ts","sourceRoot":"","sources":["../../../src/engines/sharp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"sharp.d.ts","sourceRoot":"","sources":["../../../src/engines/sharp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAgB,WAAW,EAA2C,MAAM,eAAe,CAAC;AA4HxG,6CAA6C;AAC7C,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAE7E;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B,+EAA+E;IAC/E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,WAAW,CAuG/E;AAkDD,mDAAmD;AACnD,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
|
|
@@ -50,6 +50,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
50
50
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
51
|
exports.createSharpEngine = createSharpEngine;
|
|
52
52
|
exports.resetSharpCache = resetSharpCache;
|
|
53
|
+
const node_path_1 = require("node:path");
|
|
53
54
|
const errors_js_1 = require("./../errors.js");
|
|
54
55
|
const format_js_1 = require("./../format.js");
|
|
55
56
|
/**
|
|
@@ -68,31 +69,80 @@ const CAPABILITY_KEYS = {
|
|
|
68
69
|
avif: ['avif', 'heif'],
|
|
69
70
|
};
|
|
70
71
|
let cached;
|
|
72
|
+
/**
|
|
73
|
+
* True when the failure really is "there is no sharp here".
|
|
74
|
+
*
|
|
75
|
+
* `ERR_MODULE_NOT_FOUND` is also thrown when sharp itself is present but one of
|
|
76
|
+
* *its* dependencies fails to resolve, and the two cases need opposite advice.
|
|
77
|
+
* Telling someone to install a package they have already installed sends them
|
|
78
|
+
* looking in exactly the wrong place, so the specifier in the message is what
|
|
79
|
+
* decides which message they get.
|
|
80
|
+
*/
|
|
81
|
+
function isMissingSharp(error) {
|
|
82
|
+
const code = error?.code;
|
|
83
|
+
if (code !== 'ERR_MODULE_NOT_FOUND' && code !== 'MODULE_NOT_FOUND')
|
|
84
|
+
return false;
|
|
85
|
+
const message = error?.message ?? '';
|
|
86
|
+
return /(^|[^\w/-])'?sharp'?([^\w/-]|$)/.test(message) && !/node_modules[\\/](?!sharp)/.test(message);
|
|
87
|
+
}
|
|
71
88
|
/**
|
|
72
89
|
* Resolves sharp, memoising both success and failure.
|
|
73
90
|
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
* `
|
|
91
|
+
* Two loaders, not one. The dynamic `import()` is tried first because it works
|
|
92
|
+
* in every runtime including ESM-only ones, but it can fail on a perfectly good
|
|
93
|
+
* installation: sharp's own ESM entry point resolves `detect-libc` in a way
|
|
94
|
+
* that some Node versions reject, and the resulting `ERR_MODULE_NOT_FOUND`
|
|
95
|
+
* names an inner file rather than sharp. `require` resolves the CJS entry and
|
|
96
|
+
* is unaffected, so it is worth trying before giving up.
|
|
97
|
+
*
|
|
98
|
+
* That is not hypothetical. sharp 0.35.4 with detect-libc 2.1.2 on Node 20
|
|
99
|
+
* fails the import and succeeds the require, which made Lens fall back to the
|
|
100
|
+
* passthrough engine and tell the user to install a package they already had.
|
|
77
101
|
*/
|
|
78
102
|
async function loadSharp() {
|
|
79
103
|
cached ??= (async () => {
|
|
104
|
+
// The template literal defeats bundler static analysis, so tools like
|
|
105
|
+
// webpack and esbuild do not try to resolve sharp at build time in
|
|
106
|
+
// projects that never use it.
|
|
107
|
+
const specifier = 'sharp';
|
|
108
|
+
let importError;
|
|
80
109
|
try {
|
|
81
|
-
// The template literal defeats bundler static analysis, so tools like
|
|
82
|
-
// webpack and esbuild do not try to resolve sharp at build time in
|
|
83
|
-
// projects that never use it.
|
|
84
|
-
const specifier = 'sharp';
|
|
85
110
|
const mod = (await Promise.resolve(`${`${specifier}`}`).then(s => __importStar(require(s))));
|
|
86
111
|
return ('default' in mod ? mod.default : mod);
|
|
87
112
|
}
|
|
88
113
|
catch (error) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
114
|
+
importError = error;
|
|
115
|
+
}
|
|
116
|
+
try {
|
|
117
|
+
const { createRequire } = await Promise.resolve().then(() => __importStar(require('node:module')));
|
|
118
|
+
// Seeded from the working directory so resolution walks the consumer's
|
|
119
|
+
// own node_modules, which is where their sharp lives.
|
|
120
|
+
const require = createRequire((0, node_path_1.join)(process.cwd(), 'noop.js'));
|
|
121
|
+
const mod = require(specifier);
|
|
122
|
+
return ('default' in mod ? mod.default : mod);
|
|
123
|
+
}
|
|
124
|
+
catch (requireError) {
|
|
125
|
+
// Both failed. Which message to give depends on whether sharp is absent
|
|
126
|
+
// or merely unloadable.
|
|
127
|
+
if (isMissingSharp(importError) && isMissingSharp(requireError)) {
|
|
128
|
+
throw new errors_js_1.LensError('ENGINE_UNAVAILABLE', 'Image processing needs sharp, which is not installed. Run `npm install sharp`. ' +
|
|
129
|
+
'It is an optional peer dependency of @lens-image/core so that installing the core ' +
|
|
130
|
+
'library never pulls in a native binary you might not need.', { cause: importError, details: { engine: 'sharp' } });
|
|
131
|
+
}
|
|
132
|
+
throw new errors_js_1.LensError('ENGINE_UNAVAILABLE', 'sharp is installed but could not be loaded, so it is not a missing dependency. ' +
|
|
133
|
+
`Importing it failed with: ${describeError(importError)}. ` +
|
|
134
|
+
`Requiring it failed with: ${describeError(requireError)}. ` +
|
|
135
|
+
'A mismatched or partially installed native binary is the usual cause; ' +
|
|
136
|
+
'reinstalling sharp for this platform normally clears it.', { cause: importError, details: { engine: 'sharp' } });
|
|
92
137
|
}
|
|
93
138
|
})();
|
|
94
139
|
return cached;
|
|
95
140
|
}
|
|
141
|
+
function describeError(error) {
|
|
142
|
+
if (!(error instanceof Error))
|
|
143
|
+
return String(error);
|
|
144
|
+
return `${error.code ?? error.name}: ${error.message.split('\n')[0]}`;
|
|
145
|
+
}
|
|
96
146
|
/**
|
|
97
147
|
* Creates an {@link ImageEngine} backed by sharp.
|
|
98
148
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharp.js","sourceRoot":"","sources":["../../../src/engines/sharp.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"sharp.js","sourceRoot":"","sources":["../../../src/engines/sharp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharp.d.ts","sourceRoot":"","sources":["../../../src/engines/sharp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"sharp.d.ts","sourceRoot":"","sources":["../../../src/engines/sharp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAgB,WAAW,EAA2C,MAAM,eAAe,CAAC;AA4HxG,6CAA6C;AAC7C,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAE7E;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B,+EAA+E;IAC/E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,WAAW,CAuG/E;AAkDD,mDAAmD;AACnD,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* the native binary, its platform matrix and its release cadence are all
|
|
14
14
|
* visible in *your* lockfile rather than smuggled in under ours.
|
|
15
15
|
*/
|
|
16
|
+
import { join } from 'node:path';
|
|
16
17
|
import { LensError, wrapError } from './../errors.js';
|
|
17
18
|
import { defaultEffort } from './../format.js';
|
|
18
19
|
/**
|
|
@@ -31,31 +32,80 @@ const CAPABILITY_KEYS = {
|
|
|
31
32
|
avif: ['avif', 'heif'],
|
|
32
33
|
};
|
|
33
34
|
let cached;
|
|
35
|
+
/**
|
|
36
|
+
* True when the failure really is "there is no sharp here".
|
|
37
|
+
*
|
|
38
|
+
* `ERR_MODULE_NOT_FOUND` is also thrown when sharp itself is present but one of
|
|
39
|
+
* *its* dependencies fails to resolve, and the two cases need opposite advice.
|
|
40
|
+
* Telling someone to install a package they have already installed sends them
|
|
41
|
+
* looking in exactly the wrong place, so the specifier in the message is what
|
|
42
|
+
* decides which message they get.
|
|
43
|
+
*/
|
|
44
|
+
function isMissingSharp(error) {
|
|
45
|
+
const code = error?.code;
|
|
46
|
+
if (code !== 'ERR_MODULE_NOT_FOUND' && code !== 'MODULE_NOT_FOUND')
|
|
47
|
+
return false;
|
|
48
|
+
const message = error?.message ?? '';
|
|
49
|
+
return /(^|[^\w/-])'?sharp'?([^\w/-]|$)/.test(message) && !/node_modules[\\/](?!sharp)/.test(message);
|
|
50
|
+
}
|
|
34
51
|
/**
|
|
35
52
|
* Resolves sharp, memoising both success and failure.
|
|
36
53
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* `
|
|
54
|
+
* Two loaders, not one. The dynamic `import()` is tried first because it works
|
|
55
|
+
* in every runtime including ESM-only ones, but it can fail on a perfectly good
|
|
56
|
+
* installation: sharp's own ESM entry point resolves `detect-libc` in a way
|
|
57
|
+
* that some Node versions reject, and the resulting `ERR_MODULE_NOT_FOUND`
|
|
58
|
+
* names an inner file rather than sharp. `require` resolves the CJS entry and
|
|
59
|
+
* is unaffected, so it is worth trying before giving up.
|
|
60
|
+
*
|
|
61
|
+
* That is not hypothetical. sharp 0.35.4 with detect-libc 2.1.2 on Node 20
|
|
62
|
+
* fails the import and succeeds the require, which made Lens fall back to the
|
|
63
|
+
* passthrough engine and tell the user to install a package they already had.
|
|
40
64
|
*/
|
|
41
65
|
async function loadSharp() {
|
|
42
66
|
cached ??= (async () => {
|
|
67
|
+
// The template literal defeats bundler static analysis, so tools like
|
|
68
|
+
// webpack and esbuild do not try to resolve sharp at build time in
|
|
69
|
+
// projects that never use it.
|
|
70
|
+
const specifier = 'sharp';
|
|
71
|
+
let importError;
|
|
43
72
|
try {
|
|
44
|
-
// The template literal defeats bundler static analysis, so tools like
|
|
45
|
-
// webpack and esbuild do not try to resolve sharp at build time in
|
|
46
|
-
// projects that never use it.
|
|
47
|
-
const specifier = 'sharp';
|
|
48
73
|
const mod = (await import(/* @vite-ignore */ `${specifier}`));
|
|
49
74
|
return ('default' in mod ? mod.default : mod);
|
|
50
75
|
}
|
|
51
76
|
catch (error) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
77
|
+
importError = error;
|
|
78
|
+
}
|
|
79
|
+
try {
|
|
80
|
+
const { createRequire } = await import('node:module');
|
|
81
|
+
// Seeded from the working directory so resolution walks the consumer's
|
|
82
|
+
// own node_modules, which is where their sharp lives.
|
|
83
|
+
const require = createRequire(join(process.cwd(), 'noop.js'));
|
|
84
|
+
const mod = require(specifier);
|
|
85
|
+
return ('default' in mod ? mod.default : mod);
|
|
86
|
+
}
|
|
87
|
+
catch (requireError) {
|
|
88
|
+
// Both failed. Which message to give depends on whether sharp is absent
|
|
89
|
+
// or merely unloadable.
|
|
90
|
+
if (isMissingSharp(importError) && isMissingSharp(requireError)) {
|
|
91
|
+
throw new LensError('ENGINE_UNAVAILABLE', 'Image processing needs sharp, which is not installed. Run `npm install sharp`. ' +
|
|
92
|
+
'It is an optional peer dependency of @lens-image/core so that installing the core ' +
|
|
93
|
+
'library never pulls in a native binary you might not need.', { cause: importError, details: { engine: 'sharp' } });
|
|
94
|
+
}
|
|
95
|
+
throw new LensError('ENGINE_UNAVAILABLE', 'sharp is installed but could not be loaded, so it is not a missing dependency. ' +
|
|
96
|
+
`Importing it failed with: ${describeError(importError)}. ` +
|
|
97
|
+
`Requiring it failed with: ${describeError(requireError)}. ` +
|
|
98
|
+
'A mismatched or partially installed native binary is the usual cause; ' +
|
|
99
|
+
'reinstalling sharp for this platform normally clears it.', { cause: importError, details: { engine: 'sharp' } });
|
|
55
100
|
}
|
|
56
101
|
})();
|
|
57
102
|
return cached;
|
|
58
103
|
}
|
|
104
|
+
function describeError(error) {
|
|
105
|
+
if (!(error instanceof Error))
|
|
106
|
+
return String(error);
|
|
107
|
+
return `${error.code ?? error.name}: ${error.message.split('\n')[0]}`;
|
|
108
|
+
}
|
|
59
109
|
/**
|
|
60
110
|
* Creates an {@link ImageEngine} backed by sharp.
|
|
61
111
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharp.js","sourceRoot":"","sources":["../../../src/engines/sharp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAoB/C;;;;;;;;;;;GAWG;AACH,MAAM,eAAe,GAAoD;IACvE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,IAAI,MAAwC,CAAC;AAE7C
|
|
1
|
+
{"version":3,"file":"sharp.js","sourceRoot":"","sources":["../../../src/engines/sharp.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lens-image/core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Composable image optimization for Node.js. Zero runtime dependencies, pluggable storage adapters and codecs.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Lens contributors",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"sharp",
|
|
16
16
|
"zero-dependency"
|
|
17
17
|
],
|
|
18
|
-
"homepage": "https://github.com/Sthabiso10/lens-image
|
|
18
|
+
"homepage": "https://github.com/Sthabiso10/lens-image#readme",
|
|
19
19
|
"repository": {
|
|
20
20
|
"type": "git",
|
|
21
21
|
"url": "git+https://github.com/Sthabiso10/lens-image.git",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
},
|
|
27
27
|
"type": "module",
|
|
28
28
|
"engines": {
|
|
29
|
-
"node": ">=18.
|
|
29
|
+
"node": ">=18.19.0"
|
|
30
30
|
},
|
|
31
31
|
"main": "./dist/cjs/index.js",
|
|
32
32
|
"module": "./dist/esm/index.js",
|