Skip to content

Commit 4106cda

Browse files
author
Ives van Hoorne
committed
Fix Vue components without script tags
1 parent d9485bd commit 4106cda

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

src/sandbox/eval/transpiled-module.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ export type LoaderContext = {
4444
emitFile: (name: string, content: string, sourceMap: SourceMap) => void,
4545
options: {
4646
context: '/',
47+
[key: string]: any,
4748
},
4849
webpack: boolean,
4950
sourceMap: boolean,

src/sandbox/eval/transpilers/vue/loader.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
// @flow
2+
/* eslint-disable import/no-webpack-loader-syntax, prefer-template, no-use-before-define */
23

4+
import componentNormalizerRaw from '!raw-loader!./component-normalizer';
35
import type { LoaderContext } from '../../transpiled-module';
46

57
import genId from './utils/gen-id';
68
import parse from './parser';
7-
import componentNormalizerRaw from '!raw-loader!./component-normalizer';
89

910
const getStyleFileName = attrs => {
1011
let extension = 'css';
@@ -60,7 +61,7 @@ export default function(code: string, loaderContext: LoaderContext) {
6061
const parts = parse(code, _module.module.title, false);
6162
const hasScoped = parts.styles.some(s => s.scoped);
6263

63-
var templateOptions =
64+
const templateOptions =
6465
'?' +
6566
JSON.stringify({
6667
id: moduleId,
@@ -80,7 +81,7 @@ export default function(code: string, loaderContext: LoaderContext) {
8081
// : undefined,
8182
});
8283

83-
var cssModules;
84+
let cssModules;
8485
if (parts.styles.length) {
8586
let styleInjectionCode = 'function injectStyle (ssrContext) {\n';
8687
parts.styles.forEach(function(style, i) {
@@ -93,15 +94,15 @@ export default function(code: string, loaderContext: LoaderContext) {
9394

9495
const invokeStyle = c => ` ${c}\n`;
9596

96-
var moduleName = style.module === true ? '$style' : style.module;
97+
const moduleName = style.module === true ? '$style' : style.module;
9798
// setCssModule
9899
if (moduleName) {
99100
if (!cssModules) {
100101
cssModules = {};
101102
}
102103
if (moduleName in cssModules) {
103104
loaderContext.emitError(
104-
'CSS module name "' + moduleName + '" is not unique!'
105+
new Error('CSS module name "' + moduleName + '" is not unique!')
105106
);
106107
styleInjectionCode += invokeStyle(requireLocation);
107108
} else {
@@ -127,7 +128,7 @@ export default function(code: string, loaderContext: LoaderContext) {
127128
"var Component = require('!noop-loader!component-normalizer.js')(\n";
128129
// <script>
129130
output += ' /* script */\n ';
130-
var script = parts.script;
131+
const script = parts.script;
131132
if (script) {
132133
const file = script.src
133134
? getRequireForImport('script', script)
@@ -141,7 +142,7 @@ export default function(code: string, loaderContext: LoaderContext) {
141142

142143
// <template>
143144
output += ' /* template */\n ';
144-
var template = parts.template;
145+
const template = parts.template;
145146
if (template) {
146147
const file = template.src
147148
? getRequireForImport('template', template)
@@ -186,7 +187,7 @@ export default function(code: string, loaderContext: LoaderContext) {
186187
'")}\n';
187188
}
188189

189-
output += `module.exports = Component.esModule;\n`;
190+
output += `module.exports = Component.exports;\n`;
190191

191192
// IVES: Implement custom blocks later?
192193

0 commit comments

Comments
 (0)