Adds "use latest dev" button

pull/4150/head v0.42.0-dev-20230829
Henning Dieterichs 1 year ago committed by Henning Dieterichs
parent 31b04afb94
commit 04ece42881

@ -404,6 +404,16 @@ class StateUrlSerializer implements IHistoryModel {
this.historyId++;
}
@action
useLatestDev(): void {
this._sourceOverride = undefined;
this.model.settings.setSettings({
...this.model.settings.settings,
...Source.useLatestDev().toPartialSettings(),
});
this.historyId++;
}
@action
saveSourceOverride(): void {
if (this._sourceOverride) {
@ -662,22 +672,26 @@ function findLastIndex<T>(
}
class Source {
public static useLatestDev(sourceLanguagesStr?: string): Source {
// Assume the versions are already loaded
const versions = getNpmVersionsSync(undefined);
const version = versions.find((v) => v.indexOf("-dev-") !== -1);
return new Source(version, undefined, sourceLanguagesStr);
}
public static useLatest(sourceLanguagesStr?: string): Source {
return new Source(monacoEditorVersion, undefined, sourceLanguagesStr);
}
public static parse(
sourceStr: string | undefined,
sourceLanguagesStr: string | undefined
): Source {
if (sourceStr === "latest-dev") {
// The versions are already loaded
const versions = getNpmVersionsSync(undefined);
const version = versions.find((v) => v.indexOf("-dev-") !== -1);
return new Source(version, undefined, sourceLanguagesStr);
return Source.useLatestDev(sourceLanguagesStr);
}
if (sourceStr === "latest") {
return new Source(
monacoEditorVersion,
undefined,
sourceLanguagesStr
);
return Source.useLatest(sourceLanguagesStr);
}
if (sourceStr && sourceStr.startsWith("v")) {

@ -192,6 +192,15 @@ export class PlaygroundPageContent extends React.Component<
.version ?? "url"}{" "}
override
</button>
<button
type="button"
className="btn btn-secondary"
onClick={() =>
model.serializer.useLatestDev()
}
>
Use latest dev
</button>
<button
type="button"
className="btn btn-secondary"

@ -20,6 +20,8 @@ export async function getNpmVersions(): Promise<string[]> {
return npmVersionsPromise!;
}
getNpmVersions();
async function loadNpmVersions(): Promise<string[]> {
if (npmVersionsPromise === undefined) {
npmVersionsPromise = _getNpmVersions();

Loading…
Cancel
Save