diff --git a/documentation/docs/10-adapters.md b/documentation/docs/10-adapters.md index c3ccb2ce404ad..235d7c89a38a0 100644 --- a/documentation/docs/10-adapters.md +++ b/documentation/docs/10-adapters.md @@ -17,7 +17,7 @@ export default { }; ``` -With this, [svelte-kit build](#command-line-interface-svelte-kit-build) will generate a self-contained Node app inside `.svelte-kit/node/build`. You can pass options to adapters, such as customising the output directory in `adapter-node`: +With this, [svelte-kit build](#command-line-interface-svelte-kit-build) will generate a self-contained Node app inside `build`. You can pass options to adapters, such as customising the output directory in `adapter-node`: ```diff // svelte.config.js diff --git a/documentation/docs/80-adapter-api.md b/documentation/docs/80-adapter-api.md index 64e189720312a..ef008e7b622a3 100644 --- a/documentation/docs/80-adapter-api.md +++ b/documentation/docs/80-adapter-api.md @@ -34,6 +34,6 @@ Within the `adapt` method, there are a number of things that an adapter should d - Call `utils.prerender` - Put the user's static files and the generated JS/CSS in the correct location for the target platform -If possible, we recommend putting the adapter output under `'.svelte-kit/' + adapterName` with any intermediate output under `'.svelte-kit/' + adapterName + '/intermediate'`. +If possible, we recommend putting the adapter output under the `build/` directory with any intermediate output placed under `'.svelte-kit/' + adapterName`. > The adapter API may change before 1.0. diff --git a/packages/adapter-netlify/README.md b/packages/adapter-netlify/README.md index b7248d1bef4d3..084ed76c40d28 100644 --- a/packages/adapter-netlify/README.md +++ b/packages/adapter-netlify/README.md @@ -32,12 +32,10 @@ Then, make sure you have a [netlify.toml](https://docs.netlify.com/configure-bui ```toml [build] command = "npm run build" - publish = ".svelte-kit/netlify/build/" - functions = ".svelte-kit/netlify/functions/" + publish = "build/publish/" + functions = "build/functions/" ``` -In this example, we placed the `build` and `functions` folders under `.svelte-kit/netlify`. If you specify another location, you will probably also want to add them to your `.gitignore`. - ## Netlify alternatives to SvelteKit functionality You may build your app using functionality provided directly by SvelteKit without relying on any Netlify functionality. Using the SvelteKit versions of these features will allow them to be used in dev mode, tested with integration tests, and to work with other adapters should you ever decide to switch away from Netlify. However, in some scenarios you may find it beneficial to use the Netlify versions of these features. One example would be if you're migrating an app that's already hosted on Netlify to SvelteKit. diff --git a/packages/adapter-netlify/files/entry.js b/packages/adapter-netlify/files/entry.js index 4f295867b9e72..4ad61b319f55d 100644 --- a/packages/adapter-netlify/files/entry.js +++ b/packages/adapter-netlify/files/entry.js @@ -1,5 +1,5 @@ // TODO hardcoding the relative location makes this brittle -import { init, render } from '../../output/server/app.js'; // eslint-disable-line import/no-unresolved +import { init, render } from '../output/server/app.js'; // eslint-disable-line import/no-unresolved import { isContentTypeTextual } from '@sveltejs/kit/adapter-utils'; // eslint-disable-line import/no-unresolved init(); diff --git a/packages/adapter-netlify/index.js b/packages/adapter-netlify/index.js index 5f8cf38edb841..24bab59a4047e 100644 --- a/packages/adapter-netlify/index.js +++ b/packages/adapter-netlify/index.js @@ -27,11 +27,11 @@ export default function (options) { const files = fileURLToPath(new URL('./files', import.meta.url)); utils.log.minor('Generating serverless function...'); - utils.copy(join(files, 'entry.js'), '.svelte-kit/netlify/intermediate/entry.js'); + utils.copy(join(files, 'entry.js'), '.svelte-kit/netlify/entry.js'); /** @type {BuildOptions} */ const defaultOptions = { - entryPoints: ['.svelte-kit/netlify/intermediate/entry.js'], + entryPoints: ['.svelte-kit/netlify/entry.js'], outfile: join(functions, 'render/index.js'), bundle: true, inject: [join(files, 'shims.js')], diff --git a/packages/adapter-node/README.md b/packages/adapter-node/README.md index 36a6855c53bf3..1b90a76740f0c 100644 --- a/packages/adapter-node/README.md +++ b/packages/adapter-node/README.md @@ -14,7 +14,7 @@ export default { kit: { adapter: adapter({ // default options are shown - out: '.svelte-kit/node/build', + out: 'build', precompress: false, env: { host: 'HOST', @@ -29,7 +29,7 @@ export default { ### out -The directory to build the server to. It defaults to `.svelte-kit/node/build` — i.e. `node .svelte-kit/node/build` would start the server locally after it has been created. +The directory to build the server to. It defaults to `build` — i.e. `node build` would start the server locally after it has been created. ### precompress diff --git a/packages/adapter-node/index.js b/packages/adapter-node/index.js index d781c398ec312..cfc3a9b702fac 100644 --- a/packages/adapter-node/index.js +++ b/packages/adapter-node/index.js @@ -32,7 +32,7 @@ const pipe = promisify(pipeline); * }} options */ export default function ({ - out = '.svelte-kit/node/build', + out = 'build', precompress, env: { host: host_env = 'HOST', port: port_env = 'PORT' } = {}, esbuild: esbuildConfig @@ -54,16 +54,16 @@ export default function ({ utils.log.minor('Building server'); const files = fileURLToPath(new URL('./files', import.meta.url)); - utils.copy(files, '.svelte-kit/node/intermediate'); + utils.copy(files, '.svelte-kit/node'); writeFileSync( - '.svelte-kit/node/intermediate/env.js', + '.svelte-kit/node/env.js', `export const host = process.env[${JSON.stringify( host_env )}] || '0.0.0.0';\nexport const port = process.env[${JSON.stringify(port_env)}] || 3000;` ); /** @type {BuildOptions} */ const defaultOptions = { - entryPoints: ['.svelte-kit/node/intermediate/index.js'], + entryPoints: ['.svelte-kit/node/index.js'], outfile: join(out, 'index.js'), bundle: true, external: Object.keys(JSON.parse(readFileSync('package.json', 'utf8')).dependencies || {}), diff --git a/packages/adapter-node/rollup.config.js b/packages/adapter-node/rollup.config.js index 9b50276f8d380..51c98aa0f0831 100644 --- a/packages/adapter-node/rollup.config.js +++ b/packages/adapter-node/rollup.config.js @@ -11,7 +11,7 @@ export default [ sourcemap: true }, plugins: [nodeResolve(), commonjs(), json()], - external: ['../../output/server/app.js', './env.js', ...require('module').builtinModules] + external: ['../output/server/app.js', './env.js', ...require('module').builtinModules] }, { input: 'src/shims.js', diff --git a/packages/adapter-node/src/index.js b/packages/adapter-node/src/index.js index a7e0de473c609..7a3973be97764 100644 --- a/packages/adapter-node/src/index.js +++ b/packages/adapter-node/src/index.js @@ -1,5 +1,5 @@ // TODO hardcoding the relative location makes this brittle -import { init, render } from '../../output/server/app.js'; // eslint-disable-line import/no-unresolved +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 { createServer } from './server'; diff --git a/packages/adapter-static/README.md b/packages/adapter-static/README.md index d99f705bf9e76..80cffc31840f0 100644 --- a/packages/adapter-static/README.md +++ b/packages/adapter-static/README.md @@ -14,8 +14,8 @@ export default { kit: { adapter: adapter({ // default options are shown - pages: '.svelte-kit/static/build', - assets: '.svelte-kit/static/build', + pages: 'build', + assets: 'build', fallback: null }) } @@ -28,7 +28,7 @@ Unless you're in [SPA mode](#spa-mode), the adapter will attempt to prerender ev ### pages -The directory to write prerendered pages to. It defaults to `.svelte-kit/static/build`. +The directory to write prerendered pages to. It defaults to `build`. ### assets diff --git a/packages/adapter-static/index.js b/packages/adapter-static/index.js index 34337e20d3fa4..5155fec1b8a61 100644 --- a/packages/adapter-static/index.js +++ b/packages/adapter-static/index.js @@ -5,7 +5,7 @@ * fallback?: string; * }} [opts] */ -export default function ({ pages = '.svelte-kit/static/build', assets = pages, fallback } = {}) { +export default function ({ pages = 'build', assets = pages, fallback } = {}) { /** @type {import('@sveltejs/kit').Adapter} */ const adapter = { name: '@sveltejs/adapter-static', diff --git a/packages/adapter-static/test/test.js b/packages/adapter-static/test/test.js index a6046041097e9..16629cfa9469c 100644 --- a/packages/adapter-static/test/test.js +++ b/packages/adapter-static/test/test.js @@ -4,7 +4,7 @@ import { run } from './utils.js'; run('prerendered', (test) => { test('generates HTML files', ({ cwd }) => { - assert.ok(fs.existsSync(`${cwd}/.svelte-kit/static/build/index.html`)); + assert.ok(fs.existsSync(`${cwd}/build/index.html`)); }); test('prerenders content', async ({ base, page }) => { @@ -15,15 +15,15 @@ run('prerendered', (test) => { run('spa', (test) => { test('generates a fallback page', ({ cwd }) => { - assert.ok(fs.existsSync(`${cwd}/.svelte-kit/static/build/200.html`)); + assert.ok(fs.existsSync(`${cwd}/build/200.html`)); }); test('does not prerender pages without prerender=true', ({ cwd }) => { - assert.ok(!fs.existsSync(`${cwd}/.svelte-kit/static/build/index.html`)); + assert.ok(!fs.existsSync(`${cwd}/build/index.html`)); }); test('prerenders page with prerender=true', ({ cwd }) => { - assert.ok(fs.existsSync(`${cwd}/.svelte-kit/static/build/about/index.html`)); + assert.ok(fs.existsSync(`${cwd}/build/about/index.html`)); }); test('renders content in fallback page when JS runs', async ({ base, page }) => { diff --git a/packages/adapter-static/test/utils.js b/packages/adapter-static/test/utils.js index 6b934304abea5..456bb71d59b92 100644 --- a/packages/adapter-static/test/utils.js +++ b/packages/adapter-static/test/utils.js @@ -31,7 +31,7 @@ export function run(app, callback) { const cwd = fileURLToPath(new URL(`apps/${app}`, import.meta.url)); const cli_path = fileURLToPath(new URL('../../kit/src/cli.js', import.meta.url)); - rimraf(`${cwd}/.svelte-kit/static/build`); + rimraf(`${cwd}/build`); await spawn(`"${process.execPath}" ${cli_path} build`, { cwd, @@ -41,7 +41,7 @@ export function run(app, callback) { context.cwd = cwd; context.port = await ports.find(4000); - const handler = sirv(`${cwd}/.svelte-kit/static/build`, { + const handler = sirv(`${cwd}/build`, { single: '200.html' }); context.server = await create_server(context.port, handler); diff --git a/packages/create-svelte/templates/default/.gitignore b/packages/create-svelte/templates/default/.gitignore index 2d66ec056330d..dad6f805d87fc 100644 --- a/packages/create-svelte/templates/default/.gitignore +++ b/packages/create-svelte/templates/default/.gitignore @@ -1,4 +1,5 @@ .DS_Store node_modules +/build /.svelte-kit /package diff --git a/packages/create-svelte/templates/skeleton/.gitignore b/packages/create-svelte/templates/skeleton/.gitignore index 2d66ec056330d..dad6f805d87fc 100644 --- a/packages/create-svelte/templates/skeleton/.gitignore +++ b/packages/create-svelte/templates/skeleton/.gitignore @@ -1,4 +1,5 @@ .DS_Store node_modules +/build /.svelte-kit /package