diff --git a/bobtemplates/plone/svelte_app.py b/bobtemplates/plone/svelte_app.py
index 9b72c742e..0d221fcc0 100644
--- a/bobtemplates/plone/svelte_app.py
+++ b/bobtemplates/plone/svelte_app.py
@@ -46,7 +46,7 @@ def _update_configure_zcml(configurator):
match_str = "-*- extra stuff goes here -*-"
insert_str = """
@@ -73,13 +73,13 @@ def post_renderer(configurator):
run_black(configurator)
git_commit(
configurator,
- "Add Svelte app: in svelte_apps/{0}".format(
+ "Add Svelte app: in apps/{0}".format(
configurator.variables["svelte_app_name"],
),
)
echo(
"===================================================\n"
- "=> Sucessfully added: {0} in svelte_apps/{1} \n"
+ "=> Sucessfully added: {0} in apps/{1} \n"
"=> you might want to go into the dir and run:\n"
"$ yarn\n"
"and then:"
diff --git a/bobtemplates/plone/svelte_app/svelte_src/+svelte_app_name_dashed+/.gitignore b/bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/.gitignore
similarity index 100%
rename from bobtemplates/plone/svelte_app/svelte_src/+svelte_app_name_dashed+/.gitignore
rename to bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/.gitignore
diff --git a/bobtemplates/plone/svelte_app/svelte_src/+svelte_app_name_dashed+/README.md.bob b/bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/README.md.bob
similarity index 100%
rename from bobtemplates/plone/svelte_app/svelte_src/+svelte_app_name_dashed+/README.md.bob
rename to bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/README.md.bob
diff --git a/bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/jsconfig.json b/bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/jsconfig.json
new file mode 100644
index 000000000..5696a2de7
--- /dev/null
+++ b/bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/jsconfig.json
@@ -0,0 +1,32 @@
+{
+ "compilerOptions": {
+ "moduleResolution": "bundler",
+ "target": "ESNext",
+ "module": "ESNext",
+ /**
+ * svelte-preprocess cannot figure out whether you have
+ * a value or a type, so tell TypeScript to enforce using
+ * `import type` instead of `import` for Types.
+ */
+ "verbatimModuleSyntax": true,
+ "isolatedModules": true,
+ "resolveJsonModule": true,
+ /**
+ * To have warnings / errors of the Svelte compiler at the
+ * correct position, enable source maps by default.
+ */
+ "sourceMap": true,
+ "esModuleInterop": true,
+ "skipLibCheck": true,
+ /**
+ * Typecheck JS in `.svelte` and `.js` files by default.
+ * Disable this if you'd like to use dynamic types.
+ */
+ "checkJs": true
+ },
+ /**
+ * Use global.d.ts instead of compilerOptions.types
+ * to avoid limiting type declarations.
+ */
+ "include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.svelte"]
+}
diff --git a/bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/package.json.bob b/bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/package.json.bob
new file mode 100644
index 000000000..d2538550d
--- /dev/null
+++ b/bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/package.json.bob
@@ -0,0 +1,17 @@
+{
+ "name": "{{{ svelte_app_name }}}",
+ "private": true,
+ "version": "0.0.1",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build",
+ "watch": "vite build --watch",
+ "preview": "vite preview"
+ },
+ "devDependencies": {
+ "@sveltejs/vite-plugin-svelte": "^2.4.2",
+ "svelte": "^4.0.5",
+ "vite": "^4.4.5"
+ }
+}
diff --git a/bobtemplates/plone/svelte_app/svelte_src/+svelte_app_name_dashed+/scripts/setupTypeScript.js b/bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/scripts/setupTypeScript.js
similarity index 100%
rename from bobtemplates/plone/svelte_app/svelte_src/+svelte_app_name_dashed+/scripts/setupTypeScript.js
rename to bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/scripts/setupTypeScript.js
diff --git a/bobtemplates/plone/svelte_app/svelte_src/+svelte_app_name_dashed+/src/App.svelte.bob b/bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/src/App.svelte.bob
similarity index 100%
rename from bobtemplates/plone/svelte_app/svelte_src/+svelte_app_name_dashed+/src/App.svelte.bob
rename to bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/src/App.svelte.bob
diff --git a/bobtemplates/plone/svelte_app/svelte_src/+svelte_app_name_dashed+/src/main.js.bob b/bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/src/main.js.bob
similarity index 100%
rename from bobtemplates/plone/svelte_app/svelte_src/+svelte_app_name_dashed+/src/main.js.bob
rename to bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/src/main.js.bob
diff --git a/bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/svelte.config.js.bob b/bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/svelte.config.js.bob
new file mode 100644
index 000000000..d6b72ed53
--- /dev/null
+++ b/bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/svelte.config.js.bob
@@ -0,0 +1,10 @@
+import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'
+
+export default {
+ // Consult https://svelte.dev/docs#compile-time-svelte-preprocess
+ // for more information about preprocessors
+ preprocess: vitePreprocess(),
+ compilerOptions: {
+ css: "external",
+ },
+}
diff --git a/bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/vite.config.js.bob b/bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/vite.config.js.bob
new file mode 100644
index 000000000..6a0423e3c
--- /dev/null
+++ b/bobtemplates/plone/svelte_app/resources/+svelte_app_name_dashed+/vite.config.js.bob
@@ -0,0 +1,23 @@
+import { defineConfig } from 'vite'
+import { svelte } from '@sveltejs/vite-plugin-svelte'
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ build: {
+ manifest: true,
+ rollupOptions: {
+ input: 'src/main.js',
+ output: {
+ entryFileNames: `assets/{{{ svelte_app_name_dashed }}}-[name].js`,
+ // chunkFileNames: `assets/[name].js`,
+ // assetFileNames: `assets/[name].[ext]`,
+ sourcemap: true,
+ format: 'iife',
+ name: '{{{ svelte_app_file_name }}}',
+ dir: '../../src/{{{ package.namespace }}}/{{{ package.name }}}/apps/{{{ svelte_app_name_dashed }}}/'
+ },
+ }
+ },
+ base: '../../src/{{{ package.namespace }}}/{{{ package.name }}}/apps/{{{ svelte_app_name_dashed }}}/',
+ plugins: [svelte()],
+})
diff --git a/bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/svelte_apps/+svelte_app_name_dashed+/README.md.bob b/bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/apps/+svelte_app_name_dashed+/README.md.bob
similarity index 100%
rename from bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/svelte_apps/+svelte_app_name_dashed+/README.md.bob
rename to bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/apps/+svelte_app_name_dashed+/README.md.bob
diff --git a/bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/svelte_apps/+svelte_app_name_dashed+/favicon.png b/bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/apps/+svelte_app_name_dashed+/favicon.png
similarity index 100%
rename from bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/svelte_apps/+svelte_app_name_dashed+/favicon.png
rename to bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/apps/+svelte_app_name_dashed+/favicon.png
diff --git a/bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/svelte_apps/+svelte_app_name_dashed+/global.css b/bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/apps/+svelte_app_name_dashed+/global.css
similarity index 100%
rename from bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/svelte_apps/+svelte_app_name_dashed+/global.css
rename to bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/apps/+svelte_app_name_dashed+/global.css
diff --git a/bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/svelte_apps/+svelte_app_name_dashed+/index.html.bob b/bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/apps/+svelte_app_name_dashed+/index.html.bob
similarity index 100%
rename from bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/svelte_apps/+svelte_app_name_dashed+/index.html.bob
rename to bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/apps/+svelte_app_name_dashed+/index.html.bob
diff --git a/bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/profiles/default/registry/+svelte_app_file_name+.xml.bob b/bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/profiles/default/registry/+svelte_app_file_name+.xml.bob
index 2c7a55b4f..d192ab996 100644
--- a/bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/profiles/default/registry/+svelte_app_file_name+.xml.bob
+++ b/bobtemplates/plone/svelte_app/src/+package.namespace+/+package.name+/profiles/default/registry/+svelte_app_file_name+.xml.bob
@@ -1,4 +1,4 @@
-
+t
@@ -8,8 +8,8 @@
True
True
False
- ++plone++{{{ package.dottedname }}}.svelte/{{{ svelte_app_name_dashed }}}/{{{ svelte_app_name_dashed }}}-bundle.js
- ++plone++{{{ package.dottedname }}}.svelte/{{{ svelte_app_name_dashed }}}/{{{ svelte_app_name_dashed }}}-bundle.css
+ ++plone++{{{ package.dottedname }}}.svelte/{{{ svelte_app_name_dashed }}}/assets/{{{ svelte_app_name_dashed }}}-main.js
+
2020-10-29 22:00:00
@@ -25,8 +25,10 @@
-
+
+ -->
diff --git a/bobtemplates/plone/svelte_app/svelte_src/+svelte_app_name_dashed+/package.json b/bobtemplates/plone/svelte_app/svelte_src/+svelte_app_name_dashed+/package.json
deleted file mode 100644
index 6debef6a6..000000000
--- a/bobtemplates/plone/svelte_app/svelte_src/+svelte_app_name_dashed+/package.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "name": "svelte-app",
- "version": "1.0.0",
- "scripts": {
- "build": "rollup -c",
- "dev": "rollup -c -w",
- "start": "sirv public"
- },
- "devDependencies": {
- "@rollup/plugin-commonjs": "^14.0.0",
- "@rollup/plugin-node-resolve": "^8.0.0",
- "rollup": "^2.3.4",
- "rollup-plugin-livereload": "^2.0.0",
- "rollup-plugin-svelte": "^6.0.0",
- "rollup-plugin-terser": "^7.0.0",
- "rollup-plugin-serve": "^1.1.0",
- "svelte": "^3.0.0"
- },
- "dependencies": {
- "sirv-cli": "^1.0.0"
- }
-}
diff --git a/bobtemplates/plone/svelte_app/svelte_src/+svelte_app_name_dashed+/rollup.config.js.bob b/bobtemplates/plone/svelte_app/svelte_src/+svelte_app_name_dashed+/rollup.config.js.bob
deleted file mode 100644
index 57f2f6bc7..000000000
--- a/bobtemplates/plone/svelte_app/svelte_src/+svelte_app_name_dashed+/rollup.config.js.bob
+++ /dev/null
@@ -1,68 +0,0 @@
-import commonjs from '@rollup/plugin-commonjs';
-import livereload from 'rollup-plugin-livereload';
-import resolve from '@rollup/plugin-node-resolve';
-import serve from 'rollup-plugin-serve'
-import svelte from 'rollup-plugin-svelte';
-import { terser } from 'rollup-plugin-terser';
-
-const production = !process.env.ROLLUP_WATCH;
-
-
-export default {
- input: 'src/main.js',
- output: {
- sourcemap: true,
- format: 'iife',
- name: '{{{ svelte_app_file_name }}}',
- file: '../../src/{{{ package.namespace }}}/{{{ package.name }}}/svelte_apps/{{{ svelte_app_name_dashed }}}/{{{ svelte_app_name_dashed }}}-bundle.js'
- },
- plugins: [
- svelte({
- /// enables compiling to native customElement (webcomponent):
-{{% if svelte_app_custom_element %}}
- customElement: true,
-{{% else %}}
- customElement: false,
-{{% endif %}}
- // enable run-time checks when not in production
- dev: !production,
- // we'll extract any component CSS out into
- // a separate file - better for performance
- css: css => {
- css.write('{{{ svelte_app_name_dashed }}}-bundle.css');
- }
- }),
-
- // If you have external dependencies installed from
- // npm, you'll most likely need these plugins. In
- // some cases you'll need additional configuration -
- // consult the documentation for details:
- // https://github.com/rollup/plugins/tree/master/packages/commonjs
- resolve({
- browser: true,
- dedupe: ['svelte']
- }),
- commonjs(),
-
- // In dev mode, call `npm run start` once
- // the bundle has been generated
- !production && serve({
- contentBase: '../../src/{{{ package.namespace }}}/{{{ package.name }}}/svelte_apps/{{{ svelte_app_name_dashed }}}',
- open: true
- }),
-
- // Watch the `public` directory and refresh the
- // browser on changes when not in production
- !production && livereload({
- verbose: false,
- watch: '../../src/{{{ package.namespace }}}/{{{ package.name }}}/svelte_apps/{{{ svelte_app_name_dashed }}}'
- }),
-
- // If we're building for production (npm run build
- // instead of npm run dev), minify
- production && terser()
- ],
- watch: {
- clearScreen: false
- }
-};