Skip to content

Commit 6d890f1

Browse files
authored
Merge pull request #148 from sveltejs/gh-1
Server-side rendering
2 parents 83e9ed9 + 48106e8 commit 6d890f1

File tree

328 files changed

+8178
-42
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

328 files changed

+8178
-42
lines changed

.eslintrc.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,8 @@
3737
"parserOptions": {
3838
"ecmaVersion": 6,
3939
"sourceType": "module"
40+
},
41+
"settings": {
42+
"import/core-modules": [ "svelte" ]
4043
}
4144
}

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
.DS_Store
22
node_modules
3-
dist
3+
compiler
4+
ssr
5+
!test/compiler
6+
!test/ssr
47
.nyc_output
58
coverage
69
coverage.lcov

compiler/svelte.js

Lines changed: 6982 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/svelte.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22
"name": "svelte",
33
"version": "1.1.3",
44
"description": "The magical disappearing UI framework",
5-
"main": "dist/svelte.js",
5+
"main": "compiler/svelte.js",
66
"files": [
7-
"dist",
7+
"compiler",
8+
"ssr",
89
"README.md"
910
],
1011
"scripts": {
@@ -13,8 +14,10 @@
1314
"coverage": "nyc report --reporter=text-lcov > coverage.lcov",
1415
"codecov": "codecov",
1516
"precodecov": "npm run coverage",
16-
"lint": "eslint compiler",
17-
"build": "rollup -c",
17+
"lint": "eslint src",
18+
"build": "npm run build:main && npm run build:ssr",
19+
"build:main": "rollup -c rollup.config.main.js",
20+
"build:ssr": "rollup -c rollup.config.ssr.js",
1821
"pretest": "npm run build",
1922
"prepublish": "npm run lint && npm run build"
2023
},
@@ -34,6 +37,9 @@
3437
"url": "https://github.com/sveltejs/svelte/issues"
3538
},
3639
"homepage": "https://github.com/sveltejs/svelte#README",
40+
"dependencies": {
41+
"magic-string": "^0.19.0"
42+
},
3743
"devDependencies": {
3844
"acorn": "^4.0.3",
3945
"babel-plugin-istanbul": "^3.0.0",
@@ -47,7 +53,6 @@
4753
"fuzzyset.js": "0.0.1",
4854
"jsdom": "^9.8.3",
4955
"locate-character": "^2.0.0",
50-
"magic-string": "^0.19.0",
5156
"mocha": "^3.1.2",
5257
"node-resolve": "^1.3.3",
5358
"nyc": "^9.0.1",

rollup.config.js renamed to rollup.config.main.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@ import nodeResolve from 'rollup-plugin-node-resolve';
22
import commonjs from 'rollup-plugin-commonjs';
33

44
export default {
5-
entry: 'compiler/index.js',
5+
entry: 'src/index.js',
66
moduleName: 'svelte',
77
targets: [
8-
{ dest: 'dist/svelte.js', format: 'umd' }
8+
{ dest: 'compiler/svelte.js', format: 'umd' }
99
],
1010
plugins: [
1111
nodeResolve({ jsnext: true, module: true }),
1212
commonjs()
1313
],
14+
external: [ 'magic-string' ],
1415
sourceMap: true
1516
};

rollup.config.ssr.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import nodeResolve from 'rollup-plugin-node-resolve';
2+
import commonjs from 'rollup-plugin-commonjs';
3+
4+
export default {
5+
entry: 'src/server-side-rendering/register.js',
6+
moduleName: 'svelte',
7+
targets: [
8+
{ dest: 'ssr/register.js', format: 'cjs' }
9+
],
10+
plugins: [
11+
nodeResolve({ jsnext: true, module: true }),
12+
commonjs()
13+
],
14+
external: [ 'svelte', 'magic-string' ],
15+
paths: {
16+
svelte: '../compiler/svelte.js'
17+
},
18+
sourceMap: true
19+
};

compiler/generate/css/process.js renamed to src/generate/css/process.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import deindent from '../utils/deindent.js';
1+
import deindent from '../../utils/deindent.js';
22
import spaces from '../../utils/spaces.js';
33
import transform from './transform.js';
44

File renamed without changes.

compiler/generate/index.js renamed to src/generate/index.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import MagicString, { Bundle } from 'magic-string';
22
import { walk } from 'estree-walker';
3-
import deindent from './utils/deindent.js';
4-
import isReference from './utils/isReference.js';
3+
import deindent from '../utils/deindent.js';
4+
import isReference from '../utils/isReference.js';
55
import counter from './utils/counter.js';
6-
import flattenReference from './utils/flattenReference.js';
6+
import flattenReference from '../utils/flattenReference.js';
77
import getIntro from './utils/getIntro.js';
88
import getOutro from './utils/getOutro.js';
99
import visitors from './visitors/index.js';
File renamed without changes.

compiler/generate/utils/getIntro.js renamed to src/generate/utils/getIntro.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import deindent from './deindent.js';
1+
import deindent from '../../utils/deindent.js';
22
import getGlobals from './getGlobals.js';
33

44
export default function getIntro ( format, options, imports ) {
File renamed without changes.
File renamed without changes.

compiler/generate/visitors/Component.js renamed to src/generate/visitors/Component.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import deindent from '../utils/deindent.js';
1+
import deindent from '../../utils/deindent.js';
22
import addComponentAttributes from './attributes/addComponentAttributes.js';
33

44
export default {

compiler/generate/visitors/EachBlock.js renamed to src/generate/visitors/EachBlock.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import deindent from '../utils/deindent.js';
1+
import deindent from '../../utils/deindent.js';
22

33
export default {
44
enter ( generator, node ) {

compiler/generate/visitors/Element.js renamed to src/generate/visitors/Element.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import deindent from '../utils/deindent.js';
1+
import deindent from '../../utils/deindent.js';
22
import addElementAttributes from './attributes/addElementAttributes.js';
33
import Component from './Component.js';
44

compiler/generate/visitors/IfBlock.js renamed to src/generate/visitors/IfBlock.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import deindent from '../utils/deindent.js';
1+
import deindent from '../../utils/deindent.js';
22

33
function getConditionsAndBlocks ( generator, node, _name, i = 0 ) {
44
generator.addSourcemapLocations( node.expression );

compiler/generate/visitors/MustacheTag.js renamed to src/generate/visitors/MustacheTag.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import deindent from '../utils/deindent.js';
1+
import deindent from '../../utils/deindent.js';
22

33
export default {
44
enter ( generator, node ) {

compiler/generate/visitors/RawMustacheTag.js renamed to src/generate/visitors/RawMustacheTag.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import deindent from '../utils/deindent.js';
1+
import deindent from '../../utils/deindent.js';
22

33
export default {
44
enter ( generator, node ) {
File renamed without changes.

compiler/generate/visitors/attributes/addComponentAttributes.js renamed to src/generate/visitors/attributes/addComponentAttributes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import createBinding from './binding/index.js';
2-
import deindent from '../../utils/deindent.js';
2+
import deindent from '../../../utils/deindent.js';
33

44
export default function addComponentAttributes ( generator, node, local ) {
55
local.staticAttributes = [];

compiler/generate/visitors/attributes/addElementAttributes.js renamed to src/generate/visitors/attributes/addElementAttributes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import attributeLookup from './lookup.js';
22
import createBinding from './binding/index.js';
3-
import deindent from '../../utils/deindent.js';
3+
import deindent from '../../../utils/deindent.js';
44

55
export default function addElementAttributes ( generator, node, local ) {
66
node.attributes.forEach( attribute => {

compiler/generate/visitors/attributes/binding/index.js renamed to src/generate/visitors/attributes/binding/index.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import deindent from '../../../utils/deindent.js';
2-
import isReference from '../../../utils/isReference.js';
3-
import flattenReference from '../../../utils/flattenReference.js';
1+
import deindent from '../../../../utils/deindent.js';
2+
import isReference from '../../../../utils/isReference.js';
3+
import flattenReference from '../../../../utils/flattenReference.js';
44

55
export default function createBinding ( generator, node, attribute, current, local ) {
66
const parts = attribute.value.split( '.' );
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)