netlify-cli 23.13.5 → 23.15.0

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 (42) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/database/utils.d.ts.map +1 -1
  3. package/dist/commands/deploy/index.d.ts.map +1 -1
  4. package/dist/commands/deploy/index.js +2 -1
  5. package/dist/commands/deploy/index.js.map +1 -1
  6. package/dist/commands/dev/dev.d.ts.map +1 -1
  7. package/dist/commands/dev/dev.js +7 -5
  8. package/dist/commands/dev/dev.js.map +1 -1
  9. package/dist/commands/dev-exec/dev-exec.d.ts.map +1 -1
  10. package/dist/commands/dev-exec/dev-exec.js +27 -3
  11. package/dist/commands/dev-exec/dev-exec.js.map +1 -1
  12. package/dist/commands/functions/functions-serve.d.ts.map +1 -1
  13. package/dist/commands/functions/functions-serve.js +5 -1
  14. package/dist/commands/functions/functions-serve.js.map +1 -1
  15. package/dist/commands/serve/serve.d.ts.map +1 -1
  16. package/dist/commands/serve/serve.js +19 -2
  17. package/dist/commands/serve/serve.js.map +1 -1
  18. package/dist/lib/edge-functions/proxy.js +2 -2
  19. package/dist/lib/edge-functions/proxy.js.map +1 -1
  20. package/dist/lib/edge-functions/registry.d.ts +31 -2
  21. package/dist/lib/edge-functions/registry.d.ts.map +1 -1
  22. package/dist/lib/edge-functions/registry.js +46 -4
  23. package/dist/lib/edge-functions/registry.js.map +1 -1
  24. package/dist/lib/images/proxy.d.ts +5 -25
  25. package/dist/lib/images/proxy.d.ts.map +1 -1
  26. package/dist/lib/images/proxy.js +17 -106
  27. package/dist/lib/images/proxy.js.map +1 -1
  28. package/dist/tsconfig.build.tsbuildinfo +1 -1
  29. package/dist/utils/dev.d.ts +18 -32
  30. package/dist/utils/dev.d.ts.map +1 -1
  31. package/dist/utils/dev.js +5 -12
  32. package/dist/utils/dev.js.map +1 -1
  33. package/dist/utils/init/utils.d.ts.map +1 -1
  34. package/dist/utils/init/utils.js +6 -0
  35. package/dist/utils/init/utils.js.map +1 -1
  36. package/dist/utils/proxy.d.ts.map +1 -1
  37. package/dist/utils/proxy.js +7 -2
  38. package/dist/utils/proxy.js.map +1 -1
  39. package/dist/utils/types.d.ts +8 -1
  40. package/dist/utils/types.d.ts.map +1 -1
  41. package/npm-shrinkwrap.json +1155 -515
  42. package/package.json +17 -17
@@ -1,30 +1,10 @@
1
- import type { IncomingMessage } from 'http';
2
- import { type NormalizedCachedConfigConfig } from '../../utils/command-helpers.js';
1
+ import type { IncomingMessage, ServerResponse } from 'http';
2
+ import { type ImageHandler } from '@netlify/images';
3
3
  import type { ServerSettings } from '../../utils/types.d.ts';
4
4
  export declare const IMAGE_URL_PATTERN = "/.netlify/images";
5
- interface QueryParams {
6
- w?: string;
7
- width?: string;
8
- h?: string;
9
- height?: string;
10
- q?: string;
11
- quality?: string;
12
- fm?: string;
13
- fit?: string;
14
- position?: string;
15
- }
16
- export declare const parseAllRemoteImages: (config: Pick<NormalizedCachedConfigConfig, "images">) => {
17
- errors: ErrorObject[];
18
- remotePatterns: RegExp[];
19
- };
20
- interface ErrorObject {
21
- message: string;
22
- }
23
5
  export declare const isImageRequest: (req: IncomingMessage) => boolean;
24
- export declare const transformImageParams: (query: QueryParams) => string;
25
- export declare const initializeProxy: ({ config, settings, }: {
26
- config: NormalizedCachedConfigConfig;
6
+ export declare const initializeProxy: ({ settings, imageHandler, }: {
27
7
  settings: ServerSettings;
28
- }) => import("express-serve-static-core").Express;
29
- export {};
8
+ imageHandler: ImageHandler;
9
+ }) => (req: IncomingMessage, res: ServerResponse) => Promise<void>;
30
10
  //# sourceMappingURL=proxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/lib/images/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAA;AAK3C,OAAO,EAAsB,KAAK,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAEtG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,eAAO,MAAM,iBAAiB,qBAAqB,CAAA;AAEnD,UAAU,WAAW;IACnB,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAYD,eAAO,MAAM,oBAAoB,GAAa,QAAQ,IAAI,CAAC,4BAA4B,EAAE,QAAQ,CAAC,KAAG;IACnG,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,cAAc,EAAE,MAAM,EAAE,CAAA;CAsBzB,CAAA;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB;AA0BD,eAAO,MAAM,cAAc,GAAa,KAAK,eAAe,KAAG,OAE9D,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAa,OAAO,WAAW,KAAG,MAyBlE,CAAA;AAED,eAAO,MAAM,eAAe,GAAa,uBAGtC;IACD,MAAM,EAAE,4BAA4B,CAAA;IACpC,QAAQ,EAAE,cAAc,CAAA;CACzB,gDA2DA,CAAA"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/lib/images/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAE3D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAGnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAG5D,eAAO,MAAM,iBAAiB,qBAAqB,CAAA;AAEnD,eAAO,MAAM,cAAc,GAAa,KAAK,eAAe,KAAG,OAE9D,CAAA;AAED,eAAO,MAAM,eAAe,GAAa,6BAGtC;IACD,QAAQ,EAAE,cAAc,CAAA;IACxB,YAAY,EAAE,YAAY,CAAA;CAC3B,MAGe,KAAK,eAAe,EAAE,KAAK,cAAc,kBAkBxD,CAAA"}
@@ -1,117 +1,28 @@
1
- import express from 'express';
2
- import { createIPX, ipxFSStorage, ipxHttpStorage, createIPXNodeServer } from 'ipx';
3
- import { log, NETLIFYDEVERR } from '../../utils/command-helpers.js';
4
1
  import { getProxyUrl } from '../../utils/proxy.js';
2
+ import { fromWebResponse, toWebRequest } from '@netlify/dev-utils';
5
3
  export const IMAGE_URL_PATTERN = '/.netlify/images';
6
- export const parseAllRemoteImages = function (config) {
7
- const remotePatterns = [];
8
- const errors = [];
9
- const remoteImages = config?.images?.remote_images;
10
- if (!remoteImages) {
11
- return { errors, remotePatterns };
12
- }
13
- for (const patternString of remoteImages) {
14
- try {
15
- const urlRegex = new RegExp(patternString);
16
- remotePatterns.push(urlRegex);
17
- }
18
- catch (error) {
19
- const message = error instanceof Error ? error.message : 'An unknown error occurred';
20
- errors.push({ message });
21
- }
22
- }
23
- return { errors, remotePatterns };
24
- };
25
- const getErrorMessage = function ({ message }) {
26
- return message;
27
- };
28
- const handleRemoteImagesErrors = function (errors) {
29
- if (errors.length === 0) {
30
- return;
31
- }
32
- const errorMessage = errors.map(getErrorMessage).join('\n\n');
33
- log(NETLIFYDEVERR, `Remote images syntax errors:\n${errorMessage}`);
34
- };
35
- const parseRemoteImages = function ({ config }) {
36
- if (!config) {
37
- return [];
38
- }
39
- const { errors, remotePatterns } = parseAllRemoteImages(config);
40
- handleRemoteImagesErrors(errors);
41
- return remotePatterns;
42
- };
43
4
  export const isImageRequest = function (req) {
44
5
  return req.url?.startsWith(IMAGE_URL_PATTERN) ?? false;
45
6
  };
46
- export const transformImageParams = function (query) {
47
- const params = {};
48
- const width = query.w || query.width || null;
49
- const height = query.h || query.height || null;
50
- if (width && height) {
51
- params.s = `${width}x${height}`;
52
- }
53
- else {
54
- params.w = width;
55
- params.h = height;
56
- }
57
- params.quality = query.q || query.quality || null;
58
- params.format = query.fm || null;
59
- const fit = query.fit || null;
60
- params.fit = fit === 'contain' ? 'inside' : fit;
61
- params.position = query.position || null;
62
- return Object.entries(params)
63
- .filter(([, value]) => value !== null)
64
- .map(([key, value]) => `${key}_${value}`)
65
- .join(',');
66
- };
67
- export const initializeProxy = function ({ config, settings, }) {
68
- const remoteImages = parseRemoteImages({ config });
7
+ export const initializeProxy = function ({ settings, imageHandler, }) {
69
8
  const devServerUrl = getProxyUrl(settings);
70
- const ipx = createIPX({
71
- storage: ipxFSStorage({ dir: ('publish' in config.build ? config.build.publish : undefined) ?? './public' }),
72
- httpStorage: ipxHttpStorage({
73
- allowAllDomains: true,
74
- }),
75
- });
76
- const handler = createIPXNodeServer(ipx);
77
- const app = express();
78
- let lastTimeRemoteImagesConfigurationDetailsMessageWasLogged = 0;
79
- app.use(IMAGE_URL_PATTERN, (req, res) => {
80
- const { url, ...query } = req.query;
81
- const sourceImagePath = url;
82
- const modifiers = transformImageParams(query) || `_`;
83
- if (!sourceImagePath.startsWith('http://') && !sourceImagePath.startsWith('https://')) {
84
- // Construct the full URL for relative paths to request from development server
85
- const sourceImagePathWithLeadingSlash = sourceImagePath.startsWith('/') ? sourceImagePath : `/${sourceImagePath}`;
86
- const fullImageUrl = `${devServerUrl}${encodeURIComponent(sourceImagePathWithLeadingSlash)}`;
87
- req.url = `/${modifiers}/${fullImageUrl}`;
88
- }
89
- else {
90
- // If the image is remote, we first check if it's allowed by any of patterns
91
- if (!remoteImages.some((remoteImage) => remoteImage.test(sourceImagePath))) {
92
- const remoteImageNotAllowedLogMessage = `Remote image "${sourceImagePath}" source for Image CDN is not allowed.`;
93
- // Contextual information about the remote image configuration is throttled
94
- // to avoid spamming the console as it's quite verbose
95
- // Each not allowed remote image will still be logged, just without configuration details
96
- if (Date.now() - lastTimeRemoteImagesConfigurationDetailsMessageWasLogged > 1000 * 30) {
97
- log(`${remoteImageNotAllowedLogMessage}\n\n${remoteImages.length === 0
98
- ? 'Currently no remote images are allowed.'
99
- : `Currently allowed remote images configuration details:\n${remoteImages
100
- .map((pattern) => ` - ${pattern}`)
101
- .join('\n')}`}\n\nRefer to https://ntl.fyi/remote-images for information about how to configure allowed remote images.`);
102
- lastTimeRemoteImagesConfigurationDetailsMessageWasLogged = Date.now();
103
- }
104
- else {
105
- log(remoteImageNotAllowedLogMessage);
106
- }
107
- res.status(400).end();
9
+ return async (req, res) => {
10
+ try {
11
+ const webRequest = toWebRequest(req);
12
+ const match = imageHandler.match(webRequest);
13
+ if (!match) {
14
+ res.statusCode = 404;
15
+ res.end('Image not found');
108
16
  return;
109
17
  }
110
- // Construct the full URL for remote paths
111
- req.url = `/${modifiers}/${encodeURIComponent(sourceImagePath)}`;
18
+ const response = await match.handle(devServerUrl);
19
+ await fromWebResponse(response, res);
20
+ }
21
+ catch (error) {
22
+ console.error('Image proxy error:', error);
23
+ res.statusCode = 500;
24
+ res.end('Internal server error');
112
25
  }
113
- handler(req, res);
114
- });
115
- return app;
26
+ };
116
27
  };
117
28
  //# sourceMappingURL=proxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/lib/images/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/lib/images/proxy.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAElE,MAAM,CAAC,MAAM,iBAAiB,GAAG,kBAAkB,CAAA;AAEnD,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,GAAoB;IAC1D,OAAO,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAA;AACxD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,EACvC,QAAQ,EACR,YAAY,GAIb;IACC,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;IAE1C,OAAO,KAAK,EAAE,GAAoB,EAAE,GAAmB,EAAE,EAAE;QACzD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;YACpC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,GAAG,CAAC,UAAU,GAAG,GAAG,CAAA;gBACpB,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;gBAC1B,OAAM;YACR,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;YACjD,MAAM,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAA;YAC1C,GAAG,CAAC,UAAU,GAAG,GAAG,CAAA;YACpB,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;QAClC,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAA"}