Merge branch 'main' into elbrenn/serialize-null-token
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@github/actions-expressions",
|
"name": "@github/actions-expressions",
|
||||||
"version": "0.1.137",
|
"version": "0.1.138",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"source": "./src/index.ts",
|
"source": "./src/index.ts",
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ export function isDescriptionDictionary(x: ExpressionData): x is DescriptionDict
|
|||||||
|
|
||||||
export class DescriptionDictionary extends Dictionary {
|
export class DescriptionDictionary extends Dictionary {
|
||||||
private readonly descriptions = new Map<string, string>();
|
private readonly descriptions = new Map<string, string>();
|
||||||
|
public complete: boolean = true;
|
||||||
|
|
||||||
constructor(...pairs: DescriptionPair[]) {
|
constructor(...pairs: DescriptionPair[]) {
|
||||||
super();
|
super();
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@github/actions-languageserver",
|
"name": "@github/actions-languageserver",
|
||||||
"version": "0.1.137",
|
"version": "0.1.138",
|
||||||
"description": "Language server for GitHub Actions",
|
"description": "Language server for GitHub Actions",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
@@ -38,8 +38,8 @@
|
|||||||
"watch": "tsc --build tsconfig.build.json --watch"
|
"watch": "tsc --build tsconfig.build.json --watch"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@github/actions-languageservice": "^0.1.137",
|
"@github/actions-languageservice": "^0.1.138",
|
||||||
"@github/actions-workflow-parser": "^0.1.137",
|
"@github/actions-workflow-parser": "^0.1.138",
|
||||||
"@octokit/rest": "^19.0.7",
|
"@octokit/rest": "^19.0.7",
|
||||||
"vscode-languageserver": "^8.0.2",
|
"vscode-languageserver": "^8.0.2",
|
||||||
"vscode-languageserver-textdocument": "^1.0.7",
|
"vscode-languageserver-textdocument": "^1.0.7",
|
||||||
|
|||||||
@@ -29,51 +29,55 @@ export async function getSecrets(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const secrets = await getRemoteSecrets(octokit, cache, repo, environmentName);
|
|
||||||
|
|
||||||
// Build combined map of secrets
|
|
||||||
const secretsMap = new Map<
|
|
||||||
string,
|
|
||||||
{
|
|
||||||
key: string;
|
|
||||||
value: data.StringData;
|
|
||||||
description?: string;
|
|
||||||
}
|
|
||||||
>();
|
|
||||||
|
|
||||||
secrets.orgSecrets.forEach(secret =>
|
|
||||||
secretsMap.set(secret.value.toLowerCase(), {
|
|
||||||
key: secret.value,
|
|
||||||
value: new data.StringData("***"),
|
|
||||||
description: "Organization secret"
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
// Override org secrets with repo secrets
|
|
||||||
secrets.repoSecrets.forEach(secret =>
|
|
||||||
secretsMap.set(secret.value.toLowerCase(), {
|
|
||||||
key: secret.value,
|
|
||||||
value: new data.StringData("***"),
|
|
||||||
description: "Repository secret"
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
// Override repo secrets with environment secrets (if defined)
|
|
||||||
secrets.environmentSecrets.forEach(secret =>
|
|
||||||
secretsMap.set(secret.value.toLowerCase(), {
|
|
||||||
key: secret.value,
|
|
||||||
value: new data.StringData("***"),
|
|
||||||
description: `Secret for environment \`${environmentName}\``
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
const secretsContext = defaultContext || new DescriptionDictionary();
|
const secretsContext = defaultContext || new DescriptionDictionary();
|
||||||
|
try {
|
||||||
|
const secrets = await getRemoteSecrets(octokit, cache, repo, environmentName);
|
||||||
|
|
||||||
// Sort secrets by key and add to context
|
// Build combined map of secrets
|
||||||
Array.from(secretsMap.values())
|
const secretsMap = new Map<
|
||||||
.sort((a, b) => a.key.localeCompare(b.key))
|
string,
|
||||||
.forEach(secret => secretsContext?.add(secret.key, secret.value, secret.description));
|
{
|
||||||
|
key: string;
|
||||||
|
value: data.StringData;
|
||||||
|
description?: string;
|
||||||
|
}
|
||||||
|
>();
|
||||||
|
|
||||||
|
secrets.orgSecrets.forEach(secret =>
|
||||||
|
secretsMap.set(secret.value.toLowerCase(), {
|
||||||
|
key: secret.value,
|
||||||
|
value: new data.StringData("***"),
|
||||||
|
description: "Organization secret"
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
// Override org secrets with repo secrets
|
||||||
|
secrets.repoSecrets.forEach(secret =>
|
||||||
|
secretsMap.set(secret.value.toLowerCase(), {
|
||||||
|
key: secret.value,
|
||||||
|
value: new data.StringData("***"),
|
||||||
|
description: "Repository secret"
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
// Override repo secrets with environment secrets (if defined)
|
||||||
|
secrets.environmentSecrets.forEach(secret =>
|
||||||
|
secretsMap.set(secret.value.toLowerCase(), {
|
||||||
|
key: secret.value,
|
||||||
|
value: new data.StringData("***"),
|
||||||
|
description: `Secret for environment \`${environmentName}\``
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
// Sort secrets by key and add to context
|
||||||
|
Array.from(secretsMap.values())
|
||||||
|
.sort((a, b) => a.key.localeCompare(b.key))
|
||||||
|
.forEach(secret => secretsContext?.add(secret.key, secret.value, secret.description));
|
||||||
|
} catch (e: any) {
|
||||||
|
if (e.status === 403 || e.status === 404) {
|
||||||
|
secretsContext.complete = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
return secretsContext;
|
return secretsContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -88,9 +92,7 @@ async function getRemoteSecrets(
|
|||||||
orgSecrets: StringData[];
|
orgSecrets: StringData[];
|
||||||
}> {
|
}> {
|
||||||
return {
|
return {
|
||||||
repoSecrets: await cache.get(`${repo.owner}/${repo.name}/secrets`, undefined, () =>
|
repoSecrets: await fetchSecrets(octokit, repo.owner, repo.name),
|
||||||
fetchSecrets(octokit, repo.owner, repo.name)
|
|
||||||
),
|
|
||||||
environmentSecrets:
|
environmentSecrets:
|
||||||
(environmentName &&
|
(environmentName &&
|
||||||
(await cache.get(`${repo.owner}/${repo.name}/secrets/environment/${environmentName}`, undefined, () =>
|
(await cache.get(`${repo.owner}/${repo.name}/secrets/environment/${environmentName}`, undefined, () =>
|
||||||
@@ -114,9 +116,8 @@ async function fetchSecrets(octokit: Octokit, owner: string, name: string): Prom
|
|||||||
);
|
);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log("Failure to retrieve secrets: ", e);
|
console.log("Failure to retrieve secrets: ", e);
|
||||||
|
throw e;
|
||||||
}
|
}
|
||||||
|
|
||||||
return [];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function fetchEnvironmentSecrets(
|
async function fetchEnvironmentSecrets(
|
||||||
@@ -136,9 +137,8 @@ async function fetchEnvironmentSecrets(
|
|||||||
);
|
);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log("Failure to retrieve environment secrets: ", e);
|
console.log("Failure to retrieve environment secrets: ", e);
|
||||||
|
throw e;
|
||||||
}
|
}
|
||||||
|
|
||||||
return [];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function fetchOrganizationSecrets(octokit: Octokit, repo: RepositoryContext): Promise<StringData[]> {
|
async function fetchOrganizationSecrets(octokit: Octokit, repo: RepositoryContext): Promise<StringData[]> {
|
||||||
@@ -155,7 +155,6 @@ async function fetchOrganizationSecrets(octokit: Octokit, repo: RepositoryContex
|
|||||||
return secrets.map(secret => new StringData(secret.name));
|
return secrets.map(secret => new StringData(secret.name));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log("Failure to retrieve organization secrets: ", e);
|
console.log("Failure to retrieve organization secrets: ", e);
|
||||||
|
throw e;
|
||||||
}
|
}
|
||||||
|
|
||||||
return [];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,51 +30,55 @@ export async function getVariables(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const variables = await getRemoteVariables(octokit, cache, repo, environmentName);
|
|
||||||
|
|
||||||
// Build combined map of variables
|
|
||||||
const variablesMap = new Map<
|
|
||||||
string,
|
|
||||||
{
|
|
||||||
key: string;
|
|
||||||
value: data.StringData;
|
|
||||||
description?: string;
|
|
||||||
}
|
|
||||||
>();
|
|
||||||
|
|
||||||
variables.organizationVariables.forEach(variable =>
|
|
||||||
variablesMap.set(variable.key.toLowerCase(), {
|
|
||||||
key: variable.key,
|
|
||||||
value: new data.StringData(variable.value.coerceString()),
|
|
||||||
description: `${variable.value.coerceString()} - Organization variable`
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
// Override org variables with repo variables
|
|
||||||
variables.repoVariables.forEach(variable =>
|
|
||||||
variablesMap.set(variable.key.toLowerCase(), {
|
|
||||||
key: variable.key,
|
|
||||||
value: new data.StringData(variable.value.coerceString()),
|
|
||||||
description: `${variable.value.coerceString()} - Repository variable`
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
// Override repo variables with environment veriables (if defined)
|
|
||||||
variables.environmentVariables.forEach(variable =>
|
|
||||||
variablesMap.set(variable.key.toLowerCase(), {
|
|
||||||
key: variable.key,
|
|
||||||
value: new data.StringData(variable.value.coerceString()),
|
|
||||||
description: `${variable.value.coerceString()} - Variable for environment \`${environmentName}\``
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
const variablesContext = defaultContext || new DescriptionDictionary();
|
const variablesContext = defaultContext || new DescriptionDictionary();
|
||||||
|
try {
|
||||||
|
const variables = await getRemoteVariables(octokit, cache, repo, environmentName);
|
||||||
|
|
||||||
// Sort variables by key and add to context
|
// Build combined map of variables
|
||||||
Array.from(variablesMap.values())
|
const variablesMap = new Map<
|
||||||
.sort((a, b) => a.key.localeCompare(b.key))
|
string,
|
||||||
.forEach(variable => variablesContext?.add(variable.key, variable.value, variable.description));
|
{
|
||||||
|
key: string;
|
||||||
|
value: data.StringData;
|
||||||
|
description?: string;
|
||||||
|
}
|
||||||
|
>();
|
||||||
|
|
||||||
|
variables.organizationVariables.forEach(variable =>
|
||||||
|
variablesMap.set(variable.key.toLowerCase(), {
|
||||||
|
key: variable.key,
|
||||||
|
value: new data.StringData(variable.value.coerceString()),
|
||||||
|
description: `${variable.value.coerceString()} - Organization variable`
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
// Override org variables with repo variables
|
||||||
|
variables.repoVariables.forEach(variable =>
|
||||||
|
variablesMap.set(variable.key.toLowerCase(), {
|
||||||
|
key: variable.key,
|
||||||
|
value: new data.StringData(variable.value.coerceString()),
|
||||||
|
description: `${variable.value.coerceString()} - Repository variable`
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
// Override repo variables with environment veriables (if defined)
|
||||||
|
variables.environmentVariables.forEach(variable =>
|
||||||
|
variablesMap.set(variable.key.toLowerCase(), {
|
||||||
|
key: variable.key,
|
||||||
|
value: new data.StringData(variable.value.coerceString()),
|
||||||
|
description: `${variable.value.coerceString()} - Variable for environment \`${environmentName}\``
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
// Sort variables by key and add to context
|
||||||
|
Array.from(variablesMap.values())
|
||||||
|
.sort((a, b) => a.key.localeCompare(b.key))
|
||||||
|
.forEach(variable => variablesContext?.add(variable.key, variable.value, variable.description));
|
||||||
|
} catch (e: any) {
|
||||||
|
if (e.status === 403 || e.status === 404) {
|
||||||
|
variablesContext.complete = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
return variablesContext;
|
return variablesContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,9 +125,8 @@ async function fetchVariables(octokit: Octokit, owner: string, name: string): Pr
|
|||||||
);
|
);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log("Failure to retrieve variables: ", e);
|
console.log("Failure to retrieve variables: ", e);
|
||||||
|
throw e;
|
||||||
}
|
}
|
||||||
|
|
||||||
return [];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function fetchEnvironmentVariables(
|
async function fetchEnvironmentVariables(
|
||||||
@@ -146,9 +149,8 @@ async function fetchEnvironmentVariables(
|
|||||||
);
|
);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log("Failure to retrieve environment variables: ", e);
|
console.log("Failure to retrieve environment variables: ", e);
|
||||||
|
throw e;
|
||||||
}
|
}
|
||||||
|
|
||||||
return [];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function fetchOrganizationVariables(octokit: Octokit, repo: RepositoryContext): Promise<Pair[]> {
|
async function fetchOrganizationVariables(octokit: Octokit, repo: RepositoryContext): Promise<Pair[]> {
|
||||||
@@ -170,7 +172,6 @@ async function fetchOrganizationVariables(octokit: Octokit, repo: RepositoryCont
|
|||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log("Failure to retrieve organization variables: ", e);
|
console.log("Failure to retrieve organization variables: ", e);
|
||||||
|
throw e;
|
||||||
}
|
}
|
||||||
|
|
||||||
return [];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@github/actions-languageservice",
|
"name": "@github/actions-languageservice",
|
||||||
"version": "0.1.137",
|
"version": "0.1.138",
|
||||||
"description": "Language service for GitHub Actions",
|
"description": "Language service for GitHub Actions",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
@@ -38,8 +38,8 @@
|
|||||||
"watch": "tsc --build tsconfig.build.json --watch"
|
"watch": "tsc --build tsconfig.build.json --watch"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@github/actions-expressions": "^0.1.137",
|
"@github/actions-expressions": "^0.1.138",
|
||||||
"@github/actions-workflow-parser": "^0.1.137",
|
"@github/actions-workflow-parser": "^0.1.138",
|
||||||
"vscode-languageserver-textdocument": "^1.0.7",
|
"vscode-languageserver-textdocument": "^1.0.7",
|
||||||
"vscode-languageserver-types": "^3.17.2",
|
"vscode-languageserver-types": "^3.17.2",
|
||||||
"yaml": "^2.1.1"
|
"yaml": "^2.1.1"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import {data} from "@github/actions-expressions";
|
import {data, isDescriptionDictionary} from "@github/actions-expressions";
|
||||||
import {isDictionary} from "@github/actions-expressions/data/dictionary";
|
import {isDictionary} from "@github/actions-expressions/data/dictionary";
|
||||||
import {ExpressionData, Pair} from "@github/actions-expressions/data/expressiondata";
|
import {ExpressionData, Pair} from "@github/actions-expressions/data/expressiondata";
|
||||||
|
|
||||||
@@ -12,6 +12,7 @@ export class ErrorDictionary extends data.Dictionary {
|
|||||||
constructor(...pairs: Pair[]) {
|
constructor(...pairs: Pair[]) {
|
||||||
super(...pairs);
|
super(...pairs);
|
||||||
}
|
}
|
||||||
|
public complete: boolean = true;
|
||||||
|
|
||||||
get(key: string): ExpressionData | undefined {
|
get(key: string): ExpressionData | undefined {
|
||||||
const value = super.get(key);
|
const value = super.get(key);
|
||||||
@@ -19,12 +20,17 @@ export class ErrorDictionary extends data.Dictionary {
|
|||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new AccessError(`Invalid context access: ${key}`, key);
|
if (this.complete) {
|
||||||
|
throw new AccessError(`Invalid context access: ${key}`, key);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function wrapDictionary(d: data.Dictionary): ErrorDictionary {
|
export function wrapDictionary(d: data.Dictionary): ErrorDictionary {
|
||||||
const e = new ErrorDictionary();
|
const e = new ErrorDictionary();
|
||||||
|
if (isDescriptionDictionary(d)) {
|
||||||
|
e.complete = d.complete;
|
||||||
|
}
|
||||||
|
|
||||||
for (const {key, value} of d.pairs()) {
|
for (const {key, value} of d.pairs()) {
|
||||||
if (isDictionary(value)) {
|
if (isDictionary(value)) {
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
|
import {data, DescriptionDictionary} from "@github/actions-expressions/.";
|
||||||
import {DiagnosticSeverity} from "vscode-languageserver-types";
|
import {DiagnosticSeverity} from "vscode-languageserver-types";
|
||||||
|
import {ContextProviderConfig} from "./context-providers/config";
|
||||||
import {registerLogger} from "./log";
|
import {registerLogger} from "./log";
|
||||||
import {createDocument} from "./test-utils/document";
|
import {createDocument} from "./test-utils/document";
|
||||||
import {TestLogger} from "./test-utils/logger";
|
import {TestLogger} from "./test-utils/logger";
|
||||||
import {validate} from "./validate";
|
import {validate, ValidationConfig} from "./validate";
|
||||||
|
|
||||||
registerLogger(new TestLogger());
|
registerLogger(new TestLogger());
|
||||||
|
|
||||||
@@ -39,6 +41,58 @@ jobs:
|
|||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("partial skip access invalid context on incomplete", async () => {
|
||||||
|
const contextProviderConfig: ContextProviderConfig = {
|
||||||
|
getContext: async (context: string) => {
|
||||||
|
switch (context) {
|
||||||
|
case "secrets":
|
||||||
|
const dict = new DescriptionDictionary();
|
||||||
|
dict.complete = false;
|
||||||
|
return dict;
|
||||||
|
}
|
||||||
|
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const validationConfig: ValidationConfig = {
|
||||||
|
contextProviderConfig: contextProviderConfig
|
||||||
|
};
|
||||||
|
|
||||||
|
const result = await validate(
|
||||||
|
createDocument(
|
||||||
|
"wf.yaml",
|
||||||
|
`on: push
|
||||||
|
run-name: name-\${{ github.does-not-exist }}
|
||||||
|
env:
|
||||||
|
secret: \${{ secrets.secret-not-exist }}
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- run: echo`
|
||||||
|
),
|
||||||
|
validationConfig
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(result).toEqual([
|
||||||
|
{
|
||||||
|
message: "Context access might be invalid: does-not-exist",
|
||||||
|
range: {
|
||||||
|
end: {
|
||||||
|
character: 43,
|
||||||
|
line: 1
|
||||||
|
},
|
||||||
|
start: {
|
||||||
|
character: 15,
|
||||||
|
line: 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
severity: DiagnosticSeverity.Warning
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
|
||||||
it("access invalid nested context field", async () => {
|
it("access invalid nested context field", async () => {
|
||||||
const result = await validate(
|
const result = await validate(
|
||||||
createDocument(
|
createDocument(
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@github/actions-workflow-parser",
|
"name": "@github/actions-workflow-parser",
|
||||||
"version": "0.1.137",
|
"version": "0.1.138",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"source": "./src/index.ts",
|
"source": "./src/index.ts",
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
"watch": "tsc --build tsconfig.build.json --watch"
|
"watch": "tsc --build tsconfig.build.json --watch"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@github/actions-expressions": "^0.1.137",
|
"@github/actions-expressions": "^0.1.138",
|
||||||
"cronstrue": "^2.21.0",
|
"cronstrue": "^2.21.0",
|
||||||
"yaml": "^2.0.0-8"
|
"yaml": "^2.0.0-8"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "browser-playground",
|
"name": "browser-playground",
|
||||||
"version": "0.1.137",
|
"version": "0.1.138",
|
||||||
"description": "",
|
"description": "",
|
||||||
"private": true,
|
"private": true,
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@github/actions-languageserver": "^0.1.137",
|
"@github/actions-languageserver": "^0.1.138",
|
||||||
"monaco-editor-webpack-plugin": "^7.0.1",
|
"monaco-editor-webpack-plugin": "^7.0.1",
|
||||||
"monaco-editor-workers": "^0.34.2",
|
"monaco-editor-workers": "^0.34.2",
|
||||||
"monaco-languageclient": "^4.0.3",
|
"monaco-languageclient": "^4.0.3",
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"$schema": "node_modules/lerna/schemas/lerna-schema.json",
|
"$schema": "node_modules/lerna/schemas/lerna-schema.json",
|
||||||
"useWorkspaces": true,
|
"useWorkspaces": true,
|
||||||
"version": "0.1.137"
|
"version": "0.1.138"
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+17
-17
@@ -18,7 +18,7 @@
|
|||||||
},
|
},
|
||||||
"actions-expressions": {
|
"actions-expressions": {
|
||||||
"name": "@github/actions-expressions",
|
"name": "@github/actions-expressions",
|
||||||
"version": "0.1.137",
|
"version": "0.1.138",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jest": "^29.0.3",
|
"@types/jest": "^29.0.3",
|
||||||
@@ -34,11 +34,11 @@
|
|||||||
},
|
},
|
||||||
"actions-languageserver": {
|
"actions-languageserver": {
|
||||||
"name": "@github/actions-languageserver",
|
"name": "@github/actions-languageserver",
|
||||||
"version": "0.1.137",
|
"version": "0.1.138",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@github/actions-languageservice": "^0.1.137",
|
"@github/actions-languageservice": "^0.1.138",
|
||||||
"@github/actions-workflow-parser": "^0.1.137",
|
"@github/actions-workflow-parser": "^0.1.138",
|
||||||
"@octokit/rest": "^19.0.7",
|
"@octokit/rest": "^19.0.7",
|
||||||
"vscode-languageserver": "^8.0.2",
|
"vscode-languageserver": "^8.0.2",
|
||||||
"vscode-languageserver-textdocument": "^1.0.7",
|
"vscode-languageserver-textdocument": "^1.0.7",
|
||||||
@@ -59,11 +59,11 @@
|
|||||||
},
|
},
|
||||||
"actions-languageservice": {
|
"actions-languageservice": {
|
||||||
"name": "@github/actions-languageservice",
|
"name": "@github/actions-languageservice",
|
||||||
"version": "0.1.137",
|
"version": "0.1.138",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@github/actions-expressions": "^0.1.137",
|
"@github/actions-expressions": "^0.1.138",
|
||||||
"@github/actions-workflow-parser": "^0.1.137",
|
"@github/actions-workflow-parser": "^0.1.138",
|
||||||
"vscode-languageserver-textdocument": "^1.0.7",
|
"vscode-languageserver-textdocument": "^1.0.7",
|
||||||
"vscode-languageserver-types": "^3.17.2",
|
"vscode-languageserver-types": "^3.17.2",
|
||||||
"yaml": "^2.1.1"
|
"yaml": "^2.1.1"
|
||||||
@@ -82,10 +82,10 @@
|
|||||||
},
|
},
|
||||||
"actions-workflow-parser": {
|
"actions-workflow-parser": {
|
||||||
"name": "@github/actions-workflow-parser",
|
"name": "@github/actions-workflow-parser",
|
||||||
"version": "0.1.137",
|
"version": "0.1.138",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@github/actions-expressions": "^0.1.137",
|
"@github/actions-expressions": "^0.1.138",
|
||||||
"cronstrue": "^2.21.0",
|
"cronstrue": "^2.21.0",
|
||||||
"yaml": "^2.0.0-8"
|
"yaml": "^2.0.0-8"
|
||||||
},
|
},
|
||||||
@@ -105,10 +105,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"browser-playground": {
|
"browser-playground": {
|
||||||
"version": "0.1.137",
|
"version": "0.1.138",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@github/actions-languageserver": "^0.1.137",
|
"@github/actions-languageserver": "^0.1.138",
|
||||||
"monaco-editor-webpack-plugin": "^7.0.1",
|
"monaco-editor-webpack-plugin": "^7.0.1",
|
||||||
"monaco-editor-workers": "^0.34.2",
|
"monaco-editor-workers": "^0.34.2",
|
||||||
"monaco-languageclient": "^4.0.3",
|
"monaco-languageclient": "^4.0.3",
|
||||||
@@ -14570,8 +14570,8 @@
|
|||||||
"@github/actions-languageserver": {
|
"@github/actions-languageserver": {
|
||||||
"version": "file:actions-languageserver",
|
"version": "file:actions-languageserver",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@github/actions-languageservice": "^0.1.137",
|
"@github/actions-languageservice": "^0.1.138",
|
||||||
"@github/actions-workflow-parser": "^0.1.137",
|
"@github/actions-workflow-parser": "^0.1.138",
|
||||||
"@octokit/rest": "^19.0.7",
|
"@octokit/rest": "^19.0.7",
|
||||||
"@types/jest": "^29.0.3",
|
"@types/jest": "^29.0.3",
|
||||||
"fetch-mock": "^9.11.0",
|
"fetch-mock": "^9.11.0",
|
||||||
@@ -14588,8 +14588,8 @@
|
|||||||
"@github/actions-languageservice": {
|
"@github/actions-languageservice": {
|
||||||
"version": "file:actions-languageservice",
|
"version": "file:actions-languageservice",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@github/actions-expressions": "^0.1.137",
|
"@github/actions-expressions": "^0.1.138",
|
||||||
"@github/actions-workflow-parser": "^0.1.137",
|
"@github/actions-workflow-parser": "^0.1.138",
|
||||||
"@types/jest": "^29.0.3",
|
"@types/jest": "^29.0.3",
|
||||||
"jest": "^29.0.3",
|
"jest": "^29.0.3",
|
||||||
"prettier": "^2.8.3",
|
"prettier": "^2.8.3",
|
||||||
@@ -14604,7 +14604,7 @@
|
|||||||
"@github/actions-workflow-parser": {
|
"@github/actions-workflow-parser": {
|
||||||
"version": "file:actions-workflow-parser",
|
"version": "file:actions-workflow-parser",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@github/actions-expressions": "^0.1.137",
|
"@github/actions-expressions": "^0.1.138",
|
||||||
"@types/jest": "^29.0.3",
|
"@types/jest": "^29.0.3",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.40.0",
|
"@typescript-eslint/eslint-plugin": "^5.40.0",
|
||||||
"@typescript-eslint/parser": "^5.40.0",
|
"@typescript-eslint/parser": "^5.40.0",
|
||||||
@@ -17562,7 +17562,7 @@
|
|||||||
"browser-playground": {
|
"browser-playground": {
|
||||||
"version": "file:browser-playground",
|
"version": "file:browser-playground",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@github/actions-languageserver": "^0.1.137",
|
"@github/actions-languageserver": "^0.1.138",
|
||||||
"css-loader": "^6.7.2",
|
"css-loader": "^6.7.2",
|
||||||
"monaco-editor-webpack-plugin": "^7.0.1",
|
"monaco-editor-webpack-plugin": "^7.0.1",
|
||||||
"monaco-editor-workers": "^0.34.2",
|
"monaco-editor-workers": "^0.34.2",
|
||||||
|
|||||||
Reference in New Issue
Block a user