mirror of
https://github.com/kevin-DL/sapper.git
synced 2026-01-18 05:25:08 +00:00
various
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
--require source-map-support/register
|
--require source-map-support/register
|
||||||
--require ts-node/register
|
--require sucrase/register
|
||||||
--recursive
|
--recursive
|
||||||
test/unit/*/*.ts
|
|
||||||
test/apps/*/test.ts
|
test/apps/*/test.ts
|
||||||
94
package-lock.json
generated
94
package-lock.json
generated
@@ -383,6 +383,12 @@
|
|||||||
"color-convert": "^1.9.0"
|
"color-convert": "^1.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"any-promise": {
|
||||||
|
"version": "1.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
|
||||||
|
"integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"anymatch": {
|
"anymatch": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
|
||||||
@@ -3528,6 +3534,12 @@
|
|||||||
"type-check": "~0.3.2"
|
"type-check": "~0.3.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"lines-and-columns": {
|
||||||
|
"version": "1.1.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
|
||||||
|
"integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"load-json-file": {
|
"load-json-file": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
|
||||||
@@ -3748,7 +3760,7 @@
|
|||||||
},
|
},
|
||||||
"minimist": {
|
"minimist": {
|
||||||
"version": "0.0.8",
|
"version": "0.0.8",
|
||||||
"resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||||
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
|
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
@@ -3793,7 +3805,7 @@
|
|||||||
},
|
},
|
||||||
"mkdirp": {
|
"mkdirp": {
|
||||||
"version": "0.5.1",
|
"version": "0.5.1",
|
||||||
"resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||||
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
|
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
@@ -3821,7 +3833,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"commander": {
|
"commander": {
|
||||||
"version": "2.15.1",
|
"version": "2.15.1",
|
||||||
"resolved": "http://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
|
"resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
|
||||||
"integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
|
"integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
@@ -3897,6 +3909,17 @@
|
|||||||
"integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
|
"integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"mz": {
|
||||||
|
"version": "2.7.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
|
||||||
|
"integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"any-promise": "^1.0.0",
|
||||||
|
"object-assign": "^4.0.1",
|
||||||
|
"thenify-all": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nan": {
|
"nan": {
|
||||||
"version": "2.12.1",
|
"version": "2.12.1",
|
||||||
"resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
|
"resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
|
||||||
@@ -4014,6 +4037,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node-modules-regexp": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"normalize-package-data": {
|
"normalize-package-data": {
|
||||||
"version": "2.4.0",
|
"version": "2.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
|
||||||
@@ -4405,6 +4434,15 @@
|
|||||||
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
|
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"pirates": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-8t5BsXy1LUIjn3WWOlOuFDuKswhQb/tkak641lvBgmPOBUQHXveORtlMCp6OdPV1dtuTaEahKA8VNz6uLfKBtA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"node-modules-regexp": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pkg-dir": {
|
"pkg-dir": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
|
||||||
@@ -5156,7 +5194,7 @@
|
|||||||
},
|
},
|
||||||
"rollup-pluginutils": {
|
"rollup-pluginutils": {
|
||||||
"version": "1.5.2",
|
"version": "1.5.2",
|
||||||
"resolved": "http://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz",
|
||||||
"integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=",
|
"integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
@@ -5166,6 +5204,16 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"rollup-plugin-sucrase": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/rollup-plugin-sucrase/-/rollup-plugin-sucrase-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-chdA3OruR1FH/IIKrzZCpGKLXAx3DOHoK24RIPtlVccK0wbTpHE0HpGEQYCxte1XaB17NgRe/frFyKR7g45qxQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"rollup-pluginutils": "^2.3.0",
|
||||||
|
"sucrase": "3.x"
|
||||||
|
}
|
||||||
|
},
|
||||||
"rollup-plugin-svelte": {
|
"rollup-plugin-svelte": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-5.0.1.tgz",
|
||||||
@@ -5745,6 +5793,26 @@
|
|||||||
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
|
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"sucrase": {
|
||||||
|
"version": "3.9.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.9.5.tgz",
|
||||||
|
"integrity": "sha512-gvNjd3PJ0WAXxWUAQzCw/nlG4J5a2j7q8jN+sX8Fwe3ryIsl9UrEcWPxWoEzBPrj3Fias4U05iN84m4/IFQLdw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"commander": "^2.19.0",
|
||||||
|
"lines-and-columns": "^1.1.6",
|
||||||
|
"mz": "^2.7.0",
|
||||||
|
"pirates": "^4.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"commander": {
|
||||||
|
"version": "2.19.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
|
||||||
|
"integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"supports-color": {
|
"supports-color": {
|
||||||
"version": "5.5.0",
|
"version": "5.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
||||||
@@ -5841,6 +5909,24 @@
|
|||||||
"integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
|
"integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"thenify": {
|
||||||
|
"version": "3.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz",
|
||||||
|
"integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"any-promise": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"thenify-all": {
|
||||||
|
"version": "1.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
|
||||||
|
"integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"thenify": ">= 3.1.0 < 4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"through": {
|
"through": {
|
||||||
"version": "2.3.8",
|
"version": "2.3.8",
|
||||||
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
|
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
|
||||||
|
|||||||
@@ -54,11 +54,13 @@
|
|||||||
"rollup-plugin-node-resolve": "^4.0.0",
|
"rollup-plugin-node-resolve": "^4.0.0",
|
||||||
"rollup-plugin-replace": "^2.1.0",
|
"rollup-plugin-replace": "^2.1.0",
|
||||||
"rollup-plugin-string": "^2.0.2",
|
"rollup-plugin-string": "^2.0.2",
|
||||||
|
"rollup-plugin-sucrase": "^2.1.0",
|
||||||
"rollup-plugin-svelte": "^5.0.1",
|
"rollup-plugin-svelte": "^5.0.1",
|
||||||
"rollup-plugin-typescript": "^1.0.0",
|
"rollup-plugin-typescript": "^1.0.0",
|
||||||
"sade": "^1.4.2",
|
"sade": "^1.4.2",
|
||||||
"sander": "^0.6.0",
|
"sander": "^0.6.0",
|
||||||
"sirv": "^0.2.2",
|
"sirv": "^0.2.2",
|
||||||
|
"sucrase": "^3.9.5",
|
||||||
"svelte": "^3.0.0-alpha26",
|
"svelte": "^3.0.0-alpha26",
|
||||||
"svelte-loader": "^2.12.0",
|
"svelte-loader": "^2.12.0",
|
||||||
"ts-node": "^8.0.2",
|
"ts-node": "^8.0.2",
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import typescript from 'rollup-plugin-typescript';
|
import sucrase from 'rollup-plugin-sucrase';
|
||||||
import string from 'rollup-plugin-string';
|
import string from 'rollup-plugin-string';
|
||||||
import json from 'rollup-plugin-json';
|
import json from 'rollup-plugin-json';
|
||||||
import resolve from 'rollup-plugin-node-resolve';
|
import resolve from 'rollup-plugin-node-resolve';
|
||||||
@@ -12,7 +12,7 @@ const external = [].concat(
|
|||||||
'sapper/core.js'
|
'sapper/core.js'
|
||||||
);
|
);
|
||||||
|
|
||||||
function template(kind, external, target) {
|
function template(kind, external) {
|
||||||
return {
|
return {
|
||||||
input: `templates/src/${kind}/index.ts`,
|
input: `templates/src/${kind}/index.ts`,
|
||||||
output: {
|
output: {
|
||||||
@@ -22,22 +22,23 @@ function template(kind, external, target) {
|
|||||||
},
|
},
|
||||||
external,
|
external,
|
||||||
plugins: [
|
plugins: [
|
||||||
resolve(),
|
resolve({
|
||||||
|
extensions: ['.js', '.ts']
|
||||||
|
}),
|
||||||
commonjs(),
|
commonjs(),
|
||||||
string({
|
string({
|
||||||
include: '**/*.md'
|
include: '**/*.md'
|
||||||
}),
|
}),
|
||||||
typescript({
|
sucrase({
|
||||||
typescript: require('typescript'),
|
transforms: ['typescript']
|
||||||
target
|
|
||||||
})
|
})
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export default [
|
export default [
|
||||||
template('app', ['__ROOT__', '__ERROR__', 'svelte', '@sapper/App.html'], 'ES2017'),
|
template('app', ['__ROOT__', '__ERROR__', 'svelte', '@sapper/App.html']),
|
||||||
template('server', builtinModules, 'ES2015'),
|
template('server', builtinModules),
|
||||||
|
|
||||||
{
|
{
|
||||||
input: [
|
input: [
|
||||||
@@ -55,10 +56,12 @@ export default [
|
|||||||
external,
|
external,
|
||||||
plugins: [
|
plugins: [
|
||||||
json(),
|
json(),
|
||||||
resolve(),
|
resolve({
|
||||||
|
extensions: ['.js', '.ts']
|
||||||
|
}),
|
||||||
commonjs(),
|
commonjs(),
|
||||||
typescript({
|
sucrase({
|
||||||
typescript: require('typescript')
|
transforms: ['typescript']
|
||||||
})
|
})
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,10 @@ export default function create_manifest_data(cwd: string): ManifestData {
|
|||||||
|
|
||||||
if (/preload/.test(source)) {
|
if (/preload/.test(source)) {
|
||||||
try {
|
try {
|
||||||
const { stats } = svelte.compile(source, { generate: false });
|
const { stats } = svelte.compile(source, {
|
||||||
|
generate: false,
|
||||||
|
onwarn: () => {}
|
||||||
|
});
|
||||||
return !!stats.vars.find((variable: any) => variable.module && variable.export_name === 'preload');
|
return !!stats.vars.find((variable: any) => variable.module && variable.export_name === 'preload');
|
||||||
} catch (err) {}
|
} catch (err) {}
|
||||||
}
|
}
|
||||||
@@ -180,7 +183,7 @@ export default function create_manifest_data(cwd: string): ManifestData {
|
|||||||
? {
|
? {
|
||||||
name: 'main',
|
name: 'main',
|
||||||
file: '_layout.html',
|
file: '_layout.html',
|
||||||
has_preload: has_preload(root_file)
|
has_preload: has_preload('_layout.html')
|
||||||
}
|
}
|
||||||
: default_layout;
|
: default_layout;
|
||||||
|
|
||||||
|
|||||||
1
src/types.d.ts
vendored
Normal file
1
src/types.d.ts
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
declare module 'svelte/compiler';
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import * as puppeteer from 'puppeteer';
|
import puppeteer from 'puppeteer';
|
||||||
import * as ports from 'port-authority';
|
import * as ports from 'port-authority';
|
||||||
import { fork, ChildProcess } from 'child_process';
|
import { fork, ChildProcess } from 'child_process';
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import * as sapper from '../__sapper__/client.js';
|
import * as sapper from '@sapper/app';
|
||||||
|
|
||||||
window.start = () => sapper.start({
|
window.start = () => sapper.start({
|
||||||
target: document.querySelector('#sapper')
|
target: document.querySelector('#sapper')
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import polka from 'polka';
|
import polka from 'polka';
|
||||||
import * as sapper from '../__sapper__/server.js';
|
import * as sapper from '@sapper/server';
|
||||||
|
|
||||||
const { PORT } = process.env;
|
const { PORT } = process.env;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { timestamp, files, shell, routes } from '../__sapper__/service-worker.js';
|
import { timestamp, files, shell, routes } from '@sapper/service-worker';
|
||||||
|
|
||||||
const ASSETS = `cache${timestamp}`;
|
const ASSETS = `cache${timestamp}`;
|
||||||
|
|
||||||
|
|||||||
@@ -1,34 +1,20 @@
|
|||||||
import * as puppeteer from 'puppeteer';
|
|
||||||
import { build } from '../../../api';
|
import { build } from '../../../api';
|
||||||
import * as assert from "assert";
|
import * as assert from "assert";
|
||||||
import { AppRunner } from '../AppRunner';
|
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import * as path from "path";
|
import * as path from "path";
|
||||||
|
|
||||||
describe('with-sourcemaps', function() {
|
describe('with-sourcemaps', function() {
|
||||||
this.timeout(10000);
|
this.timeout(10000);
|
||||||
|
|
||||||
let runner: AppRunner;
|
|
||||||
let page: puppeteer.Page;
|
|
||||||
let base: string;
|
|
||||||
|
|
||||||
// helpers
|
|
||||||
let start: () => Promise<void>;
|
|
||||||
let prefetchRoutes: () => Promise<void>;
|
|
||||||
let prefetch: (href: string) => Promise<void>;
|
|
||||||
let goto: (href: string) => Promise<void>;
|
|
||||||
|
|
||||||
// hooks
|
// hooks
|
||||||
before(async () => {
|
before(async () => {
|
||||||
await build({ cwd: __dirname });
|
await build({ cwd: __dirname });
|
||||||
|
|
||||||
runner = new AppRunner(__dirname, '__sapper__/build/server/server.js');
|
|
||||||
({ base, page, start, prefetchRoutes, prefetch, goto } = await runner.start());
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('does not put sourcemap files in service worker shell', async () => {
|
it('does not put sourcemap files in service worker shell', async () => {
|
||||||
const serviceWorker = await import(`${__dirname}/__sapper__/service-worker.js`);
|
const service_worker_source = fs.readFileSync(`${__dirname}/src/node_modules/@sapper/service-worker.js`, 'utf-8');
|
||||||
const shell: string[] = serviceWorker.shell;
|
const shell_source = /shell = (\[[\s\S]+?\])/.exec(service_worker_source)[1];
|
||||||
|
const shell = JSON.parse(shell_source);
|
||||||
|
|
||||||
assert.equal(shell.filter(_ => _.endsWith('.map')).length, 0,
|
assert.equal(shell.filter(_ => _.endsWith('.map')).length, 0,
|
||||||
'sourcemap files are not cached in SW');
|
'sourcemap files are not cached in SW');
|
||||||
@@ -37,7 +23,4 @@ describe('with-sourcemaps', function() {
|
|||||||
const sourcemapFiles = fs.readdirSync(clientShellDir).filter(_ => _.endsWith('.map'));
|
const sourcemapFiles = fs.readdirSync(clientShellDir).filter(_ => _.endsWith('.map'));
|
||||||
assert.ok(sourcemapFiles.length > 0, 'sourcemap files exist');
|
assert.ok(sourcemapFiles.length > 0, 'sourcemap files exist');
|
||||||
});
|
});
|
||||||
|
|
||||||
after(() => runner.end());
|
|
||||||
|
|
||||||
});
|
});
|
||||||
Reference in New Issue
Block a user