From f0e826a1ff9eae7c008f2b92b4af35a518dd0c7f Mon Sep 17 00:00:00 2001
From: Evan You <yyx990803@gmail.com>
Date: Thu, 13 Apr 2023 15:41:39 +0800
Subject: [PATCH 1/2] feat: provide fs option to support 3.3 external type
 resolving

---
 src/Repl.vue | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/src/Repl.vue b/src/Repl.vue
index f7874fd9..bb5422b8 100644
--- a/src/Repl.vue
+++ b/src/Repl.vue
@@ -25,10 +25,26 @@ const props = withDefaults(defineProps<Props>(), {
   ssr: false
 })
 
-props.store.options = props.sfcOptions
-props.store.init()
+const { store } = props
+const sfcOptions = (store.options = props.sfcOptions || {})
+if (!sfcOptions.script) {
+  sfcOptions.script = {}
+}
+// @ts-ignore only needed in 3.3
+sfcOptions.script.fs = {
+  fileExists(file: string) {
+    if (file.startsWith('/')) file = file.slice(1)
+    return !!store.state.files[file]
+  },
+  readFile(file: string) {
+    if (file.startsWith('/')) file = file.slice(1)
+    return store.state.files[file].code
+  }
+}
+
+store.init()
 
-provide('store', props.store)
+provide('store', store)
 provide('autoresize', props.autoResize)
 provide('import-map', toRef(props, 'showImportMap'))
 provide('clear-console', toRef(props, 'clearConsole'))

From c9744624c0b65072e770edbbbe017b880fccf358 Mon Sep 17 00:00:00 2001
From: Evan You <yyx990803@gmail.com>
Date: Thu, 13 Apr 2023 15:42:56 +0800
Subject: [PATCH 2/2] 1.4.0

---
 package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package.json b/package.json
index 9038d039..f5176b1b 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@vue/repl",
-  "version": "1.3.6",
+  "version": "1.4.0",
   "description": "Vue component for editing Vue components",
   "main": "dist/ssr-stub.js",
   "module": "dist/vue-repl.js",