@sveltejs/adapter-netlify
Advanced tools
Comparing version 1.0.5 to 2.0.0
import './shims.js'; | ||
import { Server } from '0SERVER'; | ||
import 'node:stream/web'; | ||
import 'node:crypto'; | ||
import 'assert'; | ||
@@ -4,0 +6,0 @@ import 'net'; |
51
index.js
@@ -165,6 +165,13 @@ import { appendFileSync, existsSync, readFileSync, writeFileSync } from 'fs'; | ||
builder.log.minor('Generating serverless functions...'); | ||
if (split) { | ||
builder.log.minor('Generating serverless functions...'); | ||
const seen = new Set(); | ||
await builder.createEntries((route) => { | ||
for (let i = 0; i < builder.routes.length; i++) { | ||
const route = builder.routes[i]; | ||
if (route.prerender === true) continue; | ||
const routes = [route]; | ||
const parts = []; | ||
@@ -187,23 +194,29 @@ // Netlify's syntax uses '*' and ':param' as "splats" and "placeholders" | ||
return { | ||
id: pattern, | ||
filter: (other) => matches(route.segments, other.segments), | ||
complete: (entry) => { | ||
const manifest = entry.generateManifest({ | ||
relativePath: '../server' | ||
}); | ||
// skip routes with identical patterns, they were already folded into another function | ||
if (seen.has(pattern)) continue; | ||
seen.add(pattern); | ||
const fn = `import { init } from '../serverless.js';\n\nexport const handler = init(${manifest});\n`; | ||
// figure out which lower priority routes should be considered fallbacks | ||
for (let j = i + 1; j < builder.routes.length; j += 1) { | ||
if (routes[j].prerender === true) continue; | ||
writeFileSync(`.netlify/functions-internal/${name}.mjs`, fn); | ||
writeFileSync(`.netlify/functions-internal/${name}.json`, fn_config); | ||
if (matches(route.segments, routes[j].segments)) { | ||
routes.push(builder.routes[j]); | ||
} | ||
} | ||
redirects.push(`${pattern} /.netlify/functions/${name} 200`); | ||
redirects.push(`${pattern}/__data.json /.netlify/functions/${name} 200`); | ||
} | ||
}; | ||
}); | ||
const manifest = builder.generateManifest({ | ||
relativePath: '../server', | ||
routes | ||
}); | ||
const fn = `import { init } from '../serverless.js';\n\nexport const handler = init(${manifest});\n`; | ||
writeFileSync(`.netlify/functions-internal/${name}.mjs`, fn); | ||
writeFileSync(`.netlify/functions-internal/${name}.json`, fn_config); | ||
redirects.push(`${pattern} /.netlify/functions/${name} 200`); | ||
redirects.push(`${pattern}/__data.json /.netlify/functions/${name} 200`); | ||
} | ||
} else { | ||
builder.log.minor('Generating serverless functions...'); | ||
const manifest = builder.generateManifest({ | ||
@@ -210,0 +223,0 @@ relativePath: '../server' |
{ | ||
"name": "@sveltejs/adapter-netlify", | ||
"version": "1.0.5", | ||
"version": "2.0.0", | ||
"repository": { | ||
@@ -41,6 +41,6 @@ "type": "git", | ||
"uvu": "^0.5.6", | ||
"@sveltejs/kit": "^1.2.4" | ||
"@sveltejs/kit": "^1.5.0" | ||
}, | ||
"peerDependencies": { | ||
"@sveltejs/kit": "^1.0.0" | ||
"@sveltejs/kit": "^1.5.0" | ||
}, | ||
@@ -47,0 +47,0 @@ "scripts": { |
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
796605
18698