mirror of
https://github.com/logseq/logseq.git
synced 2026-04-24 22:25:01 +00:00
improve(plugin): perf console table
This commit is contained in:
@@ -437,9 +437,11 @@ class ExistedImportedPluginPackageError extends Error {
|
||||
/**
|
||||
* Host plugin for local
|
||||
*/
|
||||
class PluginLocal extends EventEmitter<
|
||||
'loaded' | 'unloaded' | 'beforeunload' | 'error' | string
|
||||
> {
|
||||
class PluginLocal extends EventEmitter<'loaded'
|
||||
| 'unloaded'
|
||||
| 'beforeunload'
|
||||
| 'error'
|
||||
| string> {
|
||||
private _sdk: Partial<PluginLocalSDKMetadata> = {}
|
||||
private _disposes: Array<() => Promise<any>> = []
|
||||
private _id: PluginLocalIdentity
|
||||
@@ -573,7 +575,7 @@ class PluginLocal extends EventEmitter<
|
||||
const localRoot = (this._localRoot = safetyPathNormalize(url))
|
||||
const logseq: Partial<LSPluginPkgConfig> = pkg.logseq || {}
|
||||
|
||||
// Pick legal attrs
|
||||
// Pick legal attrs
|
||||
;[
|
||||
'name',
|
||||
'author',
|
||||
@@ -681,10 +683,10 @@ class PluginLocal extends EventEmitter<
|
||||
<meta charset="UTF-8">
|
||||
<title>logseq plugin entry</title>
|
||||
${
|
||||
IS_DEV
|
||||
? `<script src="${sdkPathRoot}/lsplugin.user.js?v=${tag}"></script>`
|
||||
: `<script src="https://cdn.jsdelivr.net/npm/@logseq/libs/dist/lsplugin.user.min.js?v=${tag}"></script>`
|
||||
}
|
||||
IS_DEV
|
||||
? `<script src="${sdkPathRoot}/lsplugin.user.js?v=${tag}"></script>`
|
||||
: `<script src="https://cdn.jsdelivr.net/npm/@logseq/libs/dist/lsplugin.user.min.js?v=${tag}"></script>`
|
||||
}
|
||||
|
||||
</head>
|
||||
<body>
|
||||
@@ -1119,8 +1121,7 @@ class PluginLocal extends EventEmitter<
|
||||
* Host plugin core
|
||||
*/
|
||||
class LSPluginCore
|
||||
extends EventEmitter<
|
||||
| 'beforeenable'
|
||||
extends EventEmitter<'beforeenable'
|
||||
| 'enabled'
|
||||
| 'beforedisable'
|
||||
| 'disabled'
|
||||
@@ -1133,10 +1134,8 @@ class LSPluginCore
|
||||
| 'settings-changed'
|
||||
| 'unlink-plugin'
|
||||
| 'beforereload'
|
||||
| 'reloaded'
|
||||
>
|
||||
implements ILSPluginThemeManager
|
||||
{
|
||||
| 'reloaded'>
|
||||
implements ILSPluginThemeManager {
|
||||
private _isRegistering = false
|
||||
private _readyIndicator?: DeferredActor
|
||||
private readonly _hostMountedActor: DeferredActor = deferred()
|
||||
@@ -1150,10 +1149,8 @@ class LSPluginCore
|
||||
externals: [],
|
||||
}
|
||||
private readonly _registeredThemes = new Map<PluginLocalIdentity, Theme[]>()
|
||||
private readonly _registeredPlugins = new Map<
|
||||
PluginLocalIdentity,
|
||||
PluginLocal
|
||||
>()
|
||||
private readonly _registeredPlugins = new Map<PluginLocalIdentity,
|
||||
PluginLocal>()
|
||||
private _currentTheme: {
|
||||
pid: PluginLocalIdentity
|
||||
opt: Theme | LegacyTheme
|
||||
@@ -1229,21 +1226,22 @@ class LSPluginCore
|
||||
return
|
||||
}
|
||||
|
||||
const perfTable = new Map<
|
||||
string,
|
||||
{ o: PluginLocal; s: number; e: number }
|
||||
>()
|
||||
const perfTable = new Map<string,
|
||||
{ o: PluginLocal; s: number; e: number }>()
|
||||
const debugPerfInfo = () => {
|
||||
const data = Array.from(perfTable.values()).reduce((ac, it) => {
|
||||
const { options, status, disabled } = it.o
|
||||
const data: any = Array.from(perfTable.values()).reduce((ac, it) => {
|
||||
const { id, options, status, disabled } = it.o
|
||||
|
||||
ac[it.o.id] = {
|
||||
name: options.name,
|
||||
entry: options.entry,
|
||||
status: status,
|
||||
enabled:
|
||||
typeof disabled === 'boolean' ? (!disabled ? '🟢' : '⚫️') : '🔴',
|
||||
perf: !it.e ? it.o.loadErr : `${(it.e - it.s).toFixed(2)}ms`,
|
||||
if (disabled !== true &&
|
||||
(options.entry || (!options.name && !options.entry))) {
|
||||
ac[id] = {
|
||||
name: options.name,
|
||||
entry: options.entry,
|
||||
status: status,
|
||||
enabled:
|
||||
typeof disabled === 'boolean' ? (!disabled ? '🟢' : '⚫️') : '🔴',
|
||||
perf: !it.e ? it.o.loadErr : `${(it.e - it.s).toFixed(2)}ms`,
|
||||
}
|
||||
}
|
||||
|
||||
return ac
|
||||
@@ -1554,12 +1552,12 @@ class LSPluginCore
|
||||
await this.saveUserPreferences(
|
||||
theme.mode
|
||||
? {
|
||||
themes: {
|
||||
...this._userPreferences.themes,
|
||||
mode: theme.mode,
|
||||
[theme.mode]: theme,
|
||||
},
|
||||
}
|
||||
themes: {
|
||||
...this._userPreferences.themes,
|
||||
mode: theme.mode,
|
||||
[theme.mode]: theme,
|
||||
},
|
||||
}
|
||||
: { theme: theme }
|
||||
)
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
dirs (js->clj (fs/readdirSync plugins-root #js{"withFileTypes" true}))
|
||||
dirs (->> dirs
|
||||
(filter #(.isDirectory %))
|
||||
(filter #(not (string/starts-with? (.-name %) "_")))
|
||||
(filter (fn [f] (not (some #(string/starts-with? (.-name f) %) ["_" "."]))))
|
||||
(map #(path/join plugins-root (.-name %))))]
|
||||
dirs))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user