🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

dockerfile-language-service

Package Overview
Dependencies
Maintainers
1
Versions
35
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dockerfile-language-service - npm Package Compare versions

Comparing version

to
0.11.0

14

CHANGELOG.md
# Changelog
All notable changes to this project will be documented in this file.
## [0.11.0] - 2023-09-10
### Added
- support parsing the new `--start-interval` flag for HEALTHCHECK instructions ([rcjsuen/dockerfile-utils#115](https://github.com/rcjsuen/dockerfile-utils/issues/115))
- allow some diagnostics to be ignored if a `# dockerfile-utils: ignore` comment precedes the originating line of the error ([rcjsuen/dockerfile-utils#106](https://github.com/rcjsuen/dockerfile-utils/issues/106))
- support parsing the new `--checksum` flag for ADD instructions ([rcjsuen/dockerfile-utils#116](https://github.com/rcjsuen/dockerfile-utils/issues/116))
- support parsing the new `--keep-git-dir` flag for ADD instructions ([rcjsuen/dockerfile-utils#117](https://github.com/rcjsuen/dockerfile-utils/issues/117))
- suggest the new `--start-interval` flag for HEALTHCHECK instructions when calculating completion items ([#117](https://github.com/rcjsuen/dockerfile-language-service/issues/117))
- provide documentation support when hovering over the `--start-interval` flag for HEALTHCHECK instructions ([#119](https://github.com/rcjsuen/dockerfile-language-service/issues/119))
- flag empty tag specified with a digest in FROM instructions as an error ([rcjsuen/dockerfile-utils#118](https://github.com/rcjsuen/dockerfile-utils/issues/118))
- ignore predefined platform ARG variables if they are used as a base image ([rcjsuen/dockerfile-utils#119](https://github.com/rcjsuen/dockerfile-utils/issues/119))
## [0.10.2] - 2023-06-01

@@ -496,3 +507,4 @@ ### Fixed

[Unreleased]: https://github.com/rcjsuen/dockerfile-language-service/compare/v0.10.2...HEAD
[Unreleased]: https://github.com/rcjsuen/dockerfile-language-service/compare/v0.11.0...HEAD
[0.11.0]: https://github.com/rcjsuen/dockerfile-language-service/compare/v0.10.2...v0.11.0
[0.10.2]: https://github.com/rcjsuen/dockerfile-language-service/compare/v0.10.1...v0.10.2

@@ -499,0 +511,0 @@ [0.10.1]: https://github.com/rcjsuen/dockerfile-language-service/compare/v0.10.0...v0.10.1

4

lib/dockerAssist.d.ts

@@ -1,2 +0,3 @@

import { TextDocument, Position, CompletionItem } from 'vscode-languageserver-types';
import { TextDocument } from 'vscode-languageserver-textdocument';
import { Position, CompletionItem } from 'vscode-languageserver-types';
import { DockerRegistryClient } from './dockerRegistryClient';

@@ -61,2 +62,3 @@ import { CompletionItemCapabilities } from './main';

private createHEALTHCHECK_FlagRetries;
private createHEALTHCHECK_FlagStartInterval;
private createHEALTHCHECK_FlagStartPeriod;

@@ -63,0 +65,0 @@ private createHEALTHCHECK_FlagTimeout;

@@ -16,3 +16,3 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

if (f) throw new TypeError("Generator is already executing.");
while (_) try {
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;

@@ -369,3 +369,3 @@ if (y = 0, t) op = [op[0] & 2, t.value];

flagProposalsMap.forEach(function (fn, flagName) {
if (("--" + flagName + "=").indexOf(prefix) === 0) {
if ("--".concat(flagName, "=").indexOf(prefix) === 0) {
item_1 = fn(prefix.length, offset);

@@ -521,2 +521,5 @@ }

}
if ("--start-interval".indexOf(prefix) === 0) {
items.push(this.createHEALTHCHECK_FlagStartInterval(prefix.length, offset));
}
if ("--start-period".indexOf(prefix) === 0) {

@@ -769,2 +772,8 @@ items.push(this.createHEALTHCHECK_FlagStartPeriod(prefix.length, offset));

};
DockerAssist.prototype.createHEALTHCHECK_FlagStartInterval = function (prefixLength, offset) {
if (this.snippetSupport) {
return this.createFlagCompletionItem("--start-interval=5s", prefixLength, offset, "--start-interval=${1:5s}", "HEALTHCHECK_FlagStartInterval");
}
return this.createFlagCompletionItem("--start-interval=", prefixLength, offset, "--start-interval=", "HEALTHCHECK_FlagStartInterval");
};
DockerAssist.prototype.createHEALTHCHECK_FlagStartPeriod = function (prefixLength, offset) {

@@ -771,0 +780,0 @@ if (this.snippetSupport) {

@@ -7,3 +7,3 @@ (function (factory) {

else if (typeof define === "function" && define.amd) {
define(["require", "exports", "vscode-languageserver-types", "dockerfile-utils", "./main"], factory);
define(["require", "exports", "vscode-languageserver-textdocument", "vscode-languageserver-types", "dockerfile-utils", "./main"], factory);
}

@@ -18,2 +18,3 @@ })(function (require, exports) {

exports.DockerCommands = void 0;
var vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
var vscode_languageserver_types_1 = require("vscode-languageserver-types");

@@ -135,3 +136,3 @@ var dockerfile_utils_1 = require("dockerfile-utils");

DockerCommands.prototype.computeCommandEdits = function (content, command, args) {
var document = vscode_languageserver_types_1.TextDocument.create("", "", 0, content);
var document = vscode_languageserver_textdocument_1.TextDocument.create("", "", 0, content);
var range = args[1];

@@ -138,0 +139,0 @@ switch (command) {

@@ -7,3 +7,3 @@ (function (factory) {

else if (typeof define === "function" && define.amd) {
define(["require", "exports", "vscode-languageserver-types", "dockerfile-ast"], factory);
define(["require", "exports", "vscode-languageserver-textdocument", "vscode-languageserver-types", "dockerfile-ast"], factory);
}

@@ -18,2 +18,3 @@ })(function (require, exports) {

exports.DockerFolding = void 0;
var vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
var vscode_languageserver_types_1 = require("vscode-languageserver-types");

@@ -50,3 +51,3 @@ var dockerfile_ast_1 = require("dockerfile-ast");

var dockerfile = dockerfile_ast_1.DockerfileParser.parse(content);
var document = vscode_languageserver_types_1.TextDocument.create("", "", 0, content);
var document = vscode_languageserver_textdocument_1.TextDocument.create("", "", 0, content);
for (var _i = 0, _a = dockerfile.getInstructions(); _i < _a.length; _i++) {

@@ -53,0 +54,0 @@ var instruction = _a[_i];

@@ -7,3 +7,3 @@ (function (factory) {

else if (typeof define === "function" && define.amd) {
define(["require", "exports", "vscode-languageserver-types", "dockerfile-ast"], factory);
define(["require", "exports", "vscode-languageserver-textdocument", "vscode-languageserver-types", "dockerfile-ast"], factory);
}

@@ -18,2 +18,3 @@ })(function (require, exports) {

exports.DockerFormatter = void 0;
var vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
var vscode_languageserver_types_1 = require("vscode-languageserver-types");

@@ -73,3 +74,3 @@ var dockerfile_ast_1 = require("dockerfile-ast");

}
var document = vscode_languageserver_types_1.TextDocument.create("", "", 0, content);
var document = vscode_languageserver_textdocument_1.TextDocument.create("", "", 0, content);
validityCheck: for (var i = document.offsetAt(position); i < content.length; i++) {

@@ -112,3 +113,3 @@ switch (content.charAt(i)) {

DockerFormatter.prototype.format = function (content, lines, options) {
var document = vscode_languageserver_types_1.TextDocument.create("", "", 0, content);
var document = vscode_languageserver_textdocument_1.TextDocument.create("", "", 0, content);
var dockerfile = dockerfile_ast_1.DockerfileParser.parse(content);

@@ -115,0 +116,0 @@ var indentedLines = [];

@@ -7,3 +7,3 @@ (function (factory) {

else if (typeof define === "function" && define.amd) {
define(["require", "exports", "vscode-languageserver-types", "dockerfile-ast", "./dockerDefinition", "./docker"], factory);
define(["require", "exports", "vscode-languageserver-textdocument", "vscode-languageserver-types", "dockerfile-ast", "./dockerDefinition", "./docker"], factory);
}

@@ -18,2 +18,3 @@ })(function (require, exports) {

exports.DockerHighlight = void 0;
var vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
var vscode_languageserver_types_1 = require("vscode-languageserver-types");

@@ -93,3 +94,3 @@ var dockerfile_ast_1 = require("dockerfile-ast");

else {
var document = vscode_languageserver_types_1.TextDocument.create("", "", 0, content);
var document = vscode_languageserver_textdocument_1.TextDocument.create("", "", 0, content);
var definition = document.getText().substring(document.offsetAt(definitionRange.start), document.offsetAt(definitionRange.end));

@@ -96,0 +97,0 @@ var isBuildStage = false;

@@ -201,2 +201,4 @@ (function (factory) {

return "HEALTHCHECK_FlagRetries";
case "start-interval":
return "HEALTHCHECK_FlagStartInterval";
case "start-period":

@@ -203,0 +205,0 @@ return "HEALTHCHECK_FlagStartPeriod";

@@ -47,2 +47,3 @@ (function (factory) {

"hoverHealthcheckFlagRetries": "The number of consecutive failures of this health check before the container is considered to be `unhealthy`.",
"hoverHealthcheckFlagStartInterval": "The number of seconds to wait between health checks during the start period.",
"hoverHealthcheckFlagStartPeriod": "The number of seconds to wait for the container to startup. Failures during this grace period will not count towards the maximum number of retries. However, should a health check succeed during this period then any subsequent failures will count towards the maximum number of retries.\n\nSince Docker 17.05.0-ce.",

@@ -168,2 +169,5 @@ "hoverHealthcheckFlagTimeout": "The number of seconds to wait for the check to complete before considering it to have failed.",

},
HEALTHCHECK_FlagStartInterval: {
contents: this.dockerMessages["hoverHealthcheckFlagStartInterval"]
},
HEALTHCHECK_FlagStartPeriod: {

@@ -170,0 +174,0 @@ contents: this.dockerMessages["hoverHealthcheckFlagStartPeriod"]

@@ -44,2 +44,3 @@ (function (factory) {

"hoverHealthcheckFlagRetries": "The number of consecutive failures of this health check before the container is considered to be `unhealthy`.",
"hoverHealthcheckFlagStartInterval": "The number of seconds to wait between health checks during the start period.",
"hoverHealthcheckFlagStartPeriod": "The number of seconds to wait for the container to startup. Failures during this grace period will not count towards the maximum number of retries. However, should a health check succeed during this period then any subsequent failures will count towards the maximum number of retries.\n\nSince Docker 17.05.0-ce.",

@@ -160,2 +161,3 @@ "hoverHealthcheckFlagTimeout": "The number of seconds to wait for the check to complete before considering it to have failed.",

HEALTHCHECK_FlagRetries: this.dockerMessages["hoverHealthcheckFlagRetries"],
HEALTHCHECK_FlagStartInterval: this.dockerMessages["hoverHealthcheckFlagStartInterval"],
HEALTHCHECK_FlagStartPeriod: this.dockerMessages["hoverHealthcheckFlagStartPeriod"],

@@ -162,0 +164,0 @@ HEALTHCHECK_FlagTimeout: this.dockerMessages["hoverHealthcheckFlagTimeout"],

@@ -7,3 +7,3 @@ (function (factory) {

else if (typeof define === "function" && define.amd) {
define(["require", "exports", "vscode-languageserver-types", "dockerfile-ast", "./docker"], factory);
define(["require", "exports", "vscode-languageserver-textdocument", "vscode-languageserver-types", "dockerfile-ast", "./docker"], factory);
}

@@ -18,2 +18,3 @@ })(function (require, exports) {

exports.DockerSemanticTokens = exports.TokensLegend = void 0;
var vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
var vscode_languageserver_types_1 = require("vscode-languageserver-types");

@@ -67,3 +68,3 @@ var dockerfile_ast_1 = require("dockerfile-ast");

this.content = content;
this.document = vscode_languageserver_types_1.TextDocument.create("", "", 0, content);
this.document = vscode_languageserver_textdocument_1.TextDocument.create("", "", 0, content);
this.dockerfile = dockerfile_ast_1.DockerfileParser.parse(content);

@@ -70,0 +71,0 @@ this.escapeCharacter = this.dockerfile.getEscapeCharacter();

@@ -7,3 +7,3 @@ (function (factory) {

else if (typeof define === "function" && define.amd) {
define(["require", "exports", "vscode-languageserver-types", "dockerfile-utils", "./dockerAssist", "./dockerRegistryClient", "./dockerCommands", "./dockerFolding", "./dockerDefinition", "./dockerHighlight", "./dockerSymbols", "./dockerSignatures", "./dockerLinks", "./dockerPlainText", "./dockerRename", "./dockerHover", "./dockerMarkdown", "./dockerCompletion", "./dockerSemanticTokens"], factory);
define(["require", "exports", "vscode-languageserver-textdocument", "dockerfile-utils", "./dockerAssist", "./dockerRegistryClient", "./dockerCommands", "./dockerFolding", "./dockerDefinition", "./dockerHighlight", "./dockerSymbols", "./dockerSignatures", "./dockerLinks", "./dockerPlainText", "./dockerRename", "./dockerHover", "./dockerMarkdown", "./dockerCompletion", "./dockerSemanticTokens"], factory);
}

@@ -14,3 +14,3 @@ })(function (require, exports) {

exports.LanguageService = void 0;
var vscode_languageserver_types_1 = require("vscode-languageserver-types");
var vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
var DockerfileUtils = require("dockerfile-utils");

@@ -65,3 +65,3 @@ var dockerAssist_1 = require("./dockerAssist");

LanguageService.prototype.computeCompletionItems = function (content, position) {
var document = vscode_languageserver_types_1.TextDocument.create("", "", 0, content);
var document = vscode_languageserver_textdocument_1.TextDocument.create("", "", 0, content);
var dockerAssist = new dockerAssist_1.DockerAssist(document, new dockerRegistryClient_1.DockerRegistryClient(this.logger), this.completionItemCapabilities);

@@ -68,0 +68,0 @@ return dockerAssist.computeProposals(position);

@@ -29,3 +29,3 @@ (function (factory) {

CommandIds["CONVERT_TO_AS"] = "docker.command.convertToAS";
})(CommandIds = exports.CommandIds || (exports.CommandIds = {}));
})(CommandIds || (exports.CommandIds = CommandIds = {}));
var DockerfileLanguageServiceFactory;

@@ -37,3 +37,3 @@ (function (DockerfileLanguageServiceFactory) {

DockerfileLanguageServiceFactory.createLanguageService = createLanguageService;
})(DockerfileLanguageServiceFactory = exports.DockerfileLanguageServiceFactory || (exports.DockerfileLanguageServiceFactory = {}));
})(DockerfileLanguageServiceFactory || (exports.DockerfileLanguageServiceFactory = DockerfileLanguageServiceFactory = {}));
});

@@ -11,3 +11,3 @@ {

],
"version": "0.10.2",
"version": "0.11.0",
"author": "Remy Suen",

@@ -24,5 +24,6 @@ "license": "MIT",

"dependencies": {
"dockerfile-ast": "0.5.0",
"dockerfile-utils": "0.11.0",
"vscode-languageserver-types": "3.17.0-next.3"
"dockerfile-ast": "0.6.1",
"dockerfile-utils": "0.15.0",
"vscode-languageserver-textdocument": "1.0.8",
"vscode-languageserver-types": "3.17.3"
},

@@ -36,3 +37,3 @@ "main": "./lib/main.js",

"nyc": "^15.0.0",
"typescript": "^3.7.5"
"typescript": "^5.2.2"
},

@@ -39,0 +40,0 @@ "scripts": {

Sorry, the diff of this file is too big to display