diff --git a/.env_dev b/.env_dev deleted file mode 100644 index a6640b8..0000000 --- a/.env_dev +++ /dev/null @@ -1,5 +0,0 @@ -DB_HOST=localhost -DB_PORT=3306 -DB_USER=mm_admin -DB_PASSWORD=god_not_mammon -DB_CONNECTION_LIMIT=3 \ No newline at end of file diff --git a/rollup.config.js b/rollup.config.js deleted file mode 100644 index c0a9787..0000000 --- a/rollup.config.js +++ /dev/null @@ -1,127 +0,0 @@ -import path from 'path'; -import resolve from '@rollup/plugin-node-resolve'; -import replace from '@rollup/plugin-replace'; -import commonjs from '@rollup/plugin-commonjs'; -import url from '@rollup/plugin-url'; -import svelte from 'rollup-plugin-svelte'; -import babel from '@rollup/plugin-babel'; -import { terser } from 'rollup-plugin-terser'; -import config from 'sapper/config/rollup.js'; -import pkg from './package.json'; - -const mode = process.env.NODE_ENV; -const dev = mode === 'development'; -const legacy = !!process.env.SAPPER_LEGACY_BUILD; - -const onwarn = (warning, onwarn) => - (warning.code === 'MISSING_EXPORT' && /'preload'/.test(warning.message)) || - (warning.code === 'CIRCULAR_DEPENDENCY' && /[/\\]@sapper[/\\]/.test(warning.message)) || - onwarn(warning); - -export default { - client: { - input: config.client.input(), - output: config.client.output(), - plugins: [ - replace({ - preventAssignment: true, - values:{ - 'process.browser': true, - 'process.env.NODE_ENV': JSON.stringify(mode) - }, - }), - svelte({ - compilerOptions: { - dev, - hydratable: true - } - }), - url({ - sourceDir: path.resolve(__dirname, 'src/node_modules/images'), - publicPath: '/client/' - }), - resolve({ - browser: true, - dedupe: ['svelte'] - }), - commonjs(), - - legacy && babel({ - extensions: ['.js', '.mjs', '.html', '.svelte'], - babelHelpers: 'runtime', - exclude: ['node_modules/@babel/**'], - presets: [ - ['@babel/preset-env', { - targets: '> 0.25%, not dead' - }] - ], - plugins: [ - '@babel/plugin-syntax-dynamic-import', - ['@babel/plugin-transform-runtime', { - useESModules: true - }] - ] - }), - - !dev && terser({ - module: true - }) - ], - - preserveEntrySignatures: false, - onwarn, - }, - - server: { - input: config.server.input(), - output: config.server.output(), - plugins: [ - replace({ - preventAssignment: true, - values:{ - 'process.browser': false, - 'process.env.NODE_ENV': JSON.stringify(mode) - }, - }), - svelte({ - compilerOptions: { - dev, - generate: 'ssr', - hydratable: true - }, - emitCss: false - }), - url({ - sourceDir: path.resolve(__dirname, 'src/node_modules/images'), - publicPath: '/client/', - emitFiles: false // already emitted by client build - }), - resolve({ - dedupe: ['svelte'] - }), - commonjs() - ], - external: Object.keys(pkg.dependencies).concat(require('module').builtinModules), - preserveEntrySignatures: 'strict', - onwarn, - }, - - serviceworker: { - input: config.serviceworker.input(), - output: config.serviceworker.output(), - plugins: [ - resolve(), - replace({ - preventAssignment: true, - values:{ - 'process.browser': true, - 'process.env.NODE_ENV': JSON.stringify(mode) - }, - }), - commonjs(), - !dev && terser() - ], - preserveEntrySignatures: false, - onwarn, - } -}; diff --git a/scripts/setupTypeScript.js b/scripts/setupTypeScript.js deleted file mode 100644 index fb5cbdf..0000000 --- a/scripts/setupTypeScript.js +++ /dev/null @@ -1,304 +0,0 @@ -/** - * Run this script to convert the project to TypeScript. This is only guaranteed to work - * on the unmodified default template; if you have done code changes you are likely need - * to touch up the generated project manually. - */ - -// @ts-check -const fs = require('fs'); -const path = require('path'); -const { argv } = require('process'); - -const projectRoot = argv[2] || path.join(__dirname, '..'); - -const isRollup = fs.existsSync(path.join(projectRoot, "rollup.config.js")); - -function warn(message) { - console.warn('Warning: ' + message); -} - -function replaceInFile(fileName, replacements) { - if (fs.existsSync(fileName)) { - let contents = fs.readFileSync(fileName, 'utf8'); - let hadUpdates = false; - - replacements.forEach(([from, to]) => { - const newContents = contents.replace(from, to); - - const isAlreadyApplied = typeof to !== 'string' || contents.includes(to); - - if (newContents !== contents) { - contents = newContents; - hadUpdates = true; - } else if (!isAlreadyApplied) { - warn(`Wanted to update "${from}" in ${fileName}, but did not find it.`); - } - }); - - if (hadUpdates) { - fs.writeFileSync(fileName, contents); - } else { - console.log(`${fileName} had already been updated.`); - } - } else { - warn(`Wanted to update ${fileName} but the file did not exist.`); - } -} - -function createFile(fileName, contents) { - if (fs.existsSync(fileName)) { - warn(`Wanted to create ${fileName}, but it already existed. Leaving existing file.`); - } else { - fs.writeFileSync(fileName, contents); - } -} - -function addDepsToPackageJson() { - const pkgJSONPath = path.join(projectRoot, 'package.json'); - const packageJSON = JSON.parse(fs.readFileSync(pkgJSONPath, 'utf8')); - packageJSON.devDependencies = Object.assign(packageJSON.devDependencies, { - ...(isRollup ? { '@rollup/plugin-typescript': '^6.0.0' } : { 'ts-loader': '^8.0.4' }), - '@tsconfig/svelte': '^1.0.10', - '@types/compression': '^1.7.0', - '@types/node': '^14.11.1', - '@types/polka': '^0.5.1', - 'svelte-check': '^1.0.46', - 'svelte-preprocess': '^4.3.0', - tslib: '^2.0.1', - typescript: '^4.0.3' - }); - - // Add script for checking - packageJSON.scripts = Object.assign(packageJSON.scripts, { - validate: 'svelte-check --ignore src/node_modules/@sapper' - }); - - // Write the package JSON - fs.writeFileSync(pkgJSONPath, JSON.stringify(packageJSON, null, ' ')); -} - -function changeJsExtensionToTs(dir) { - const elements = fs.readdirSync(dir, { withFileTypes: true }); - - for (let i = 0; i < elements.length; i++) { - if (elements[i].isDirectory()) { - changeJsExtensionToTs(path.join(dir, elements[i].name)); - } else if (elements[i].name.match(/^[^_]((?!json).)*js$/)) { - fs.renameSync(path.join(dir, elements[i].name), path.join(dir, elements[i].name).replace('.js', '.ts')); - } - } -} - -function updateSingleSvelteFile({ view, vars, contextModule }) { - replaceInFile(path.join(projectRoot, 'src', `${view}.svelte`), [ - [/(?:/gm, (m, attrs) => ``], - ...(vars ? vars.map(({ name, type }) => [`export let ${name};`, `export let ${name}: ${type};`]) : []), - ...(contextModule ? contextModule.map(({ js, ts }) => [js, ts]) : []) - ]); -} - -// Switch the *.svelte file to use TS -function updateSvelteFiles() { - [ - { - view: 'components/Nav', - vars: [{ name: 'segment', type: 'string' }] - }, - { - view: 'routes/_layout', - vars: [{ name: 'segment', type: 'string' }] - }, - { - view: 'routes/_error', - vars: [ - { name: 'status', type: 'number' }, - { name: 'error', type: 'Error' } - ] - }, - { - view: 'routes/blog/index', - vars: [{ name: 'posts', type: '{ slug: string; title: string, html: any }[]' }], - contextModule: [ - { - js: '.then(r => r.json())', - ts: '.then((r: { json: () => any; }) => r.json())' - }, - { - js: '.then(posts => {', - ts: '.then((posts: { slug: string; title: string, html: any }[]) => {' - } - ] - }, - { - view: 'routes/blog/[slug]', - vars: [{ name: 'post', type: '{ slug: string; title: string, html: any }' }] - } - ].forEach(updateSingleSvelteFile); -} - -function updateRollupConfig() { - // Edit rollup config - replaceInFile(path.join(projectRoot, 'rollup.config.js'), [ - // Edit imports - [ - /'rollup-plugin-terser';\n(?!import sveltePreprocess)/, - `'rollup-plugin-terser'; -import sveltePreprocess from 'svelte-preprocess'; -import typescript from '@rollup/plugin-typescript'; -` - ], - // Edit inputs - [ - /(?`, `self.addEventListener('activate', (event: ExtendableEvent) =>`], - [`self.addEventListener('install', event =>`, `self.addEventListener('install', (event: ExtendableEvent) =>`], - [`addEventListener('fetch', event =>`, `addEventListener('fetch', (event: FetchEvent) =>`], - ]); -} - -function createTsConfig() { - const tsconfig = `{ - "extends": "@tsconfig/svelte/tsconfig.json", - "compilerOptions": { - "lib": ["DOM", "ES2017", "WebWorker"] - }, - "include": ["src/**/*", "src/node_modules/**/*"], - "exclude": ["node_modules/*", "__sapper__/*", "static/*"] - }`; - - createFile(path.join(projectRoot, 'tsconfig.json'), tsconfig); -} - -// Adds the extension recommendation -function configureVsCode() { - const dir = path.join(projectRoot, '.vscode'); - - if (!fs.existsSync(dir)) { - fs.mkdirSync(dir); - } - - createFile(path.join(projectRoot, '.vscode', 'extensions.json'), `{"recommendations": ["svelte.svelte-vscode"]}`); -} - -function deleteThisScript() { - fs.unlinkSync(path.join(__filename)); - - // Check for Mac's DS_store file, and if it's the only one left remove it - const remainingFiles = fs.readdirSync(path.join(__dirname)); - if (remainingFiles.length === 1 && remainingFiles[0] === '.DS_store') { - fs.unlinkSync(path.join(__dirname, '.DS_store')); - } - - // Check if the scripts folder is empty - if (fs.readdirSync(path.join(__dirname)).length === 0) { - // Remove the scripts folder - fs.rmdirSync(path.join(__dirname)); - } -} - -console.log(`Adding TypeScript with ${isRollup ? "Rollup" : "webpack" }...`); - -addDepsToPackageJson(); - -changeJsExtensionToTs(path.join(projectRoot, 'src')); - -updateSvelteFiles(); - -if (isRollup) { - updateRollupConfig(); -} else { - updateWebpackConfig(); -} - -updateServiceWorker(); - -createTsConfig(); - -configureVsCode(); - -// Delete this script, but not during testing -if (!argv[2]) { - deleteThisScript(); -} - -console.log('Converted to TypeScript.'); - -if (fs.existsSync(path.join(projectRoot, 'node_modules'))) { - console.log(` -Next: -1. run 'npm install' again to install TypeScript dependencies -2. run 'npm run build' for the @sapper imports in your project to work -`); -} diff --git a/src/ambient.d.ts b/src/ambient.d.ts deleted file mode 100644 index a26164d..0000000 --- a/src/ambient.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * These declarations tell TypeScript that we allow import of images, e.g. - * ``` - - - - ``` - */ -declare module "*.gif" { - const value: string; - export default value; -} - -declare module "*.jpg" { - const value: string; - export default value; -} - -declare module "*.jpeg" { - const value: string; - export default value; -} - -declare module "*.png" { - const value: string; - export default value; -} - -declare module "*.svg" { - const value: string; - export default value; -} - -declare module "*.webp" { - const value: string; - export default value; -} diff --git a/src/client.js b/src/client.js deleted file mode 100644 index cec9172..0000000 --- a/src/client.js +++ /dev/null @@ -1,5 +0,0 @@ -import * as sapper from '@sapper/app'; - -sapper.start({ - target: document.querySelector('#sapper') -}); \ No newline at end of file diff --git a/src/components/Nav.svelte b/src/components/Nav.svelte deleted file mode 100644 index 49a94ed..0000000 --- a/src/components/Nav.svelte +++ /dev/null @@ -1,60 +0,0 @@ - - - - - diff --git a/src/db.js b/src/db.js deleted file mode 100644 index bf80949..0000000 --- a/src/db.js +++ /dev/null @@ -1,21 +0,0 @@ -import mariadb from 'mariadb'; -import dotenv from 'dotenv'; - -dotenv.config(); -const { - DB_HOST, - DB_PORT, - DB_USER, - DB_PASSWORD, - DB_CONNECTION_LIMIT, -} = process.env; - -const pool = mariadb.createPool({ - host: DB_HOST, - port: DB_PORT, - user: DB_USER, - password: DB_PASSWORD, - connectionLimit: DB_CONNECTION_LIMIT, -}); - -export default pool; diff --git a/src/node_modules/images/successkid.jpg b/src/node_modules/images/successkid.jpg deleted file mode 100644 index 5ad19cc..0000000 Binary files a/src/node_modules/images/successkid.jpg and /dev/null differ diff --git a/src/routes/_error.svelte b/src/routes/_error.svelte deleted file mode 100644 index 320e587..0000000 --- a/src/routes/_error.svelte +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - {status} - - -

{status}

- -

{error.message}

- -{#if dev && error.stack} -
{error.stack}
-{/if} diff --git a/src/routes/_layout.svelte b/src/routes/_layout.svelte deleted file mode 100644 index 8432299..0000000 --- a/src/routes/_layout.svelte +++ /dev/null @@ -1,22 +0,0 @@ - - - - -