diff --git a/.eslintrc.js b/.eslintrc.js index a7c807620..57bb5f945 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,172 +1,148 @@ module.exports = { - root: true, - extends: [ - 'eslint:recommended', - 'plugin:node/recommended', - 'plugin:@typescript-eslint/eslint-recommended', - 'prettier' - ], - globals: { - Atomics: 'readonly', - SharedArrayBuffer: 'readonly' - }, - plugins: ['@typescript-eslint', 'svelte3', 'html', 'markdown'], - settings: { - 'svelte3/typescript': require('typescript'), - 'svelte3/ignore-styles': (attrs) => - (attrs.type && attrs.type !== 'text/css') || - (attrs.lang && attrs.lang !== 'css') - }, - parser: '@typescript-eslint/parser', - parserOptions: { - sourceType: 'module', - ecmaVersion: 2020 - }, - rules: { - 'no-debugger': ['error'], - 'node/no-missing-import': [ - 'error', - { - allowModules: ['types', 'estree', 'testUtils'], - tryExtensions: ['.ts', '.js', '.jsx', '.tsx'] - } - ], - 'node/no-missing-require': [ - 'error', - { - // for try-catching yarn pnp - allowModules: ['pnpapi'], - tryExtensions: ['.ts', '.js', '.jsx', '.tsx'] - } - ], + root: true, + extends: [ + 'eslint:recommended', + 'plugin:node/recommended', + 'plugin:@typescript-eslint/eslint-recommended', + 'prettier' + ], + globals: { + Atomics: 'readonly', + SharedArrayBuffer: 'readonly' + }, + plugins: ['@typescript-eslint', 'svelte3', 'html', 'markdown'], + settings: { + 'svelte3/typescript': require('typescript'), + 'svelte3/ignore-styles': (attrs) => + (attrs.type && attrs.type !== 'text/css') || (attrs.lang && attrs.lang !== 'css') + }, + parser: '@typescript-eslint/parser', + parserOptions: { + sourceType: 'module', + ecmaVersion: 2020 + }, + rules: { + 'no-debugger': ['error'], + 'node/no-missing-import': [ + 'error', + { + allowModules: ['types', 'estree', 'testUtils'], + tryExtensions: ['.ts', '.js', '.jsx', '.tsx'] + } + ], + 'node/no-missing-require': [ + 'error', + { + // for try-catching yarn pnp + allowModules: ['pnpapi'], + tryExtensions: ['.ts', '.js', '.jsx', '.tsx'] + } + ], - 'node/no-extraneous-import': [ - 'error', - { - allowModules: ['vite'] - } - ], - 'node/no-extraneous-require': [ - 'error', - { - allowModules: ['vite'] - } - ], - 'node/no-deprecated-api': 'off', - 'node/no-unpublished-import': 'off', - 'node/no-unpublished-require': 'off', - 'node/no-unsupported-features/es-syntax': 'off', - 'no-process-exit': 'off' - }, - overrides: [ - { - files: ['packages/playground/**'], - rules: { - 'node/no-extraneous-import': 'off', - 'node/no-extraneous-require': 'off', - 'no-unused-vars': 'off' - }, - env: { - browser: true - } - }, - { - files: ['packages/templates/**'], - rules: { - 'node/no-extraneous-import': [ - 'error', - { - allowModules: ['@svitejs/vite-plugin-svelte', 'svite'] - } - ], - 'node/no-extraneous-require': [ - 'error', - { - allowModules: ['@svitejs/vite-plugin-svelte', 'svite'] - } - ] - }, - env: { - browser: true - } - }, - { - files: [ - 'packages/templates/**/vite.config.js', - 'packages/playground/**/vite.config.js' - ], - rules: { - 'no-unused-vars': 'off', - 'node/no-missing-require': 'off' - } - }, - { - files: ['**/*.svelte'], - env: { - es6: true, - browser: true, - node: false - }, - processor: 'svelte3/svelte3', - rules: { - 'import/first': 'off', - 'import/no-duplicates': 'off', - 'import/no-mutable-exports': 'off', - 'import/no-unresolved': 'off' - } - }, - { - files: ['**/*.svx', '**/*.md'], - processor: 'markdown/markdown', - rules: { - 'no-undef': 'off', - 'no-unused-vars': 'off', - 'no-console': 'off', - 'padded-blocks': 'off', - 'node/no-missing-import': 'off', - 'node/no-extraneous-require': 'off', - 'import/no-unresolved': 'off', - 'node/no-missing-require': 'off' - } - }, - { - files: ['**/*.svx/*.**', '**/*.md/*.**'], - rules: { - 'no-undef': 'off', - 'no-unused-vars': 'off', - 'no-console': 'off', - 'padded-blocks': 'off', - 'node/no-missing-import': 'off', - 'node/no-extraneous-require': 'off', - 'import/no-unresolved': 'off', - 'node/no-missing-require': 'off' - } - }, - { - files: ['**/__tests__/**/*.spec.ts'], - env: { - jest: true, - node: true, - browser: true - }, - // Can't extend in overrides: https://github.com/eslint/eslint/issues/8813 - // "extends": ["plugin:jest/recommended"] - plugins: ['jest'], - rules: { - 'jest/no-disabled-tests': 'warn', - 'jest/no-focused-tests': 'error', - 'jest/no-identical-title': 'error', - 'jest/prefer-to-have-length': 'warn', - 'jest/valid-expect': 'error' - } - }, - { - files: ['scripts/**'], - env: { - jest: true, - node: true, - browser: false - } - } - ] -} + 'node/no-extraneous-import': [ + 'error', + { + allowModules: ['vite'] + } + ], + 'node/no-extraneous-require': [ + 'error', + { + allowModules: ['vite'] + } + ], + 'node/no-deprecated-api': 'off', + 'node/no-unpublished-import': 'off', + 'node/no-unpublished-require': 'off', + 'node/no-unsupported-features/es-syntax': 'off', + 'no-process-exit': 'off' + }, + overrides: [ + { + files: ['packages/playground/**'], + rules: { + 'node/no-extraneous-import': 'off', + 'node/no-extraneous-require': 'off', + 'no-unused-vars': 'off' + }, + env: { + browser: true + } + }, + { + files: ['packages/templates/**/vite.config.js', 'packages/playground/**/vite.config.js'], + rules: { + 'no-unused-vars': 'off', + 'node/no-missing-require': 'off' + } + }, + { + files: ['**/*.svelte'], + env: { + es6: true, + browser: true, + node: false + }, + processor: 'svelte3/svelte3', + rules: { + 'import/first': 'off', + 'import/no-duplicates': 'off', + 'import/no-mutable-exports': 'off', + 'import/no-unresolved': 'off' + } + }, + { + files: ['**/*.svx', '**/*.md'], + processor: 'markdown/markdown', + rules: { + 'no-undef': 'off', + 'no-unused-vars': 'off', + 'no-console': 'off', + 'padded-blocks': 'off', + 'node/no-missing-import': 'off', + 'node/no-extraneous-require': 'off', + 'import/no-unresolved': 'off', + 'node/no-missing-require': 'off' + } + }, + { + files: ['**/*.svx/*.**', '**/*.md/*.**'], + rules: { + 'no-undef': 'off', + 'no-unused-vars': 'off', + 'no-console': 'off', + 'padded-blocks': 'off', + 'node/no-missing-import': 'off', + 'node/no-extraneous-require': 'off', + 'import/no-unresolved': 'off', + 'node/no-missing-require': 'off' + } + }, + { + files: ['**/__tests__/**/*.spec.ts'], + env: { + jest: true, + node: true, + browser: true + }, + // Can't extend in overrides: https://github.com/eslint/eslint/issues/8813 + // "extends": ["plugin:jest/recommended"] + plugins: ['jest'], + rules: { + 'jest/no-disabled-tests': 'warn', + 'jest/no-focused-tests': 'error', + 'jest/no-identical-title': 'error', + 'jest/prefer-to-have-length': 'warn', + 'jest/valid-expect': 'error' + } + }, + { + files: ['scripts/**'], + env: { + jest: true, + node: true, + browser: false + } + } + ] +}; diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 54bc83b77..ba86865a4 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,6 +1,6 @@ --- name: Bug report -about: Report a bug in svite +about: Report a bug in vite-plugin-svelte title: '' labels: 'pending triage' assignees: '' @@ -24,9 +24,8 @@ A link to a repo or a script/code to reproduce the issue - operating system - versions for - node - - npm - - svite + - npm/pnpm/yarn - vite - svelte - logs with debug enabled - - start svite with `svite --debug` flag + - use vite --debug flag or DEBUG=vite-plugin-svelte diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index e1584658f..aeed32d2f 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,8 +1,5 @@ blank_issues_enabled: false contact_links: - - name: Svite GitHub Community - url: https://github.com/svitejs/svite/discussions - about: Please ask and answer questions here. - - name: Svite Discord - url: https://discord.gg/nzgMZJD + - name: Svelte Discord + url: https://svelte.dev/chat about: If you want to chat, join our discord. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 461a6bd2d..bca836b81 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -15,7 +15,7 @@ assignees: '' Keep it brief. No need for (pseudo-)code. **A Usecase** -How would this feature be useful to you and/or users of svite +How would this feature be useful to you and/or users of vite-plugin-svelte **Alternatives** What could be alternative ways to make it happen diff --git a/.github/contributing.md b/.github/contributing.md deleted file mode 100644 index a1e3b2be9..000000000 --- a/.github/contributing.md +++ /dev/null @@ -1,6 +0,0 @@ -# Svite contributing guide - -- Contributions are very welcome. -- If your contribution is less than trivial please get in contact via an issue first. -- For now contributions should come in as PR against master -- make sure you ran `npm fixup` and `npm test` diff --git a/.prettierrc.js b/.prettierrc.js index a7e95efdb..e1200fa74 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -1,25 +1,23 @@ module.exports = { - useTabs: false, - printWidth: 80, - tabWidth: 2, - semi: false, - trailingComma: 'none', - singleQuote: true, - plugins: [require('prettier-plugin-svelte')], - overrides: [ - { - files: '**/*.svx', - options: { parser: 'markdown' } - }, - { - files: '**/*.ts', - options: { parser: 'typescript' } - }, - { - files: '**/CHANGELOG.md', - options: { - requirePragma: true - } - } - ] -} + useTabs: true, + singleQuote: true, + trailingComma: 'none', + printWidth: 100, + plugins: [require('prettier-plugin-svelte')], + overrides: [ + { + files: '**/*.svx', + options: { parser: 'markdown' } + }, + { + files: '**/*.ts', + options: { parser: 'typescript' } + }, + { + files: '**/CHANGELOG.md', + options: { + requirePragma: true + } + } + ] +}; diff --git a/LICENSE b/LICENSE index c7da5e26e..c1a5d8f07 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2021 svitejs +Copyright (c) 2021 [these people](https://github.com/sveltejs/vite-plugin-svelte/graphs/contributors) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 5fd231399..becc53769 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,18 @@ -

svite-logo svite svite-logo

+# vite-plugin-svelte -A fresh start for svite based on vite2 repo structure and setup +This is the official [svelte](https://svelte.dev) plugin for [vite](https://vitejs.dev) ## Packages -| Package | Version (click for changelogs) | -| ---------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -| [svite](packages/svite) | [![vite version](https://img.shields.io/npm/v/svite.svg?label=%20)](packages/svite/CHANGELOG.md) | -| [@svitejs/vite-plugin-svelte](packages/vite-plugin-svelte) | [![plugin-vue version](https://img.shields.io/npm/v/@svitejs/vite-plugin-svelte.svg?label=%20)](packages/vite-plugin-svelte/CHANGELOG.md) | +| Package | changelog | +| ----------------------------------------------------------- | ----------------------------------------------------- | +| [@sveltejs/vite-plugin-svelte](packages/vite-plugin-svelte) | [changelog](packages/vite-plugin-svelte/CHANGELOG.md) | -## Development +# Got a question? / Need help? + +Join [svelte discord](https://svelte.dev/chat) + +## Development of vite-plugin-svelte ### dev @@ -25,10 +28,6 @@ changes in plugin need restart of dev server - exclusions in optimizeDeps also cover children (x or startswith x+/) - svelte components should be sorted with style nodes last as js code may contain markup node positions -# Got a question? / Need help? - -Join [svite discord](https://discord.gg/nzgMZJD) - # Credits - [svelte](https://svelte.dev) and [vite](https://github.com/vitejs/vite#readme) creators, maintainers and contributors diff --git a/docs/README.md b/docs/README.md index 6f7a8d377..cded7b261 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1 +1,3 @@ -some days, docs are going to live here, maybe generated with svitepress? +# TODO + +- maybe generate a docs page with kit diff --git a/package.json b/package.json index 696653af9..4f9726330 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,6 @@ { - "name": "svite-monorepo", + "name": "vite-plugin-svelte-monorepo", "private": true, - "workspaces": [ - "packages/*", - "packages/playground/*", - "packages/templates/*" - ], "scripts": { "lint": "run-p lint:script lint:style", "test": "run-s test:serve test:build", @@ -16,10 +11,9 @@ "test:ci": "run-s test:ci:serve test:ci:build", "test:ci:serve": "cross-env VITE_PRESERVE_BUILD_ARTIFACTS=1 jest --verbose --no-cache --runInBand --force-exit --ci --json --outputFile=\"temp/serve/jest-results.json\" ", "test:ci:build": "cross-env VITE_TEST_BUILD=1 VITE_PRESERVE_BUILD_ARTIFACTS=1 jest --verbose --no-cache --runInBand --force-exit --ci --json --outputFile=\"temp/build/jest-results.json\"", - "build:ci": "pnpm -r build-bundle --filter=./packages/svite --filter=./packages/vite-plugin-svelte", + "build:ci": "pnpm -r build-bundle --filter=./packages/vite-plugin-svelte", "build": "pnpm -r build --filter=\\!./packages/playground", "build:vite-plugin-svelte": "pnpm --dir packages/vite-plugin-svelte build", - "build:svite": "pnpm --dir packages/svite build", "lint:script": "eslint --ignore-path .gitignore '**/*.{js,ts,svelte,html,svx,md}'", "lint:style": "stylelint --ignore-path .gitignore '**/*.{css,scss,svelte,html,js,ts,svx,md}'", "lint:fix": "run-s lint:fix:script lint:fix:style", diff --git a/packages/playground/big/index.html b/packages/playground/big/index.html index 3b6ffd50f..b0cdddee7 100644 --- a/packages/playground/big/index.html +++ b/packages/playground/big/index.html @@ -1,12 +1,12 @@ - - - - - Svelte App - - - - + + + + + Svelte App + + + + diff --git a/packages/playground/big/package.json b/packages/playground/big/package.json index f672d6e5a..42cfcf995 100644 --- a/packages/playground/big/package.json +++ b/packages/playground/big/package.json @@ -1,5 +1,5 @@ { - "name": "svite-example-big", + "name": "playground-big", "version": "0.0.0", "scripts": { "dev": "vite", @@ -9,7 +9,7 @@ "dependencies": { }, "devDependencies": { - "@svitejs/vite-plugin-svelte": "workspace:*", + "@sveltejs/vite-plugin-svelte": "workspace:*", "svelte": "^3.35.0", "svelte-hmr": "^0.13.0", "vite": "^2.1.0" diff --git a/packages/playground/big/public/favicon.png b/packages/playground/big/public/favicon.png new file mode 100644 index 000000000..7e6f5eb5a Binary files /dev/null and b/packages/playground/big/public/favicon.png differ diff --git a/packages/playground/big/public/favicon.svg b/packages/playground/big/public/favicon.svg deleted file mode 100644 index e9787bb05..000000000 --- a/packages/playground/big/public/favicon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/playground/big/vite.config.js b/packages/playground/big/vite.config.js index 2542e2618..585825b99 100644 --- a/packages/playground/big/vite.config.js +++ b/packages/playground/big/vite.config.js @@ -1,12 +1,12 @@ -const svelte = require('@svitejs/vite-plugin-svelte') -const { defineConfig } = require('vite') +const svelte = require('@sveltejs/vite-plugin-svelte'); +const { defineConfig } = require('vite'); module.exports = defineConfig(({ command, mode }) => { - const isProduction = mode === 'production' - return { - plugins: [svelte()], - build: { - minify: isProduction - } - } -}) + const isProduction = mode === 'production'; + return { + plugins: [svelte()], + build: { + minify: isProduction + } + }; +}); diff --git a/packages/playground/default-svelte-template-ts/package.json b/packages/playground/default-svelte-template-ts/package.json index ceaa5c245..526fdf6e5 100644 --- a/packages/playground/default-svelte-template-ts/package.json +++ b/packages/playground/default-svelte-template-ts/package.json @@ -1,5 +1,5 @@ { - "name": "svelte-app", + "name": "playground-default-svelte-template-ts", "version": "1.0.0", "scripts": { "build": "vite build", @@ -8,7 +8,7 @@ "validate": "svelte-check" }, "devDependencies": { - "@svitejs/vite-plugin-svelte": "workspace:*", + "@sveltejs/vite-plugin-svelte": "workspace:*", "@tsconfig/svelte": "^1.0.10", "svelte": "^3.35.0", "svelte-hmr": "^0.13.0", diff --git a/packages/playground/default-svelte-template-ts/vite.config.js b/packages/playground/default-svelte-template-ts/vite.config.js index 2542e2618..585825b99 100644 --- a/packages/playground/default-svelte-template-ts/vite.config.js +++ b/packages/playground/default-svelte-template-ts/vite.config.js @@ -1,12 +1,12 @@ -const svelte = require('@svitejs/vite-plugin-svelte') -const { defineConfig } = require('vite') +const svelte = require('@sveltejs/vite-plugin-svelte'); +const { defineConfig } = require('vite'); module.exports = defineConfig(({ command, mode }) => { - const isProduction = mode === 'production' - return { - plugins: [svelte()], - build: { - minify: isProduction - } - } -}) + const isProduction = mode === 'production'; + return { + plugins: [svelte()], + build: { + minify: isProduction + } + }; +}); diff --git a/packages/playground/default-svelte-template/package.json b/packages/playground/default-svelte-template/package.json index 07d10190f..7f7520153 100644 --- a/packages/playground/default-svelte-template/package.json +++ b/packages/playground/default-svelte-template/package.json @@ -1,12 +1,12 @@ { - "name": "svite-playground-default-svelte-template", + "name": "playground-default-svelte-template", "version": "1.0.0", "scripts": { "build": "vite build", "dev": "vite" }, "devDependencies": { - "@svitejs/vite-plugin-svelte": "workspace:*", + "@sveltejs/vite-plugin-svelte": "workspace:*", "svelte": "^3.35.0", "svelte-hmr": "^0.13.0", "vite": "^2.1.0" diff --git a/packages/playground/default-svelte-template/vite.config.js b/packages/playground/default-svelte-template/vite.config.js index 2542e2618..585825b99 100644 --- a/packages/playground/default-svelte-template/vite.config.js +++ b/packages/playground/default-svelte-template/vite.config.js @@ -1,12 +1,12 @@ -const svelte = require('@svitejs/vite-plugin-svelte') -const { defineConfig } = require('vite') +const svelte = require('@sveltejs/vite-plugin-svelte'); +const { defineConfig } = require('vite'); module.exports = defineConfig(({ command, mode }) => { - const isProduction = mode === 'production' - return { - plugins: [svelte()], - build: { - minify: isProduction - } - } -}) + const isProduction = mode === 'production'; + return { + plugins: [svelte()], + build: { + minify: isProduction + } + }; +}); diff --git a/packages/playground/hmr-test-dependency/package.json b/packages/playground/hmr-test-dependency/package.json index f2907fa38..e8c6ad41b 100644 --- a/packages/playground/hmr-test-dependency/package.json +++ b/packages/playground/hmr-test-dependency/package.json @@ -1,5 +1,5 @@ { "version": "1.0.0", - "name": "@svitejs/hmr-test-dependency", + "name": "@sveltejs/hmr-test-dependency", "main": "index.js" } diff --git a/packages/playground/hmr/index.html b/packages/playground/hmr/index.html index 3b6ffd50f..b0cdddee7 100644 --- a/packages/playground/hmr/index.html +++ b/packages/playground/hmr/index.html @@ -1,12 +1,12 @@ - - - - - Svelte App - - - - + + + + + Svelte App + + + + diff --git a/packages/playground/hmr/package.json b/packages/playground/hmr/package.json index f22eb89e6..a83a58560 100644 --- a/packages/playground/hmr/package.json +++ b/packages/playground/hmr/package.json @@ -1,15 +1,15 @@ { - "name": "svite-test-hmr", + "name": "playground-hmr", "version": "0.0.0", "scripts": { "dev": "vite", "build": "vite build" }, "dependencies": { - "@svitejs/hmr-test-dependency": "workspace:*" + "@sveltejs/hmr-test-dependency": "workspace:*" }, "devDependencies": { - "@svitejs/vite-plugin-svelte": "workspace:*", + "@sveltejs/vite-plugin-svelte": "workspace:*", "svelte": "^3.35.0", "svelte-hmr": "^0.13.0", "vite": "^2.1.0", diff --git a/packages/playground/hmr/public/favicon.png b/packages/playground/hmr/public/favicon.png new file mode 100644 index 000000000..7e6f5eb5a Binary files /dev/null and b/packages/playground/hmr/public/favicon.png differ diff --git a/packages/playground/hmr/public/favicon.svg b/packages/playground/hmr/public/favicon.svg deleted file mode 100644 index 1df0b578c..000000000 --- a/packages/playground/hmr/public/favicon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/playground/hmr/src/App.svelte b/packages/playground/hmr/src/App.svelte index 969233b33..ee6a4900f 100644 --- a/packages/playground/hmr/src/App.svelte +++ b/packages/playground/hmr/src/App.svelte @@ -1,31 +1,27 @@

Test-App

{#if !dynamicImportComponent} - + {:else} - + {/if} diff --git a/packages/playground/hmr/src/assets/dynamic.png b/packages/playground/hmr/src/assets/dynamic.png new file mode 100644 index 000000000..7e6f5eb5a Binary files /dev/null and b/packages/playground/hmr/src/assets/dynamic.png differ diff --git a/packages/playground/hmr/src/assets/dynamic.svg b/packages/playground/hmr/src/assets/dynamic.svg deleted file mode 100644 index e9787bb05..000000000 --- a/packages/playground/hmr/src/assets/dynamic.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/playground/hmr/src/assets/static.png b/packages/playground/hmr/src/assets/static.png new file mode 100644 index 000000000..7e6f5eb5a Binary files /dev/null and b/packages/playground/hmr/src/assets/static.png differ diff --git a/packages/playground/hmr/src/assets/static.svg b/packages/playground/hmr/src/assets/static.svg deleted file mode 100644 index e9787bb05..000000000 --- a/packages/playground/hmr/src/assets/static.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/playground/hmr/src/components/DynamicImport.svelte b/packages/playground/hmr/src/components/DynamicImport.svelte index 96594c4d1..a6e3ff14e 100644 --- a/packages/playground/hmr/src/components/DynamicImport.svelte +++ b/packages/playground/hmr/src/components/DynamicImport.svelte @@ -1,24 +1,24 @@
- {label} imported + {label} imported
diff --git a/packages/playground/hmr/src/components/StaticImport.svelte b/packages/playground/hmr/src/components/StaticImport.svelte index a5a14393d..b9b2fe24a 100644 --- a/packages/playground/hmr/src/components/StaticImport.svelte +++ b/packages/playground/hmr/src/components/StaticImport.svelte @@ -1,24 +1,24 @@
- {label} imported + {label} imported
diff --git a/packages/playground/hmr/vite.config.js b/packages/playground/hmr/vite.config.js index 6e62c15a3..3831589a2 100644 --- a/packages/playground/hmr/vite.config.js +++ b/packages/playground/hmr/vite.config.js @@ -1,15 +1,15 @@ -const { defineConfig } = require('vite') -const svelte = require('@svitejs/vite-plugin-svelte') +const { defineConfig } = require('vite'); +const svelte = require('@sveltejs/vite-plugin-svelte'); module.exports = defineConfig(({ command, mode }) => { - const isProduction = mode === 'production' - return { - optimizeDeps: { - exclude: ['@svitejs/hmr-test-dependency'] - }, - plugins: [svelte()], - build: { - minify: isProduction - } - } -}) + const isProduction = mode === 'production'; + return { + optimizeDeps: { + exclude: ['@sveltejs/hmr-test-dependency'] + }, + plugins: [svelte()], + build: { + minify: isProduction + } + }; +}); diff --git a/packages/playground/package.json b/packages/playground/package.json index bdb8d7047..f1728b3c9 100644 --- a/packages/playground/package.json +++ b/packages/playground/package.json @@ -1,5 +1,5 @@ { - "name": "svite-playground", + "name": "vite-plugin-svelte-playground", "version": "1.0.0", "private": true, "devDependencies": { diff --git a/packages/playground/preprocess-with-vite/index.html b/packages/playground/preprocess-with-vite/index.html index 3b6ffd50f..b0cdddee7 100644 --- a/packages/playground/preprocess-with-vite/index.html +++ b/packages/playground/preprocess-with-vite/index.html @@ -1,12 +1,12 @@ - - - - - Svelte App - - - - + + + + + Svelte App + + + + diff --git a/packages/playground/preprocess-with-vite/package.json b/packages/playground/preprocess-with-vite/package.json index 780c7991a..b750e0fe0 100644 --- a/packages/playground/preprocess-with-vite/package.json +++ b/packages/playground/preprocess-with-vite/package.json @@ -1,5 +1,5 @@ { - "name": "svite-preprocess-with-vite", + "name": "playground-preprocess-with-vite", "version": "0.0.0", "scripts": { "dev": "vite", @@ -7,7 +7,7 @@ "serve": "vite preview" }, "devDependencies": { - "@svitejs/vite-plugin-svelte": "workspace:*", + "@sveltejs/vite-plugin-svelte": "workspace:*", "sass": "^1.32.8", "stylus": "^0.54.8", "svelte": "^3.35.0", diff --git a/packages/playground/preprocess-with-vite/public/favicon.png b/packages/playground/preprocess-with-vite/public/favicon.png new file mode 100644 index 000000000..7e6f5eb5a Binary files /dev/null and b/packages/playground/preprocess-with-vite/public/favicon.png differ diff --git a/packages/playground/preprocess-with-vite/public/favicon.svg b/packages/playground/preprocess-with-vite/public/favicon.svg deleted file mode 100644 index e9787bb05..000000000 --- a/packages/playground/preprocess-with-vite/public/favicon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/playground/preprocess-with-vite/vite.config.js b/packages/playground/preprocess-with-vite/vite.config.js index 758ec21df..1bc20f855 100644 --- a/packages/playground/preprocess-with-vite/vite.config.js +++ b/packages/playground/preprocess-with-vite/vite.config.js @@ -1,16 +1,16 @@ -const svelte = require('@svitejs/vite-plugin-svelte') -const { defineConfig } = require('vite') +const svelte = require('@sveltejs/vite-plugin-svelte'); +const { defineConfig } = require('vite'); module.exports = defineConfig(({ command, mode }) => { - const isProduction = mode === 'production' - return { - plugins: [ - svelte({ - useVitePreprocess: true - }) - ], - build: { - minify: isProduction - } - } -}) + const isProduction = mode === 'production'; + return { + plugins: [ + svelte({ + useVitePreprocess: true + }) + ], + build: { + minify: isProduction + } + }; +}); diff --git a/packages/playground/svite-minimal/.gitignore b/packages/playground/svite-minimal/.gitignore deleted file mode 100644 index 49ce2306b..000000000 --- a/packages/playground/svite-minimal/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.vscode -.idea -node_modules -dist -dist-ssr - diff --git a/packages/playground/svite-minimal/index.html b/packages/playground/svite-minimal/index.html deleted file mode 100644 index 3b6ffd50f..000000000 --- a/packages/playground/svite-minimal/index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Svelte App - - - - - diff --git a/packages/playground/svite-minimal/package.json b/packages/playground/svite-minimal/package.json deleted file mode 100644 index 0f2d1e579..000000000 --- a/packages/playground/svite-minimal/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "svite-minimal", - "version": "0.0.0", - "scripts": { - "dev": "vite", - "build": "vite build", - "serve": "vite preview" - }, - "dependencies": {}, - "devDependencies": { - "@svitejs/vite-plugin-svelte": "workspace:*", - "svelte": "^3.35.0", - "svelte-hmr": "^0.13.0", - "vite": "^2.1.0" - } -} diff --git a/packages/playground/svite-minimal/public/favicon.svg b/packages/playground/svite-minimal/public/favicon.svg deleted file mode 100644 index e9787bb05..000000000 --- a/packages/playground/svite-minimal/public/favicon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/playground/svite-minimal/src/App.svelte b/packages/playground/svite-minimal/src/App.svelte deleted file mode 100644 index b1b29322b..000000000 --- a/packages/playground/svite-minimal/src/App.svelte +++ /dev/null @@ -1,12 +0,0 @@ - - -

Hello {world}

-

Open App.svelte in your editor and change something to see HMR in action

- - diff --git a/packages/playground/svite-minimal/src/index.js b/packages/playground/svite-minimal/src/index.js deleted file mode 100644 index 0dfb1eefa..000000000 --- a/packages/playground/svite-minimal/src/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import App from './App.svelte' - -const app = new App({ - target: document.body -}) - -export default app diff --git a/packages/playground/svite-minimal/vite.config.js b/packages/playground/svite-minimal/vite.config.js deleted file mode 100644 index 2542e2618..000000000 --- a/packages/playground/svite-minimal/vite.config.js +++ /dev/null @@ -1,12 +0,0 @@ -const svelte = require('@svitejs/vite-plugin-svelte') -const { defineConfig } = require('vite') - -module.exports = defineConfig(({ command, mode }) => { - const isProduction = mode === 'production' - return { - plugins: [svelte()], - build: { - minify: isProduction - } - } -}) diff --git a/packages/playground/svite-postcss-tailwind/.gitignore b/packages/playground/svite-postcss-tailwind/.gitignore deleted file mode 100644 index 0895721cc..000000000 --- a/packages/playground/svite-postcss-tailwind/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -.vscode -.idea -node_modules -dist -dist-ssr diff --git a/packages/playground/svite-postcss-tailwind/index.html b/packages/playground/svite-postcss-tailwind/index.html deleted file mode 100644 index 3b6ffd50f..000000000 --- a/packages/playground/svite-postcss-tailwind/index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Svelte App - - - - - diff --git a/packages/playground/svite-postcss-tailwind/package.json b/packages/playground/svite-postcss-tailwind/package.json deleted file mode 100644 index 8fd4d4870..000000000 --- a/packages/playground/svite-postcss-tailwind/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "svite-postcss-tailwind", - "version": "0.0.0", - "scripts": { - "dev": "vite", - "build": "vite build", - "serve": "vite preview" - }, - "dependencies": {}, - "devDependencies": { - "@svitejs/vite-plugin-svelte": "workspace:*", - "autoprefixer": "^10.2.5", - "postcss": "^8.2.8", - "postcss-import": "^14.0.0", - "postcss-load-config": "^3.0.1", - "postcss-preset-env": "^6.7.0", - "svelte": "^3.35.0", - "svelte-hmr": "^0.13.0", - "svelte-preprocess": "^4.6.9", - "vite": "^2.1.0", - "tailwindcss": "^2.0.3" - } -} diff --git a/packages/playground/svite-postcss-tailwind/postcss.config.js b/packages/playground/svite-postcss-tailwind/postcss.config.js deleted file mode 100644 index 996b135cf..000000000 --- a/packages/playground/svite-postcss-tailwind/postcss.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - plugins: [ - require('postcss-import'), - require('tailwindcss'), - require('postcss-preset-env')({ stage: 1 }) - ] -} diff --git a/packages/playground/svite-postcss-tailwind/public/favicon.svg b/packages/playground/svite-postcss-tailwind/public/favicon.svg deleted file mode 100644 index e9787bb05..000000000 --- a/packages/playground/svite-postcss-tailwind/public/favicon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/playground/svite-postcss-tailwind/src/App.svelte b/packages/playground/svite-postcss-tailwind/src/App.svelte deleted file mode 100644 index 6c2bd6b12..000000000 --- a/packages/playground/svite-postcss-tailwind/src/App.svelte +++ /dev/null @@ -1,23 +0,0 @@ - - -

- - Hello - {world} -

- - diff --git a/packages/playground/svite-postcss-tailwind/src/index.css b/packages/playground/svite-postcss-tailwind/src/index.css deleted file mode 100644 index d2dc86dd0..000000000 --- a/packages/playground/svite-postcss-tailwind/src/index.css +++ /dev/null @@ -1,3 +0,0 @@ -@import 'tailwindcss/base.css'; -@import 'tailwindcss/components.css'; -@import 'tailwindcss/utilities.css'; diff --git a/packages/playground/svite-postcss-tailwind/src/index.js b/packages/playground/svite-postcss-tailwind/src/index.js deleted file mode 100644 index 3dce485c3..000000000 --- a/packages/playground/svite-postcss-tailwind/src/index.js +++ /dev/null @@ -1,8 +0,0 @@ -import App from './App.svelte' -import './index.css' - -const app = new App({ - target: document.body -}) - -export default app diff --git a/packages/playground/svite-postcss-tailwind/svelte.config.js b/packages/playground/svite-postcss-tailwind/svelte.config.js deleted file mode 100644 index bdb4e3047..000000000 --- a/packages/playground/svite-postcss-tailwind/svelte.config.js +++ /dev/null @@ -1,4 +0,0 @@ -const { postcss } = require('svelte-preprocess') -module.exports = { - preprocess: [postcss()] -} diff --git a/packages/playground/svite-postcss-tailwind/tailwind.config.js b/packages/playground/svite-postcss-tailwind/tailwind.config.js deleted file mode 100644 index a038b5ba5..000000000 --- a/packages/playground/svite-postcss-tailwind/tailwind.config.js +++ /dev/null @@ -1,35 +0,0 @@ -const { tailwindExtractor } = require('tailwindcss/lib/lib/purgeUnusedStyles') - -const svelteClassColonExtractor = (content) => { - return content.match(/(?<=class:)([a-zA-Z0-9_-]+)/gm) || [] -} - -module.exports = { - purge: { - enabled: process.env.NODE_ENV === 'production', - content: [ - './src/**/*.svelte', - './src/**/*.html', - './src/**/*.css', - './index.html' - ], - preserveHtmlElements: true, - options: { - safelist: [/svelte-/], - defaultExtractor: (content) => { - // WARNING: tailwindExtractor is internal tailwind api - // if this breaks after a tailwind update, report to svite repo - return [ - ...tailwindExtractor(content), - ...svelteClassColonExtractor(content) - ] - }, - keyframes: true - } - }, - theme: { - extend: {} - }, - variants: {}, - plugins: [] -} diff --git a/packages/playground/svite-postcss-tailwind/vite.config.js b/packages/playground/svite-postcss-tailwind/vite.config.js deleted file mode 100644 index e2b93762d..000000000 --- a/packages/playground/svite-postcss-tailwind/vite.config.js +++ /dev/null @@ -1,13 +0,0 @@ -const svelte = require('@svitejs/vite-plugin-svelte') -const { defineConfig } = require('vite') -const { postcss } = require('svelte-preprocess') - -module.exports = defineConfig(({ command, mode }) => { - const isProduction = mode === 'production' - return { - plugins: [svelte()], - build: { - minify: isProduction - } - } -}) diff --git a/packages/playground/svite-preprocess-auto/.gitignore b/packages/playground/svite-preprocess-auto/.gitignore deleted file mode 100644 index 49ce2306b..000000000 --- a/packages/playground/svite-preprocess-auto/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.vscode -.idea -node_modules -dist -dist-ssr - diff --git a/packages/playground/svite-preprocess-auto/index.html b/packages/playground/svite-preprocess-auto/index.html deleted file mode 100644 index af4280646..000000000 --- a/packages/playground/svite-preprocess-auto/index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Svelte App - - - - - diff --git a/packages/playground/svite-preprocess-auto/package.json b/packages/playground/svite-preprocess-auto/package.json deleted file mode 100644 index c5c874c83..000000000 --- a/packages/playground/svite-preprocess-auto/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "svite-preprocess-auto", - "version": "0.0.0", - "scripts": { - "dev": "vite", - "build": "vite build", - "serve": "vite preview" - }, - "dependencies": {}, - "devDependencies": { - "@svitejs/vite-plugin-svelte": "workspace:*", - "pug": "^3.0.2", - "stylus": "^0.54.8", - "svelte": "^3.35.0", - "svelte-hmr": "^0.13.0", - "svelte-preprocess": "^4.6.9", - "vite": "^2.1.0" - } -} diff --git a/packages/playground/svite-preprocess-auto/public/favicon.svg b/packages/playground/svite-preprocess-auto/public/favicon.svg deleted file mode 100644 index e9787bb05..000000000 --- a/packages/playground/svite-preprocess-auto/public/favicon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/playground/svite-preprocess-auto/src/App.svelte b/packages/playground/svite-preprocess-auto/src/App.svelte deleted file mode 100644 index 2e7968fb6..000000000 --- a/packages/playground/svite-preprocess-auto/src/App.svelte +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - diff --git a/packages/playground/svite-preprocess-auto/src/Nested.svelte b/packages/playground/svite-preprocess-auto/src/Nested.svelte deleted file mode 100644 index fa1b9b8b9..000000000 --- a/packages/playground/svite-preprocess-auto/src/Nested.svelte +++ /dev/null @@ -1,5 +0,0 @@ - - -
Your name is '{name}'
diff --git a/packages/playground/svite-preprocess-auto/src/main.js b/packages/playground/svite-preprocess-auto/src/main.js deleted file mode 100644 index 89bae74f5..000000000 --- a/packages/playground/svite-preprocess-auto/src/main.js +++ /dev/null @@ -1,10 +0,0 @@ -import App from './App.svelte' - -const app = new App({ - target: document.body, - props: { - name: 'world' - } -}) - -export default app diff --git a/packages/playground/svite-preprocess-auto/svelte.config.js b/packages/playground/svite-preprocess-auto/svelte.config.js deleted file mode 100644 index 841aaa90e..000000000 --- a/packages/playground/svite-preprocess-auto/svelte.config.js +++ /dev/null @@ -1,6 +0,0 @@ -const preprocess = require('svelte-preprocess') -module.exports = { - preprocess: preprocess({ - typescript: false // for typescript, use the typescript examples! - }) -} diff --git a/packages/playground/svite-preprocess-auto/vite.config.js b/packages/playground/svite-preprocess-auto/vite.config.js deleted file mode 100644 index 2542e2618..000000000 --- a/packages/playground/svite-preprocess-auto/vite.config.js +++ /dev/null @@ -1,12 +0,0 @@ -const svelte = require('@svitejs/vite-plugin-svelte') -const { defineConfig } = require('vite') - -module.exports = defineConfig(({ command, mode }) => { - const isProduction = mode === 'production' - return { - plugins: [svelte()], - build: { - minify: isProduction - } - } -}) diff --git a/packages/playground/svite-routify-mdsvex/.gitignore b/packages/playground/svite-routify-mdsvex/.gitignore deleted file mode 100644 index 701823eff..000000000 --- a/packages/playground/svite-routify-mdsvex/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.vscode -.idea -node_modules -dist -dist-ssr -.routify diff --git a/packages/playground/svite-routify-mdsvex/index.html b/packages/playground/svite-routify-mdsvex/index.html deleted file mode 100644 index 3b6ffd50f..000000000 --- a/packages/playground/svite-routify-mdsvex/index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - Svelte App - - - - - diff --git a/packages/playground/svite-routify-mdsvex/package.json b/packages/playground/svite-routify-mdsvex/package.json deleted file mode 100644 index 212872868..000000000 --- a/packages/playground/svite-routify-mdsvex/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "svite-routify-mdsvex", - "version": "0.0.0", - "scripts": { - "dev": "run-p dev:routify dev:vite", - "dev:routify": "routify run", - "dev:vite": "vite", - "build": "run-s build:routify build:vite", - "build:routify": "routify run -b", - "build:vite": "vite build", - "serve": "vite preview" - }, - "dependencies": { - "@roxi/routify": "^2.15.0" - }, - "devDependencies": { - "@svitejs/vite-plugin-svelte": "workspace:*", - "mdsvex": "^0.8.9", - "npm-run-all": "^4.1.5", - "svelte": "^3.35.0", - "svelte-hmr": "^0.13.0", - "vite": "^2.1.0" - } -} diff --git a/packages/playground/svite-routify-mdsvex/public/favicon.svg b/packages/playground/svite-routify-mdsvex/public/favicon.svg deleted file mode 100644 index e9787bb05..000000000 --- a/packages/playground/svite-routify-mdsvex/public/favicon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/playground/svite-routify-mdsvex/routify.config.js b/packages/playground/svite-routify-mdsvex/routify.config.js deleted file mode 100644 index 622da01df..000000000 --- a/packages/playground/svite-routify-mdsvex/routify.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - routifyDir: '.routify', - dynamicImports: true, - extensions: ['svelte', 'svx'] -} diff --git a/packages/playground/svite-routify-mdsvex/src/App.svelte b/packages/playground/svite-routify-mdsvex/src/App.svelte deleted file mode 100644 index 111c24dc6..000000000 --- a/packages/playground/svite-routify-mdsvex/src/App.svelte +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/packages/playground/svite-routify-mdsvex/src/index.js b/packages/playground/svite-routify-mdsvex/src/index.js deleted file mode 100644 index 0dfb1eefa..000000000 --- a/packages/playground/svite-routify-mdsvex/src/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import App from './App.svelte' - -const app = new App({ - target: document.body -}) - -export default app diff --git a/packages/playground/svite-routify-mdsvex/src/layouts/MdsvexLayout.svelte b/packages/playground/svite-routify-mdsvex/src/layouts/MdsvexLayout.svelte deleted file mode 100644 index 9c8e627b2..000000000 --- a/packages/playground/svite-routify-mdsvex/src/layouts/MdsvexLayout.svelte +++ /dev/null @@ -1,20 +0,0 @@ -
-

I'm a mdsvex layout with a green border.

-

The blue bordered box below is the slot where i put my content

-
- -
-
- - diff --git a/packages/playground/svite-routify-mdsvex/src/pages/_fallback.svelte b/packages/playground/svite-routify-mdsvex/src/pages/_fallback.svelte deleted file mode 100644 index bcb45696d..000000000 --- a/packages/playground/svite-routify-mdsvex/src/pages/_fallback.svelte +++ /dev/null @@ -1,26 +0,0 @@ - - -
-
404
-
- Page not found. - - Go back -
-
- - diff --git a/packages/playground/svite-routify-mdsvex/src/pages/_folder.svelte b/packages/playground/svite-routify-mdsvex/src/pages/_folder.svelte deleted file mode 100644 index 6d59fcbd7..000000000 --- a/packages/playground/svite-routify-mdsvex/src/pages/_folder.svelte +++ /dev/null @@ -1,40 +0,0 @@ - - -
- -
- -
-
footer
-
- - diff --git a/packages/playground/svite-routify-mdsvex/src/pages/index.svelte b/packages/playground/svite-routify-mdsvex/src/pages/index.svelte deleted file mode 100644 index c1fb15521..000000000 --- a/packages/playground/svite-routify-mdsvex/src/pages/index.svelte +++ /dev/null @@ -1,2 +0,0 @@ -

Welcome to the routify example

-Check out the link in the nav diff --git a/packages/playground/svite-routify-mdsvex/src/pages/mdsvex.svx b/packages/playground/svite-routify-mdsvex/src/pages/mdsvex.svx deleted file mode 100644 index c2af0ad1e..000000000 --- a/packages/playground/svite-routify-mdsvex/src/pages/mdsvex.svx +++ /dev/null @@ -1,13 +0,0 @@ -# This is mdsvex - -Go check it out - -# try it out below - -Edit `src/pages/mdsvex.svx` and watch your browser update instantly every time you save. - -you'll love it, promise! cool - -```js -console.log('foo') -``` diff --git a/packages/playground/svite-routify-mdsvex/svelte.config.js b/packages/playground/svite-routify-mdsvex/svelte.config.js deleted file mode 100644 index 098908d2b..000000000 --- a/packages/playground/svite-routify-mdsvex/svelte.config.js +++ /dev/null @@ -1,11 +0,0 @@ -const path = require('path') -const { mdsvex } = require('mdsvex') - -module.exports = { - extensions: ['.svelte', '.svx'], - preprocess: [ - mdsvex({ - layout: path.join(__dirname, 'src', 'layouts', 'MdsvexLayout.svelte') - }) - ] -} diff --git a/packages/playground/svite-routify-mdsvex/vite.config.js b/packages/playground/svite-routify-mdsvex/vite.config.js deleted file mode 100644 index 6c4777b69..000000000 --- a/packages/playground/svite-routify-mdsvex/vite.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const svelte = require('@svitejs/vite-plugin-svelte') -const { defineConfig } = require('vite') - -module.exports = defineConfig(({ command, mode }) => { - const isProduction = mode === 'production' - return { - optimizeDeps: { - exclude: ['@roxi/routify'] - }, - plugins: [svelte()], - build: { - minify: isProduction - } - } -}) diff --git a/packages/playground/svite-ssr/__tests__/serve.js b/packages/playground/svite-ssr/__tests__/serve.js deleted file mode 100644 index 68b43967a..000000000 --- a/packages/playground/svite-ssr/__tests__/serve.js +++ /dev/null @@ -1,58 +0,0 @@ -// @ts-check -// this is automtically detected by scripts/jestPerTestSetup.ts and will replace -// the default e2e test serve behavior - -const path = require('path') - -const port = (exports.port = 9527) - -/** - * @param {string} root - * @param {boolean} isProd - */ -exports.serve = async function serve(root, isProd) { - if (isProd) { - // build first - const { build } = require('vite') - // client build - await build({ - root, - logLevel: 'error', - build: { - target: 'esnext', - minify: false, - ssrManifest: true, - outDir: 'dist/client' - } - }) - // server build - await build({ - root, - logLevel: 'error', - build: { - target: 'esnext', - ssr: 'src/entry-server.js', - outDir: 'dist/server' - } - }) - } - - const { createServer } = require(path.resolve(root, 'server.js')) - const { app, vite } = await createServer(root, isProd, true) - - return new Promise((resolve, reject) => { - try { - const server = app.listen(port, () => { - resolve({ - // for test teardown - close() { - server.close() - return vite && vite.close() - } - }) - }) - } catch (e) { - reject(e) - } - }) -} diff --git a/packages/playground/svite-ssr/__tests__/svite-ssr.spec.ts b/packages/playground/svite-ssr/__tests__/svite-ssr.spec.ts deleted file mode 100644 index 64bc392bf..000000000 --- a/packages/playground/svite-ssr/__tests__/svite-ssr.spec.ts +++ /dev/null @@ -1,75 +0,0 @@ -import { - editFileAndWaitForHmrComplete, - getColor, - getEl, - getText, - isBuild, - untilUpdated -} from '../../testUtils' -import { port } from './serve' -import fetch from 'node-fetch' - -const url = `http://localhost:${port}` - -test('/', async () => { - await page.goto(url) - - expect(await page.textContent('h1')).toMatch('Hello svite world') // after hydration - - const html = await (await fetch(url)).text() - expect(html).toMatch('Hello world') // before hydration - if (isBuild) { - // TODO expect preload links - } -}) - -test('css', async () => { - if (isBuild) { - expect(await getColor('h1')).toBe('green') - } else { - // During dev, the CSS is loaded from async chunk and we may have to wait - // when the test runs concurrently. - await untilUpdated(() => getColor('h1'), 'green') - } -}) - -test('asset', async () => { - // should have no 404s - browserLogs.forEach((msg) => { - expect(msg).not.toMatch('404') - }) - const img = await page.$('img') - expect(await img.getAttribute('src')).toMatch( - isBuild ? /\/assets\/logo\.\w{8}\.svg/ : '/src/assets/logo.svg' - ) -}) - -if (!isBuild) { - describe('hmr', () => { - const updateApp = editFileAndWaitForHmrComplete.bind(null, 'src/App.svelte') - test('should render additional html', async () => { - expect(await getEl('#hmr-test')).toBe(null) - await updateApp((content) => - content.replace( - '', - '
foo
\n' - ) - ) - await expect(await getText(`#hmr-test`)).toBe('foo') - }) - test('should apply style update', async () => { - expect(await getColor(`h1`)).toBe('green') - await updateApp((content) => - content.replace('color: green', 'color: red') - ) - expect(await getColor(`h1`)).toBe('red') - }) - test('should not preserve state of updated props', async () => { - await expect(await getText(`#foo`)).toBe('foo') - await updateApp((content) => - content.replace("foo = 'foo'", "foo = 'bar'") - ) - await expect(await getText(`#foo`)).toBe('bar') - }) - }) -} diff --git a/packages/playground/svite-ssr/index.html b/packages/playground/svite-ssr/index.html deleted file mode 100644 index 87dd669d2..000000000 --- a/packages/playground/svite-ssr/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - Svite App - - - -
- - - diff --git a/packages/playground/svite-ssr/server.js b/packages/playground/svite-ssr/server.js deleted file mode 100644 index 3eae3395c..000000000 --- a/packages/playground/svite-ssr/server.js +++ /dev/null @@ -1,102 +0,0 @@ -// @ts-check -const fs = require('fs') -const path = require('path') -const express = require('express') - -const isTest = process.env.NODE_ENV === 'test' || !!process.env.VITE_TEST_BUILD - -async function createServer( - root = process.cwd(), - isProd = process.env.NODE_ENV === 'production', - _isTest = isTest -) { - const resolve = (p) => path.resolve(__dirname, p) - - const indexProd = isProd - ? fs.readFileSync(resolve('dist/client/index.html'), 'utf-8') - : '' - - const manifest = isProd - ? // @ts-ignore - // eslint-disable-next-line node/no-missing-require - require('./dist/client/ssr-manifest.json') - : {} - - const app = express() - - /** - * @type {import('vite').ViteDevServer} - */ - let vite - if (!isProd) { - const inlineCfg = { - root, - logLevel: _isTest ? 'error' : 'info', - server: { - middlewareMode: true - } - } - if (_isTest) { - inlineCfg.server.watch = { - usePolling: true, - interval: 100 - } - } - // @ts-ignore - vite = await require('vite').createServer(inlineCfg) - // use vite's connect instance as middleware - app.use(vite.middlewares) - } else { - app.use(require('compression')()) - app.use( - require('serve-static')(resolve('dist/client'), { - index: false - }) - ) - } - - app.use('*', async (req, res) => { - try { - const url = req.originalUrl - - let template, render - if (!isProd) { - // always read fresh template in dev - template = fs.readFileSync(resolve('index.html'), 'utf-8') - template = await vite.transformIndexHtml(url, template) - render = (await vite.ssrLoadModule('/src/entry-server.js')).render - } else { - template = indexProd - // @ts-ignore - // eslint-disable-next-line node/no-missing-require - render = require('./dist/server/entry-server.js').render - } - const rendered = await render(req.originalUrl, manifest) - const appHtml = rendered.html - const headElements = rendered.head || '' - // TODO what do we do with rendered.css here. find out if emitCss was used and vite took care of it - const html = template - .replace(``, headElements) - .replace(``, appHtml) - - res.status(200).set({ 'Content-Type': 'text/html' }).end(html) - } catch (e) { - vite && vite.ssrFixStacktrace(e) - console.log(e.stack) - res.status(500).end(e.stack) - } - }) - - return { app, vite } -} - -if (!isTest) { - createServer().then(({ app }) => - app.listen(3000, () => { - console.log('http://localhost:3000') - }) - ) -} - -// for test use -exports.createServer = createServer diff --git a/packages/playground/svite-ssr/src/App.svelte b/packages/playground/svite-ssr/src/App.svelte deleted file mode 100644 index ff32fd7a4..000000000 --- a/packages/playground/svite-ssr/src/App.svelte +++ /dev/null @@ -1,27 +0,0 @@ - - -

Hello {world}

-

Open App.svelte in your editor and change something to see HMR in action

- -logo -
{foo}
- - - - - - - diff --git a/packages/playground/svite-ssr/src/assets/logo.svg b/packages/playground/svite-ssr/src/assets/logo.svg deleted file mode 100644 index e9787bb05..000000000 --- a/packages/playground/svite-ssr/src/assets/logo.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/playground/svite-ssr/src/entry-client.js b/packages/playground/svite-ssr/src/entry-client.js deleted file mode 100644 index 71784f656..000000000 --- a/packages/playground/svite-ssr/src/entry-client.js +++ /dev/null @@ -1,11 +0,0 @@ -import App from './App.svelte' - -const app = new App({ - target: document.getElementById('svite'), - hydrate: true, - props: { - world: 'svite world' - } -}) - -export default app diff --git a/packages/playground/svite-ssr/src/entry-server.js b/packages/playground/svite-ssr/src/entry-server.js deleted file mode 100644 index d730ff4a7..000000000 --- a/packages/playground/svite-ssr/src/entry-server.js +++ /dev/null @@ -1,7 +0,0 @@ -import App from './App.svelte' - -export async function render(url, manifest) { - return App.render({ - name: 'world' - }) -} diff --git a/packages/playground/svite-ssr/vite.config.js b/packages/playground/svite-ssr/vite.config.js deleted file mode 100644 index 60ddf409d..000000000 --- a/packages/playground/svite-ssr/vite.config.js +++ /dev/null @@ -1,12 +0,0 @@ -const { defineConfig } = require('vite') -const svelte = require('@svitejs/vite-plugin-svelte') - -module.exports = defineConfig(({ command, mode }) => { - const isProduction = mode === 'production' - return { - plugins: [svelte()], - build: { - minify: isProduction - } - } -}) diff --git a/packages/playground/vite-ssr/__tests__/serve.js b/packages/playground/vite-ssr/__tests__/serve.js new file mode 100644 index 000000000..4447c52e3 --- /dev/null +++ b/packages/playground/vite-ssr/__tests__/serve.js @@ -0,0 +1,58 @@ +// @ts-check +// this is automtically detected by scripts/jestPerTestSetup.ts and will replace +// the default e2e test serve behavior + +const path = require('path'); + +const port = (exports.port = 9527); + +/** + * @param {string} root + * @param {boolean} isProd + */ +exports.serve = async function serve(root, isProd) { + if (isProd) { + // build first + const { build } = require('vite'); + // client build + await build({ + root, + logLevel: 'error', + build: { + target: 'esnext', + minify: false, + ssrManifest: true, + outDir: 'dist/client' + } + }); + // server build + await build({ + root, + logLevel: 'error', + build: { + target: 'esnext', + ssr: 'src/entry-server.js', + outDir: 'dist/server' + } + }); + } + + const { createServer } = require(path.resolve(root, 'server.js')); + const { app, vite } = await createServer(root, isProd, true); + + return new Promise((resolve, reject) => { + try { + const server = app.listen(port, () => { + resolve({ + // for test teardown + close() { + server.close(); + return vite && vite.close(); + } + }); + }); + } catch (e) { + reject(e); + } + }); +}; diff --git a/packages/playground/vite-ssr/__tests__/svite-ssr.spec.ts b/packages/playground/vite-ssr/__tests__/svite-ssr.spec.ts new file mode 100644 index 000000000..98d1ec154 --- /dev/null +++ b/packages/playground/vite-ssr/__tests__/svite-ssr.spec.ts @@ -0,0 +1,71 @@ +import { + editFileAndWaitForHmrComplete, + getColor, + getEl, + getText, + isBuild, + untilUpdated +} from '../../testUtils'; +import { port } from './serve'; +import fetch from 'node-fetch'; + +const url = `http://localhost:${port}`; + +test('/', async () => { + await page.goto(url); + + expect(await page.textContent('h1')).toMatch('Hello svelte world'); // after hydration + + const html = await (await fetch(url)).text(); + expect(html).toMatch('Hello world'); // before hydration + if (isBuild) { + // TODO expect preload links + } +}); + +test('css', async () => { + if (isBuild) { + expect(await getColor('h1')).toBe('green'); + } else { + // During dev, the CSS is loaded from async chunk and we may have to wait + // when the test runs concurrently. + await untilUpdated(() => getColor('h1'), 'green'); + } +}); + +test('asset', async () => { + // should have no 404s + browserLogs.forEach((msg) => { + expect(msg).not.toMatch('404'); + }); + const img = await page.$('img'); + expect(await img.getAttribute('src')).toMatch( + isBuild ? /\/assets\/logo\.\w{8}\.png/ : '/src/assets/logo.png' + ); +}); + +if (!isBuild) { + describe('hmr', () => { + const updateApp = editFileAndWaitForHmrComplete.bind(null, 'src/App.svelte'); + test('should render additional html', async () => { + expect(await getEl('#hmr-test')).toBe(null); + await updateApp((content) => + content.replace( + '', + '
foo
\n' + ) + ); + await expect(await getText(`#hmr-test`)).toBe('foo'); + }); + test('should apply style update', async () => { + expect(await getColor(`h1`)).toBe('green'); + await updateApp((content) => content.replace('color: green', 'color: red')); + expect(await getColor(`h1`)).toBe('red'); + }); + test('should not preserve state of updated props', async () => { + await expect(await getText(`#foo`)).toBe('foo'); + await updateApp((content) => content.replace("foo = 'foo'", "foo = 'bar'")); + await expect(await getText(`#foo`)).toBe('bar'); + }); + }); +} diff --git a/packages/playground/vite-ssr/index.html b/packages/playground/vite-ssr/index.html new file mode 100644 index 000000000..c60ac7f81 --- /dev/null +++ b/packages/playground/vite-ssr/index.html @@ -0,0 +1,13 @@ + + + + + + Svelte App + + + +
+ + + diff --git a/packages/playground/svite-ssr/package.json b/packages/playground/vite-ssr/package.json similarity index 88% rename from packages/playground/svite-ssr/package.json rename to packages/playground/vite-ssr/package.json index 34f323053..0c14dae09 100644 --- a/packages/playground/svite-ssr/package.json +++ b/packages/playground/vite-ssr/package.json @@ -1,5 +1,5 @@ { - "name": "test-svite-ssr", + "name": "playground-vite-ssr", "private": true, "version": "0.0.0", "scripts": { @@ -14,7 +14,7 @@ }, "devDependencies": { - "@svitejs/vite-plugin-svelte": "workspace:*", + "@sveltejs/vite-plugin-svelte": "workspace:*", "compression": "^1.7.4", "cross-env": "^7.0.3", "express": "^4.17.1", diff --git a/packages/playground/vite-ssr/server.js b/packages/playground/vite-ssr/server.js new file mode 100644 index 000000000..286e88799 --- /dev/null +++ b/packages/playground/vite-ssr/server.js @@ -0,0 +1,100 @@ +// @ts-check +const fs = require('fs'); +const path = require('path'); +const express = require('express'); + +const isTest = process.env.NODE_ENV === 'test' || !!process.env.VITE_TEST_BUILD; + +async function createServer( + root = process.cwd(), + isProd = process.env.NODE_ENV === 'production', + _isTest = isTest +) { + const resolve = (p) => path.resolve(__dirname, p); + + const indexProd = isProd ? fs.readFileSync(resolve('dist/client/index.html'), 'utf-8') : ''; + + const manifest = isProd + ? // @ts-ignore + // eslint-disable-next-line node/no-missing-require + require('./dist/client/ssr-manifest.json') + : {}; + + const app = express(); + + /** + * @type {import('vite').ViteDevServer} + */ + let vite; + if (!isProd) { + const inlineCfg = { + root, + logLevel: _isTest ? 'error' : 'info', + server: { + middlewareMode: true + } + }; + if (_isTest) { + inlineCfg.server.watch = { + usePolling: true, + interval: 100 + }; + } + // @ts-ignore + vite = await require('vite').createServer(inlineCfg); + // use vite's connect instance as middleware + app.use(vite.middlewares); + } else { + app.use(require('compression')()); + app.use( + require('serve-static')(resolve('dist/client'), { + index: false + }) + ); + } + + app.use('*', async (req, res) => { + try { + const url = req.originalUrl; + + let template, render; + if (!isProd) { + // always read fresh template in dev + template = fs.readFileSync(resolve('index.html'), 'utf-8'); + template = await vite.transformIndexHtml(url, template); + render = (await vite.ssrLoadModule('/src/entry-server.js')).render; + } else { + template = indexProd; + // @ts-ignore + // eslint-disable-next-line node/no-missing-require + render = require('./dist/server/entry-server.js').render; + } + const rendered = await render(req.originalUrl, manifest); + const appHtml = rendered.html; + const headElements = rendered.head || ''; + // TODO what do we do with rendered.css here. find out if emitCss was used and vite took care of it + const html = template + .replace(``, headElements) + .replace(``, appHtml); + + res.status(200).set({ 'Content-Type': 'text/html' }).end(html); + } catch (e) { + vite && vite.ssrFixStacktrace(e); + console.log(e.stack); + res.status(500).end(e.stack); + } + }); + + return { app, vite }; +} + +if (!isTest) { + createServer().then(({ app }) => + app.listen(3000, () => { + console.log('http://localhost:3000'); + }) + ); +} + +// for test use +exports.createServer = createServer; diff --git a/packages/playground/vite-ssr/src/App.svelte b/packages/playground/vite-ssr/src/App.svelte new file mode 100644 index 000000000..29c4eb423 --- /dev/null +++ b/packages/playground/vite-ssr/src/App.svelte @@ -0,0 +1,27 @@ + + +

Hello {world}

+

Open App.svelte in your editor and change something to see HMR in action

+ +logo +
{foo}
+ + + + + + + diff --git a/packages/playground/vite-ssr/src/assets/logo.png b/packages/playground/vite-ssr/src/assets/logo.png new file mode 100644 index 000000000..7e6f5eb5a Binary files /dev/null and b/packages/playground/vite-ssr/src/assets/logo.png differ diff --git a/packages/playground/svite-ssr/src/components/Foo.svelte b/packages/playground/vite-ssr/src/components/Foo.svelte similarity index 68% rename from packages/playground/svite-ssr/src/components/Foo.svelte rename to packages/playground/vite-ssr/src/components/Foo.svelte index 0cdba41a1..b4d22df46 100644 --- a/packages/playground/svite-ssr/src/components/Foo.svelte +++ b/packages/playground/vite-ssr/src/components/Foo.svelte @@ -1,12 +1,12 @@
Foo bar={bar}
diff --git a/packages/playground/vite-ssr/src/entry-client.js b/packages/playground/vite-ssr/src/entry-client.js new file mode 100644 index 000000000..3388c5359 --- /dev/null +++ b/packages/playground/vite-ssr/src/entry-client.js @@ -0,0 +1,11 @@ +import App from './App.svelte'; + +const app = new App({ + target: document.getElementById('svelte'), + hydrate: true, + props: { + world: 'svelte world' + } +}); + +export default app; diff --git a/packages/playground/vite-ssr/src/entry-server.js b/packages/playground/vite-ssr/src/entry-server.js new file mode 100644 index 000000000..71cd94d45 --- /dev/null +++ b/packages/playground/vite-ssr/src/entry-server.js @@ -0,0 +1,7 @@ +import App from './App.svelte'; + +export async function render(url, manifest) { + return App.render({ + name: 'world' + }); +} diff --git a/packages/playground/vite-ssr/vite.config.js b/packages/playground/vite-ssr/vite.config.js new file mode 100644 index 000000000..aa0f8087d --- /dev/null +++ b/packages/playground/vite-ssr/vite.config.js @@ -0,0 +1,13 @@ +const { defineConfig } = require('vite'); +const svelte = require('@sveltejs/vite-plugin-svelte'); + +module.exports = defineConfig(({ command, mode }) => { + const isProduction = mode === 'production'; + return { + plugins: [svelte()], + build: { + minify: isProduction, + assetsInlineLimit: 0 + } + }; +}); diff --git a/packages/playground/windicss/index.html b/packages/playground/windicss/index.html index 3b6ffd50f..b0cdddee7 100644 --- a/packages/playground/windicss/index.html +++ b/packages/playground/windicss/index.html @@ -1,12 +1,12 @@ - - - - - Svelte App - - - - + + + + + Svelte App + + + + diff --git a/packages/playground/windicss/package.json b/packages/playground/windicss/package.json index 1cc6bd8bd..429a75172 100644 --- a/packages/playground/windicss/package.json +++ b/packages/playground/windicss/package.json @@ -1,5 +1,5 @@ { - "name": "svite-windicss", + "name": "playground-windicss", "version": "0.0.0", "scripts": { "dev": "vite", @@ -10,7 +10,7 @@ "windicss": "^2.4.7" }, "devDependencies": { - "@svitejs/vite-plugin-svelte": "workspace:*", + "@sveltejs/vite-plugin-svelte": "workspace:*", "svelte": "^3.35.0", "svelte-hmr": "^0.13.0", "vite": "^2.1.0", diff --git a/packages/playground/windicss/public/favicon.png b/packages/playground/windicss/public/favicon.png new file mode 100644 index 000000000..7e6f5eb5a Binary files /dev/null and b/packages/playground/windicss/public/favicon.png differ diff --git a/packages/playground/windicss/public/favicon.svg b/packages/playground/windicss/public/favicon.svg deleted file mode 100644 index e9787bb05..000000000 --- a/packages/playground/windicss/public/favicon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/playground/windicss/vite.config.js b/packages/playground/windicss/vite.config.js index c407a1c35..133eee936 100644 --- a/packages/playground/windicss/vite.config.js +++ b/packages/playground/windicss/vite.config.js @@ -1,19 +1,19 @@ -const svelte = require('@svitejs/vite-plugin-svelte') -const { defineConfig } = require('vite') -const vitePluginWindicss = require('vite-plugin-windicss').default +const svelte = require('@sveltejs/vite-plugin-svelte'); +const { defineConfig } = require('vite'); +const vitePluginWindicss = require('vite-plugin-windicss').default; module.exports = defineConfig(({ command, mode }) => { - const isProduction = mode === 'production' - return { - plugins: [ - // uses enforce: pre - svelte(), - vitePluginWindicss({ - transformCSS: 'pre' - }) - ], - build: { - minify: isProduction - } - } -}) + const isProduction = mode === 'production'; + return { + plugins: [ + // uses enforce: pre + svelte(), + vitePluginWindicss({ + transformCSS: 'pre' + }) + ], + build: { + minify: isProduction + } + }; +}); diff --git a/packages/svite/CHANGELOG.md b/packages/svite/CHANGELOG.md deleted file mode 100644 index f4b6857ee..000000000 --- a/packages/svite/CHANGELOG.md +++ /dev/null @@ -1,21 +0,0 @@ -# [0.9.0-4](https://github.com/svitejs/svite/compare/svite@0.9.0-3...svite@0.9.0-4) (2021-03-13) - - -### Bug Fixes - -* **svite:** avoid duplicate help output of cli ([8b96d7f](https://github.com/svitejs/svite/commit/8b96d7f2639f8d63d3b07284403e204f835a09b4)) - - - -# [0.9.0-3](https://github.com/svitejs/svite/compare/svite@0.9.0-2...svite@0.9.0-3) (2021-03-13) - - - -# [0.9.0-2](https://github.com/svitejs/svite/compare/svite@0.9.0-1...svite@0.9.0-2) (2021-03-07) - - - -# 0.9.0-1 (2021-03-03) - - - diff --git a/packages/svite/LICENSE b/packages/svite/LICENSE deleted file mode 100644 index c7da5e26e..000000000 --- a/packages/svite/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 svitejs - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/packages/svite/README.md b/packages/svite/README.md deleted file mode 100644 index 84dca83de..000000000 --- a/packages/svite/README.md +++ /dev/null @@ -1,52 +0,0 @@ -# svite - -This is the new svite for vite2. It is still a work in progress. Feedback is welcome - -Currently there is only one command for the cli to create new projects from templates. -Unlike svite 0.8, it does not initialize git or install anything - -## get started - -```shell -npx svite create my-svite-project -cd my-svite-project -npm install -npm run dev -npm run build -``` - -## cli - -```shell -svite --help -svite create --help -svite create my-svite-project -``` - -### svite create - -``` -Usage: - $ svite create [targetDir] - -Options: - --t, --template template for new project. ["minimal","routify-mdsvex","windicss","preprocess-auto"] (default: minimal) - --ts, --typescript enable typescript support for svelte (default: false) - -f, --force force operation even if targetDir exists and is not empty (default: false) - -d, --debug more verbose logging (default: false) - -h, --help Display this message - -v, --version Display version number -``` - -# Migration from 0.8 - -- install `vite@2` and `@svitejs/vite-plugin-svelte` -- Update or add `vite.config.js` - - use the pattern described in the [readme](../vite-plugin-svelte/README.md) of the new vite-plugin-svelte - - remove old svite options - - read vite2 documentation on https://vitejs.dev - - add any svelte library you use to `optimizeDeps.exclude=[]` in `vite.config.js` -- remove `svite` from dependencies -- update package.json scripts to use `vite dev` and `vite build` instead of `svite dev` and `svite build` - -# TODO more docs diff --git a/packages/svite/api-extractor.json b/packages/svite/api-extractor.json deleted file mode 100644 index df6d6f9a4..000000000 --- a/packages/svite/api-extractor.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - - "projectFolder": ".", - - "mainEntryPointFilePath": "./temp/index.d.ts", - - "dtsRollup": { - "enabled": true, - "untrimmedFilePath": "./dist/index.d.ts" - }, - - "apiReport": { - "enabled": false - }, - - "docModel": { - "enabled": false - }, - - "tsdocMetadata": { - "enabled": false - }, - - "messages": { - "compilerMessageReporting": { - "default": { - "logLevel": "warning" - } - }, - - "extractorMessageReporting": { - "default": { - "logLevel": "warning", - "addToApiReportFile": true - }, - - "ae-missing-release-tag": { - "logLevel": "none" - } - }, - - "tsdocMessageReporting": { - "default": { - "logLevel": "warning" - }, - - "tsdoc-undefined-tag": { - "logLevel": "none" - } - } - } -} diff --git a/packages/svite/bin/svite.js b/packages/svite/bin/svite.js deleted file mode 100755 index 0112ff0e6..000000000 --- a/packages/svite/bin/svite.js +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env node -require('../dist/cli/svite') diff --git a/packages/svite/package.json b/packages/svite/package.json deleted file mode 100644 index 7029e51f5..000000000 --- a/packages/svite/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "svite", - "version": "0.9.0-4", - "license": "MIT", - "author": "dominikg", - "bin": { - "svite": "bin/svite.js" - }, - "types": "dist/index.d.ts", - "files": [ - "bin", - "dist", - "index.d.ts" - ], - "scripts": { - "dev": "tsc -p . -w --incremental", - "build": "rimraf dist && run-s build-bundle build-types", - "build-bundle": "node scripts/build-bundle.js", - "build-types": "tsc -p . --emitDeclarationOnly --outDir temp && api-extractor run && rimraf temp", - "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s --commit-path . --lerna-package svite", - "release": "node ../../scripts/release.js" - }, - "engines": { - "node": ">=12.0.0" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/svitejs/svite.git" - }, - "keywords": [ - "svelte", - "svite", - "vite" - ], - "bugs": { - "url": "https://github.com/svitejs/svite/issues" - }, - "homepage": "https://github.com/svitejs/svite/tree/main/packages/svite#readme", - "dependencies": { - "cac": "^6.7.2", - "chalk": "^4.1.0", - "degit": "^2.8.0", - "execa": "^5.0.0" - }, - "peerDependencies": {}, - "devDependencies": { - "@types/node": "^14.14.35", - "esbuild": "^0.9.2" - } -} diff --git a/packages/svite/scripts/build-bundle.js b/packages/svite/scripts/build-bundle.js deleted file mode 100644 index e569ceba2..000000000 --- a/packages/svite/scripts/build-bundle.js +++ /dev/null @@ -1,31 +0,0 @@ -const path = require('path') -const esbuild = require('esbuild') -const pkg = require(path.join(__dirname, '..', 'package.json')) - -const external = [].concat( - Object.keys(pkg.dependencies || {}), - Object.keys(pkg.peerDependencies || {}), - Object.keys(pkg.devDependencies || {}), - Object.keys(pkg.optionalDependencies || {}), - Object.keys(process.binding('natives')) -) - -const buildOptions = { - platform: 'node', - target: 'node12', - entryPoints: ['src/cli/svite.ts', 'src/index.ts'], - outdir: 'dist', - bundle: true, - external, - logLevel: 'info', - tsconfig: path.join(__dirname, '..', 'tsconfig.json') -} -const main = async () => { - console.log(`bundling ${pkg.name} with esbuild`) - await esbuild.build(buildOptions) -} - -main().then(null, (err) => { - console.error('esbuild failed', err) - process.exit(1) -}) diff --git a/packages/svite/src/cli/create.ts b/packages/svite/src/cli/create.ts deleted file mode 100644 index 76fc992e7..000000000 --- a/packages/svite/src/cli/create.ts +++ /dev/null @@ -1,97 +0,0 @@ -import * as path from 'path' -import * as fs from 'fs' -// @ts-ignore -import { repository } from '../../package.json' -// @ts-ignore -import { version as vitePluginSvelteVersion } from '../../../vite-plugin-svelte/package.json' -const templatesPath = 'packages/templates' -const log = console - -async function updatePkg(dir: string) { - try { - const pkgFile = path.join(dir, 'package.json') - const pkg = require(pkgFile) - pkg.name = path.basename(dir) - pkg.devDependencies[ - '@svitejs/vite-plugin-svelte' - ] = `^${vitePluginSvelteVersion}` - fs.writeFileSync(pkgFile, JSON.stringify(pkg, null, 2)) - } catch (e) { - log.error('failed to update package.json', e) - throw e - } -} - -async function addVsCodePluginRecommendation(dir: string) { - fs.mkdirSync(path.join(dir, '.vscode')) - // TODO suggest other extensions like windicss - fs.writeFileSync( - path.join(dir, '.vscode', 'extensions.json'), - `{ - "recommendations": ["svelte.svelte-vscode"] -} -` - ) -} - -export interface CreateOptions { - targetDir: string - template: string - typescript: boolean - force: boolean - debug: boolean -} - -export const templates = [ - 'minimal', - 'routify-mdsvex', - 'windicss', - 'preprocess-auto' -] - -export async function create(options: CreateOptions) { - let template = options.template - - if (!templates.includes(template)) { - log.error( - `invalid template ${template}. Valid: ${JSON.stringify(templates)}` - ) - return - } - if (options.typescript) { - template = `${template}-ts` - } - const targetDir = path.join( - process.cwd(), - options.targetDir || `svite-${template.replace('/', '-')}` - ) - - const degit = require('degit') - const githubRepo = repository.url.match(/github\.com\/(.*).git/)[1] - - const degitPath = `${githubRepo}/${templatesPath}/${template}#main` - const degitOptions = { - force: options.force, - verbose: options.debug, - mode: 'tar' - } - if (options.debug) { - log.debug(`degit ${degitPath}`, degitOptions) - } - const emitter = degit(degitPath, degitOptions) - - emitter.on('info', (info: any) => { - log.info(info.message) - }) - emitter.on('warn', (warning: any) => { - log.warn(warning.message) - }) - emitter.on('error', (error: any) => { - log.error(error.message, error) - }) - - await emitter.clone(targetDir) - await updatePkg(targetDir) - await addVsCodePluginRecommendation(targetDir) - log.info(`created ${targetDir}`) -} diff --git a/packages/svite/src/cli/svite.ts b/packages/svite/src/cli/svite.ts deleted file mode 100644 index 6fc538999..000000000 --- a/packages/svite/src/cli/svite.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { cac } from 'cac' -// @ts-ignore -import { version } from '../../package.json' -import { create, CreateOptions, templates } from './create' - -const cli = cac('svite') - -cli - .command( - 'create [targetDir]', - 'create a new project. If you do not specify targetDir, "./svite-