Skip to content

Commit 45f7553

Browse files
committed
cleaner way of handling entry point
1 parent 4dddd1b commit 45f7553

File tree

6 files changed

+20
-17
lines changed

6 files changed

+20
-17
lines changed

packages/adapter-netlify/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import toml from '@iarna/toml';
77
export default function () {
88
return {
99
name: '@sveltejs/adapter-netlify',
10+
serverEntryPoint: '@sveltejs/adapter-netlify/entry',
1011

1112
async adapt({ utils }) {
1213
// "build" is the default publish directory when Netlify detects SvelteKit

packages/adapter-netlify/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,12 @@
1212
".": {
1313
"import": "./index.js"
1414
},
15+
"./entry": {
16+
"import": "./files/entry.js"
17+
},
1518
"./package.json": "./package.json"
1619
},
1720
"main": "index.js",
18-
"adapter": "files/entry.js",
1921
"types": "index.d.ts",
2022
"files": [
2123
"files",

packages/adapter-node/index.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,6 @@ import zlib from 'zlib';
88

99
const pipe = promisify(pipeline);
1010

11-
/**
12-
* @typedef {import('esbuild').BuildOptions} BuildOptions
13-
*/
14-
1511
/** @type {import('.')} */
1612
export default function ({
1713
// TODO: add ability to customize entry point to build/index.js
@@ -22,6 +18,7 @@ export default function ({
2218
} = {}) {
2319
return {
2420
name: '@sveltejs/adapter-node',
21+
serverEntryPoint: '@sveltejs/adapter-node/entry',
2522

2623
async adapt({ utils }) {
2724
utils.rimraf(out);

packages/adapter-node/package.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,18 @@
1010
"type": "module",
1111
"main": "index.js",
1212
"types": "index.d.ts",
13-
"adapter": "files/index.js",
13+
"exports": {
14+
".": {
15+
"import": "./index.js"
16+
},
17+
"./entry": {
18+
"import": "./files/index.js"
19+
},
20+
"./middlewares": {
21+
"import": "./files/middlewares.js"
22+
},
23+
"./package.json": "./package.json"
24+
},
1425
"scripts": {
1526
"dev": "rollup -cw",
1627
"build": "rollup -c",

packages/kit/src/core/build/index.js

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { svelte } from '@sveltejs/vite-plugin-svelte';
22
import fs from 'fs';
3-
import { createRequire } from 'module';
43
import path from 'path';
54
import glob from 'tiny-glob/sync.js';
65
import vite from 'vite';
@@ -463,23 +462,15 @@ async function build_server(
463462
// don't warn on overriding defaults
464463
const [modified_vite_config] = deep_merge(default_config, vite_config);
465464

466-
const adapter = config.kit?.adapter?.name;
465+
const adapter = config.kit?.adapter?.serverEntryPoint;
467466
/**
468467
* @type {{ app:string, index?:string }}
469468
*/
470469
const input = {
471470
app: app_file
472471
};
473472
if (adapter) {
474-
const require = createRequire(import.meta.url);
475-
let pkg_path;
476-
try {
477-
pkg_path = require.resolve(`${adapter}/package.json`);
478-
} catch (err) {
479-
throw new Error(`Could not resolve ${adapter}/package.json while building ${cwd}`);
480-
}
481-
const pkg = JSON.parse(fs.readFileSync(pkg_path, 'utf8'));
482-
input.index = path.resolve(pkg_path.substring(0, pkg_path.lastIndexOf('/')), pkg.adapter);
473+
input.index = adapter;
483474
}
484475

485476
/** @type {[any, string[]]} */

packages/kit/types/config.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export interface AdapterUtils {
1515

1616
export interface Adapter {
1717
name: string;
18+
serverEntryPoint?: string;
1819
adapt(context: { utils: AdapterUtils; config: ValidatedConfig }): Promise<void>;
1920
}
2021

0 commit comments

Comments
 (0)