Skip to content

Commit 33ee559

Browse files
committed
feat: support open in editor
1 parent aa72299 commit 33ee559

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

packages/vue3/package.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,19 @@ Package.registerBuildPlugin({
2222
},
2323
})
2424

25+
Npm.depends({
26+
'launch-editor-middleware': '2.2.1',
27+
})
28+
2529
Package.onUse(function (api) {
2630
api.versionsFrom('2.3.4')
2731
api.use('isobuild:compiler-plugin@1.0.0')
32+
api.use('ecmascript')
33+
if (process.env.NODE_ENV !== 'production') {
34+
api.addFiles([
35+
'src/runtime/server.js',
36+
], 'server')
37+
}
2838
})
2939

3040
Package.onTest(function (api) {

packages/vue3/src/compiler.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { parse, compileScript, compileTemplate, compileStyleAsync } from '@vue/compiler-sfc'
22
import hash from 'hash-sum'
33
import { genHotReloadCode } from './hmr'
4+
import path from 'path'
45

56
export class VueCompiler extends MultiFileCachingCompiler {
67
constructor () {
@@ -71,16 +72,21 @@ export class VueCompiler extends MultiFileCachingCompiler {
7172

7273
// Scope id
7374
if (hasScoped) {
74-
compileResult.source += `\n__script__.__scopeId = 'data-v-${scopeId}';`
75+
compileResult.source += `\n__script__.__scopeId = 'data-v-${scopeId}'`
7576
}
7677

7778
// HMR
7879
if (process.env.NODE_ENV !== 'production') {
7980
compileResult.source += genHotReloadCode(scopeId)
8081
}
8182

83+
// File (devtools)
84+
if (process.env.NODE_ENV !== 'production') {
85+
compileResult.source += `\n__script__.__file = ${JSON.stringify(path.resolve(process.cwd(), inputFile.getPathInPackage()))}`
86+
}
87+
8288
// Default export
83-
compileResult.source += '\nexport default __script__;'
89+
compileResult.source += '\nexport default __script__'
8490

8591
const babelOptions = Babel.getDefaultOptions()
8692
const transpiled = Babel.compile(compileResult.source, babelOptions, {

packages/vue3/src/runtime/server.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import { WebApp } from 'meteor/webapp'
2+
import launchMiddleware from 'launch-editor-middleware'
3+
4+
WebApp.connectHandlers.use('/__open-in-editor', launchMiddleware())

0 commit comments

Comments
 (0)