diff --git a/.changeset/funny-trainers-hammer.md b/.changeset/funny-trainers-hammer.md new file mode 100644 index 000000000000..761c90d31bbf --- /dev/null +++ b/.changeset/funny-trainers-hammer.md @@ -0,0 +1,8 @@ +--- +'@sveltejs/adapter-netlify': patch +'@sveltejs/adapter-node': patch +'@sveltejs/adapter-static': patch +'create-svelte': patch +--- + +[breaking] standardize final output dir as /build (vs /.svelte-kit) diff --git a/.changeset/pre.json b/.changeset/pre.json index 361d62e2dcaa..139c77a5cd32 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -111,6 +111,7 @@ "friendly-rivers-argue", "funny-needles-talk", "funny-terms-repair", + "funny-trainers-hammer", "fuzzy-cougars-compare", "fuzzy-ghosts-call", "fuzzy-jeans-join", diff --git a/documentation/docs/10-adapters.md b/documentation/docs/10-adapters.md index c3ccb2ce404a..235d7c89a38a 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 64e189720312..ef008e7b622a 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/CHANGELOG.md b/packages/adapter-netlify/CHANGELOG.md index f78b9ccdfc7d..a1661b7947bf 100644 --- a/packages/adapter-netlify/CHANGELOG.md +++ b/packages/adapter-netlify/CHANGELOG.md @@ -1,5 +1,11 @@ # @sveltejs/adapter-netlify +## 1.0.0-next.27 + +### Patch Changes + +- 94b34fa6: [breaking] standardize final output dir as /build (vs /.svelte-kit) + ## 1.0.0-next.26 ### Patch Changes diff --git a/packages/adapter-netlify/README.md b/packages/adapter-netlify/README.md index fb96922b08f6..4e2a659c7ef3 100644 --- a/packages/adapter-netlify/README.md +++ b/packages/adapter-netlify/README.md @@ -32,11 +32,9 @@ 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/" + publish = "build/publish/" ``` -There should be no need to change the publish location, but if you specify another location, you will probably also want to add it 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 4f295867b9e7..4ad61b319f55 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 1e9b85b537c2..f395c10535a5 100644 --- a/packages/adapter-netlify/index.js +++ b/packages/adapter-netlify/index.js @@ -26,11 +26,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: '.netlify/functions-internal/__render.js', bundle: true, inject: [join(files, 'shims.js')], diff --git a/packages/adapter-netlify/package.json b/packages/adapter-netlify/package.json index 90fa1f8c379c..6eaf0a23e0e5 100644 --- a/packages/adapter-netlify/package.json +++ b/packages/adapter-netlify/package.json @@ -1,6 +1,6 @@ { "name": "@sveltejs/adapter-netlify", - "version": "1.0.0-next.26", + "version": "1.0.0-next.27", "type": "module", "exports": { "import": "./index.js" diff --git a/packages/adapter-node/CHANGELOG.md b/packages/adapter-node/CHANGELOG.md index a462db642661..a699a17196ee 100644 --- a/packages/adapter-node/CHANGELOG.md +++ b/packages/adapter-node/CHANGELOG.md @@ -1,5 +1,11 @@ # @sveltejs/adapter-node +## 1.0.0-next.39 + +### Patch Changes + +- 94b34fa6: [breaking] standardize final output dir as /build (vs /.svelte-kit) + ## 1.0.0-next.38 ### Patch Changes diff --git a/packages/adapter-node/README.md b/packages/adapter-node/README.md index 36a6855c53bf..1b90a76740f0 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 d781c398ec31..cfc3a9b702fa 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/package.json b/packages/adapter-node/package.json index d5e174f459a8..e2a801a649f1 100644 --- a/packages/adapter-node/package.json +++ b/packages/adapter-node/package.json @@ -1,6 +1,6 @@ { "name": "@sveltejs/adapter-node", - "version": "1.0.0-next.38", + "version": "1.0.0-next.39", "type": "module", "exports": { "import": "./index.js" diff --git a/packages/adapter-node/rollup.config.js b/packages/adapter-node/rollup.config.js index 9b50276f8d38..51c98aa0f083 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 a7e0de473c60..7a3973be9776 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/CHANGELOG.md b/packages/adapter-static/CHANGELOG.md index 1cf95b8b8550..0e79dea6ac22 100644 --- a/packages/adapter-static/CHANGELOG.md +++ b/packages/adapter-static/CHANGELOG.md @@ -1,5 +1,11 @@ # @sveltejs/adapter-static +## 1.0.0-next.16 + +### Patch Changes + +- 94b34fa6: [breaking] standardize final output dir as /build (vs /.svelte-kit) + ## 1.0.0-next.15 ### Patch Changes diff --git a/packages/adapter-static/README.md b/packages/adapter-static/README.md index d99f705bf9e7..80cffc31840f 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 34337e20d3fa..5155fec1b8a6 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/package.json b/packages/adapter-static/package.json index 89b265c520d5..f8865da6dc6e 100644 --- a/packages/adapter-static/package.json +++ b/packages/adapter-static/package.json @@ -1,6 +1,6 @@ { "name": "@sveltejs/adapter-static", - "version": "1.0.0-next.15", + "version": "1.0.0-next.16", "type": "module", "main": "index.js", "exports": { diff --git a/packages/adapter-static/test/test.js b/packages/adapter-static/test/test.js index a6046041097e..16629cfa9469 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 6b934304abea..456bb71d59b9 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/CHANGELOG.md b/packages/create-svelte/CHANGELOG.md index e667f5e54ce1..d635ec2324b1 100644 --- a/packages/create-svelte/CHANGELOG.md +++ b/packages/create-svelte/CHANGELOG.md @@ -1,5 +1,11 @@ # create-svelte +## 2.0.0-next.77 + +### Patch Changes + +- 94b34fa6: [breaking] standardize final output dir as /build (vs /.svelte-kit) + ## 2.0.0-next.76 ### Patch Changes diff --git a/packages/create-svelte/package.json b/packages/create-svelte/package.json index cc1c0d3aa8ac..06ceb8da2d0f 100644 --- a/packages/create-svelte/package.json +++ b/packages/create-svelte/package.json @@ -1,6 +1,6 @@ { "name": "create-svelte", - "version": "2.0.0-next.76", + "version": "2.0.0-next.77", "bin": "./bin.js", "dependencies": { "kleur": "^4.1.4", diff --git a/packages/create-svelte/templates/default/.gitignore b/packages/create-svelte/templates/default/.gitignore index 2d66ec056330..dad6f805d87f 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 2d66ec056330..dad6f805d87f 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