diff --git a/src/generators/Generator.ts b/src/generators/Generator.ts
index 474b32a9c0..7565336abb 100644
--- a/src/generators/Generator.ts
+++ b/src/generators/Generator.ts
@@ -369,31 +369,13 @@ export default class Generator {
})
};
- Object.getOwnPropertyNames(String.prototype).forEach(name => {
- const descriptor = Object.getOwnPropertyDescriptor(String.prototype, name);
- if (typeof descriptor.value === 'function') {
- Object.defineProperty(css, name, {
- value: (...args) => {
- return css.code === null
- ? null
- : css.code[name].call(css.code, ...args);
- }
- });
- }
- });
-
this.stats.stop('compile');
return {
ast: this.ast,
js,
css,
- stats: this.stats.render(this),
-
- // TODO deprecate
- code: js.code,
- map: js.map,
- cssMap: css.map
+ stats: this.stats.render(this)
};
}
diff --git a/src/index.ts b/src/index.ts
index 16081ea8b4..d13d568069 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -147,12 +147,12 @@ export function create(source: string, _options: CompileOptions = {}) {
const compiled = compile(source, _options);
- if (!compiled || !compiled.code) {
+ if (!compiled || !compiled.js.code) {
return;
}
try {
- return (0, eval)(compiled.code);
+ return (0, eval)(compiled.js.code);
} catch (err) {
if (_options.onerror) {
_options.onerror(err);
diff --git a/src/server-side-rendering/register.js b/src/server-side-rendering/register.js
index 7940a2c487..75b10d29f9 100644
--- a/src/server-side-rendering/register.js
+++ b/src/server-side-rendering/register.js
@@ -37,9 +37,9 @@ function _register(extension) {
generate: 'ssr'
});
- const {code} = compile(fs.readFileSync(filename, 'utf-8'), options);
+ const { js } = compile(fs.readFileSync(filename, 'utf-8'), options);
- return module._compile(code, filename);
+ return module._compile(js.code, filename);
};
}
diff --git a/test/css/index.js b/test/css/index.js
index a59f132660..8af76f61c1 100644
--- a/test/css/index.js
+++ b/test/css/index.js
@@ -78,10 +78,10 @@ describe('css', () => {
);
// check the code is valid
- checkCodeIsValid(dom.code);
- checkCodeIsValid(ssr.code);
+ checkCodeIsValid(dom.js.code);
+ checkCodeIsValid(ssr.js.code);
- assert.equal(dom.css.toString(), ssr.css.toString());
+ assert.equal(dom.css.code, ssr.css.code);
assert.deepEqual(
domWarnings.map(normalizeWarning),
@@ -89,13 +89,13 @@ describe('css', () => {
);
assert.deepEqual(domWarnings.map(normalizeWarning), expectedWarnings);
- fs.writeFileSync(`test/css/samples/${dir}/_actual.css`, dom.css);
+ fs.writeFileSync(`test/css/samples/${dir}/_actual.css`, dom.css.code);
const expected = {
html: read(`test/css/samples/${dir}/expected.html`),
css: read(`test/css/samples/${dir}/expected.css`)
};
- assert.equal(dom.css.replace(/svelte(-ref)?-[a-z0-9]+/g, (m, $1) => $1 ? m : 'svelte-xyz'), expected.css);
+ assert.equal(dom.css.code.replace(/svelte(-ref)?-[a-z0-9]+/g, (m, $1) => $1 ? m : 'svelte-xyz'), expected.css);
// verify that the right elements have scoping selectors
if (expected.html !== null) {
@@ -104,7 +104,7 @@ describe('css', () => {
// dom
try {
const Component = eval(
- `(function () { ${dom.code}; return SvelteComponent; }())`
+ `(function () { ${dom.js.code}; return SvelteComponent; }())`
);
const target = window.document.querySelector('main');
@@ -120,14 +120,14 @@ describe('css', () => {
window.document.head.innerHTML = ''; // remove added styles
} catch (err) {
- console.log(dom.code);
+ console.log(dom.js.code);
throw err;
}
// ssr
try {
const component = eval(
- `(function () { ${ssr.code}; return SvelteComponent; }())`
+ `(function () { ${ssr.js.code}; return SvelteComponent; }())`
);
assert.equal(
@@ -138,7 +138,7 @@ describe('css', () => {
normalizeHtml(window, expected.html)
);
} catch (err) {
- console.log(ssr.code);
+ console.log(ssr.js.code);
throw err;
}
}
diff --git a/test/custom-elements/index.js b/test/custom-elements/index.js
index ab101dc873..7675e0c188 100644
--- a/test/custom-elements/index.js
+++ b/test/custom-elements/index.js
@@ -70,10 +70,7 @@ describe('custom-elements', function() {
dev: config.dev
});
- return {
- code: compiled.code,
- map: compiled.map
- };
+ return compiled.js;
}
}
},
diff --git a/test/formats/index.js b/test/formats/index.js
index 2a8b47df53..91b2d1dc33 100644
--- a/test/formats/index.js
+++ b/test/formats/index.js
@@ -98,12 +98,12 @@ describe("formats", () => {
`;
- const { code } = svelte.compile(source, {
+ const { js } = svelte.compile(source, {
format: "amd",
amd: { id: "foo" }
});
- return testAmd(code, "foo", { answer: 42 }, `
42
`);
+ return testAmd(js.code, "foo", { answer: 42 }, `42
`);
});
});
@@ -123,11 +123,11 @@ describe("formats", () => {
`;
- const { code } = svelte.compile(source, {
+ const { js } = svelte.compile(source, {
format: "cjs"
});
- return testCjs(code, { answer: 42 }, `42
`);
+ return testCjs(js.code, { answer: 42 }, `42
`);
});
});
@@ -147,7 +147,7 @@ describe("formats", () => {
`;
- const { code } = svelte.compile(source, {
+ const { js } = svelte.compile(source, {
format: "iife",
name: "Foo",
globals: {
@@ -155,7 +155,7 @@ describe("formats", () => {
}
});
- return testIife(code, "Foo", { answer: 42 }, `42
`);
+ return testIife(js.code, "Foo", { answer: 42 }, `42
`);
});
it('requires options.name', () => {
@@ -221,7 +221,7 @@ describe("formats", () => {
`;
- const { code } = svelte.compile(source, {
+ const { js } = svelte.compile(source, {
format: "umd",
name: "Foo",
globals: {
@@ -232,9 +232,9 @@ describe("formats", () => {
}
});
- testAmd(code, "foo", { answer: 42 }, `42
`);
- testCjs(code, { answer: 42 }, `42
`);
- testIife(code, "Foo", { answer: 42 }, `42
`);
+ testAmd(js.code, "foo", { answer: 42 }, `42
`);
+ testCjs(js.code, { answer: 42 }, `42
`);
+ testIife(js.code, "Foo", { answer: 42 }, `42
`);
});
it('requires options.name', () => {
@@ -262,14 +262,14 @@ describe("formats", () => {
`;
- const { code } = svelte.compile(source, {
+ const { js } = svelte.compile(source, {
format: "eval",
globals: {
answer: "answer"
}
});
- return testEval(code, "Foo", { answer: 42 }, `42
`);
+ return testEval(js.code, "Foo", { answer: 42 }, `42
`);
});
});
diff --git a/test/hydration/index.js b/test/hydration/index.js
index 922ff23de8..81634ea151 100644
--- a/test/hydration/index.js
+++ b/test/hydration/index.js
@@ -27,9 +27,9 @@ describe('hydration', () => {
compileOptions
);
- const { code } = svelte.compile(fs.readFileSync(filename, 'utf-8'), options);
+ const { js } = svelte.compile(fs.readFileSync(filename, 'utf-8'), options);
- return module._compile(code, filename);
+ return module._compile(js.code, filename);
};
return setupHtmlEqual();
diff --git a/test/js/index.js b/test/js/index.js
index ef2a05a09e..6a254b16b4 100644
--- a/test/js/index.js
+++ b/test/js/index.js
@@ -28,7 +28,7 @@ describe("js", () => {
parser: v2 ? 'v2' : 'v1'
});
- actual = svelte.compile(input, options).code.replace(/generated by Svelte v\d+\.\d+\.\d+/, 'generated by Svelte vX.Y.Z');
+ actual = svelte.compile(input, options).js.code.replace(/generated by Svelte v\d+\.\d+\.\d+/, 'generated by Svelte vX.Y.Z');
} catch (err) {
console.log(err.frame);
throw err;
diff --git a/test/runtime/index.js b/test/runtime/index.js
index b491dafa20..96d7ad6445 100644
--- a/test/runtime/index.js
+++ b/test/runtime/index.js
@@ -36,9 +36,9 @@ describe("runtime", () => {
compileOptions
);
- const { code } = compile(fs.readFileSync(filename, "utf-8"), options);
+ const { js } = compile(fs.readFileSync(filename, "utf-8"), options);
- return module._compile(code, filename);
+ return module._compile(js.code, filename);
};
return setupHtmlEqual();
@@ -194,14 +194,14 @@ describe("runtime", () => {
});
it("fails if options.target is missing in dev mode", () => {
- const { code } = svelte$.compile(``, {
+ const { js } = svelte$.compile(``, {
format: "iife",
name: "SvelteComponent",
dev: true
});
const SvelteComponent = eval(
- `(function () { ${code}; return SvelteComponent; }())`
+ `(function () { ${js.code}; return SvelteComponent; }())`
);
assert.throws(() => {
@@ -210,14 +210,14 @@ describe("runtime", () => {
});
it("fails if options.hydrate is true but the component is non-hydratable", () => {
- const { code } = svelte$.compile(``, {
+ const { js } = svelte$.compile(``, {
format: "iife",
name: "SvelteComponent",
dev: true
});
const SvelteComponent = eval(
- `(function () { ${code}; return SvelteComponent; }())`
+ `(function () { ${js.code}; return SvelteComponent; }())`
);
assert.throws(() => {
diff --git a/test/sourcemaps/index.js b/test/sourcemaps/index.js
index 9835f8ba3f..59342cbe6f 100644
--- a/test/sourcemaps/index.js
+++ b/test/sourcemaps/index.js
@@ -27,14 +27,14 @@ describe("sourcemaps", () => {
);
const input = fs.readFileSync(filename, "utf-8").replace(/\s+$/, "");
- const { code, map, css, cssMap } = svelte.compile(input, {
+ const { js, css } = svelte.compile(input, {
filename,
outputFilename: `${outputFilename}.js`,
cssOutputFilename: `${outputFilename}.css`,
cascade: config.cascade
});
- const _code = code.replace(/Svelte v\d+\.\d+\.\d+/, match => match.replace(/\d/g, 'x'));
+ const _code = js.code.replace(/Svelte v\d+\.\d+\.\d+/, match => match.replace(/\d/g, 'x'));
fs.writeFileSync(
`${outputFilename}.js`,
@@ -42,34 +42,34 @@ describe("sourcemaps", () => {
);
fs.writeFileSync(
`${outputFilename}.js.map`,
- JSON.stringify(map, null, " ")
+ JSON.stringify(js.map, null, " ")
);
if (css.code) {
fs.writeFileSync(
`${outputFilename}.css`,
- `${css}\n/*# sourceMappingURL=output.css.map */`
+ `${css.code}\n/*# sourceMappingURL=output.css.map */`
);
fs.writeFileSync(
`${outputFilename}.css.map`,
- JSON.stringify(cssMap, null, " ")
+ JSON.stringify(css.map, null, " ")
);
}
- assert.deepEqual(map.sources, ["input.html"]);
- if (cssMap) assert.deepEqual(cssMap.sources, ["input.html"]);
+ assert.deepEqual(js.map.sources, ["input.html"]);
+ if (css.map) assert.deepEqual(css.map.sources, ["input.html"]);
const { test } = require(`./samples/${dir}/test.js`);
const locateInSource = getLocator(input);
- const smc = new SourceMapConsumer(map);
+ const smc = new SourceMapConsumer(js.map);
const locateInGenerated = getLocator(_code);
- const smcCss = cssMap && new SourceMapConsumer(cssMap);
+ const smcCss = css.map && new SourceMapConsumer(css.map);
const locateInGeneratedCss = getLocator(css.code || '');
- test({ assert, code: _code, map, smc, smcCss, locateInSource, locateInGenerated, locateInGeneratedCss });
+ test({ assert, code: _code, map: js.map, smc, smcCss, locateInSource, locateInGenerated, locateInGeneratedCss });
});
});
});