Browse Source

enhance(plugin): support development entry for plugins

charlie 1 month ago
parent
commit
501230b0d3
2 changed files with 11 additions and 10 deletions
  1. 10 9
      libs/src/LSPlugin.core.ts
  2. 1 1
      libs/src/LSPlugin.ts

+ 10 - 9
libs/src/LSPlugin.core.ts

@@ -573,21 +573,22 @@ class PluginLocal extends EventEmitter<
     const { repo, version } = this._options
     const localRoot = (this._localRoot = this.isWebPlugin ? `${repo || url}/${version}` : safetyPathNormalize(url))
     const logseq: Partial<LSPluginPkgConfig> = pkg.logseq || {}
-    const validateEntry = (main) => main && /\.(js|html)$/.test(main)
+    // const validateEntry = (main) => main && /\.(js|html)$/.test(main)
 
-    // Entry from main
+    // entry from main
     const entry = logseq.entry || logseq.main || pkg.main
 
-    if (validateEntry(entry)) {
-      // Theme has no main
-      this._options.entry = this._resolveResourceFullUrl(entry, localRoot)
-
+    if (logseq.devEntry) {
       // development mode entry
       this._options.devEntry = logseq.devEntry
+      this._options.entry = logseq.devEntry
+    } else {
+      // theme has no main
+      this._options.entry = this._resolveResourceFullUrl(entry, localRoot)
+    }
 
-      if (logseq.mode) {
-        this._options.mode = logseq.mode
-      }
+    if (logseq.mode) {
+      this._options.mode = logseq.mode
     }
 
     const title = logseq.title || pkg.title

+ 1 - 1
libs/src/LSPlugin.ts

@@ -77,7 +77,7 @@ export interface LSPluginPkgConfig {
   /**
    * Alternative entrypoint for development.
    */
-  devEntry: unknown
+  devEntry: string
   /**
    * For legacy themes, do not use.
    */