From 9812a4942987fdc239b87fcaa1ac40cb7ac602fb Mon Sep 17 00:00:00 2001 From: Matthias Dittgen Date: Sat, 31 Jul 2021 14:18:45 +0200 Subject: [PATCH 1/7] Allow node adapter to be configured to have node server listen to socket path instead of host and port --- packages/adapter-node/index.js | 7 ++- packages/adapter-node/package.json | 1 + packages/adapter-node/src/index.js | 16 +++-- packages/adapter-node/tests/smoke_path.js | 77 +++++++++++++++++++++++ 4 files changed, 95 insertions(+), 6 deletions(-) create mode 100644 packages/adapter-node/tests/smoke_path.js diff --git a/packages/adapter-node/index.js b/packages/adapter-node/index.js index cfc3a9b702fa..8fcd96c274f5 100644 --- a/packages/adapter-node/index.js +++ b/packages/adapter-node/index.js @@ -25,6 +25,7 @@ const pipe = promisify(pipeline); * out?: string; * precompress?: boolean; * env?: { + * path?: string; * host?: string; * port?: string; * }; @@ -34,7 +35,7 @@ const pipe = promisify(pipeline); export default function ({ out = 'build', precompress, - env: { host: host_env = 'HOST', port: port_env = 'PORT' } = {}, + env: { path: path_env = 'SOCKET_PATH', host: host_env = 'HOST', port: port_env = 'PORT' } = {}, esbuild: esbuildConfig } = {}) { /** @type {import('@sveltejs/kit').Adapter} */ @@ -57,7 +58,9 @@ export default function ({ utils.copy(files, '.svelte-kit/node'); writeFileSync( '.svelte-kit/node/env.js', - `export const host = process.env[${JSON.stringify( + `export const path = process.env[${JSON.stringify( + path_env + )}] || false;\nexport const host = process.env[${JSON.stringify( host_env )}] || '0.0.0.0';\nexport const port = process.env[${JSON.stringify(port_env)}] || 3000;` ); diff --git a/packages/adapter-node/package.json b/packages/adapter-node/package.json index c8fbd0892109..3ed1153775ed 100644 --- a/packages/adapter-node/package.json +++ b/packages/adapter-node/package.json @@ -30,6 +30,7 @@ "@sveltejs/kit": "workspace:*", "c8": "^7.7.2", "compression": "^1.7.4", + "http-proxy": "^1.18.1", "node-fetch": "^3.0.0-beta.9", "polka": "^1.0.0-next.15", "rollup": "^2.55.0", diff --git a/packages/adapter-node/src/index.js b/packages/adapter-node/src/index.js index 7a3973be9776..1c689f3499f8 100644 --- a/packages/adapter-node/src/index.js +++ b/packages/adapter-node/src/index.js @@ -1,12 +1,20 @@ // TODO hardcoding the relative location makes this brittle import { init, render } from '../output/server/app.js'; // eslint-disable-line import/no-unresolved -import { host, port } from './env.js'; // eslint-disable-line import/no-unresolved +import { path, host, port } from './env.js'; // eslint-disable-line import/no-unresolved import { createServer } from './server'; init(); -const instance = createServer({ render }).listen(port, host, () => { - console.log(`Listening on ${host}:${port}`); -}); +const instance = createServer({ render }); + +if (path) { + instance.listen(path, () => { + console.log(`Listening on ${path}`); + }); +} else { + instance.listen(port, host, () => { + console.log(`Listening on ${host}:${port}`); + }); +} export { instance }; diff --git a/packages/adapter-node/tests/smoke_path.js b/packages/adapter-node/tests/smoke_path.js new file mode 100644 index 000000000000..f6f475dba8cd --- /dev/null +++ b/packages/adapter-node/tests/smoke_path.js @@ -0,0 +1,77 @@ +import { test } from 'uvu'; +import { createServer } from '../src/server.js'; +import * as assert from 'uvu/assert'; +import fetch from 'node-fetch'; +import httpProxy from 'http-proxy'; +import fs from 'fs'; + +const PROXY_PORT = 9090; +const { SOCKET_PATH = '/tmp/socket' } = process.env; +const DEFAULT_SERVER_OPTS = { render: () => {} }; + +function cleanupSocketFile() { + if (fs.existsSync(SOCKET_PATH)) { + fs.unlinkSync(SOCKET_PATH); + } +} + +function createProxy() { + const proxy = httpProxy.createProxyServer({ + target: { + socketPath: SOCKET_PATH + }, + xfwd: true, + secure: false + }); + proxy.listen(PROXY_PORT); + return proxy; +} + +function startServer(opts = DEFAULT_SERVER_OPTS) { + const server = createServer(opts); + return new Promise((fulfil, reject) => { + server.listen(SOCKET_PATH, (err) => { + if (err) { + reject(err); + } + fulfil(server); + }); + }); +} + +test('starts a server listening on a path (domain socket file)', async () => { + const server = await startServer(); + assert.ok('server started'); + server.server.close(); + cleanupSocketFile(); +}); + +test('serves a 404 via path', async () => { + const server = await startServer(); + const proxy = createProxy(); + const res = await fetch(`http://localhost:${PROXY_PORT}/nothing`); + assert.equal(res.status, 404); + server.server.close(); + proxy.close(); + cleanupSocketFile(); +}); + +test('responses with the rendered status code via path', async () => { + const server = await startServer({ + render: () => { + return { + headers: 'wow', + status: 203, + body: 'ok' + }; + } + }); + const proxy = createProxy(); + const res = await fetch(`http://localhost:${PROXY_PORT}/wow`); + assert.equal(res.status, 203); + server.server.close(); + proxy.close(); + cleanupSocketFile(); +}); + +test.run(); From 57a3593a399b0296f205d9740a9b596f6d151d6d Mon Sep 17 00:00:00 2001 From: Matthias Dittgen Date: Sat, 31 Jul 2021 17:36:01 +0200 Subject: [PATCH 2/7] Add changeset for pull request --- .changeset/eighty-waves-obey.md | 5 +++++ pnpm-lock.yaml | 31 +++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 .changeset/eighty-waves-obey.md diff --git a/.changeset/eighty-waves-obey.md b/.changeset/eighty-waves-obey.md new file mode 100644 index 000000000000..07895e3b7508 --- /dev/null +++ b/.changeset/eighty-waves-obey.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/adapter-node': patch +--- + +Allows to run node application listening to a socket domain file instead of host/port when configured diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 81ac37d79b99..bc0fc2af9fcc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -94,6 +94,7 @@ importers: c8: ^7.7.2 compression: ^1.7.4 esbuild: ^0.12.5 + http-proxy: ^1.18.1 node-fetch: ^3.0.0-beta.9 polka: ^1.0.0-next.15 rollup: ^2.55.0 @@ -109,6 +110,7 @@ importers: '@sveltejs/kit': link:../kit c8: 7.7.2 compression: 1.7.4 + http-proxy: 1.18.1 node-fetch: 3.0.0-beta.9 polka: 1.0.0-next.15 rollup: 2.55.0 @@ -1838,6 +1840,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /eventemitter3/4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: true + /execa/0.7.0: resolution: {integrity: sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=} engines: {node: '>=4'} @@ -1980,6 +1986,16 @@ packages: resolution: {integrity: sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==} dev: true + /follow-redirects/1.14.1: + resolution: {integrity: sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: true + /foreground-child/2.0.0: resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} engines: {node: '>=8.0.0'} @@ -2156,6 +2172,17 @@ packages: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true + /http-proxy/1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.14.1 + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + dev: true + /https-proxy-agent/5.0.0: resolution: {integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==} engines: {node: '>= 6'} @@ -3222,6 +3249,10 @@ packages: resolution: {integrity: sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=} dev: false + /requires-port/1.0.0: + resolution: {integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=} + dev: true + /resolve-from/4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} From 1bec49b567a021ca511eab293d32f20eca4f01a3 Mon Sep 17 00:00:00 2001 From: Matthias Dittgen Date: Sat, 31 Jul 2021 18:01:32 +0200 Subject: [PATCH 3/7] Fix os related file path --- packages/adapter-node/tests/smoke_path.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/adapter-node/tests/smoke_path.js b/packages/adapter-node/tests/smoke_path.js index f6f475dba8cd..41cc4847e4ed 100644 --- a/packages/adapter-node/tests/smoke_path.js +++ b/packages/adapter-node/tests/smoke_path.js @@ -4,10 +4,14 @@ import * as assert from 'uvu/assert'; import fetch from 'node-fetch'; import httpProxy from 'http-proxy'; import fs from 'fs'; +import path from 'path'; +import os from 'os'; + +const socketPath = path.join(os.tmpdir(), 'mysocket'); const PROXY_PORT = 9090; -const { SOCKET_PATH = '/tmp/socket' } = process.env; -const DEFAULT_SERVER_OPTS = { render: () => {} }; +const { SOCKET_PATH = socketPath } = process.env; +const DEFAULT_SERVER_OPTS = { render: () => { } }; function cleanupSocketFile() { if (fs.existsSync(SOCKET_PATH)) { From e3b4d87b2dc84026afbd97844154f1f74f881bec Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Mon, 9 Aug 2021 09:24:15 -0700 Subject: [PATCH 4/7] cleanup --- packages/adapter-node/src/index.js | 13 ++++--------- packages/adapter-node/tests/smoke_path.js | 2 +- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/packages/adapter-node/src/index.js b/packages/adapter-node/src/index.js index 1c689f3499f8..b7d7c27dc5e4 100644 --- a/packages/adapter-node/src/index.js +++ b/packages/adapter-node/src/index.js @@ -7,14 +7,9 @@ init(); const instance = createServer({ render }); -if (path) { - instance.listen(path, () => { - console.log(`Listening on ${path}`); - }); -} else { - instance.listen(port, host, () => { - console.log(`Listening on ${host}:${port}`); - }); -} +const listenOpts = { path, host, port }; +instance.listen(listenOpts, () => { + console.log(`Listening on ${path ? path : host + ':' + port}`); +}); export { instance }; diff --git a/packages/adapter-node/tests/smoke_path.js b/packages/adapter-node/tests/smoke_path.js index 41cc4847e4ed..1926aec31fcf 100644 --- a/packages/adapter-node/tests/smoke_path.js +++ b/packages/adapter-node/tests/smoke_path.js @@ -11,7 +11,7 @@ const socketPath = path.join(os.tmpdir(), 'mysocket'); const PROXY_PORT = 9090; const { SOCKET_PATH = socketPath } = process.env; -const DEFAULT_SERVER_OPTS = { render: () => { } }; +const DEFAULT_SERVER_OPTS = { render: () => {} }; function cleanupSocketFile() { if (fs.existsSync(SOCKET_PATH)) { From cc926b68adcdbe6adca9249f1b7c5ecba00a3de1 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Thu, 12 Aug 2021 15:10:51 -0700 Subject: [PATCH 5/7] remove test that won't run on windows --- packages/adapter-node/package.json | 1 - packages/adapter-node/tests/smoke_path.js | 81 --------------------- pnpm-lock.yaml | 89 +++++++++++------------ 3 files changed, 41 insertions(+), 130 deletions(-) delete mode 100644 packages/adapter-node/tests/smoke_path.js diff --git a/packages/adapter-node/package.json b/packages/adapter-node/package.json index 3ed1153775ed..c8fbd0892109 100644 --- a/packages/adapter-node/package.json +++ b/packages/adapter-node/package.json @@ -30,7 +30,6 @@ "@sveltejs/kit": "workspace:*", "c8": "^7.7.2", "compression": "^1.7.4", - "http-proxy": "^1.18.1", "node-fetch": "^3.0.0-beta.9", "polka": "^1.0.0-next.15", "rollup": "^2.55.0", diff --git a/packages/adapter-node/tests/smoke_path.js b/packages/adapter-node/tests/smoke_path.js deleted file mode 100644 index 1926aec31fcf..000000000000 --- a/packages/adapter-node/tests/smoke_path.js +++ /dev/null @@ -1,81 +0,0 @@ -import { test } from 'uvu'; -import { createServer } from '../src/server.js'; -import * as assert from 'uvu/assert'; -import fetch from 'node-fetch'; -import httpProxy from 'http-proxy'; -import fs from 'fs'; -import path from 'path'; -import os from 'os'; - -const socketPath = path.join(os.tmpdir(), 'mysocket'); - -const PROXY_PORT = 9090; -const { SOCKET_PATH = socketPath } = process.env; -const DEFAULT_SERVER_OPTS = { render: () => {} }; - -function cleanupSocketFile() { - if (fs.existsSync(SOCKET_PATH)) { - fs.unlinkSync(SOCKET_PATH); - } -} - -function createProxy() { - const proxy = httpProxy.createProxyServer({ - target: { - socketPath: SOCKET_PATH - }, - xfwd: true, - secure: false - }); - proxy.listen(PROXY_PORT); - return proxy; -} - -function startServer(opts = DEFAULT_SERVER_OPTS) { - const server = createServer(opts); - return new Promise((fulfil, reject) => { - server.listen(SOCKET_PATH, (err) => { - if (err) { - reject(err); - } - fulfil(server); - }); - }); -} - -test('starts a server listening on a path (domain socket file)', async () => { - const server = await startServer(); - assert.ok('server started'); - server.server.close(); - cleanupSocketFile(); -}); - -test('serves a 404 via path', async () => { - const server = await startServer(); - const proxy = createProxy(); - const res = await fetch(`http://localhost:${PROXY_PORT}/nothing`); - assert.equal(res.status, 404); - server.server.close(); - proxy.close(); - cleanupSocketFile(); -}); - -test('responses with the rendered status code via path', async () => { - const server = await startServer({ - render: () => { - return { - headers: 'wow', - status: 203, - body: 'ok' - }; - } - }); - const proxy = createProxy(); - const res = await fetch(`http://localhost:${PROXY_PORT}/wow`); - assert.equal(res.status, 203); - server.server.close(); - proxy.close(); - cleanupSocketFile(); -}); - -test.run(); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bc0fc2af9fcc..2bf8dbd34f4a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -94,7 +94,6 @@ importers: c8: ^7.7.2 compression: ^1.7.4 esbuild: ^0.12.5 - http-proxy: ^1.18.1 node-fetch: ^3.0.0-beta.9 polka: ^1.0.0-next.15 rollup: ^2.55.0 @@ -110,7 +109,6 @@ importers: '@sveltejs/kit': link:../kit c8: 7.7.2 compression: 1.7.4 - http-proxy: 1.18.1 node-fetch: 3.0.0-beta.9 polka: 1.0.0-next.15 rollup: 2.55.0 @@ -190,10 +188,10 @@ importers: '@lukeed/uuid': 2.0.0 cookie: 0.4.1 devDependencies: - '@sveltejs/adapter-cloudflare-workers': link:../../../adapter-cloudflare-workers - '@sveltejs/adapter-netlify': link:../../../adapter-netlify - '@sveltejs/adapter-vercel': link:../../../adapter-vercel - '@sveltejs/kit': link:../../../kit + '@sveltejs/adapter-cloudflare-workers': 1.0.0-next.18 + '@sveltejs/adapter-netlify': 1.0.0-next.27 + '@sveltejs/adapter-vercel': 1.0.0-next.27 + '@sveltejs/kit': 1.0.0-next.146_svelte@3.40.0 svelte: 3.40.0 svelte-preprocess: 4.7.3_svelte@3.40.0+typescript@4.3.5 typescript: 4.3.5 @@ -541,7 +539,6 @@ packages: /@iarna/toml/2.2.5: resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} - dev: false /@istanbuljs/schema/0.1.3: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} @@ -672,7 +669,43 @@ packages: dependencies: estree-walker: 2.0.2 picomatch: 2.2.3 - dev: false + + /@sveltejs/adapter-cloudflare-workers/1.0.0-next.18: + resolution: {integrity: sha512-tJ6ckzTt2QPq5aX/QK+A8Rw0t+gKLZgp1vAeDhZZsliYKHXFv9OJjOGWmdGQJQytClDR6/OIJChFrLRx6vl1Fw==} + dependencies: + '@iarna/toml': 2.2.5 + esbuild: 0.12.15 + dev: true + + /@sveltejs/adapter-netlify/1.0.0-next.27: + resolution: {integrity: sha512-t3kU2tJdCWmHwTBf+BRzzvYaM8ApxL+DEKtU1dUMI3bA8AgkpwkSHYiqZ75U2C+whi4mde+z15PeUFaUWzlKXA==} + dependencies: + '@iarna/toml': 2.2.5 + esbuild: 0.12.15 + dev: true + + /@sveltejs/adapter-vercel/1.0.0-next.27: + resolution: {integrity: sha512-KiGDJXgjkj3MJvmQLXpE7pfQnN7dVx8pPgqcrFp8yziFrLMrvluklKmNqNei6JivQn5JVYxLojRgHpik1fdIOw==} + dependencies: + esbuild: 0.12.15 + dev: true + + /@sveltejs/kit/1.0.0-next.146_svelte@3.40.0: + resolution: {integrity: sha512-MSatcaCRfjl88Prd5mW4pNOJ3Gsr525+Vjr24MoKtyTt6PZQmTfQsDVwyP93exn/6w2xl9uMCW6cFpDVBu7jSg==} + engines: {node: ^12.20 || >=14.13} + hasBin: true + peerDependencies: + svelte: ^3.34.0 + dependencies: + '@sveltejs/vite-plugin-svelte': 1.0.0-next.14_svelte@3.40.0+vite@2.4.3 + cheap-watch: 1.0.3 + sade: 1.7.4 + svelte: 3.40.0 + vite: 2.4.3 + transitivePeerDependencies: + - diff-match-patch + - supports-color + dev: true /@sveltejs/vite-plugin-svelte/1.0.0-next.16_svelte@3.40.0+vite@2.4.3: resolution: {integrity: sha512-Zzw5vWJ2PjeAFG04/HQrTHvTd4B+v/pz5hgod7fPMOMXu289ZuHs2DPj68xBmOGlmTq0JyrMfBl+NDGCgaSxzA==} @@ -695,7 +728,6 @@ packages: vite: 2.4.3 transitivePeerDependencies: - supports-color - dev: false /@types/amphtml-validator/1.0.1: resolution: {integrity: sha512-DWE7fy6KtC+Uw0KV/HAmjuH2GB/o8yskXlvmVWR7mOVsLDybp+XrwkzEeRFU9wGjWKeRMBNGsx+5DRq7sUsAwA==} @@ -1228,7 +1260,6 @@ packages: /cheap-watch/1.0.3: resolution: {integrity: sha512-xC5CruMhLzjPwJ5ecUxGu1uGmwJQykUhqd2QrCrYbwvsFYdRyviu6jG9+pccwDXJR/OpmOTOJ9yLFunVgQu9wg==} engines: {node: '>=8'} - dev: false /chokidar/3.5.1: resolution: {integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==} @@ -1298,7 +1329,6 @@ packages: /colorette/1.2.2: resolution: {integrity: sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==} - dev: false /colors/1.4.0: resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} @@ -1582,7 +1612,6 @@ packages: resolution: {integrity: sha512-72V4JNd2+48eOVCXx49xoSWHgC3/cCy96e7mbXKY+WOWghN00cCmlGnwVLRhRHorvv0dgCyuMYBZlM2xDM5OQw==} hasBin: true requiresBuild: true - dev: false /esbuild/0.12.5: resolution: {integrity: sha512-vcuP53pA5XiwUU4FnlXM+2PnVjTfHGthM7uP1gtp+9yfheGvFFbq/KyuESThmtoHPUrfZH5JpxGVJIFDVD1Egw==} @@ -1840,10 +1869,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /eventemitter3/4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - dev: true - /execa/0.7.0: resolution: {integrity: sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=} engines: {node: '>=4'} @@ -1986,16 +2011,6 @@ packages: resolution: {integrity: sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==} dev: true - /follow-redirects/1.14.1: - resolution: {integrity: sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dev: true - /foreground-child/2.0.0: resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} engines: {node: '>=8.0.0'} @@ -2172,17 +2187,6 @@ packages: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true - /http-proxy/1.18.1: - resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} - engines: {node: '>=8.0.0'} - dependencies: - eventemitter3: 4.0.7 - follow-redirects: 1.14.1 - requires-port: 1.0.0 - transitivePeerDependencies: - - debug - dev: true - /https-proxy-agent/5.0.0: resolution: {integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==} engines: {node: '>= 6'} @@ -2695,7 +2699,6 @@ packages: resolution: {integrity: sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - dev: false /natural-compare/1.4.0: resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} @@ -3061,7 +3064,6 @@ packages: colorette: 1.2.2 nanoid: 3.1.23 source-map-js: 0.6.2 - dev: false /preferred-pm/3.0.3: resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} @@ -3247,11 +3249,6 @@ packages: /require-relative/0.8.7: resolution: {integrity: sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=} - dev: false - - /requires-port/1.0.0: - resolution: {integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=} - dev: true /resolve-from/4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} @@ -3292,7 +3289,6 @@ packages: hasBin: true optionalDependencies: fsevents: 2.3.2 - dev: false /rollup/2.55.0: resolution: {integrity: sha512-Atc3QqelKzrKwRkqnSdq0d2Mi8e0iGuL+kZebKMZ4ysyWHD5hw9VfVCAuODIW5837RENV8LXcbAEHurYf+ArvA==} @@ -3420,7 +3416,6 @@ packages: /source-map-js/0.6.2: resolution: {integrity: sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==} engines: {node: '>=0.10.0'} - dev: false /source-map/0.7.3: resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} @@ -3605,7 +3600,6 @@ packages: svelte: '>=3.19.0' dependencies: svelte: 3.40.0 - dev: false /svelte-preprocess/4.7.3_svelte@3.40.0+typescript@4.2.4: resolution: {integrity: sha512-Zx1/xLeGOIBlZMGPRCaXtlMe4ZA0faato5Dc3CosEqwu75MIEPuOstdkH6cy+RYTUYynoxzNaDxkPX4DbrPwRA==} @@ -3974,7 +3968,6 @@ packages: rollup: 2.52.7 optionalDependencies: fsevents: 2.3.2 - dev: false /wcwidth/1.0.1: resolution: {integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=} From 028b7a1e8e1b5a5ebb6ed1fb28ef68e4c9a43fe6 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Thu, 12 Aug 2021 15:12:25 -0700 Subject: [PATCH 6/7] fix lockfile --- pnpm-lock.yaml | 58 +++++++++++++++----------------------------------- 1 file changed, 17 insertions(+), 41 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2bf8dbd34f4a..81ac37d79b99 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -188,10 +188,10 @@ importers: '@lukeed/uuid': 2.0.0 cookie: 0.4.1 devDependencies: - '@sveltejs/adapter-cloudflare-workers': 1.0.0-next.18 - '@sveltejs/adapter-netlify': 1.0.0-next.27 - '@sveltejs/adapter-vercel': 1.0.0-next.27 - '@sveltejs/kit': 1.0.0-next.146_svelte@3.40.0 + '@sveltejs/adapter-cloudflare-workers': link:../../../adapter-cloudflare-workers + '@sveltejs/adapter-netlify': link:../../../adapter-netlify + '@sveltejs/adapter-vercel': link:../../../adapter-vercel + '@sveltejs/kit': link:../../../kit svelte: 3.40.0 svelte-preprocess: 4.7.3_svelte@3.40.0+typescript@4.3.5 typescript: 4.3.5 @@ -539,6 +539,7 @@ packages: /@iarna/toml/2.2.5: resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} + dev: false /@istanbuljs/schema/0.1.3: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} @@ -669,43 +670,7 @@ packages: dependencies: estree-walker: 2.0.2 picomatch: 2.2.3 - - /@sveltejs/adapter-cloudflare-workers/1.0.0-next.18: - resolution: {integrity: sha512-tJ6ckzTt2QPq5aX/QK+A8Rw0t+gKLZgp1vAeDhZZsliYKHXFv9OJjOGWmdGQJQytClDR6/OIJChFrLRx6vl1Fw==} - dependencies: - '@iarna/toml': 2.2.5 - esbuild: 0.12.15 - dev: true - - /@sveltejs/adapter-netlify/1.0.0-next.27: - resolution: {integrity: sha512-t3kU2tJdCWmHwTBf+BRzzvYaM8ApxL+DEKtU1dUMI3bA8AgkpwkSHYiqZ75U2C+whi4mde+z15PeUFaUWzlKXA==} - dependencies: - '@iarna/toml': 2.2.5 - esbuild: 0.12.15 - dev: true - - /@sveltejs/adapter-vercel/1.0.0-next.27: - resolution: {integrity: sha512-KiGDJXgjkj3MJvmQLXpE7pfQnN7dVx8pPgqcrFp8yziFrLMrvluklKmNqNei6JivQn5JVYxLojRgHpik1fdIOw==} - dependencies: - esbuild: 0.12.15 - dev: true - - /@sveltejs/kit/1.0.0-next.146_svelte@3.40.0: - resolution: {integrity: sha512-MSatcaCRfjl88Prd5mW4pNOJ3Gsr525+Vjr24MoKtyTt6PZQmTfQsDVwyP93exn/6w2xl9uMCW6cFpDVBu7jSg==} - engines: {node: ^12.20 || >=14.13} - hasBin: true - peerDependencies: - svelte: ^3.34.0 - dependencies: - '@sveltejs/vite-plugin-svelte': 1.0.0-next.14_svelte@3.40.0+vite@2.4.3 - cheap-watch: 1.0.3 - sade: 1.7.4 - svelte: 3.40.0 - vite: 2.4.3 - transitivePeerDependencies: - - diff-match-patch - - supports-color - dev: true + dev: false /@sveltejs/vite-plugin-svelte/1.0.0-next.16_svelte@3.40.0+vite@2.4.3: resolution: {integrity: sha512-Zzw5vWJ2PjeAFG04/HQrTHvTd4B+v/pz5hgod7fPMOMXu289ZuHs2DPj68xBmOGlmTq0JyrMfBl+NDGCgaSxzA==} @@ -728,6 +693,7 @@ packages: vite: 2.4.3 transitivePeerDependencies: - supports-color + dev: false /@types/amphtml-validator/1.0.1: resolution: {integrity: sha512-DWE7fy6KtC+Uw0KV/HAmjuH2GB/o8yskXlvmVWR7mOVsLDybp+XrwkzEeRFU9wGjWKeRMBNGsx+5DRq7sUsAwA==} @@ -1260,6 +1226,7 @@ packages: /cheap-watch/1.0.3: resolution: {integrity: sha512-xC5CruMhLzjPwJ5ecUxGu1uGmwJQykUhqd2QrCrYbwvsFYdRyviu6jG9+pccwDXJR/OpmOTOJ9yLFunVgQu9wg==} engines: {node: '>=8'} + dev: false /chokidar/3.5.1: resolution: {integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==} @@ -1329,6 +1296,7 @@ packages: /colorette/1.2.2: resolution: {integrity: sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==} + dev: false /colors/1.4.0: resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} @@ -1612,6 +1580,7 @@ packages: resolution: {integrity: sha512-72V4JNd2+48eOVCXx49xoSWHgC3/cCy96e7mbXKY+WOWghN00cCmlGnwVLRhRHorvv0dgCyuMYBZlM2xDM5OQw==} hasBin: true requiresBuild: true + dev: false /esbuild/0.12.5: resolution: {integrity: sha512-vcuP53pA5XiwUU4FnlXM+2PnVjTfHGthM7uP1gtp+9yfheGvFFbq/KyuESThmtoHPUrfZH5JpxGVJIFDVD1Egw==} @@ -2699,6 +2668,7 @@ packages: resolution: {integrity: sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + dev: false /natural-compare/1.4.0: resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} @@ -3064,6 +3034,7 @@ packages: colorette: 1.2.2 nanoid: 3.1.23 source-map-js: 0.6.2 + dev: false /preferred-pm/3.0.3: resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} @@ -3249,6 +3220,7 @@ packages: /require-relative/0.8.7: resolution: {integrity: sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=} + dev: false /resolve-from/4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} @@ -3289,6 +3261,7 @@ packages: hasBin: true optionalDependencies: fsevents: 2.3.2 + dev: false /rollup/2.55.0: resolution: {integrity: sha512-Atc3QqelKzrKwRkqnSdq0d2Mi8e0iGuL+kZebKMZ4ysyWHD5hw9VfVCAuODIW5837RENV8LXcbAEHurYf+ArvA==} @@ -3416,6 +3389,7 @@ packages: /source-map-js/0.6.2: resolution: {integrity: sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==} engines: {node: '>=0.10.0'} + dev: false /source-map/0.7.3: resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} @@ -3600,6 +3574,7 @@ packages: svelte: '>=3.19.0' dependencies: svelte: 3.40.0 + dev: false /svelte-preprocess/4.7.3_svelte@3.40.0+typescript@4.2.4: resolution: {integrity: sha512-Zx1/xLeGOIBlZMGPRCaXtlMe4ZA0faato5Dc3CosEqwu75MIEPuOstdkH6cy+RYTUYynoxzNaDxkPX4DbrPwRA==} @@ -3968,6 +3943,7 @@ packages: rollup: 2.52.7 optionalDependencies: fsevents: 2.3.2 + dev: false /wcwidth/1.0.1: resolution: {integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=} From a1cbc29e7645c71f4bd48961efcd40af06c92cee Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Thu, 12 Aug 2021 15:13:03 -0700 Subject: [PATCH 7/7] update changeset description --- .changeset/eighty-waves-obey.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/eighty-waves-obey.md b/.changeset/eighty-waves-obey.md index 07895e3b7508..1d5281fdfb60 100644 --- a/.changeset/eighty-waves-obey.md +++ b/.changeset/eighty-waves-obey.md @@ -2,4 +2,4 @@ '@sveltejs/adapter-node': patch --- -Allows to run node application listening to a socket domain file instead of host/port when configured +[feat] allow node adapter to configure listen path