Skip to content

Commit b890d34

Browse files
committed
Update to latest sveltekit. More changes needed than I expected.
Also updates vitest and other dependencies.
1 parent 2b2247e commit b890d34

File tree

8 files changed

+973
-878
lines changed

8 files changed

+973
-878
lines changed

package-lock.json

Lines changed: 937 additions & 841 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
"name": "svelte-intl-precompile-docs",
33
"version": "0.1.0",
44
"scripts": {
5-
"dev": "svelte-kit dev",
6-
"build": "svelte-kit build",
7-
"preview": "svelte-kit preview",
5+
"dev": "vite dev",
6+
"build": "vite build",
7+
"preview": "vite preview",
88
"test": "vitest run",
99
"test:dev": "vitest dev",
1010
"check": "svelte-check --tsconfig ./tsconfig.json",
@@ -13,12 +13,12 @@
1313
"devDependencies": {
1414
"@sveltejs/adapter-netlify": "next",
1515
"@sveltejs/kit": "next",
16-
"@testing-library/svelte": "^3.0.3",
16+
"@testing-library/svelte": "^3.1.3",
1717
"@types/cookie": "^0.4.1",
1818
"autoprefixer": "^10.4.0",
1919
"chai-dom": "^1.11.0",
2020
"cssnano": "^5.0.14",
21-
"jsdom": "^19.0.0",
21+
"jsdom": "^20.0.0",
2222
"postcss": "^8.4.5",
2323
"postcss-load-config": "^3.1.0",
2424
"svelte": "^3.45.0",
@@ -27,7 +27,8 @@
2727
"tailwindcss": "^3.0.11",
2828
"tslib": "^2.3.1",
2929
"typescript": "^4.5.4",
30-
"vitest": "^0.0.138"
30+
"vite": "^3.0.5",
31+
"vitest": "^0.21.1"
3132
},
3233
"type": "module",
3334
"dependencies": {

src/lib/Playground.svelte

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
<script lang="ts">
2-
let translations = `{
3-
"header": "Svelte Intl Precompile is {adjective}",
4-
"posted-on": "Posted on {postDate, date, long}",
5-
"invite-friend": "{name} has joined Svelte! Give {gender, select, male {him} female {her} other {your friend}} a warm welcome!",
6-
"friends-msg": "You have {count, plural, zero {no friend} one {just # friend} other {# friends}}",
7-
}`
2+
let translations = JSON.stringify({
3+
"header": "Svelte Intl Precompile is {adjective}",
4+
"posted-on": "Posted on {postDate, date, long}",
5+
"invite-friend": "{name} has joined Svelte! Give {gender, select, male {him} female {her} other {your friend}} a warm welcome!",
6+
"friends-msg": "You have {count, plural, zero {no friend} one {just # friend} other {# friends}}"
7+
});
88
let transformedTranslations = "";
99
let minifiedTranslations = "";
1010
let showMinified = false;
1111
$: output = showMinified ? minifiedTranslations : transformedTranslations;
1212
let timer;
1313
function transform(code) {
14-
fetch('/playground', { method: 'POST', body: code })
14+
fetch('/playground', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: code })
1515
.then(r => {
1616
if (r.ok) {
1717
return r.json();

src/routes/playground.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
import type { RequestHandler } from '@sveltejs/kit';
2-
import type { Locals } from '$lib/types';
1+
import type { RequestHandler } from './__types';
32
import * as babel from '@babel/core';
43
import { minify } from "terser";
54
import buildPlugin from 'babel-plugin-precompile-intl';
65

76
const intlPrecompiler = buildPlugin('svelte-intl-precompile');
87

98
// POST /playground.json
10-
export const post: RequestHandler<Locals, FormData> = async (request) => {
9+
export const POST: RequestHandler = async ({ request, locals }) => {
1110
try {
12-
let transformed = babel.transform('export default ' + request.body, { plugins: [intlPrecompiler] }).code;
11+
const body = await request.text();
12+
let transformed = babel.transform('export default ' + body, { plugins: [intlPrecompiler] }).code;
1313
let { code: minified } = await minify(transformed, {
1414
mangle: {
1515
toplevel: true,

svelte.config.js

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,5 @@
11
import preprocess from 'svelte-preprocess';
22
import netlify from '@sveltejs/adapter-netlify';
3-
import precompileIntl from "svelte-intl-precompile/sveltekit-plugin";
4-
5-
export const sveltekitViteConfig = {
6-
plugins: [
7-
precompileIntl('locales') // if your translations are defined in /locales/[lang].json
8-
],
9-
ssr: {
10-
external: ['@babel/core', 'babel-plugin-precompile-intl']
11-
},
12-
}
133

144
/** @type {import('@sveltejs/kit').Config} */
155
const config = {
@@ -24,7 +14,6 @@ const config = {
2414
kit: {
2515
adapter: netlify(),
2616
// hydrate the <div id="svelte"> element in src/app.html
27-
vite: sveltekitViteConfig
2817
},
2918
};
3019

tests/DefinitionEntry.test.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
import { cleanup, render } from '@testing-library/svelte'
1+
import { render } from '@testing-library/svelte'
22
import Scenario1 from './DefinitionEntryScenario1.svelte';
3+
import { describe, expect, test, afterEach } from 'vitest'
34

45
describe('DefinitionEntry.svelte', () => {
5-
// TODO: @testing-library/svelte claims to add this automatically but it doesn't work without explicit afterEach
6-
afterEach(() => cleanup())
7-
8-
it('renders a link with the given href', async () => {
6+
test('renders a link with the given href', async () => {
97
const { getByTestId } = render(Scenario1);
108
expect(getByTestId('definition-entry')).to.have.class('bg-gray-50');
119
expect(getByTestId('dt')).to.have.text("I'm the description term");

vite.config.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { sveltekit } from '@sveltejs/kit/vite';
2+
import precompileIntl from "svelte-intl-precompile/sveltekit-plugin";
3+
4+
/** @type {import('vite').UserConfig} */
5+
const config = {
6+
plugins: [
7+
precompileIntl('locales'), // if your translations are defined in /locales/[lang].json
8+
sveltekit()
9+
],
10+
ssr: {
11+
external: ['@babel/core', 'babel-plugin-precompile-intl']
12+
}
13+
};
14+
15+
export default config;

vitest.config.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
import { defineConfig } from 'vite'
22
import { svelte } from '@sveltejs/vite-plugin-svelte'
3-
import { sveltekitViteConfig } from './svelte.config.js'
43
import path from 'path';
5-
// import svelteInlineComponents from 'vite-plugin-svelte-inline-components';
64

75
export default defineConfig({
8-
...sveltekitViteConfig,
96
plugins: [
107
svelte({
118
hot: !process.env.VITEST,
129
}),
13-
// svelteInlineComponents(),
1410
],
1511
test: {
1612
global: true,

0 commit comments

Comments
 (0)