commit a912d45b9aae06c1e4728c482bdbed27b8417db5
| author | 斟酌 鵬兄 <tgckpg@gmail.com> |
| date | 2026-06-14T23:12:40Z |
| subject | Migrate old externs 5/x |
commit a912d45b9aae06c1e4728c482bdbed27b8417db5
Author: 斟酌 鵬兄 <tgckpg@gmail.com>
Date: 2026-06-14T23:12:40Z
Migrate old externs 5/x
---
README.md | 16 ++----------
botanjs/src/Astro/Blog/AstroEdit/Draft.js | 2 +-
botanjs/src/Astro/Blog/AstroEdit/Flag.js | 2 +-
botanjs/src/Astro/Blog/AstroEdit/SiteLibrary.js | 2 ++
.../src/Astro/Blog/AstroEdit/SmartInput/_this.js | 2 +-
botanjs/src/Astro/Blog/AstroEdit/_this.js | 14 +++++-----
botanjs/src/Components/Vim/VimArea.js | 1 -
botanjs/src/_this.js | 4 +--
.../src/externs/Astro.Blog.AstroEdit.Article.js | 8 ++++--
botanjs/src/externs/Astro.Blog.AstroEdit.Draft.js | 6 +++++
botanjs/src/externs/Astro.Blog.AstroEdit.Flag.js | 8 ++++++
.../src/externs/Astro.Blog.AstroEdit.IPlugin.js | 24 ++++++++++++-----
.../externs/Astro.Blog.AstroEdit.SiteLibrary.js | 7 +++++
.../src/externs/Astro.Blog.AstroEdit.Uploader.js | 5 ++++
.../src/externs/Astro.Blog.AstroEdit.Visualizer.js | 8 ++++--
botanjs/src/externs/BotanEvent.js | 26 +++++++++++--------
botanjs/src/externs/Components.Vim.VimArea.js | 4 ++-
botanjs/src/externs/System.utils.js | 30 ++++++++++++++++------
botanjs/src/externs/_AstConf_.AstroEdit.js | 21 ++++++++-------
resolver-go/cmd/api-server/main.go | 2 +-
resolver-go/internal/generated/buildinfo_gen.go | 2 +-
resolver-go/internal/generated/classmap_gen.go | 24 ++++++++---------
resolver-go/internal/generated/externs_gen.go | 4 +++
resolver-go/internal/resolver/resolver.go | 17 ++++++++++--
24 files changed, 153 insertions(+), 86 deletions(-)
diff --git a/README.md b/README.md
index 39eca40..4e89b9c 100644
--- a/README.md
+++ b/README.md
@@ -3,23 +3,11 @@
The current backend Js/Css services for [my blog](https://blog.astropenguin.net)
-### Try it - Docker for windows (using windows container with nanoserver)
-- docker -f windows/docker-compose.yml build
-- docker -f windows/docker-compose.yml up
+### Try it
+`make build`
### Features
- Compressable by Closure Compiler (Advanced Compression)
- Python-like, class oriented syntax structure
- Everything is merged into one file for that page
- css class inheritance
-
-### Documentation
-- Will be added later
-
-### Prerequisties
-- python3
-- virtualenv ( optional )
-- pip install Flask
-- pip install Celery
-- pip install redis
-- pip install compressinja
diff --git a/botanjs/src/Astro/Blog/AstroEdit/Draft.js b/botanjs/src/Astro/Blog/AstroEdit/Draft.js
index e3b5f9e..b7d40e1 100644
--- a/botanjs/src/Astro/Blog/AstroEdit/Draft.js
+++ b/botanjs/src/Astro/Blog/AstroEdit/Draft.js
@@ -13,7 +13,7 @@
/** @param {Astro.Blog.AstroEdit.Article} article */
var Draft = function ( article, draftsUri )
{
- /** @type {Astro.Blog.AstroEdit.Article} */
+ /** @type {typeof Astro.Blog.AstroEdit.Article} */
var Article = ns[ NS_INVOKE ]( "Article" );
if ( !( article instanceof Article ) ) return;
diff --git a/botanjs/src/Astro/Blog/AstroEdit/Flag.js b/botanjs/src/Astro/Blog/AstroEdit/Flag.js
index b6015b4..59fbd01 100644
--- a/botanjs/src/Astro/Blog/AstroEdit/Flag.js
+++ b/botanjs/src/Astro/Blog/AstroEdit/Flag.js
@@ -182,7 +182,7 @@
}
}
- Flag.prototype.getSetData = function () { };
+ Flag.prototype.getData = function () { };
Flag.prototype.setForView = function ( flagList ) { };
ns[ NS_EXPORT ]( EX_CLASS, "Flag", Flag );
diff --git a/botanjs/src/Astro/Blog/AstroEdit/SiteLibrary.js b/botanjs/src/Astro/Blog/AstroEdit/SiteLibrary.js
index 869af25..f9e4d6d 100644
--- a/botanjs/src/Astro/Blog/AstroEdit/SiteLibrary.js
+++ b/botanjs/src/Astro/Blog/AstroEdit/SiteLibrary.js
@@ -762,6 +762,8 @@
Dand.id( "asl_refresh", true ).addEventListener( "click", function( e ) { refreshCanvas( 0 ); } );
new IDOMObject( document ).addEventListeners([ dKeyUp, dKeyDown ]);
stage.addEventListener(showLibrary);
+
+ this.stage = stage;
};
ns[ NS_EXPORT ]( EX_CLASS, "SiteLibrary", SiteLibrary );
diff --git a/botanjs/src/Astro/Blog/AstroEdit/SmartInput/_this.js b/botanjs/src/Astro/Blog/AstroEdit/SmartInput/_this.js
index 1f410b7..3b2ad7a 100644
--- a/botanjs/src/Astro/Blog/AstroEdit/SmartInput/_this.js
+++ b/botanjs/src/Astro/Blog/AstroEdit/SmartInput/_this.js
@@ -69,6 +69,7 @@
this.title = title;
this.desc = desc;
this.__cands = [];
+ /** @type Array<Astro.Blog.AstroEdit.SmartInput.Definition> */
this.__defs = defs || {};
this.Empty = !defs;
};
@@ -79,7 +80,6 @@
for( var i in this.__defs )
{
- /** @param {Astro.Blog.AstroEdit.SmartInput.Definition} */
var c = this.__defs[i];
this.__cands.push( Dand.wrapc( "cn", [ i, Dand.wrapc( "desc", c.desc ) ], new DataKey( "key", i ) ) );
}
diff --git a/botanjs/src/Astro/Blog/AstroEdit/_this.js b/botanjs/src/Astro/Blog/AstroEdit/_this.js
index 754fc6b..168bbe8 100644
--- a/botanjs/src/Astro/Blog/AstroEdit/_this.js
+++ b/botanjs/src/Astro/Blog/AstroEdit/_this.js
@@ -11,19 +11,19 @@
var Bootstrap = __import( "Astro.Bootstrap" );
/** @type {Astro.Blog.Config} */
var Config = __import( "Astro.Blog.Config" );
- /** @type {Astro.Blog.AstroEdit.Article} */
+ /** @type {typeof Astro.Blog.AstroEdit.Article} */
var Article = __import( "Astro.Blog.AstroEdit.Article" );
- /** @type {Astro.Blog.AstroEdit.Draft} */
+ /** @type {typeof Astro.Blog.AstroEdit.Draft} */
var Draft = __import( "Astro.Blog.AstroEdit.Draft" );
- /** @type {Astro.Blog.AstroEdit.Flag} */
+ /** @type {typeof Astro.Blog.AstroEdit.Flag} */
var Flag = __import( "Astro.Blog.AstroEdit.Flag" );
- /** @type {Astro.Blog.AstroEdit.Visualizer} */
+ /** @type {typeof Astro.Blog.AstroEdit.Visualizer} */
var Visualizer = __import( "Astro.Blog.AstroEdit.Visualizer" );
- /** @type {Astro.Blog.AstroEdit.Uploader} */
+ /** @type {typeof Astro.Blog.AstroEdit.Uploader} */
var Uploader = __import( "Astro.Blog.AstroEdit.Uploader" );
- /** @type {Astro.Blog.AstroEdit.SiteLibrary} */
+ /** @type {typeof Astro.Blog.AstroEdit.SiteLibrary} */
var SiteLibrary = __import( "Astro.Blog.AstroEdit.SiteLibrary" );
- /** @type {Components.Vim.VimArea} */
+ /** @type {typeof Components.Vim.VimArea} */
var VimArea = __import( "Components.Vim.VimArea" );
// calls the smart bar
diff --git a/botanjs/src/Components/Vim/VimArea.js b/botanjs/src/Components/Vim/VimArea.js
index 32ebc24..009bef9 100644
--- a/botanjs/src/Components/Vim/VimArea.js
+++ b/botanjs/src/Components/Vim/VimArea.js
@@ -45,7 +45,6 @@
};
};
- /* stage @param {function(...?): Dandelion.IDOMElement} */
var VimArea = function( stage, detectScreenSize )
{
if( !stage ) throw new Error( "Invalid argument" );
diff --git a/botanjs/src/_this.js b/botanjs/src/_this.js
index e3413a4..92f301a 100644
--- a/botanjs/src/_this.js
+++ b/botanjs/src/_this.js
@@ -27,7 +27,7 @@ var __const = __static_method;
/*{{{ BotanEvent & EventDispatcher */
-/** @type {typeof BotanEvent} */
+/** @type {typeof _BotanEvent} */
var BotanEvent;
BotanEvent = function( name, data )
@@ -70,7 +70,6 @@ BotanEvent = function( name, data )
/**
* @constructor
- * @implements {EventTarget}
*/
var EventDispatcher = function() {
var events = {};
@@ -245,7 +244,6 @@ var TGR_IMPORT = 0;
// some core methods
var sGarden = window["BotanJS"];
-/** @type {BotanJS} */
var BotanJS = null;
var __namespace = null;
var __import = null;
diff --git a/botanjs/src/externs/Astro.Blog.AstroEdit.Article.js b/botanjs/src/externs/Astro.Blog.AstroEdit.Article.js
index f4c3720..97ffb85 100644
--- a/botanjs/src/externs/Astro.Blog.AstroEdit.Article.js
+++ b/botanjs/src/externs/Astro.Blog.AstroEdit.Article.js
@@ -1,5 +1,9 @@
-/** @constructor */
-Astro.Blog.AstroEdit.Article = function(){};
+/** @constructor
+ * @params {string} set_article_uri
+ * @params {Array<Astro.Blog.AstroEdit.Flag>} plugins
+ */
+Astro.Blog.AstroEdit.Article = function(set_article_uri, plugins){};
+
/** @type {Function} */
Astro.Blog.AstroEdit.Article.saveOrBackup;
/** @type {Function} */
diff --git a/botanjs/src/externs/Astro.Blog.AstroEdit.Draft.js b/botanjs/src/externs/Astro.Blog.AstroEdit.Draft.js
new file mode 100644
index 0000000..53e3b87
--- /dev/null
+++ b/botanjs/src/externs/Astro.Blog.AstroEdit.Draft.js
@@ -0,0 +1,6 @@
+/**
+ * @constructor
+ * @param {Astro.Blog.AstroEdit.Article} article
+ * @param {string} url
+ */
+Astro.Blog.AstroEdit.Draft = function(article, url) {};
diff --git a/botanjs/src/externs/Astro.Blog.AstroEdit.Flag.js b/botanjs/src/externs/Astro.Blog.AstroEdit.Flag.js
new file mode 100644
index 0000000..5a6846d
--- /dev/null
+++ b/botanjs/src/externs/Astro.Blog.AstroEdit.Flag.js
@@ -0,0 +1,8 @@
+/**
+ * @constructor
+ * @implements {Astro.Blog.AstroEdit.IPlugin}
+ * @param {string} id
+ * @param {string} target
+ * @param {!_AstConf_.AstroEditFlags} flagConf
+ */
+Astro.Blog.AstroEdit.Flag = function(id, target, flagConf) {};
diff --git a/botanjs/src/externs/Astro.Blog.AstroEdit.IPlugin.js b/botanjs/src/externs/Astro.Blog.AstroEdit.IPlugin.js
index 6f934ef..d1aee2c 100644
--- a/botanjs/src/externs/Astro.Blog.AstroEdit.IPlugin.js
+++ b/botanjs/src/externs/Astro.Blog.AstroEdit.IPlugin.js
@@ -1,8 +1,18 @@
-/** @constructor Plugin Interface */
-Astro.Blog.AstroEdit.IPlugin = function(){};
+/**
+ * @interface
+ */
+Astro.Blog.AstroEdit.IPlugin = function() {};
+
/** @type {string} */
-Astro.Blog.AstroEdit.IPlugin.id;
-/** @type {Function} */
-Astro.Blog.AstroEdit.IPlugin.setFromData;
-/** @type {Function} */
-Astro.Blog.AstroEdit.IPlugin.getData;
+Astro.Blog.AstroEdit.IPlugin.prototype.id;
+
+/**
+ * @param {*} data
+ * @return {void}
+ */
+Astro.Blog.AstroEdit.IPlugin.prototype.setForView = function(data) {};
+
+/**
+ * @return {*}
+ */
+Astro.Blog.AstroEdit.IPlugin.prototype.getData = function() {};
diff --git a/botanjs/src/externs/Astro.Blog.AstroEdit.SiteLibrary.js b/botanjs/src/externs/Astro.Blog.AstroEdit.SiteLibrary.js
new file mode 100644
index 0000000..8ad324e
--- /dev/null
+++ b/botanjs/src/externs/Astro.Blog.AstroEdit.SiteLibrary.js
@@ -0,0 +1,7 @@
+/**
+ * @constructor
+ * @param {string} base_path
+ * @param {string} get_uri
+ * @param {string} set_uri
+ */
+Astro.Blog.AstroEdit.SiteLibrary = function(base_path, get_uri, set_uri) {};
diff --git a/botanjs/src/externs/Astro.Blog.AstroEdit.Uploader.js b/botanjs/src/externs/Astro.Blog.AstroEdit.Uploader.js
new file mode 100644
index 0000000..376637f
--- /dev/null
+++ b/botanjs/src/externs/Astro.Blog.AstroEdit.Uploader.js
@@ -0,0 +1,5 @@
+/**
+ * @constructor
+ * @param {string} set_file_uri
+ */
+Astro.Blog.AstroEdit.Uploader = function(set_file_uri) {};
diff --git a/botanjs/src/externs/Astro.Blog.AstroEdit.Visualizer.js b/botanjs/src/externs/Astro.Blog.AstroEdit.Visualizer.js
index e36379c..5f7adcd 100644
--- a/botanjs/src/externs/Astro.Blog.AstroEdit.Visualizer.js
+++ b/botanjs/src/externs/Astro.Blog.AstroEdit.Visualizer.js
@@ -1,5 +1,9 @@
-/** @constructor */
-Astro.Blog.AstroEdit.Visualizer = function(){};
+/** @constructor
+ * @param {Astro.Blog.AstroEdit.Article} e_document
+ * @param {HTMLElement|Dandelion.IDOMElement} controls
+ * @param {string} service_uri
+ */
+Astro.Blog.AstroEdit.Visualizer = function(e_document, controls, service_uri){};
/** @type {Function} */
Astro.Blog.AstroEdit.Visualizer.setContentDiv;
/** @type {Function} */
diff --git a/botanjs/src/externs/BotanEvent.js b/botanjs/src/externs/BotanEvent.js
index a7c486b..5b79610 100644
--- a/botanjs/src/externs/BotanEvent.js
+++ b/botanjs/src/externs/BotanEvent.js
@@ -2,18 +2,22 @@
* @param {string} name
* @param {*} data
**/
-var BotanEvent = function (name, data){};
+var _BotanEvent = function (name, data){};
-/** @type {*} */
-BotanEvent.data;
+/** @type {function(): void} */
+_BotanEvent.propagate = function() {};
+
+/** @type {function(): void} */
+_BotanEvent.stopPropagating = function() {};
-/** @type {Function} */
-BotanEvent.propagate = function() {};
-/** @type {Function} */
-BotanEvent.stopPropagating = function() {};
+/** @type {function(): boolean} */
+_BotanEvent.propagating = function() {};
+
+/** @type {*} */
+_BotanEvent.prototype.data;
-/** @type {Boolean} */
-BotanEvent.propagating;
+/** @type {function(*): void} */
+_BotanEvent.prototype.setTarget;
-/** @type {Function} */
-BotanEvent.setTarget;
+/** @type {string} */
+_BotanEvent.prototype.type;
diff --git a/botanjs/src/externs/Components.Vim.VimArea.js b/botanjs/src/externs/Components.Vim.VimArea.js
index a2286d1..0bf46a1 100644
--- a/botanjs/src/externs/Components.Vim.VimArea.js
+++ b/botanjs/src/externs/Components.Vim.VimArea.js
@@ -1,7 +1,9 @@
/** @constructor
* @extends {EventDispatcher}
+ * @param {Element} stage
+ * @param {boolean} detectScreenSize
*/
-Components.Vim.VimArea = function(){};
+Components.Vim.VimArea = function(stage, detectScreenSize){};
/** @type {Components.Vim.LineFeeder} */
Components.Vim.VimArea.contentFeeder;
diff --git a/botanjs/src/externs/System.utils.js b/botanjs/src/externs/System.utils.js
index 2ac9985..67561e9 100644
--- a/botanjs/src/externs/System.utils.js
+++ b/botanjs/src/externs/System.utils.js
@@ -1,11 +1,25 @@
/** @constructor */
System.utils = function (){}
-/** @type {Function} */
-System.utils.objGetProp;
-/** @type {Function} */
-System.utils.objSearch;
-/** @type {Function} */
-System.utils.objMap;
-/** @type {Function} */
-System.utils.siteProto;
+/**
+ * @param {*} obj
+ * @param {string} prop
+ * @param {string} type
+ */
+System.utils.prototype.objGetProp = function(obj, prop, type) {};
+
+/**
+ * @param {*} obj
+ * @param {function(*): boolean} cond
+ * @param {string} prop
+ */
+System.utils.prototype.objSearch = function(obj, cond, prop) {};
+
+/**
+ * @param {*} obj
+ * @param {function(*): *} callback
+ */
+System.utils.prototype.objMap = function(obj, callback) {};
+
+/** @type {function(string): string} */
+System.utils.prototype.siteProto = function(path){};
diff --git a/botanjs/src/externs/_AstConf_.AstroEdit.js b/botanjs/src/externs/_AstConf_.AstroEdit.js
index f43e0ad..cf3738f 100644
--- a/botanjs/src/externs/_AstConf_.AstroEdit.js
+++ b/botanjs/src/externs/_AstConf_.AstroEdit.js
@@ -1,13 +1,10 @@
/**
* @typedef {{
- * article_id: string,
- * paths: !_AstConf_.AstroEdit.Paths,
- * tags: !Object<string, *>,
- * sections: !Object<string, *>,
- * flags: !_AstConf_.AstroEdit.Flags
+ * URICount: string,
+ * URISet: string
* }}
*/
-_AstConf_.AstroEdit;
+_AstConf_.AstroEditFlags;
/**
* @typedef {{
@@ -16,15 +13,17 @@ _AstConf_.AstroEdit;
* list_articles: string,
* get_drafts: string,
* get_files: string,
- * set_file: string
+ * set_file: string,
+ * tags: !_AstConf_.AstroEditFlags,
+ * sections: !_AstConf_.AstroEditFlags
* }}
*/
-_AstConf_.AstroEdit.Paths;
+_AstConf_.AstroEditPaths;
/**
* @typedef {{
- * URICount: string,
- * URISet: string
+ * article_id: string,
+ * paths: !_AstConf_.AstroEditPaths
* }}
*/
-_AstConf_.AstroEdit.Flags;
+_AstConf_.AstroEdit;
diff --git a/resolver-go/cmd/api-server/main.go b/resolver-go/cmd/api-server/main.go
index 6a9e144..0808e10 100644
--- a/resolver-go/cmd/api-server/main.go
+++ b/resolver-go/cmd/api-server/main.go
@@ -107,7 +107,7 @@ func (h handler) index(w http.ResponseWriter, req *http.Request) {
},
},
Defines: map[string]any{
- "DEBUG": false,
+ "DEFINE_DEBUG": false,
},
},
})
diff --git a/resolver-go/internal/generated/buildinfo_gen.go b/resolver-go/internal/generated/buildinfo_gen.go
index 2bb91de..19fd948 100644
--- a/resolver-go/internal/generated/buildinfo_gen.go
+++ b/resolver-go/internal/generated/buildinfo_gen.go
@@ -2,5 +2,5 @@ package generated
const (
IMAGE_TAG = "dev"
- Timestamp = "20260614.213626"
+ Timestamp = "20260614.231020"
)
diff --git a/resolver-go/internal/generated/classmap_gen.go b/resolver-go/internal/generated/classmap_gen.go
index 63d0917..76e308c 100644
--- a/resolver-go/internal/generated/classmap_gen.go
+++ b/resolver-go/internal/generated/classmap_gen.go
@@ -7,12 +7,12 @@ var ClassMap = &classmap.Map{
Symbols: map[string]classmap.Symbol{
"Astro": {Name: "Astro", Kind: "class", Parent: "", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
"Astro.Blog": {Name: "Astro.Blog", Kind: "class", Parent: "Astro", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
- "Astro.Blog.AstroEdit": {Name: "Astro.Blog.AstroEdit", Kind: "class", Parent: "Astro.Blog", Imports: []string{"System.utils", "System.Cycle", "Dandelion", "Astro.Bootstrap", "Astro.Blog.Config", "Astro.Blog.AstroEdit.Article", "Astro.Blog.AstroEdit.Draft", "Astro.Blog.AstroEdit.Flag", "Astro.Blog.AstroEdit.Visualizer", "Astro.Blog.AstroEdit.Uploader", "Astro.Blog.AstroEdit.SiteLibrary", "Components.Vim.VimArea", "Astro.Blog.AstroEdit.SmartInput", "Astro.Blog.SharedStyle"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/_this.js", JSHash: "c21f6a1de562e3365d7874696d7e791074f935c1", CSSHash: "2d37776089eeac5d81981f100c1c029c9249e4a9"}},
+ "Astro.Blog.AstroEdit": {Name: "Astro.Blog.AstroEdit", Kind: "class", Parent: "Astro.Blog", Imports: []string{"System.utils", "System.Cycle", "Dandelion", "Astro.Bootstrap", "Astro.Blog.Config", "Astro.Blog.AstroEdit.Article", "Astro.Blog.AstroEdit.Draft", "Astro.Blog.AstroEdit.Flag", "Astro.Blog.AstroEdit.Visualizer", "Astro.Blog.AstroEdit.Uploader", "Astro.Blog.AstroEdit.SiteLibrary", "Components.Vim.VimArea", "Astro.Blog.AstroEdit.SmartInput", "Astro.Blog.SharedStyle"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/_this.js", JSHash: "92ff148e1e100a172d0583f22fff03fa277840ce", CSSHash: "2d37776089eeac5d81981f100c1c029c9249e4a9"}},
"Astro.Blog.AstroEdit.Article": {Name: "Astro.Blog.AstroEdit.Article", Kind: "class", Parent: "Astro.Blog.AstroEdit", Imports: []string{"System.Cycle", "System.utils", "System.utils.EventKey", "System.Debug", "Components.MessageBox", "Dandelion", "Dandelion.IDOMObject", "Dandelion.IDOMElement", "Astro.Blog.Config", "Astro.Blog.Components.Bubble", "System.Net.postData", "Astro.utils.Date.pretty", "Astro.Blog.AstroEdit.Visualizer", "Astro.Blog.AstroEdit.Flag", "Astro.Blog.AstroEdit.Draft"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Article.js", JSHash: "de5683e8ccc580958a5e8f66feacb58ca0fbd4f7", CSSHash: "1"}},
- "Astro.Blog.AstroEdit.Draft": {Name: "Astro.Blog.AstroEdit.Draft", Kind: "class", Parent: "Astro.Blog.AstroEdit", Imports: []string{"System.Cycle", "System.utils.IKey", "Dandelion", "System.Net.postData", "Astro.Blog.AstroEdit.Article"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Draft.js", JSHash: "f1d8d898abde5d705dec0c1fc759ee71d368d89a", CSSHash: "1"}},
- "Astro.Blog.AstroEdit.Flag": {Name: "Astro.Blog.AstroEdit.Flag", Kind: "class", Parent: "Astro.Blog.AstroEdit", Imports: []string{"System.Debug", "Components.MessageBox", "Dandelion", "Dandelion.IDOMElement", "Astro.Blog.Config", "System.Net.postData"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Flag.js", JSHash: "365be7deb7a621cc7379d8c0d902a45ecceb9ee7", CSSHash: "2af9897e11ed5f3c3a750ce5488c9d91e46c6c58"}},
- "Astro.Blog.AstroEdit.SiteLibrary": {Name: "Astro.Blog.AstroEdit.SiteLibrary", Kind: "class", Parent: "Astro.Blog.AstroEdit", Imports: []string{"System.Cycle", "System.Debug", "System.utils.Perf", "System.utils.IKey", "System.utils.DataKey", "System.utils.EventKey", "Components.MessageBox", "Components.Mouse.ContextMenu", "Dandelion", "Dandelion.IDOMObject", "Dandelion.IDOMElement", "Astro.Blog.Config", "System.Net.postData", "Astro.utils.Date.pretty"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/SiteLibrary.js", JSHash: "06de454d725addb1640bd305b901d385798c3bea", CSSHash: "ef9290487558512fa1db9a4a20b91aa8421b4b26"}},
- "Astro.Blog.AstroEdit.SmartInput": {Name: "Astro.Blog.AstroEdit.SmartInput", Kind: "class", Parent: "Astro.Blog.AstroEdit", Imports: []string{"Dandelion", "Dandelion.IDOMElement", "Dandelion.IDOMObject", "System.Cycle", "System.Debug", "System.Net.ClassLoader", "System.utils", "System.utils.DataKey", "System.utils.IKey", "Components.MessageBox", "Astro.Blog.Config"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/SmartInput/_this.js", JSHash: "69d20f62e5f394c2d63537b201c54883d9d7d85f", CSSHash: "4cd01e0c87e41c384afe9d9d5fb9d545bd51bd38"}},
+ "Astro.Blog.AstroEdit.Draft": {Name: "Astro.Blog.AstroEdit.Draft", Kind: "class", Parent: "Astro.Blog.AstroEdit", Imports: []string{"System.Cycle", "System.utils.IKey", "Dandelion", "System.Net.postData", "Astro.Blog.AstroEdit.Article"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Draft.js", JSHash: "3949dd12c90e92b3f792b86841fd72c2482a18d5", CSSHash: "1"}},
+ "Astro.Blog.AstroEdit.Flag": {Name: "Astro.Blog.AstroEdit.Flag", Kind: "class", Parent: "Astro.Blog.AstroEdit", Imports: []string{"System.Debug", "Components.MessageBox", "Dandelion", "Dandelion.IDOMElement", "Astro.Blog.Config", "System.Net.postData"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Flag.js", JSHash: "31bdc37b8e995c6defd12c3a4dd743e27abdaa4d", CSSHash: "2af9897e11ed5f3c3a750ce5488c9d91e46c6c58"}},
+ "Astro.Blog.AstroEdit.SiteLibrary": {Name: "Astro.Blog.AstroEdit.SiteLibrary", Kind: "class", Parent: "Astro.Blog.AstroEdit", Imports: []string{"System.Cycle", "System.Debug", "System.utils.Perf", "System.utils.IKey", "System.utils.DataKey", "System.utils.EventKey", "Components.MessageBox", "Components.Mouse.ContextMenu", "Dandelion", "Dandelion.IDOMObject", "Dandelion.IDOMElement", "Astro.Blog.Config", "System.Net.postData", "Astro.utils.Date.pretty"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/SiteLibrary.js", JSHash: "09a9a043d155709d787fd75706ccd1bd05425d6e", CSSHash: "ef9290487558512fa1db9a4a20b91aa8421b4b26"}},
+ "Astro.Blog.AstroEdit.SmartInput": {Name: "Astro.Blog.AstroEdit.SmartInput", Kind: "class", Parent: "Astro.Blog.AstroEdit", Imports: []string{"Dandelion", "Dandelion.IDOMElement", "Dandelion.IDOMObject", "System.Cycle", "System.Debug", "System.Net.ClassLoader", "System.utils", "System.utils.DataKey", "System.utils.IKey", "Components.MessageBox", "Astro.Blog.Config"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/SmartInput/_this.js", JSHash: "c4b42f193f02a00b79ef82e4fb0801202348ef1b", CSSHash: "4cd01e0c87e41c384afe9d9d5fb9d545bd51bd38"}},
"Astro.Blog.AstroEdit.SmartInput.CandidateAction": {Name: "Astro.Blog.AstroEdit.SmartInput.CandidateAction", Kind: "class", Parent: "Astro.Blog.AstroEdit.SmartInput", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}},
"Astro.Blog.AstroEdit.SmartInput.CandidateAction.ArticleContent": {Name: "Astro.Blog.AstroEdit.SmartInput.CandidateAction.ArticleContent", Kind: "class", Parent: "Astro.Blog.AstroEdit.SmartInput.CandidateAction", Imports: []string{"Astro.Blog.Config", "System.Net.getData", "Astro.utils.Date.pretty"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/SmartInput/CandidateAction/ArticleReference.js", JSHash: "2e66502daabb251f22f83535899c3c282f32a2c0", CSSHash: "1"}},
"Astro.Blog.AstroEdit.SmartInput.CandidateAction.ArticleReference": {Name: "Astro.Blog.AstroEdit.SmartInput.CandidateAction.ArticleReference", Kind: "class", Parent: "Astro.Blog.AstroEdit.SmartInput.CandidateAction", Imports: []string{"Astro.Blog.Config", "System.Net.getData", "Astro.utils.Date.pretty"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/SmartInput/CandidateAction/ArticleReference.js", JSHash: "2e66502daabb251f22f83535899c3c282f32a2c0", CSSHash: "1"}},
@@ -179,7 +179,7 @@ var ClassMap = &classmap.Map{
"Components.Vim.Syntax.Analyzer": {Name: "Components.Vim.Syntax.Analyzer", Kind: "class", Parent: "Components.Vim.Syntax", Imports: []string{"System.Debug", "Components.Vim.Beep", "Components.Vim.Syntax.Word"}, Resource: classmap.Resource{Src: "Components/Vim/Syntax/Analyzer.js", JSHash: "64b9a2ae4c6ba0f9fdc0dda87323786df6c6b339", CSSHash: "1"}},
"Components.Vim.Syntax.TokenMatch": {Name: "Components.Vim.Syntax.TokenMatch", Kind: "class", Parent: "Components.Vim.Syntax", Imports: []string{"System.Debug", "Components.Vim.Beep", "Components.Vim.Syntax.Word"}, Resource: classmap.Resource{Src: "Components/Vim/Syntax/Analyzer.js", JSHash: "64b9a2ae4c6ba0f9fdc0dda87323786df6c6b339", CSSHash: "1"}},
"Components.Vim.Syntax.Word": {Name: "Components.Vim.Syntax.Word", Kind: "class", Parent: "Components.Vim.Syntax", Imports: []string(nil), Resource: classmap.Resource{Src: "Components/Vim/Syntax/Word.js", JSHash: "a6d24370b0906cc0f09cfd68d96d635cd583fac3", CSSHash: "1"}},
- "Components.Vim.VimArea": {Name: "Components.Vim.VimArea", Kind: "class", Parent: "Components.Vim", Imports: []string{"Dandelion.IDOMElement", "System.utils.DataKey", "System.utils.EventKey", "System.Cycle", "System.Debug", "Components.Vim.State.Registers", "Components.Vim.State.Marks", "Components.Vim.Syntax.Analyzer", "Components.Vim.LineFeeder", "Components.Vim.StatusBar", "Components.Vim.Controls", "Components.Vim.ActionEvent", "Components.Vim.Message"}, Resource: classmap.Resource{Src: "Components/Vim/VimArea.js", JSHash: "dda35cb49939da6a71d08f68a85435f68d64e283", CSSHash: "1"}},
+ "Components.Vim.VimArea": {Name: "Components.Vim.VimArea", Kind: "class", Parent: "Components.Vim", Imports: []string{"Dandelion.IDOMElement", "System.utils.DataKey", "System.utils.EventKey", "System.Cycle", "System.Debug", "Components.Vim.State.Registers", "Components.Vim.State.Marks", "Components.Vim.Syntax.Analyzer", "Components.Vim.LineFeeder", "Components.Vim.StatusBar", "Components.Vim.Controls", "Components.Vim.ActionEvent", "Components.Vim.Message"}, Resource: classmap.Resource{Src: "Components/Vim/VimArea.js", JSHash: "9639b24336a69aba93eda2e61fc127fe8e78c9dd", CSSHash: "1"}},
"Dandelion": {Name: "Dandelion", Kind: "class", Parent: "", Imports: []string{"System.Global.IE", "System.utils.IKey"}, Resource: classmap.Resource{Src: "Dandelion/_this.js", JSHash: "27db6b49f6b23b1a3e7e905932525a81621e0b8f", CSSHash: "1"}},
"Dandelion.CSSAnimations": {Name: "Dandelion.CSSAnimations", Kind: "class", Parent: "Dandelion", Imports: []string(nil), Resource: classmap.Resource{Src: "Dandelion/CSSAnimations/_this.js", JSHash: "a01a6bcfc5851debc7179e9449dc93617bca3afc", CSSHash: "2d6b4b00f0c4050187ccf010e0a24e5bc6121d18"}},
"Dandelion.CSSAnimations.MouseOverMovie": {Name: "Dandelion.CSSAnimations.MouseOverMovie", Kind: "method", Parent: "Dandelion.CSSAnimations", Imports: []string(nil), Resource: classmap.Resource{Src: "Dandelion/CSSAnimations/MovieClip.js", JSHash: "5667064818a0ca32f11a9b5a27ed641058e9df6c", CSSHash: "daa6e6f4ee3365e599cf1b2680f3e907389534f3"}},
@@ -316,13 +316,13 @@ var ClassMap = &classmap.Map{
},
Files: map[string]classmap.Resource{
"Astro/Blog/AstroEdit/Article.js": {Src: "Astro/Blog/AstroEdit/Article.js", JSHash: "de5683e8ccc580958a5e8f66feacb58ca0fbd4f7", CSSHash: "1"},
- "Astro/Blog/AstroEdit/Draft.js": {Src: "Astro/Blog/AstroEdit/Draft.js", JSHash: "f1d8d898abde5d705dec0c1fc759ee71d368d89a", CSSHash: "1"},
- "Astro/Blog/AstroEdit/Flag.js": {Src: "Astro/Blog/AstroEdit/Flag.js", JSHash: "365be7deb7a621cc7379d8c0d902a45ecceb9ee7", CSSHash: "2af9897e11ed5f3c3a750ce5488c9d91e46c6c58"},
- "Astro/Blog/AstroEdit/SiteLibrary.js": {Src: "Astro/Blog/AstroEdit/SiteLibrary.js", JSHash: "06de454d725addb1640bd305b901d385798c3bea", CSSHash: "ef9290487558512fa1db9a4a20b91aa8421b4b26"},
+ "Astro/Blog/AstroEdit/Draft.js": {Src: "Astro/Blog/AstroEdit/Draft.js", JSHash: "3949dd12c90e92b3f792b86841fd72c2482a18d5", CSSHash: "1"},
+ "Astro/Blog/AstroEdit/Flag.js": {Src: "Astro/Blog/AstroEdit/Flag.js", JSHash: "31bdc37b8e995c6defd12c3a4dd743e27abdaa4d", CSSHash: "2af9897e11ed5f3c3a750ce5488c9d91e46c6c58"},
+ "Astro/Blog/AstroEdit/SiteLibrary.js": {Src: "Astro/Blog/AstroEdit/SiteLibrary.js", JSHash: "09a9a043d155709d787fd75706ccd1bd05425d6e", CSSHash: "ef9290487558512fa1db9a4a20b91aa8421b4b26"},
"Astro/Blog/AstroEdit/SmartInput/CandidateAction/ArticleReference.js": {Src: "Astro/Blog/AstroEdit/SmartInput/CandidateAction/ArticleReference.js", JSHash: "2e66502daabb251f22f83535899c3c282f32a2c0", CSSHash: "1"},
"Astro/Blog/AstroEdit/SmartInput/CandidateAction/Footnote.js": {Src: "Astro/Blog/AstroEdit/SmartInput/CandidateAction/Footnote.js", JSHash: "e308b387915865640c00c1c172c20482adaa1e46", CSSHash: "1"},
"Astro/Blog/AstroEdit/SmartInput/CandidateAction/Heading.js": {Src: "Astro/Blog/AstroEdit/SmartInput/CandidateAction/Heading.js", JSHash: "65e852a90c2dddce5931f45f841ec932e3b35e59", CSSHash: "1"},
- "Astro/Blog/AstroEdit/SmartInput/_this.js": {Src: "Astro/Blog/AstroEdit/SmartInput/_this.js", JSHash: "69d20f62e5f394c2d63537b201c54883d9d7d85f", CSSHash: "4cd01e0c87e41c384afe9d9d5fb9d545bd51bd38"},
+ "Astro/Blog/AstroEdit/SmartInput/_this.js": {Src: "Astro/Blog/AstroEdit/SmartInput/_this.js", JSHash: "c4b42f193f02a00b79ef82e4fb0801202348ef1b", CSSHash: "4cd01e0c87e41c384afe9d9d5fb9d545bd51bd38"},
"Astro/Blog/AstroEdit/Uploader.js": {Src: "Astro/Blog/AstroEdit/Uploader.js", JSHash: "7205f45c289ec5a9b39cf06c3c42f31d1286cba9", CSSHash: "1"},
"Astro/Blog/AstroEdit/Visualizer/Snippet/AcquireLib.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/AcquireLib.js", JSHash: "7af9a09fbf17d439fb810b3485609c4bbd816729", CSSHash: "e3860ca0ac69a86e948b811da1ebf6ba85fad57f"},
"Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleContent.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleContent.js", JSHash: "83817c1b1e8c73a598e1c090d3dae8fb341bcebe", CSSHash: "e1cfcf676ebfc3a9ab80139ab2f7e63a2a1b286f"},
@@ -341,7 +341,7 @@ var ClassMap = &classmap.Map{
"Astro/Blog/AstroEdit/Visualizer/Snippet/Video.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Video.js", JSHash: "d6f641a25d4350b98dad2bbeeec5dedfd1c6d532", CSSHash: "ff1d4ae903c244a6aeaf78b12c375f1f45dfb3c2"},
"Astro/Blog/AstroEdit/Visualizer/Snippet/_this.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/_this.js", JSHash: "38f5d8512eabf1ffb4249b1414efd2362af8dc5c", CSSHash: "1"},
"Astro/Blog/AstroEdit/Visualizer/_this.js": {Src: "Astro/Blog/AstroEdit/Visualizer/_this.js", JSHash: "6b3cece4cedda7322cfe385fe81f956bc59c01c6", CSSHash: "d43e2d27e52788d755c96f0db4ac500aa38ca2ee"},
- "Astro/Blog/AstroEdit/_this.js": {Src: "Astro/Blog/AstroEdit/_this.js", JSHash: "c21f6a1de562e3365d7874696d7e791074f935c1", CSSHash: "2d37776089eeac5d81981f100c1c029c9249e4a9"},
+ "Astro/Blog/AstroEdit/_this.js": {Src: "Astro/Blog/AstroEdit/_this.js", JSHash: "92ff148e1e100a172d0583f22fff03fa277840ce", CSSHash: "2d37776089eeac5d81981f100c1c029c9249e4a9"},
"Astro/Blog/Components/Album.js": {Src: "Astro/Blog/Components/Album.js", JSHash: "95069b6eec9f03c84969e4d3627b0730136fa300", CSSHash: "640c50241b457330678a21b940fdb4ea15a5249b"},
"Astro/Blog/Components/ArticleContent.js": {Src: "Astro/Blog/Components/ArticleContent.js", JSHash: "2e208eae51421946f874dd78cb05d974a689bdef", CSSHash: "34fc82974af2ae7040819889bc8e7a1bd2b48cd6"},
"Astro/Blog/Components/Bubble.js": {Src: "Astro/Blog/Components/Bubble.js", JSHash: "7b344eb7e4024292d52767929d7efe6fc98a9de9", CSSHash: "2513518106d6d1c7a42e95c28becb3ddfe39e040"},
@@ -439,7 +439,7 @@ var ClassMap = &classmap.Map{
"Components/Vim/StatusBar.js": {Src: "Components/Vim/StatusBar.js", JSHash: "461f00364ced9cb6e0ae83b9d18c6456fb051e26", CSSHash: "1"},
"Components/Vim/Syntax/Analyzer.js": {Src: "Components/Vim/Syntax/Analyzer.js", JSHash: "64b9a2ae4c6ba0f9fdc0dda87323786df6c6b339", CSSHash: "1"},
"Components/Vim/Syntax/Word.js": {Src: "Components/Vim/Syntax/Word.js", JSHash: "a6d24370b0906cc0f09cfd68d96d635cd583fac3", CSSHash: "1"},
- "Components/Vim/VimArea.js": {Src: "Components/Vim/VimArea.js", JSHash: "dda35cb49939da6a71d08f68a85435f68d64e283", CSSHash: "1"},
+ "Components/Vim/VimArea.js": {Src: "Components/Vim/VimArea.js", JSHash: "9639b24336a69aba93eda2e61fc127fe8e78c9dd", CSSHash: "1"},
"Components/Vim/_this.js": {Src: "Components/Vim/_this.js", JSHash: "f385a56129d2c933fd848501bbf3a5183a2dd3a8", CSSHash: "7949b25860fcef736927c01502aad09b56d764b2"},
"Components/_this.js": {Src: "Components/_this.js", JSHash: "f4cb7babe62a5cdae34d2c4ebcb55071e81da4ff", CSSHash: "1"},
"Dandelion/CSSAnimations/MovieClip.js": {Src: "Dandelion/CSSAnimations/MovieClip.js", JSHash: "5667064818a0ca32f11a9b5a27ed641058e9df6c", CSSHash: "daa6e6f4ee3365e599cf1b2680f3e907389534f3"},
diff --git a/resolver-go/internal/generated/externs_gen.go b/resolver-go/internal/generated/externs_gen.go
index 5341b66..0fe37e9 100644
--- a/resolver-go/internal/generated/externs_gen.go
+++ b/resolver-go/internal/generated/externs_gen.go
@@ -3,10 +3,14 @@ package generated
var Externs = []string{
"externs/Astro.Blog.AstroEdit.Article.js",
+ "externs/Astro.Blog.AstroEdit.Draft.js",
+ "externs/Astro.Blog.AstroEdit.Flag.js",
"externs/Astro.Blog.AstroEdit.IPlugin.js",
+ "externs/Astro.Blog.AstroEdit.SiteLibrary.js",
"externs/Astro.Blog.AstroEdit.SmartInput.Definition.js",
"externs/Astro.Blog.AstroEdit.SmartInput.ICandidateAction.js",
"externs/Astro.Blog.AstroEdit.SmartInput.js",
+ "externs/Astro.Blog.AstroEdit.Uploader.js",
"externs/Astro.Blog.AstroEdit.Visualizer.Snippet.Model.js",
"externs/Astro.Blog.AstroEdit.Visualizer.Snippet.js",
"externs/Astro.Blog.AstroEdit.Visualizer.js",
diff --git a/resolver-go/internal/resolver/resolver.go b/resolver-go/internal/resolver/resolver.go
index 4815ddc..64cfb1d 100644
--- a/resolver-go/internal/resolver/resolver.go
+++ b/resolver-go/internal/resolver/resolver.go
@@ -252,8 +252,21 @@ func (r *Resolver) MergeJS(files []classmap.Resource) ([]byte, string, error) {
}
b.Write(src)
}
- wrapped := append([]byte("(function(){"), b.Bytes()...)
- wrapped = append(wrapped, []byte("})();")...)
+ prefix := []byte(`
+/** @define {boolean} */
+var DEFINE_DEBUG = false;
+
+(function(){
+`)
+ suffix := []byte(`
+})();
+`)
+
+ wrapped := make([]byte, 0, len(prefix)+b.Len()+len(suffix))
+ wrapped = append(wrapped, prefix...)
+ wrapped = append(wrapped, b.Bytes()...)
+ wrapped = append(wrapped, suffix...)
+
return wrapped, hashList(files, "js"), nil
}