-
-
+
+
- Svelte app
+ Svelte app
-
-
-
+
+
+
-
+
diff --git a/rollup.config.js b/rollup.config.js
index 1cf4881..9771f13 100644
--- a/rollup.config.js
+++ b/rollup.config.js
@@ -10,74 +10,74 @@ import css from 'rollup-plugin-css-only';
const production = !process.env.ROLLUP_WATCH;
function serve() {
- let server;
+ let server;
- function toExit() {
- if (server) server.kill(0);
- }
+ function toExit() {
+ if (server) server.kill(0);
+ }
- return {
- writeBundle() {
- if (server) return;
- server = require('child_process').spawn('npm', ['run', 'start', '--', '--dev'], {
- stdio: ['ignore', 'inherit', 'inherit'],
- shell: true
- });
+ return {
+ writeBundle() {
+ if (server) return;
+ server = require('child_process').spawn('npm', ['run', 'start', '--', '--dev'], {
+ stdio: ['ignore', 'inherit', 'inherit'],
+ shell: true
+ });
- process.on('SIGTERM', toExit);
- process.on('exit', toExit);
- }
- };
+ process.on('SIGTERM', toExit);
+ process.on('exit', toExit);
+ }
+ };
}
export default {
- input: 'src/main.ts',
- output: {
- sourcemap: true,
- format: 'iife',
- name: 'app',
- file: 'public/build/bundle.js'
- },
- plugins: [
- svelte({
- preprocess: sveltePreprocess({ sourceMap: !production }),
- compilerOptions: {
- // 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({ output: 'bundle.css' }),
+ input: 'src/main.ts',
+ output: {
+ sourcemap: true,
+ format: 'iife',
+ name: 'app',
+ file: 'public/build/bundle.js'
+ },
+ plugins: [
+ svelte({
+ preprocess: sveltePreprocess({ sourceMap: !production }),
+ compilerOptions: {
+ // 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({ output: '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(),
- typescript({
- sourceMap: !production,
- inlineSources: !production
- }),
+ // 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(),
+ typescript({
+ sourceMap: !production,
+ inlineSources: !production
+ }),
- // In dev mode, call `npm run start` once
- // the bundle has been generated
- !production && serve(),
+ // In dev mode, call `npm run start` once
+ // the bundle has been generated
+ !production && serve(),
- // Watch the `public` directory and refresh the
- // browser on changes when not in production
- !production && livereload('public'),
+ // Watch the `public` directory and refresh the
+ // browser on changes when not in production
+ !production && livereload('public'),
- // If we're building for production (npm run build
- // instead of npm run dev), minify
- production && terser()
- ],
- watch: {
- clearScreen: false
- }
+ // If we're building for production (npm run build
+ // instead of npm run dev), minify
+ production && terser()
+ ],
+ watch: {
+ clearScreen: false
+ }
};
diff --git a/src/App.svelte b/src/App.svelte
index 1904312..66a62ab 100644
--- a/src/App.svelte
+++ b/src/App.svelte
@@ -2,7 +2,7 @@
import * as EmailValidator from 'email-validator'
import Slug from 'slug'
- export let name: string;
+ export let name: string;
export let email: string;
export let slug: string;
export let bio: string;
@@ -29,7 +29,7 @@
}
// Validate email formatting
- if (!EmailValidator.validate(email)) {
+ if (email && !EmailValidator.validate(email)) {
errors.push(`"${email}" is not a valid email address`)
}
@@ -82,8 +82,8 @@
-
Ghost User Maker
-
Enter your new author details below. Once done, click on the "Generate" button to receive a special file that you can import to Ghost to add the author details to the "staff". This will let you select them as the author when publishing a post.
+
Ghost User Maker
+
Enter your new author details below. Once done, click on the "Generate" button to receive a special file that you can import to Ghost to add the author details to the "staff". This will let you select them as the author when publishing a post.