@vscode/component-explorer-cli 0.2.1-5 → 0.2.1-51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/dist/WorktreePool.d.ts +5 -4
- package/dist/WorktreePool.d.ts.map +1 -1
- package/dist/WorktreePool.js +3 -3
- package/dist/WorktreePool.js.map +1 -1
- package/dist/_virtual/_build-info.js +1 -1
- package/dist/browserPage.d.ts +50 -0
- package/dist/browserPage.d.ts.map +1 -1
- package/dist/browserPage.js +78 -0
- package/dist/browserPage.js.map +1 -1
- package/dist/commands/acceptCommand.d.ts +1 -1
- package/dist/commands/acceptCommand.d.ts.map +1 -1
- package/dist/commands/acceptCommand.js +15 -8
- package/dist/commands/acceptCommand.js.map +1 -1
- package/dist/commands/checkStabilityCommand.d.ts +2 -0
- package/dist/commands/checkStabilityCommand.d.ts.map +1 -1
- package/dist/commands/checkStabilityCommand.js +19 -2
- package/dist/commands/checkStabilityCommand.js.map +1 -1
- package/dist/commands/compareCommand.d.ts +1 -1
- package/dist/commands/compareCommand.d.ts.map +1 -1
- package/dist/commands/compareCommand.js +24 -15
- package/dist/commands/compareCommand.js.map +1 -1
- package/dist/commands/inputArg.d.ts +33 -0
- package/dist/commands/inputArg.d.ts.map +1 -0
- package/dist/commands/inputArg.js +103 -0
- package/dist/commands/inputArg.js.map +1 -0
- package/dist/commands/mcpCommand.d.ts +0 -2
- package/dist/commands/mcpCommand.d.ts.map +1 -1
- package/dist/commands/mcpCommand.js +136 -68
- package/dist/commands/mcpCommand.js.map +1 -1
- package/dist/commands/renderCommand.d.ts +9 -1
- package/dist/commands/renderCommand.d.ts.map +1 -1
- package/dist/commands/renderCommand.js +308 -21
- package/dist/commands/renderCommand.js.map +1 -1
- package/dist/commands/serveCommand.d.ts +1 -0
- package/dist/commands/serveCommand.d.ts.map +1 -1
- package/dist/commands/serveCommand.js +11 -6
- package/dist/commands/serveCommand.js.map +1 -1
- package/dist/commands/serviceDiffCommitsCommand.d.ts +1 -0
- package/dist/commands/serviceDiffCommitsCommand.d.ts.map +1 -1
- package/dist/commands/serviceDiffCommitsCommand.js +34 -28
- package/dist/commands/serviceDiffCommitsCommand.js.map +1 -1
- package/dist/commands/watchCommand.d.ts +1 -0
- package/dist/commands/watchCommand.d.ts.map +1 -1
- package/dist/commands/watchCommand.js +24 -13
- package/dist/commands/watchCommand.js.map +1 -1
- package/dist/comparison.d.ts +4 -3
- package/dist/comparison.d.ts.map +1 -1
- package/dist/comparison.js +17 -14
- package/dist/comparison.js.map +1 -1
- package/dist/component-explorer-config.schema.json +55 -2
- package/dist/componentExplorer.d.ts +106 -11
- package/dist/componentExplorer.d.ts.map +1 -1
- package/dist/componentExplorer.js +159 -16
- package/dist/componentExplorer.js.map +1 -1
- package/dist/config.d.ts +33 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +64 -27
- package/dist/config.js.map +1 -1
- package/dist/coverage.d.ts +64 -0
- package/dist/coverage.d.ts.map +1 -0
- package/dist/coverage.js +212 -0
- package/dist/coverage.js.map +1 -0
- package/dist/daemon/DaemonService.d.ts +14 -5
- package/dist/daemon/DaemonService.d.ts.map +1 -1
- package/dist/daemon/DaemonService.js +39 -15
- package/dist/daemon/DaemonService.js.map +1 -1
- package/dist/daemon/approvalStore.d.ts +2 -1
- package/dist/daemon/approvalStore.d.ts.map +1 -1
- package/dist/daemon/approvalStore.js +4 -3
- package/dist/daemon/approvalStore.js.map +1 -1
- package/dist/daemon/inProcessClient.js +2 -2
- package/dist/daemon/lifecycle.d.ts +4 -1
- package/dist/daemon/lifecycle.d.ts.map +1 -1
- package/dist/daemon/lifecycle.js +1 -1
- package/dist/daemon/lifecycle.js.map +1 -1
- package/dist/daemon/pipeClient.d.ts +2 -0
- package/dist/daemon/pipeClient.d.ts.map +1 -1
- package/dist/daemon/pipeClient.js +21 -3
- package/dist/daemon/pipeClient.js.map +1 -1
- package/dist/daemon/pipeName.d.ts +3 -3
- package/dist/daemon/pipeName.d.ts.map +1 -1
- package/dist/daemon/pipeName.js +1 -2
- package/dist/daemon/pipeName.js.map +1 -1
- package/dist/daemon/pipeServer.js +2 -2
- package/dist/daemon/version.d.ts +1 -1
- package/dist/daemon/version.js +1 -1
- package/dist/dependencyInstaller.d.ts +2 -1
- package/dist/dependencyInstaller.d.ts.map +1 -1
- package/dist/dependencyInstaller.js +4 -4
- package/dist/dependencyInstaller.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/debugLocation.js +3 -2
- package/dist/external/vscode-observables/observables/dist/observableInternal/debugLocation.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/experimental/manualObserver.js +85 -0
- package/dist/external/vscode-observables/observables/dist/observableInternal/experimental/manualObserver.js.map +1 -0
- package/dist/external/vscode-observables/observables/dist/observableInternal/index.js +3 -3
- package/dist/external/vscode-observables/observables/dist/observableInternal/index.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugGetDependencyGraph.js +171 -28
- package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugGetDependencyGraph.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/baseObservable.js +9 -6
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/baseObservable.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derivedImpl.js +11 -8
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derivedImpl.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/observableValue.js +7 -5
- package/dist/external/vscode-observables/observables/dist/observableInternal/observables/observableValue.js.map +1 -1
- package/dist/external/vscode-observables/observables/dist/observableInternal/reactions/autorunImpl.js +16 -0
- package/dist/external/vscode-observables/observables/dist/observableInternal/reactions/autorunImpl.js.map +1 -1
- package/dist/git/gitCommitResolver.d.ts +2 -1
- package/dist/git/gitCommitResolver.d.ts.map +1 -1
- package/dist/git/gitCommitResolver.js +2 -2
- package/dist/git/gitCommitResolver.js.map +1 -1
- package/dist/git/gitIndexResolver.d.ts +2 -1
- package/dist/git/gitIndexResolver.d.ts.map +1 -1
- package/dist/git/gitIndexResolver.js +1 -1
- package/dist/git/gitIndexResolver.js.map +1 -1
- package/dist/git/gitService.d.ts +5 -4
- package/dist/git/gitService.d.ts.map +1 -1
- package/dist/git/gitService.js.map +1 -1
- package/dist/git/gitUtils.d.ts +6 -5
- package/dist/git/gitUtils.d.ts.map +1 -1
- package/dist/git/gitUtils.js +5 -4
- package/dist/git/gitUtils.js.map +1 -1
- package/dist/git/gitWorktreeManager.d.ts +15 -14
- package/dist/git/gitWorktreeManager.d.ts.map +1 -1
- package/dist/git/gitWorktreeManager.js +10 -11
- package/dist/git/gitWorktreeManager.js.map +1 -1
- package/dist/git/testUtils.d.ts +2 -1
- package/dist/git/testUtils.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest.schema.json +38 -16
- package/dist/mcp/DaemonAccessor.d.ts +22 -0
- package/dist/mcp/DaemonAccessor.d.ts.map +1 -0
- package/dist/mcp/McpServer.d.ts +5 -19
- package/dist/mcp/McpServer.d.ts.map +1 -1
- package/dist/mcp/McpServer.js +367 -281
- package/dist/mcp/McpServer.js.map +1 -1
- package/dist/packages/common/dist/explorerUrl.js +21 -0
- package/dist/packages/common/dist/explorerUrl.js.map +1 -0
- package/dist/packages/common/dist/renderManifest.js +26 -5
- package/dist/packages/common/dist/renderManifest.js.map +1 -1
- package/dist/packages/simple-api/dist/{chunk-3R7GHWBM.js → chunk-FJ7AVNQE.js} +2 -1
- package/dist/packages/simple-api/dist/chunk-FJ7AVNQE.js.map +1 -0
- package/dist/packages/simple-api/dist/{chunk-SGBCNXYH.js → chunk-TTRCY65Z.js} +4 -1
- package/dist/packages/simple-api/dist/chunk-TTRCY65Z.js.map +1 -0
- package/dist/packages/simple-api/dist/{chunk-TAEFVNPN.js → chunk-WNXMRXWV.js} +2 -1
- package/dist/packages/simple-api/dist/chunk-WNXMRXWV.js.map +1 -0
- package/dist/packages/simple-api/dist/express.js +1 -1
- package/dist/packages/simple-api/dist/express.js.map +1 -1
- package/dist/path.d.ts +30 -0
- package/dist/path.d.ts.map +1 -0
- package/dist/path.js +78 -0
- package/dist/path.js.map +1 -0
- package/dist/processTree.d.ts +9 -0
- package/dist/processTree.d.ts.map +1 -0
- package/dist/processTree.js +41 -0
- package/dist/processTree.js.map +1 -0
- package/dist/screenshotServiceClient.d.ts +5 -1
- package/dist/screenshotServiceClient.d.ts.map +1 -1
- package/dist/screenshotServiceClient.js +8 -2
- package/dist/screenshotServiceClient.js.map +1 -1
- package/dist/server/httpServer.d.ts +1 -1
- package/dist/server/httpServer.d.ts.map +1 -1
- package/dist/server/httpServer.js +22 -20
- package/dist/server/httpServer.js.map +1 -1
- package/dist/server/serverConfig.d.ts +23 -6
- package/dist/server/serverConfig.d.ts.map +1 -1
- package/dist/server/serverConfig.js +11 -18
- package/dist/server/serverConfig.js.map +1 -1
- package/dist/server/viteServer.d.ts +16 -1
- package/dist/server/viteServer.d.ts.map +1 -1
- package/dist/server/viteServer.js +86 -5
- package/dist/server/viteServer.js.map +1 -1
- package/dist/storage.d.ts +2 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +1 -1
- package/dist/storage.js.map +1 -1
- package/dist/utils.d.ts +3 -30
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +4 -24
- package/dist/utils.js.map +1 -1
- package/dist/visualCache.d.ts +2 -1
- package/dist/visualCache.d.ts.map +1 -1
- package/dist/visualCache.js +4 -3
- package/dist/visualCache.js.map +1 -1
- package/dist/viteProjectRef.d.ts +4 -12
- package/dist/viteProjectRef.d.ts.map +1 -1
- package/dist/viteProjectRef.js +9 -17
- package/dist/viteProjectRef.js.map +1 -1
- package/package.json +20 -19
- package/dist/commands/artifactCommand.d.ts +0 -14
- package/dist/commands/artifactCommand.d.ts.map +0 -1
- package/dist/commands/screenshotCommand.d.ts +0 -19
- package/dist/commands/screenshotCommand.d.ts.map +0 -1
- package/dist/packages/simple-api/dist/chunk-3R7GHWBM.js.map +0 -1
- package/dist/packages/simple-api/dist/chunk-SGBCNXYH.js.map +0 -1
- package/dist/packages/simple-api/dist/chunk-TAEFVNPN.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derivedImpl.js","sources":["../../../../../../../../../external/vscode-observables/observables/dist/observableInternal/observables/derivedImpl.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { BaseObservable } from './baseObservable.js';\nimport { BugIndicatingError, onBugIndicatingError } from '../commonFacade/deps.js';\nimport { getLogger } from '../logging/logging.js';\nimport { DisposableStore } from '../../disposables.js';\n\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nfunction derivedStateToString(state) {\n switch (state) {\n case 0 /* DerivedState.initial */: return 'initial';\n case 1 /* DerivedState.dependenciesMightHaveChanged */: return 'dependenciesMightHaveChanged';\n case 2 /* DerivedState.stale */: return 'stale';\n case 3 /* DerivedState.upToDate */: return 'upToDate';\n default: return '<unknown>';\n }\n}\nclass Derived extends BaseObservable {\n get debugName() {\n return this._debugNameData.getDebugName(this) ?? '(anonymous)';\n }\n constructor(_debugNameData, _computeFn, _changeTracker, _handleLastObserverRemoved = undefined, _equalityComparator, debugLocation) {\n super(debugLocation);\n this._debugNameData = _debugNameData;\n this._computeFn = _computeFn;\n this._changeTracker = _changeTracker;\n this._handleLastObserverRemoved = _handleLastObserverRemoved;\n this._equalityComparator = _equalityComparator;\n this._state = 0 /* DerivedState.initial */;\n this._value = undefined;\n this._updateCount = 0;\n this._dependencies = new Set();\n this._dependenciesToBeRemoved = new Set();\n this._changeSummary = undefined;\n this._isUpdating = false;\n this._isComputing = false;\n this._didReportChange = false;\n this._isInBeforeUpdate = false;\n this._isReaderValid = false;\n this._store = undefined;\n this._delayedStore = undefined;\n this._removedObserverToCallEndUpdateOn = null;\n this._changeSummary = this._changeTracker?.createChangeSummary(undefined);\n }\n onLastObserverRemoved() {\n /**\n * We are not tracking changes anymore, thus we have to assume\n * that our cache is invalid.\n */\n this._state = 0 /* DerivedState.initial */;\n this._value = undefined;\n getLogger()?.handleDerivedCleared(this);\n for (const d of this._dependencies) {\n d.removeObserver(this);\n }\n this._dependencies.clear();\n if (this._store !== undefined) {\n this._store.dispose();\n this._store = undefined;\n }\n if (this._delayedStore !== undefined) {\n this._delayedStore.dispose();\n this._delayedStore = undefined;\n }\n this._handleLastObserverRemoved?.();\n }\n get() {\n const checkEnabled = false; // TODO set to true\n if (this._isComputing && checkEnabled) {\n // investigate why this fails in the diff editor!\n throw new BugIndicatingError('Cyclic deriveds are not supported yet!');\n }\n if (this._observers.size === 0) {\n let result;\n // Without observers, we don't know when to clean up stuff.\n // Thus, we don't cache anything to prevent memory leaks.\n try {\n this._isReaderValid = true;\n let changeSummary = undefined;\n if (this._changeTracker) {\n changeSummary = this._changeTracker.createChangeSummary(undefined);\n this._changeTracker.beforeUpdate?.(this, changeSummary);\n }\n result = this._computeFn(this, changeSummary);\n }\n finally {\n this._isReaderValid = false;\n }\n // Clear new dependencies\n this.onLastObserverRemoved();\n return result;\n }\n else {\n do {\n // We might not get a notification for a dependency that changed while it is updating,\n // thus we also have to ask all our depedencies if they changed in this case.\n if (this._state === 1 /* DerivedState.dependenciesMightHaveChanged */) {\n for (const d of this._dependencies) {\n /** might call {@link handleChange} indirectly, which could make us stale */\n d.reportChanges();\n if (this._state === 2 /* DerivedState.stale */) {\n // The other dependencies will refresh on demand, so early break\n break;\n }\n }\n }\n // We called report changes of all dependencies.\n // If we are still not stale, we can assume to be up to date again.\n if (this._state === 1 /* DerivedState.dependenciesMightHaveChanged */) {\n this._state = 3 /* DerivedState.upToDate */;\n }\n if (this._state !== 3 /* DerivedState.upToDate */) {\n this._recompute();\n }\n // In case recomputation changed one of our dependencies, we need to recompute again.\n } while (this._state !== 3 /* DerivedState.upToDate */);\n return this._value;\n }\n }\n _recompute() {\n let didChange = false;\n this._isComputing = true;\n this._didReportChange = false;\n const emptySet = this._dependenciesToBeRemoved;\n this._dependenciesToBeRemoved = this._dependencies;\n this._dependencies = emptySet;\n try {\n const changeSummary = this._changeSummary;\n this._isReaderValid = true;\n if (this._changeTracker) {\n this._isInBeforeUpdate = true;\n this._changeTracker.beforeUpdate?.(this, changeSummary);\n this._isInBeforeUpdate = false;\n this._changeSummary = this._changeTracker?.createChangeSummary(changeSummary);\n }\n const hadValue = this._state !== 0 /* DerivedState.initial */;\n const oldValue = this._value;\n this._state = 3 /* DerivedState.upToDate */;\n const delayedStore = this._delayedStore;\n if (delayedStore !== undefined) {\n this._delayedStore = undefined;\n }\n try {\n if (this._store !== undefined) {\n this._store.dispose();\n this._store = undefined;\n }\n /** might call {@link handleChange} indirectly, which could invalidate us */\n this._value = this._computeFn(this, changeSummary);\n }\n finally {\n this._isReaderValid = false;\n // We don't want our observed observables to think that they are (not even temporarily) not being observed.\n // Thus, we only unsubscribe from observables that are definitely not read anymore.\n for (const o of this._dependenciesToBeRemoved) {\n o.removeObserver(this);\n }\n this._dependenciesToBeRemoved.clear();\n if (delayedStore !== undefined) {\n delayedStore.dispose();\n }\n }\n didChange = this._didReportChange || (hadValue && !(this._equalityComparator(oldValue, this._value)));\n getLogger()?.handleObservableUpdated(this, {\n oldValue,\n newValue: this._value,\n change: undefined,\n didChange,\n hadValue,\n });\n }\n catch (e) {\n onBugIndicatingError(e);\n }\n this._isComputing = false;\n if (!this._didReportChange && didChange) {\n for (const r of this._observers) {\n r.handleChange(this, undefined);\n }\n }\n else {\n this._didReportChange = false;\n }\n }\n toString() {\n return `LazyDerived<${this.debugName}>`;\n }\n // IObserver Implementation\n beginUpdate(_observable) {\n if (this._isUpdating) {\n throw new BugIndicatingError('Cyclic deriveds are not supported yet!');\n }\n this._updateCount++;\n this._isUpdating = true;\n try {\n const propagateBeginUpdate = this._updateCount === 1;\n if (this._state === 3 /* DerivedState.upToDate */) {\n this._state = 1 /* DerivedState.dependenciesMightHaveChanged */;\n // If we propagate begin update, that will already signal a possible change.\n if (!propagateBeginUpdate) {\n for (const r of this._observers) {\n r.handlePossibleChange(this);\n }\n }\n }\n if (propagateBeginUpdate) {\n for (const r of this._observers) {\n r.beginUpdate(this); // This signals a possible change\n }\n }\n }\n finally {\n this._isUpdating = false;\n }\n }\n endUpdate(_observable) {\n this._updateCount--;\n if (this._updateCount === 0) {\n // End update could change the observer list.\n const observers = [...this._observers];\n for (const r of observers) {\n r.endUpdate(this);\n }\n if (this._removedObserverToCallEndUpdateOn) {\n const observers = [...this._removedObserverToCallEndUpdateOn];\n this._removedObserverToCallEndUpdateOn = null;\n for (const r of observers) {\n r.endUpdate(this);\n }\n }\n }\n }\n handlePossibleChange(observable) {\n // In all other states, observers already know that we might have changed.\n if (this._state === 3 /* DerivedState.upToDate */ && this._dependencies.has(observable) && !this._dependenciesToBeRemoved.has(observable)) {\n this._state = 1 /* DerivedState.dependenciesMightHaveChanged */;\n for (const r of this._observers) {\n r.handlePossibleChange(this);\n }\n }\n }\n handleChange(observable, change) {\n if (this._dependencies.has(observable) && !this._dependenciesToBeRemoved.has(observable) || this._isInBeforeUpdate) {\n getLogger()?.handleDerivedDependencyChanged(this, observable, change);\n let shouldReact = false;\n try {\n shouldReact = this._changeTracker ? this._changeTracker.handleChange({\n changedObservable: observable,\n change,\n didChange: (o) => o === observable,\n }, this._changeSummary) : true;\n }\n catch (e) {\n onBugIndicatingError(e);\n }\n const wasUpToDate = this._state === 3 /* DerivedState.upToDate */;\n if (shouldReact && (this._state === 1 /* DerivedState.dependenciesMightHaveChanged */ || wasUpToDate)) {\n this._state = 2 /* DerivedState.stale */;\n if (wasUpToDate) {\n for (const r of this._observers) {\n r.handlePossibleChange(this);\n }\n }\n }\n }\n }\n // IReader Implementation\n _ensureReaderValid() {\n if (!this._isReaderValid) {\n throw new BugIndicatingError('The reader object cannot be used outside its compute function!');\n }\n }\n readObservable(observable) {\n this._ensureReaderValid();\n // Subscribe before getting the value to enable caching\n observable.addObserver(this);\n /** This might call {@link handleChange} indirectly, which could invalidate us */\n const value = observable.get();\n // Which is why we only add the observable to the dependencies now.\n this._dependencies.add(observable);\n this._dependenciesToBeRemoved.delete(observable);\n return value;\n }\n reportChange(change) {\n this._ensureReaderValid();\n this._didReportChange = true;\n // TODO add logging\n for (const r of this._observers) {\n r.handleChange(this, change);\n }\n }\n get store() {\n this._ensureReaderValid();\n if (this._store === undefined) {\n this._store = new DisposableStore();\n }\n return this._store;\n }\n get delayedStore() {\n this._ensureReaderValid();\n if (this._delayedStore === undefined) {\n this._delayedStore = new DisposableStore();\n }\n return this._delayedStore;\n }\n addObserver(observer) {\n const shouldCallBeginUpdate = !this._observers.has(observer) && this._updateCount > 0;\n super.addObserver(observer);\n if (shouldCallBeginUpdate) {\n if (this._removedObserverToCallEndUpdateOn && this._removedObserverToCallEndUpdateOn.has(observer)) {\n this._removedObserverToCallEndUpdateOn.delete(observer);\n }\n else {\n observer.beginUpdate(this);\n }\n }\n }\n removeObserver(observer) {\n if (this._observers.has(observer) && this._updateCount > 0) {\n if (!this._removedObserverToCallEndUpdateOn) {\n this._removedObserverToCallEndUpdateOn = new Set();\n }\n this._removedObserverToCallEndUpdateOn.add(observer);\n }\n super.removeObserver(observer);\n }\n debugGetState() {\n return {\n state: this._state,\n stateStr: derivedStateToString(this._state),\n updateCount: this._updateCount,\n isComputing: this._isComputing,\n dependencies: this._dependencies,\n value: this._value,\n };\n }\n debugSetValue(newValue) {\n this._value = newValue;\n }\n debugRecompute() {\n if (!this._isComputing) {\n this._recompute();\n }\n else {\n this._state = 2 /* DerivedState.stale */;\n }\n }\n setValue(newValue, tx, change) {\n this._value = newValue;\n const observers = this._observers;\n tx.updateObserver(this, this);\n for (const d of observers) {\n d.handleChange(this, change);\n }\n }\n}\nclass DerivedWithSetter extends Derived {\n constructor(debugNameData, computeFn, changeTracker, handleLastObserverRemoved = undefined, equalityComparator, set, debugLocation) {\n super(debugNameData, computeFn, changeTracker, handleLastObserverRemoved, equalityComparator, debugLocation);\n this.set = set;\n }\n}\n\nexport { Derived, DerivedWithSetter };\n//# sourceMappingURL=derivedImpl.js.map\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"derivedImpl.js","sources":["../../../../../../../../../external/vscode-observables/observables/dist/observableInternal/observables/derivedImpl.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { BaseObservable } from './baseObservable.js';\nimport { BugIndicatingError, onBugIndicatingError } from '../commonFacade/deps.js';\nimport { getLogger } from '../logging/logging.js';\nimport { DisposableStore } from '../../disposables.js';\n\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nfunction derivedStateToString(state) {\n switch (state) {\n case 0 /* DerivedState.initial */: return 'initial';\n case 1 /* DerivedState.dependenciesMightHaveChanged */: return 'dependenciesMightHaveChanged';\n case 2 /* DerivedState.stale */: return 'stale';\n case 3 /* DerivedState.upToDate */: return 'upToDate';\n default: return '<unknown>';\n }\n}\nclass Derived extends BaseObservable {\n get debugName() {\n return this._debugNameData.getDebugName(this) ?? '(anonymous)';\n }\n constructor(_debugNameData, _computeFn, _changeTracker, _handleLastObserverRemoved = undefined, _equalityComparator, debugLocation) {\n super(debugLocation);\n this._debugNameData = _debugNameData;\n this._computeFn = _computeFn;\n this._changeTracker = _changeTracker;\n this._handleLastObserverRemoved = _handleLastObserverRemoved;\n this._equalityComparator = _equalityComparator;\n this._state = 0 /* DerivedState.initial */;\n this._value = undefined;\n this._updateCount = 0;\n this._dependencies = new Set();\n this._dependenciesToBeRemoved = new Set();\n this._changeSummary = undefined;\n this._isUpdating = false;\n this._isComputing = false;\n this._didReportChange = false;\n this._isInBeforeUpdate = false;\n this._isReaderValid = false;\n this._store = undefined;\n this._delayedStore = undefined;\n this._removedObserverToCallEndUpdateOn = null;\n this._changeSummary = this._changeTracker?.createChangeSummary(undefined);\n }\n onLastObserverRemoved() {\n /**\n * We are not tracking changes anymore, thus we have to assume\n * that our cache is invalid.\n */\n this._state = 0 /* DerivedState.initial */;\n this._value = undefined;\n getLogger()?.handleDerivedCleared(this);\n for (const d of this._dependencies) {\n d.removeObserver(this);\n }\n this._dependencies.clear();\n if (this._store !== undefined) {\n this._store.dispose();\n this._store = undefined;\n }\n if (this._delayedStore !== undefined) {\n this._delayedStore.dispose();\n this._delayedStore = undefined;\n }\n this._handleLastObserverRemoved?.();\n }\n get() {\n const checkEnabled = false; // TODO set to true\n if (this._isComputing && checkEnabled) {\n // investigate why this fails in the diff editor!\n throw new BugIndicatingError('Cyclic deriveds are not supported yet!');\n }\n if (this._observers.size === 0) {\n let result;\n // Without observers, we don't know when to clean up stuff.\n // Thus, we don't cache anything to prevent memory leaks.\n try {\n this._isReaderValid = true;\n let changeSummary = undefined;\n if (this._changeTracker) {\n changeSummary = this._changeTracker.createChangeSummary(undefined);\n this._changeTracker.beforeUpdate?.(this, changeSummary);\n }\n result = this._computeFn(this, changeSummary);\n }\n finally {\n this._isReaderValid = false;\n }\n // Clear new dependencies\n this.onLastObserverRemoved();\n return result;\n }\n else {\n do {\n // We might not get a notification for a dependency that changed while it is updating,\n // thus we also have to ask all our depedencies if they changed in this case.\n if (this._state === 1 /* DerivedState.dependenciesMightHaveChanged */) {\n for (const d of this._dependencies) {\n /** might call {@link handleChange} indirectly, which could make us stale */\n d.reportChanges();\n if (this._state === 2 /* DerivedState.stale */) {\n // The other dependencies will refresh on demand, so early break\n break;\n }\n }\n }\n // We called report changes of all dependencies.\n // If we are still not stale, we can assume to be up to date again.\n if (this._state === 1 /* DerivedState.dependenciesMightHaveChanged */) {\n this._state = 3 /* DerivedState.upToDate */;\n }\n if (this._state !== 3 /* DerivedState.upToDate */) {\n this._recompute();\n }\n // In case recomputation changed one of our dependencies, we need to recompute again.\n } while (this._state !== 3 /* DerivedState.upToDate */);\n return this._value;\n }\n }\n _recompute() {\n let didChange = false;\n this._isComputing = true;\n this._didReportChange = false;\n const emptySet = this._dependenciesToBeRemoved;\n this._dependenciesToBeRemoved = this._dependencies;\n this._dependencies = emptySet;\n try {\n const changeSummary = this._changeSummary;\n this._isReaderValid = true;\n if (this._changeTracker) {\n this._isInBeforeUpdate = true;\n this._changeTracker.beforeUpdate?.(this, changeSummary);\n this._isInBeforeUpdate = false;\n this._changeSummary = this._changeTracker?.createChangeSummary(changeSummary);\n }\n const hadValue = this._state !== 0 /* DerivedState.initial */;\n const oldValue = this._value;\n this._state = 3 /* DerivedState.upToDate */;\n const delayedStore = this._delayedStore;\n if (delayedStore !== undefined) {\n this._delayedStore = undefined;\n }\n try {\n if (this._store !== undefined) {\n this._store.dispose();\n this._store = undefined;\n }\n /** might call {@link handleChange} indirectly, which could invalidate us */\n this._value = this._computeFn(this, changeSummary);\n }\n finally {\n this._isReaderValid = false;\n // We don't want our observed observables to think that they are (not even temporarily) not being observed.\n // Thus, we only unsubscribe from observables that are definitely not read anymore.\n for (const o of this._dependenciesToBeRemoved) {\n o.removeObserver(this);\n }\n this._dependenciesToBeRemoved.clear();\n if (delayedStore !== undefined) {\n delayedStore.dispose();\n }\n }\n didChange = this._didReportChange || (hadValue && !(this._equalityComparator(oldValue, this._value)));\n getLogger()?.handleObservableUpdated(this, {\n oldValue,\n newValue: this._value,\n change: undefined,\n didChange,\n hadValue,\n });\n }\n catch (e) {\n onBugIndicatingError(e);\n }\n this._isComputing = false;\n if (!this._didReportChange && didChange) {\n for (const r of this._observers) {\n r.handleChange(this, undefined);\n }\n }\n else {\n this._didReportChange = false;\n }\n }\n toString() {\n return `LazyDerived<${this.debugName}>`;\n }\n // IObserver Implementation\n beginUpdate(_observable) {\n if (this._isUpdating) {\n throw new BugIndicatingError('Cyclic deriveds are not supported yet!');\n }\n this._updateCount++;\n this._isUpdating = true;\n try {\n const propagateBeginUpdate = this._updateCount === 1;\n if (this._state === 3 /* DerivedState.upToDate */) {\n this._state = 1 /* DerivedState.dependenciesMightHaveChanged */;\n // If we propagate begin update, that will already signal a possible change.\n if (!propagateBeginUpdate) {\n for (const r of this._observers) {\n r.handlePossibleChange(this);\n }\n }\n }\n if (propagateBeginUpdate) {\n for (const r of this._observers) {\n r.beginUpdate(this); // This signals a possible change\n }\n }\n }\n finally {\n this._isUpdating = false;\n }\n }\n endUpdate(_observable) {\n this._updateCount--;\n if (this._updateCount === 0) {\n // End update could change the observer list.\n const observers = [...this._observers];\n for (const r of observers) {\n r.endUpdate(this);\n }\n if (this._removedObserverToCallEndUpdateOn) {\n const observers = [...this._removedObserverToCallEndUpdateOn];\n this._removedObserverToCallEndUpdateOn = null;\n for (const r of observers) {\n r.endUpdate(this);\n }\n }\n }\n }\n handlePossibleChange(observable) {\n // In all other states, observers already know that we might have changed.\n if (this._state === 3 /* DerivedState.upToDate */ && this._dependencies.has(observable) && !this._dependenciesToBeRemoved.has(observable)) {\n this._state = 1 /* DerivedState.dependenciesMightHaveChanged */;\n for (const r of this._observers) {\n r.handlePossibleChange(this);\n }\n }\n }\n handleChange(observable, change) {\n if (this._dependencies.has(observable) && !this._dependenciesToBeRemoved.has(observable) || this._isInBeforeUpdate) {\n getLogger()?.handleDerivedDependencyChanged(this, observable, change);\n let shouldReact = false;\n try {\n shouldReact = this._changeTracker ? this._changeTracker.handleChange({\n changedObservable: observable,\n change,\n didChange: (o) => o === observable,\n }, this._changeSummary) : true;\n }\n catch (e) {\n onBugIndicatingError(e);\n }\n const wasUpToDate = this._state === 3 /* DerivedState.upToDate */;\n if (shouldReact && (this._state === 1 /* DerivedState.dependenciesMightHaveChanged */ || wasUpToDate)) {\n this._state = 2 /* DerivedState.stale */;\n if (wasUpToDate) {\n for (const r of this._observers) {\n r.handlePossibleChange(this);\n }\n }\n }\n }\n }\n // IReader Implementation\n _ensureReaderValid() {\n if (!this._isReaderValid) {\n throw new BugIndicatingError('The reader object cannot be used outside its compute function!');\n }\n }\n readObservable(observable) {\n this._ensureReaderValid();\n // Subscribe before getting the value to enable caching\n observable.addObserver(this);\n /** This might call {@link handleChange} indirectly, which could invalidate us */\n const value = observable.get();\n // Which is why we only add the observable to the dependencies now.\n this._dependencies.add(observable);\n this._dependenciesToBeRemoved.delete(observable);\n return value;\n }\n reportChange(change) {\n this._ensureReaderValid();\n this._didReportChange = true;\n // TODO add logging\n for (const r of this._observers) {\n r.handleChange(this, change);\n }\n }\n get store() {\n this._ensureReaderValid();\n if (this._store === undefined) {\n this._store = new DisposableStore();\n }\n return this._store;\n }\n get delayedStore() {\n this._ensureReaderValid();\n if (this._delayedStore === undefined) {\n this._delayedStore = new DisposableStore();\n }\n return this._delayedStore;\n }\n addObserver(observer) {\n const shouldCallBeginUpdate = !this._observers.has(observer) && this._updateCount > 0;\n super.addObserver(observer);\n if (shouldCallBeginUpdate) {\n if (!this._removedObserverToCallEndUpdateOn?.delete(observer)) {\n observer.beginUpdate(this);\n }\n }\n }\n removeObserver(observer) {\n if (this._observers.has(observer) && this._updateCount > 0) {\n if (!this._removedObserverToCallEndUpdateOn) {\n this._removedObserverToCallEndUpdateOn = new Set();\n }\n this._removedObserverToCallEndUpdateOn.add(observer);\n }\n super.removeObserver(observer);\n }\n debugGetState() {\n return {\n state: this._state,\n stateStr: derivedStateToString(this._state),\n updateCount: this._updateCount,\n isComputing: this._isComputing,\n dependencies: this._dependencies,\n value: this._value,\n };\n }\n debugSetValue(newValue) {\n this._value = newValue;\n }\n debugRecompute() {\n this.beginUpdate(this);\n try {\n if (!this._isComputing) {\n this._recompute();\n }\n else {\n this._state = 2 /* DerivedState.stale */;\n }\n }\n finally {\n this.endUpdate(this);\n }\n }\n setValue(newValue, tx, change) {\n this._value = newValue;\n const observers = this._observers;\n tx.updateObserver(this, this);\n for (const d of observers) {\n d.handleChange(this, change);\n }\n }\n}\nclass DerivedWithSetter extends Derived {\n constructor(debugNameData, computeFn, changeTracker, handleLastObserverRemoved = undefined, equalityComparator, set, debugLocation) {\n super(debugNameData, computeFn, changeTracker, handleLastObserverRemoved, equalityComparator, debugLocation);\n this.set = set;\n }\n}\n\nexport { Derived, DerivedWithSetter };\n//# sourceMappingURL=derivedImpl.js.map\n"],"names":[],"mappings":"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"}
|
|
@@ -14,14 +14,16 @@ import { DebugLocation } from '../debugLocation.js';
|
|
|
14
14
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
15
15
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
16
16
|
*--------------------------------------------------------------------------------------------*/
|
|
17
|
-
function
|
|
18
|
-
let debugNameData;
|
|
17
|
+
function toDebugNameData(nameOrOwner) {
|
|
19
18
|
if (typeof nameOrOwner === 'string') {
|
|
20
|
-
|
|
19
|
+
return new DebugNameData(undefined, nameOrOwner, undefined);
|
|
21
20
|
}
|
|
22
21
|
else {
|
|
23
|
-
|
|
22
|
+
return new DebugNameData(nameOrOwner, undefined, undefined);
|
|
24
23
|
}
|
|
24
|
+
}
|
|
25
|
+
function observableValue(nameOrOwner, initialValue, debugLocation = DebugLocation.ofCaller()) {
|
|
26
|
+
const debugNameData = toDebugNameData(nameOrOwner);
|
|
25
27
|
return new ObservableValue(debugNameData, initialValue, strictEquals, debugLocation);
|
|
26
28
|
}
|
|
27
29
|
class ObservableValue extends BaseObservable {
|
|
@@ -77,5 +79,5 @@ class ObservableValue extends BaseObservable {
|
|
|
77
79
|
}
|
|
78
80
|
}
|
|
79
81
|
|
|
80
|
-
export { ObservableValue, observableValue };
|
|
82
|
+
export { ObservableValue, observableValue, toDebugNameData };
|
|
81
83
|
//# sourceMappingURL=observableValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observableValue.js","sources":["../../../../../../../../../external/vscode-observables/observables/dist/observableInternal/observables/observableValue.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { TransactionImpl } from '../transaction.js';\nimport { BaseObservable } from './baseObservable.js';\nimport { strictEquals } from '../commonFacade/deps.js';\nimport { DebugNameData } from '../debugName.js';\nimport { getLogger } from '../logging/logging.js';\nimport { DebugLocation } from '../debugLocation.js';\n\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nfunction
|
|
1
|
+
{"version":3,"file":"observableValue.js","sources":["../../../../../../../../../external/vscode-observables/observables/dist/observableInternal/observables/observableValue.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { TransactionImpl } from '../transaction.js';\nimport { BaseObservable } from './baseObservable.js';\nimport { strictEquals } from '../commonFacade/deps.js';\nimport { DebugNameData } from '../debugName.js';\nimport { getLogger } from '../logging/logging.js';\nimport { DebugLocation } from '../debugLocation.js';\n\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nfunction toDebugNameData(nameOrOwner) {\n if (typeof nameOrOwner === 'string') {\n return new DebugNameData(undefined, nameOrOwner, undefined);\n }\n else {\n return new DebugNameData(nameOrOwner, undefined, undefined);\n }\n}\nfunction observableValue(nameOrOwner, initialValue, debugLocation = DebugLocation.ofCaller()) {\n const debugNameData = toDebugNameData(nameOrOwner);\n return new ObservableValue(debugNameData, initialValue, strictEquals, debugLocation);\n}\nclass ObservableValue extends BaseObservable {\n get debugName() {\n return this._debugNameData.getDebugName(this) ?? 'ObservableValue';\n }\n constructor(_debugNameData, initialValue, _equalityComparator, debugLocation) {\n super(debugLocation);\n this._debugNameData = _debugNameData;\n this._equalityComparator = _equalityComparator;\n this._value = initialValue;\n getLogger()?.handleObservableUpdated(this, { hadValue: false, newValue: initialValue, change: undefined, didChange: true, oldValue: undefined });\n }\n get() {\n return this._value;\n }\n set(value, tx, change) {\n if (change === undefined && this._equalityComparator(this._value, value)) {\n return;\n }\n let _tx;\n if (!tx) {\n tx = _tx = new TransactionImpl(() => { }, () => `Setting ${this.debugName}`);\n }\n try {\n const oldValue = this._value;\n this._setValue(value);\n getLogger()?.handleObservableUpdated(this, { oldValue, newValue: value, change, didChange: true, hadValue: true });\n for (const observer of this._observers) {\n tx.updateObserver(observer, this);\n observer.handleChange(this, change);\n }\n }\n finally {\n if (_tx) {\n _tx.finish();\n }\n }\n }\n toString() {\n return `${this.debugName}: ${this._value}`;\n }\n _setValue(newValue) {\n this._value = newValue;\n }\n debugGetState() {\n return {\n value: this._value,\n };\n }\n debugSetValue(value) {\n this._value = value;\n }\n}\n/**\n * A disposable observable. When disposed, its value is also disposed.\n * When a new value is set, the previous value is disposed.\n */\nfunction disposableObservableValue(nameOrOwner, initialValue, debugLocation = DebugLocation.ofCaller()) {\n let debugNameData;\n if (typeof nameOrOwner === 'string') {\n debugNameData = new DebugNameData(undefined, nameOrOwner, undefined);\n }\n else {\n debugNameData = new DebugNameData(nameOrOwner, undefined, undefined);\n }\n return new DisposableObservableValue(debugNameData, initialValue, strictEquals, debugLocation);\n}\nclass DisposableObservableValue extends ObservableValue {\n _setValue(newValue) {\n if (this._value === newValue) {\n return;\n }\n if (this._value) {\n this._value.dispose();\n }\n this._value = newValue;\n }\n dispose() {\n this._value?.dispose();\n }\n}\n\nexport { DisposableObservableValue, ObservableValue, disposableObservableValue, observableValue, toDebugNameData };\n//# sourceMappingURL=observableValue.js.map\n"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,7 @@ class AutorunObserver {
|
|
|
33
33
|
this._dependencies = new Set();
|
|
34
34
|
this._dependenciesToBeRemoved = new Set();
|
|
35
35
|
this._isRunning = false;
|
|
36
|
+
this._iteration = 0;
|
|
36
37
|
this._store = undefined;
|
|
37
38
|
this._delayedStore = undefined;
|
|
38
39
|
this._changeSummary = this._changeTracker?.createChangeSummary(undefined);
|
|
@@ -110,6 +111,7 @@ class AutorunObserver {
|
|
|
110
111
|
// IObserver implementation
|
|
111
112
|
beginUpdate(_observable) {
|
|
112
113
|
if (this._state === 3 /* AutorunState.upToDate */) {
|
|
114
|
+
this._checkIterations();
|
|
113
115
|
this._state = 1 /* AutorunState.dependenciesMightHaveChanged */;
|
|
114
116
|
}
|
|
115
117
|
this._updateCount++;
|
|
@@ -117,7 +119,11 @@ class AutorunObserver {
|
|
|
117
119
|
endUpdate(_observable) {
|
|
118
120
|
try {
|
|
119
121
|
if (this._updateCount === 1) {
|
|
122
|
+
this._iteration = 1;
|
|
120
123
|
do {
|
|
124
|
+
if (this._checkIterations()) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
121
127
|
if (this._state === 1 /* AutorunState.dependenciesMightHaveChanged */) {
|
|
122
128
|
this._state = 3 /* AutorunState.upToDate */;
|
|
123
129
|
for (const d of this._dependencies) {
|
|
@@ -128,6 +134,7 @@ class AutorunObserver {
|
|
|
128
134
|
}
|
|
129
135
|
}
|
|
130
136
|
}
|
|
137
|
+
this._iteration++;
|
|
131
138
|
if (this._state !== 3 /* AutorunState.upToDate */) {
|
|
132
139
|
this._run(); // Warning: indirect external call!
|
|
133
140
|
}
|
|
@@ -140,6 +147,7 @@ class AutorunObserver {
|
|
|
140
147
|
}
|
|
141
148
|
handlePossibleChange(observable) {
|
|
142
149
|
if (this._state === 3 /* AutorunState.upToDate */ && this._isDependency(observable)) {
|
|
150
|
+
this._checkIterations();
|
|
143
151
|
this._state = 1 /* AutorunState.dependenciesMightHaveChanged */;
|
|
144
152
|
}
|
|
145
153
|
}
|
|
@@ -154,6 +162,7 @@ class AutorunObserver {
|
|
|
154
162
|
didChange: (o) => o === observable,
|
|
155
163
|
}, this._changeSummary) : true;
|
|
156
164
|
if (shouldReact) {
|
|
165
|
+
this._checkIterations();
|
|
157
166
|
this._state = 2 /* AutorunState.stale */;
|
|
158
167
|
}
|
|
159
168
|
}
|
|
@@ -220,6 +229,13 @@ class AutorunObserver {
|
|
|
220
229
|
this._state = 2 /* AutorunState.stale */;
|
|
221
230
|
}
|
|
222
231
|
}
|
|
232
|
+
_checkIterations() {
|
|
233
|
+
if (this._iteration > 100) {
|
|
234
|
+
onBugIndicatingError(new BugIndicatingError(`Autorun '${this.debugName}' is stuck in an infinite update loop.`));
|
|
235
|
+
return true;
|
|
236
|
+
}
|
|
237
|
+
return false;
|
|
238
|
+
}
|
|
223
239
|
}
|
|
224
240
|
|
|
225
241
|
export { AutorunObserver };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autorunImpl.js","sources":["../../../../../../../../../external/vscode-observables/observables/dist/observableInternal/reactions/autorunImpl.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { onBugIndicatingError, BugIndicatingError } from '../commonFacade/deps.js';\nimport { getLogger } from '../logging/logging.js';\nimport { DisposableStore } from '../../disposables.js';\n\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nfunction autorunStateToString(state) {\n switch (state) {\n case 1 /* AutorunState.dependenciesMightHaveChanged */: return 'dependenciesMightHaveChanged';\n case 2 /* AutorunState.stale */: return 'stale';\n case 3 /* AutorunState.upToDate */: return 'upToDate';\n default: return '<unknown>';\n }\n}\nclass AutorunObserver {\n get debugName() {\n return this._debugNameData.getDebugName(this) ?? '(anonymous)';\n }\n constructor(_debugNameData, _runFn, _changeTracker, debugLocation) {\n this._debugNameData = _debugNameData;\n this._runFn = _runFn;\n this._changeTracker = _changeTracker;\n this._state = 2 /* AutorunState.stale */;\n this._updateCount = 0;\n this._disposed = false;\n this._dependencies = new Set();\n this._dependenciesToBeRemoved = new Set();\n this._isRunning = false;\n this._store = undefined;\n this._delayedStore = undefined;\n this._changeSummary = this._changeTracker?.createChangeSummary(undefined);\n getLogger()?.handleAutorunCreated(this, debugLocation);\n this._run();\n }\n dispose() {\n if (this._disposed) {\n return;\n }\n this._disposed = true;\n for (const o of this._dependencies) {\n o.removeObserver(this); // Warning: external call!\n }\n this._dependencies.clear();\n if (this._store !== undefined) {\n this._store.dispose();\n }\n if (this._delayedStore !== undefined) {\n this._delayedStore.dispose();\n }\n getLogger()?.handleAutorunDisposed(this);\n }\n _run() {\n const emptySet = this._dependenciesToBeRemoved;\n this._dependenciesToBeRemoved = this._dependencies;\n this._dependencies = emptySet;\n this._state = 3 /* AutorunState.upToDate */;\n try {\n if (!this._disposed) {\n getLogger()?.handleAutorunStarted(this);\n const changeSummary = this._changeSummary;\n const delayedStore = this._delayedStore;\n if (delayedStore !== undefined) {\n this._delayedStore = undefined;\n }\n try {\n this._isRunning = true;\n if (this._changeTracker) {\n this._changeTracker.beforeUpdate?.(this, changeSummary);\n this._changeSummary = this._changeTracker.createChangeSummary(changeSummary); // Warning: external call!\n }\n if (this._store !== undefined) {\n this._store.dispose();\n this._store = undefined;\n }\n this._runFn(this, changeSummary); // Warning: external call!\n }\n catch (e) {\n onBugIndicatingError(e);\n }\n finally {\n this._isRunning = false;\n if (delayedStore !== undefined) {\n delayedStore.dispose();\n }\n }\n }\n }\n finally {\n if (!this._disposed) {\n getLogger()?.handleAutorunFinished(this);\n }\n // We don't want our observed observables to think that they are (not even temporarily) not being observed.\n // Thus, we only unsubscribe from observables that are definitely not read anymore.\n for (const o of this._dependenciesToBeRemoved) {\n o.removeObserver(this); // Warning: external call!\n }\n this._dependenciesToBeRemoved.clear();\n }\n }\n toString() {\n return `Autorun<${this.debugName}>`;\n }\n // IObserver implementation\n beginUpdate(_observable) {\n if (this._state === 3 /* AutorunState.upToDate */) {\n this._state = 1 /* AutorunState.dependenciesMightHaveChanged */;\n }\n this._updateCount++;\n }\n endUpdate(_observable) {\n try {\n if (this._updateCount === 1) {\n do {\n if (this._state === 1 /* AutorunState.dependenciesMightHaveChanged */) {\n this._state = 3 /* AutorunState.upToDate */;\n for (const d of this._dependencies) {\n d.reportChanges(); // Warning: external call!\n if (this._state === 2 /* AutorunState.stale */) {\n // The other dependencies will refresh on demand\n break;\n }\n }\n }\n if (this._state !== 3 /* AutorunState.upToDate */) {\n this._run(); // Warning: indirect external call!\n }\n } while (this._state !== 3 /* AutorunState.upToDate */);\n }\n }\n finally {\n this._updateCount--;\n }\n }\n handlePossibleChange(observable) {\n if (this._state === 3 /* AutorunState.upToDate */ && this._isDependency(observable)) {\n this._state = 1 /* AutorunState.dependenciesMightHaveChanged */;\n }\n }\n handleChange(observable, change) {\n if (this._isDependency(observable)) {\n getLogger()?.handleAutorunDependencyChanged(this, observable, change);\n try {\n // Warning: external call!\n const shouldReact = this._changeTracker ? this._changeTracker.handleChange({\n changedObservable: observable,\n change,\n didChange: (o) => o === observable,\n }, this._changeSummary) : true;\n if (shouldReact) {\n this._state = 2 /* AutorunState.stale */;\n }\n }\n catch (e) {\n onBugIndicatingError(e);\n }\n }\n }\n _isDependency(observable) {\n return this._dependencies.has(observable) && !this._dependenciesToBeRemoved.has(observable);\n }\n // IReader implementation\n _ensureNoRunning() {\n if (!this._isRunning) {\n throw new BugIndicatingError('The reader object cannot be used outside its compute function!');\n }\n }\n readObservable(observable) {\n this._ensureNoRunning();\n // In case the run action disposes the autorun\n if (this._disposed) {\n return observable.get(); // warning: external call!\n }\n observable.addObserver(this); // warning: external call!\n const value = observable.get(); // warning: external call!\n this._dependencies.add(observable);\n this._dependenciesToBeRemoved.delete(observable);\n return value;\n }\n get store() {\n this._ensureNoRunning();\n if (this._disposed) {\n throw new BugIndicatingError('Cannot access store after dispose');\n }\n if (this._store === undefined) {\n this._store = new DisposableStore();\n }\n return this._store;\n }\n get delayedStore() {\n this._ensureNoRunning();\n if (this._disposed) {\n throw new BugIndicatingError('Cannot access store after dispose');\n }\n if (this._delayedStore === undefined) {\n this._delayedStore = new DisposableStore();\n }\n return this._delayedStore;\n }\n debugGetState() {\n return {\n isRunning: this._isRunning,\n updateCount: this._updateCount,\n dependencies: this._dependencies,\n state: this._state,\n stateStr: autorunStateToString(this._state),\n };\n }\n debugRerun() {\n if (!this._isRunning) {\n this._run();\n }\n else {\n this._state = 2 /* AutorunState.stale */;\n }\n }\n}\n\nexport { AutorunObserver };\n//# sourceMappingURL=autorunImpl.js.map\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"autorunImpl.js","sources":["../../../../../../../../../external/vscode-observables/observables/dist/observableInternal/reactions/autorunImpl.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { onBugIndicatingError, BugIndicatingError } from '../commonFacade/deps.js';\nimport { getLogger } from '../logging/logging.js';\nimport { DisposableStore } from '../../disposables.js';\n\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nfunction autorunStateToString(state) {\n switch (state) {\n case 1 /* AutorunState.dependenciesMightHaveChanged */: return 'dependenciesMightHaveChanged';\n case 2 /* AutorunState.stale */: return 'stale';\n case 3 /* AutorunState.upToDate */: return 'upToDate';\n default: return '<unknown>';\n }\n}\nclass AutorunObserver {\n get debugName() {\n return this._debugNameData.getDebugName(this) ?? '(anonymous)';\n }\n constructor(_debugNameData, _runFn, _changeTracker, debugLocation) {\n this._debugNameData = _debugNameData;\n this._runFn = _runFn;\n this._changeTracker = _changeTracker;\n this._state = 2 /* AutorunState.stale */;\n this._updateCount = 0;\n this._disposed = false;\n this._dependencies = new Set();\n this._dependenciesToBeRemoved = new Set();\n this._isRunning = false;\n this._iteration = 0;\n this._store = undefined;\n this._delayedStore = undefined;\n this._changeSummary = this._changeTracker?.createChangeSummary(undefined);\n getLogger()?.handleAutorunCreated(this, debugLocation);\n this._run();\n }\n dispose() {\n if (this._disposed) {\n return;\n }\n this._disposed = true;\n for (const o of this._dependencies) {\n o.removeObserver(this); // Warning: external call!\n }\n this._dependencies.clear();\n if (this._store !== undefined) {\n this._store.dispose();\n }\n if (this._delayedStore !== undefined) {\n this._delayedStore.dispose();\n }\n getLogger()?.handleAutorunDisposed(this);\n }\n _run() {\n const emptySet = this._dependenciesToBeRemoved;\n this._dependenciesToBeRemoved = this._dependencies;\n this._dependencies = emptySet;\n this._state = 3 /* AutorunState.upToDate */;\n try {\n if (!this._disposed) {\n getLogger()?.handleAutorunStarted(this);\n const changeSummary = this._changeSummary;\n const delayedStore = this._delayedStore;\n if (delayedStore !== undefined) {\n this._delayedStore = undefined;\n }\n try {\n this._isRunning = true;\n if (this._changeTracker) {\n this._changeTracker.beforeUpdate?.(this, changeSummary);\n this._changeSummary = this._changeTracker.createChangeSummary(changeSummary); // Warning: external call!\n }\n if (this._store !== undefined) {\n this._store.dispose();\n this._store = undefined;\n }\n this._runFn(this, changeSummary); // Warning: external call!\n }\n catch (e) {\n onBugIndicatingError(e);\n }\n finally {\n this._isRunning = false;\n if (delayedStore !== undefined) {\n delayedStore.dispose();\n }\n }\n }\n }\n finally {\n if (!this._disposed) {\n getLogger()?.handleAutorunFinished(this);\n }\n // We don't want our observed observables to think that they are (not even temporarily) not being observed.\n // Thus, we only unsubscribe from observables that are definitely not read anymore.\n for (const o of this._dependenciesToBeRemoved) {\n o.removeObserver(this); // Warning: external call!\n }\n this._dependenciesToBeRemoved.clear();\n }\n }\n toString() {\n return `Autorun<${this.debugName}>`;\n }\n // IObserver implementation\n beginUpdate(_observable) {\n if (this._state === 3 /* AutorunState.upToDate */) {\n this._checkIterations();\n this._state = 1 /* AutorunState.dependenciesMightHaveChanged */;\n }\n this._updateCount++;\n }\n endUpdate(_observable) {\n try {\n if (this._updateCount === 1) {\n this._iteration = 1;\n do {\n if (this._checkIterations()) {\n return;\n }\n if (this._state === 1 /* AutorunState.dependenciesMightHaveChanged */) {\n this._state = 3 /* AutorunState.upToDate */;\n for (const d of this._dependencies) {\n d.reportChanges(); // Warning: external call!\n if (this._state === 2 /* AutorunState.stale */) {\n // The other dependencies will refresh on demand\n break;\n }\n }\n }\n this._iteration++;\n if (this._state !== 3 /* AutorunState.upToDate */) {\n this._run(); // Warning: indirect external call!\n }\n } while (this._state !== 3 /* AutorunState.upToDate */);\n }\n }\n finally {\n this._updateCount--;\n }\n }\n handlePossibleChange(observable) {\n if (this._state === 3 /* AutorunState.upToDate */ && this._isDependency(observable)) {\n this._checkIterations();\n this._state = 1 /* AutorunState.dependenciesMightHaveChanged */;\n }\n }\n handleChange(observable, change) {\n if (this._isDependency(observable)) {\n getLogger()?.handleAutorunDependencyChanged(this, observable, change);\n try {\n // Warning: external call!\n const shouldReact = this._changeTracker ? this._changeTracker.handleChange({\n changedObservable: observable,\n change,\n didChange: (o) => o === observable,\n }, this._changeSummary) : true;\n if (shouldReact) {\n this._checkIterations();\n this._state = 2 /* AutorunState.stale */;\n }\n }\n catch (e) {\n onBugIndicatingError(e);\n }\n }\n }\n _isDependency(observable) {\n return this._dependencies.has(observable) && !this._dependenciesToBeRemoved.has(observable);\n }\n // IReader implementation\n _ensureNoRunning() {\n if (!this._isRunning) {\n throw new BugIndicatingError('The reader object cannot be used outside its compute function!');\n }\n }\n readObservable(observable) {\n this._ensureNoRunning();\n // In case the run action disposes the autorun\n if (this._disposed) {\n return observable.get(); // warning: external call!\n }\n observable.addObserver(this); // warning: external call!\n const value = observable.get(); // warning: external call!\n this._dependencies.add(observable);\n this._dependenciesToBeRemoved.delete(observable);\n return value;\n }\n get store() {\n this._ensureNoRunning();\n if (this._disposed) {\n throw new BugIndicatingError('Cannot access store after dispose');\n }\n if (this._store === undefined) {\n this._store = new DisposableStore();\n }\n return this._store;\n }\n get delayedStore() {\n this._ensureNoRunning();\n if (this._disposed) {\n throw new BugIndicatingError('Cannot access store after dispose');\n }\n if (this._delayedStore === undefined) {\n this._delayedStore = new DisposableStore();\n }\n return this._delayedStore;\n }\n debugGetState() {\n return {\n isRunning: this._isRunning,\n updateCount: this._updateCount,\n dependencies: this._dependencies,\n state: this._state,\n stateStr: autorunStateToString(this._state),\n };\n }\n debugRerun() {\n if (!this._isRunning) {\n this._run();\n }\n else {\n this._state = 2 /* AutorunState.stale */;\n }\n }\n _checkIterations() {\n if (this._iteration > 100) {\n onBugIndicatingError(new BugIndicatingError(`Autorun '${this.debugName}' is stuck in an infinite update loop.`));\n return true;\n }\n return false;\n }\n}\n\nexport { AutorunObserver };\n//# sourceMappingURL=autorunImpl.js.map\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { IDisposable } from '@vscode/observables';
|
|
2
2
|
import { type IObservable } from '@vscode/observables';
|
|
3
3
|
import { GitCommitId } from './gitCommitId.js';
|
|
4
|
+
import { AbsolutePath } from '../path.js';
|
|
4
5
|
export interface IGitCommitResolver extends IDisposable {
|
|
5
6
|
readonly ref: string;
|
|
6
7
|
readonly resolvedCommit: IObservable<GitCommitId>;
|
|
@@ -14,7 +15,7 @@ export declare class GitCommitResolver implements IGitCommitResolver {
|
|
|
14
15
|
private _disposed;
|
|
15
16
|
get resolvedCommit(): IObservable<GitCommitId>;
|
|
16
17
|
private constructor();
|
|
17
|
-
static create(gitRoot:
|
|
18
|
+
static create(gitRoot: AbsolutePath, ref: string): Promise<GitCommitResolver>;
|
|
18
19
|
private _startWatching;
|
|
19
20
|
private _scheduleResolve;
|
|
20
21
|
private _resolve;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitCommitResolver.d.ts","sourceRoot":"","sources":["../../src/git/gitCommitResolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,KAAK,WAAW,EAAmB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"gitCommitResolver.d.ts","sourceRoot":"","sources":["../../src/git/gitCommitResolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,KAAK,WAAW,EAAmB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACtD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;CAClD;AAED,qBAAa,iBAAkB,YAAW,kBAAkB;IAW1D,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAX1B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,SAAS,CAAS;IAE1B,IAAI,cAAc,IAAI,WAAW,CAAC,WAAW,CAAC,CAE7C;IAED,OAAO;WAQM,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAWnF,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,gBAAgB;YAMV,QAAQ;IAatB,OAAO,IAAI,IAAI;CAQf"}
|
|
@@ -34,8 +34,8 @@ class GitCommitResolver {
|
|
|
34
34
|
}
|
|
35
35
|
_startWatching() {
|
|
36
36
|
const watchTargets = [
|
|
37
|
-
path.join(this._gitRoot, '.git', 'refs', 'heads', this.ref),
|
|
38
|
-
path.join(this._gitRoot, '.git', 'packed-refs'),
|
|
37
|
+
path.join(this._gitRoot.value, '.git', 'refs', 'heads', this.ref),
|
|
38
|
+
path.join(this._gitRoot.value, '.git', 'packed-refs'),
|
|
39
39
|
];
|
|
40
40
|
for (const target of watchTargets) {
|
|
41
41
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitCommitResolver.js","sources":["../../src/git/gitCommitResolver.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"gitCommitResolver.js","sources":["../../src/git/gitCommitResolver.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;MAaa,iBAAiB,CAAA;AAWnB,IAAA,GAAA;AACQ,IAAA,QAAA;AAXD,IAAA,eAAe;IACf,SAAS,GAAmB,EAAE;AACvC,IAAA,cAAc;IACd,SAAS,GAAG,KAAK;AAEzB,IAAA,IAAI,cAAc,GAAA;QACjB,OAAO,IAAI,CAAC,eAAe;IAC5B;AAEA,IAAA,WAAA,CACU,GAAW,EACH,QAAsB,EACvC,aAA0B,EAAA;QAFjB,IAAA,CAAA,GAAG,GAAH,GAAG;QACK,IAAA,CAAA,QAAQ,GAAR,QAAQ;QAGzB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAc,CAAA,eAAA,EAAkB,GAAG,CAAA,CAAA,CAAG,EAAE,aAAa,CAAC;IAC7F;AAEA,IAAA,aAAa,MAAM,CAAC,OAAqB,EAAE,GAAW,EAAA;AACrD,QAAA,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE;AAChE,QAAA,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AAE3E,QAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE;YAC/B,QAAQ,CAAC,cAAc,EAAE;QAC1B;AAEA,QAAA,OAAO,QAAQ;IAChB;IAEQ,cAAc,GAAA;AACrB,QAAA,MAAM,YAAY,GAAG;AACpB,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC;AACjE,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC;SACrD;AAED,QAAA,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE;AAClC,YAAA,IAAI;AACH,gBAAA,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;oBAAE;gBAAU;AACtD,gBAAA,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,MAAK;oBAC5D,IAAI,CAAC,gBAAgB,EAAE;AACxB,gBAAA,CAAC,CAAC;gBACF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAK,EAAyC,CAAC,CAAC;AACpE,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B;AAAE,YAAA,MAAM;;YAER;QACD;IACD;IAEQ,gBAAgB,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAAE;QAAQ;AAC9B,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AAAE,YAAA,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;QAAE;AAC9D,QAAA,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,MAAK,EAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IAClE;AAEQ,IAAA,MAAM,QAAQ,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAAE;QAAQ;AAC9B,QAAA,IAAI;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE;AAC3E,YAAA,MAAM,SAAS,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC;AACvC,YAAA,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;gBAClD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC;YAC/C;QACD;AAAE,QAAA,MAAM;;QAER;IACD;IAEA,OAAO,GAAA;AACN,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AAAE,YAAA,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;QAAE;AAC9D,QAAA,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,OAAO,CAAC,KAAK,EAAE;QAChB;AACA,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;IAC1B;AACA;;;;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { IDisposable } from '@vscode/observables';
|
|
2
2
|
import { type IObservable } from '@vscode/observables';
|
|
3
3
|
import { GitCommitId } from './gitCommitId.js';
|
|
4
|
+
import { AbsolutePath } from '../path.js';
|
|
4
5
|
/**
|
|
5
6
|
* Watches the git index and creates temporary commits representing the staged state.
|
|
6
7
|
* This enables worktree sessions checked out at "INDEX" — a snapshot of what's staged.
|
|
@@ -15,7 +16,7 @@ export declare class GitIndexResolver implements IDisposable {
|
|
|
15
16
|
get ref(): string;
|
|
16
17
|
get resolvedCommit(): IObservable<GitCommitId>;
|
|
17
18
|
private constructor();
|
|
18
|
-
static create(gitRoot:
|
|
19
|
+
static create(gitRoot: AbsolutePath): Promise<GitIndexResolver>;
|
|
19
20
|
private static _createIndexCommit;
|
|
20
21
|
private _startWatching;
|
|
21
22
|
private _scheduleResolve;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitIndexResolver.d.ts","sourceRoot":"","sources":["../../src/git/gitIndexResolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,KAAK,WAAW,EAAmB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"gitIndexResolver.d.ts","sourceRoot":"","sources":["../../src/git/gitIndexResolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,KAAK,WAAW,EAAmB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,WAAW;IAYlD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAX1B,MAAM,CAAC,QAAQ,CAAC,SAAS,WAAW;IAEpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IACjC,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,SAAS,CAAS;IAE1B,IAAI,GAAG,IAAI,MAAM,CAAuC;IACxD,IAAI,cAAc,IAAI,WAAW,CAAC,WAAW,CAAC,CAAiC;IAE/E,OAAO;WAOM,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;mBAOhD,kBAAkB;IAWvC,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,gBAAgB;YAMV,QAAQ;IAYtB,OAAO,IAAI,IAAI;CAMf"}
|
|
@@ -43,7 +43,7 @@ class GitIndexResolver {
|
|
|
43
43
|
return new GitCommitId(commitHash);
|
|
44
44
|
}
|
|
45
45
|
_startWatching() {
|
|
46
|
-
const indexPath = path.join(this._gitRoot, '.git', 'index');
|
|
46
|
+
const indexPath = path.join(this._gitRoot.value, '.git', 'index');
|
|
47
47
|
try {
|
|
48
48
|
this._watcher = fs.watch(indexPath, { persistent: false }, () => {
|
|
49
49
|
this._scheduleResolve();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitIndexResolver.js","sources":["../../src/git/gitIndexResolver.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"gitIndexResolver.js","sources":["../../src/git/gitIndexResolver.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/git/gitService.d.ts
CHANGED
|
@@ -3,18 +3,19 @@ import type { IGitCommitResolver } from './gitCommitResolver.js';
|
|
|
3
3
|
import { GitIndexResolver } from './gitIndexResolver.js';
|
|
4
4
|
import { type GitWorktreeManager } from './gitWorktreeManager.js';
|
|
5
5
|
import { GitCommitId } from './gitCommitId.js';
|
|
6
|
+
import { AbsolutePath } from '../path.js';
|
|
6
7
|
export interface IGitService {
|
|
7
|
-
getRootRepoFromDir(fromDir:
|
|
8
|
+
getRootRepoFromDir(fromDir: AbsolutePath): Promise<IGitRepo>;
|
|
8
9
|
}
|
|
9
10
|
export interface IGitRepo extends IDisposable {
|
|
10
|
-
readonly gitRoot:
|
|
11
|
+
readonly gitRoot: AbsolutePath;
|
|
11
12
|
readonly worktrees: GitWorktreeManager;
|
|
12
13
|
createCommitResolver(ref: string): Promise<IGitCommitResolver>;
|
|
13
14
|
createIndexResolver(): Promise<GitIndexResolver>;
|
|
14
15
|
resolveRef(ref: string): Promise<GitCommitId>;
|
|
15
|
-
worktreeRootPath():
|
|
16
|
+
worktreeRootPath(): AbsolutePath;
|
|
16
17
|
}
|
|
17
18
|
export declare class GitService implements IGitService {
|
|
18
|
-
getRootRepoFromDir(fromDir:
|
|
19
|
+
getRootRepoFromDir(fromDir: AbsolutePath): Promise<IGitRepo>;
|
|
19
20
|
}
|
|
20
21
|
//# sourceMappingURL=gitService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitService.d.ts","sourceRoot":"","sources":["../../src/git/gitService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,kBAAkB,EAA6B,MAAM,yBAAyB,CAAC;AAE7F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"gitService.d.ts","sourceRoot":"","sources":["../../src/git/gitService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,kBAAkB,EAA6B,MAAM,yBAAyB,CAAC;AAE7F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC3B,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,QAAS,SAAQ,WAAW;IAC5C,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/D,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9C,gBAAgB,IAAI,YAAY,CAAC;CACjC;AAED,qBAAa,UAAW,YAAW,WAAW;IACvC,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;CAIlE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitService.js","sources":["../../src/git/gitService.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"gitService.js","sources":["../../src/git/gitService.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;MAsBa,UAAU,CAAA;IACtB,MAAM,kBAAkB,CAAC,OAAqB,EAAA;AAC7C,QAAA,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;AACzC,QAAA,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAC5B;AACA;AAED,MAAM,OAAO,CAAA;AAIS,IAAA,OAAA;AAHZ,IAAA,SAAS;AACD,IAAA,UAAU,GAAG,IAAI,GAAG,EAAsB;AAE3D,IAAA,WAAA,CAAqB,OAAqB,EAAA;QAArB,IAAA,CAAA,OAAO,GAAP,OAAO;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,yBAAyB,CAAC,OAAO,CAAC;IACxD;IAEA,MAAM,oBAAoB,CAAC,GAAW,EAAA;AACrC,QAAA,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;AAClE,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC7B,QAAA,OAAO,QAAQ;IAChB;AAEA,IAAA,MAAM,mBAAmB,GAAA;QACxB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5D,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC7B,QAAA,OAAO,QAAQ;IAChB;IAEA,MAAM,UAAU,CAAC,GAAW,EAAA;QAC3B,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;AAChD,QAAA,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC;IAC7B;IAEA,gBAAgB,GAAA;AACf,QAAA,OAAO,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC;IACtC;IAEA,OAAO,GAAA;AACN,QAAA,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE;YACvC,QAAQ,CAAC,OAAO,EAAE;QACnB;AACA,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;IACxB;AACA;;;;"}
|
package/dist/git/gitUtils.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function
|
|
1
|
+
import { AbsolutePath } from '../path.js';
|
|
2
|
+
export declare function getGitRoot(fromDir: AbsolutePath): Promise<AbsolutePath>;
|
|
3
|
+
export declare function resolveRef(gitRoot: AbsolutePath, ref: string): Promise<string>;
|
|
4
|
+
export declare function getMergeBase(gitRoot: AbsolutePath, ref1: string, ref2: string): Promise<string>;
|
|
4
5
|
export declare function isConcreteCommitHash(ref: string): boolean;
|
|
5
|
-
export declare function worktreeRootPath(gitRoot:
|
|
6
|
-
export declare function execGit(cwd:
|
|
6
|
+
export declare function worktreeRootPath(gitRoot: AbsolutePath): AbsolutePath;
|
|
7
|
+
export declare function execGit(cwd: AbsolutePath, args: readonly string[]): Promise<string>;
|
|
7
8
|
//# sourceMappingURL=gitUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitUtils.d.ts","sourceRoot":"","sources":["../../src/git/gitUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gitUtils.d.ts","sourceRoot":"","sources":["../../src/git/gitUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,wBAAsB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAG7E;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGpF;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGrG;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CAGpE;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAUnF"}
|
package/dist/git/gitUtils.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { execFile } from 'node:child_process';
|
|
2
2
|
import * as path from 'node:path';
|
|
3
|
+
import { AbsolutePath } from '../path.js';
|
|
3
4
|
|
|
4
5
|
async function getGitRoot(fromDir) {
|
|
5
6
|
const output = await execGit(fromDir, ['rev-parse', '--show-toplevel']);
|
|
6
|
-
return output.trim();
|
|
7
|
+
return AbsolutePath.from(output.trim());
|
|
7
8
|
}
|
|
8
9
|
async function resolveRef(gitRoot, ref) {
|
|
9
10
|
const output = await execGit(gitRoot, ['rev-parse', ref]);
|
|
@@ -17,12 +18,12 @@ function isConcreteCommitHash(ref) {
|
|
|
17
18
|
return /^[0-9a-f]{40}$/i.test(ref);
|
|
18
19
|
}
|
|
19
20
|
function worktreeRootPath(gitRoot) {
|
|
20
|
-
const repoName = path.basename(gitRoot);
|
|
21
|
-
return path.resolve(gitRoot, '..', `${repoName}.worktrees`);
|
|
21
|
+
const repoName = path.basename(gitRoot.value);
|
|
22
|
+
return AbsolutePath.from(path.resolve(gitRoot.value, '..', `${repoName}.worktrees`));
|
|
22
23
|
}
|
|
23
24
|
function execGit(cwd, args) {
|
|
24
25
|
return new Promise((resolve, reject) => {
|
|
25
|
-
execFile('git', ['-C', cwd, ...args], { encoding: 'utf-8', windowsHide: true }, (err, stdout, stderr) => {
|
|
26
|
+
execFile('git', ['-C', cwd.value, ...args], { encoding: 'utf-8', windowsHide: true }, (err, stdout, stderr) => {
|
|
26
27
|
if (err) {
|
|
27
28
|
reject(new Error(`git ${args.join(' ')} failed: ${stderr || err.message}`));
|
|
28
29
|
}
|
package/dist/git/gitUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitUtils.js","sources":["../../src/git/gitUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gitUtils.js","sources":["../../src/git/gitUtils.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAIO,eAAe,UAAU,CAAC,OAAqB,EAAA;AACrD,IAAA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IACvE,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACxC;AAEO,eAAe,UAAU,CAAC,OAAqB,EAAE,GAAW,EAAA;AAClE,IAAA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACzD,IAAA,OAAO,MAAM,CAAC,IAAI,EAAE;AACrB;AAEO,eAAe,YAAY,CAAC,OAAqB,EAAE,IAAY,EAAE,IAAY,EAAA;AACnF,IAAA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACjE,IAAA,OAAO,MAAM,CAAC,IAAI,EAAE;AACrB;AAEM,SAAU,oBAAoB,CAAC,GAAW,EAAA;AAC/C,IAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;AACnC;AAEM,SAAU,gBAAgB,CAAC,OAAqB,EAAA;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;AAC7C,IAAA,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA,EAAG,QAAQ,CAAA,UAAA,CAAY,CAAC,CAAC;AACrF;AAEM,SAAU,OAAO,CAAC,GAAiB,EAAE,IAAuB,EAAA;IACjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACtC,QAAA,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,KAAI;YAC7G,IAAI,GAAG,EAAE;gBACR,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,SAAA,EAAY,MAAM,IAAI,GAAG,CAAC,OAAO,CAAA,CAAE,CAAC,CAAC;YAC5E;iBAAO;gBACN,OAAO,CAAC,MAAM,CAAC;YAChB;AACD,QAAA,CAAC,CAAC;AACH,IAAA,CAAC,CAAC;AACH;;;;"}
|
|
@@ -1,29 +1,30 @@
|
|
|
1
1
|
import { GitCommitId } from './gitCommitId.js';
|
|
2
|
+
import { AbsolutePath } from '../path.js';
|
|
2
3
|
export interface GitWorktreeInfo {
|
|
3
|
-
readonly path:
|
|
4
|
+
readonly path: AbsolutePath;
|
|
4
5
|
readonly checkedOutCommit: GitCommitId;
|
|
5
6
|
readonly isDirty: boolean;
|
|
6
7
|
readonly dirtyFiles: readonly string[];
|
|
7
8
|
}
|
|
8
9
|
export declare class DirtyWorktreeError extends Error {
|
|
9
|
-
readonly worktreePath:
|
|
10
|
+
readonly worktreePath: AbsolutePath;
|
|
10
11
|
readonly dirtyFiles: readonly string[];
|
|
11
|
-
constructor(worktreePath:
|
|
12
|
+
constructor(worktreePath: AbsolutePath, dirtyFiles: readonly string[], operation: string);
|
|
12
13
|
}
|
|
13
14
|
export interface GitWorktreeManager {
|
|
14
|
-
create(worktreePath:
|
|
15
|
-
remove(worktreePath:
|
|
16
|
-
checkout(worktreePath:
|
|
17
|
-
info(worktreePath:
|
|
18
|
-
list(worktreeRoot:
|
|
15
|
+
create(worktreePath: AbsolutePath, commit: GitCommitId): Promise<GitWorktreeInfo>;
|
|
16
|
+
remove(worktreePath: AbsolutePath): Promise<void>;
|
|
17
|
+
checkout(worktreePath: AbsolutePath, commit: GitCommitId): Promise<GitWorktreeInfo>;
|
|
18
|
+
info(worktreePath: AbsolutePath): Promise<GitWorktreeInfo | undefined>;
|
|
19
|
+
list(worktreeRoot: AbsolutePath): Promise<readonly GitWorktreeInfo[]>;
|
|
19
20
|
}
|
|
20
21
|
export declare class DefaultGitWorktreeManager implements GitWorktreeManager {
|
|
21
22
|
private readonly _gitRoot;
|
|
22
|
-
constructor(_gitRoot:
|
|
23
|
-
create(worktreePath:
|
|
24
|
-
remove(worktreePath:
|
|
25
|
-
checkout(worktreePath:
|
|
26
|
-
info(worktreePath:
|
|
27
|
-
list(worktreeRoot:
|
|
23
|
+
constructor(_gitRoot: AbsolutePath);
|
|
24
|
+
create(worktreePath: AbsolutePath, commit: GitCommitId): Promise<GitWorktreeInfo>;
|
|
25
|
+
remove(worktreePath: AbsolutePath): Promise<void>;
|
|
26
|
+
checkout(worktreePath: AbsolutePath, commit: GitCommitId): Promise<GitWorktreeInfo>;
|
|
27
|
+
info(worktreePath: AbsolutePath): Promise<GitWorktreeInfo | undefined>;
|
|
28
|
+
list(worktreeRoot: AbsolutePath): Promise<readonly GitWorktreeInfo[]>;
|
|
28
29
|
}
|
|
29
30
|
//# sourceMappingURL=gitWorktreeManager.d.ts.map
|