From 3309a64f3978dab352d52366db70e8c35212d14e Mon Sep 17 00:00:00 2001 From: aminya Date: Thu, 29 Oct 2020 06:39:09 -0500 Subject: [PATCH 1/5] prep: install package-deps --- package.json | 1 + pnpm-lock.yaml | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/package.json b/package.json index ae140f5..60bdc80 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ }, "dependencies": { "atom-languageclient": "^1.0.0", + "atom-package-deps": "6", "vls": "^0.5.4" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 285de38..b9283ab 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,5 +1,6 @@ dependencies: atom-languageclient: 1.0.0 + atom-package-deps: 6.0.0 vls: 0.5.4 devDependencies: prettier: 2.1.2 @@ -569,6 +570,13 @@ packages: dev: false resolution: integrity: sha512-atrDQW7JbGgetZB/eVGjx4O9FoCRvpX2oBXqNjR19y93xv5QpV0W7D9AgXKpTF920N2r2bjETMK2Rk+NxoPFDQ== + /atom-package-deps/6.0.0: + dependencies: + sb-fs: 4.0.0 + semver: 7.3.2 + dev: false + resolution: + integrity: sha512-9UQx2sTvBiaIHcZ3le/B0djM+jsZXBQRPXatrmtNfjkbAOV5bGrcXzcV4U0EBfGdzB7QmWeOnwMIJwa3HvW7Kg== /bail/1.0.5: dev: false resolution: @@ -3838,6 +3846,14 @@ packages: dev: false resolution: integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + /sb-fs/4.0.0: + dependencies: + strip-bom-buf: 1.0.0 + dev: false + engines: + node: '>= 8' + resolution: + integrity: sha512-UjjIHC4uahPWvKYqgknvFCCJ11S0oDahz+nsmyTCAmARKto31aoE+Lu7GGGK0nogengJEKGzFdh46ho5+IL88Q== /semver-diff/2.1.0: dependencies: semver: 5.7.1 @@ -4158,6 +4174,14 @@ packages: node: '>=8' resolution: integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + /strip-bom-buf/1.0.0: + dependencies: + is-utf8: 0.2.1 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI= /strip-bom/2.0.0: dependencies: is-utf8: 0.2.1 @@ -5139,5 +5163,6 @@ packages: integrity: sha1-5gQyZYozh/8mnAKOrN5KUS5Djf8= specifiers: atom-languageclient: ^1.0.0 + atom-package-deps: '6' prettier: ^2.1.2 vls: ^0.5.4 From 499d73bda4d6190ad523d0559f57aeb35be70965 Mon Sep 17 00:00:00 2001 From: aminya Date: Thu, 29 Oct 2020 06:39:55 -0500 Subject: [PATCH 2/5] feat: autoinstall language-vue, atom-ide-base, and atom-ide-javascript --- lib/main.js | 25 +++++++++++++++++++++++++ package.json | 5 +++++ 2 files changed, 30 insertions(+) diff --git a/lib/main.js b/lib/main.js index 4481f77..d595d04 100644 --- a/lib/main.js +++ b/lib/main.js @@ -15,6 +15,9 @@ class VueLanguageClient extends AutoLanguageClient { } startServerProcess() { + package_deps().catch((e) => { + atom.notification.addError(e) + }) // let it install in the background return super.spawnChildNode(["node_modules/vls/dist/vueServerMain"], { cwd: path.join(__dirname, ".."), }) @@ -36,4 +39,26 @@ class VueLanguageClient extends AutoLanguageClient { } } +/** + * install Atom package dependencies if not already loaded + */ +async function package_deps() { + // Add entries from package-deps here manually + // (to prevent loading atom-package-deps and package.json when the deps are already loaded) + const deps = ["language-vue", "atom-ide-base", "atom-ide-javascript"] + if (deps.some((p) => !atom.packages.isPackageLoaded(p))) { + await import("atom-package-deps").then((atom_package_deps) => { + // install if not installed + atom_package_deps.install("atom-ide-vue", false) + // enable if disabled + deps + .filter((p) => !atom.packages.isPackageLoaded(p)) + .forEach((p) => { + atom.notifications.addInfo(`Enabling package ${p} that is needed for atom-ide-vue`) + atom.packages.enablePackage(p) + }) + }) + } +} + module.exports = new VueLanguageClient() diff --git a/package.json b/package.json index 60bdc80..117c154 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,11 @@ "atom-package-deps": "6", "vls": "^0.5.4" }, + "package-deps": [ + "language-vue", + "atom-ide-base", + "atom-ide-javascript" + ], "devDependencies": { "prettier": "^2.1.2" }, From 0076fd202da21477e38da7064dba0f5b129f9be4 Mon Sep 17 00:00:00 2001 From: aminya Date: Thu, 29 Oct 2020 06:47:34 -0500 Subject: [PATCH 3/5] fix: remove packageDeps function --- lib/main.js | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/lib/main.js b/lib/main.js index d595d04..4481f77 100644 --- a/lib/main.js +++ b/lib/main.js @@ -15,9 +15,6 @@ class VueLanguageClient extends AutoLanguageClient { } startServerProcess() { - package_deps().catch((e) => { - atom.notification.addError(e) - }) // let it install in the background return super.spawnChildNode(["node_modules/vls/dist/vueServerMain"], { cwd: path.join(__dirname, ".."), }) @@ -39,26 +36,4 @@ class VueLanguageClient extends AutoLanguageClient { } } -/** - * install Atom package dependencies if not already loaded - */ -async function package_deps() { - // Add entries from package-deps here manually - // (to prevent loading atom-package-deps and package.json when the deps are already loaded) - const deps = ["language-vue", "atom-ide-base", "atom-ide-javascript"] - if (deps.some((p) => !atom.packages.isPackageLoaded(p))) { - await import("atom-package-deps").then((atom_package_deps) => { - // install if not installed - atom_package_deps.install("atom-ide-vue", false) - // enable if disabled - deps - .filter((p) => !atom.packages.isPackageLoaded(p)) - .forEach((p) => { - atom.notifications.addInfo(`Enabling package ${p} that is needed for atom-ide-vue`) - atom.packages.enablePackage(p) - }) - }) - } -} - module.exports = new VueLanguageClient() From 031706d67849764d5fc3c2a67494845e39572d03 Mon Sep 17 00:00:00 2001 From: aminya Date: Thu, 29 Oct 2020 06:47:55 -0500 Subject: [PATCH 4/5] prep: package-deps 7 --- package.json | 2 +- pnpm-lock.yaml | 28 +++++----------------------- 2 files changed, 6 insertions(+), 24 deletions(-) diff --git a/package.json b/package.json index 117c154..f18f8c1 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "atom-languageclient": "^1.0.0", - "atom-package-deps": "6", + "atom-package-deps": "7", "vls": "^0.5.4" }, "package-deps": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b9283ab..44b9951 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,6 +1,6 @@ dependencies: atom-languageclient: 1.0.0 - atom-package-deps: 6.0.0 + atom-package-deps: 7.0.2 vls: 0.5.4 devDependencies: prettier: 2.1.2 @@ -570,13 +570,11 @@ packages: dev: false resolution: integrity: sha512-atrDQW7JbGgetZB/eVGjx4O9FoCRvpX2oBXqNjR19y93xv5QpV0W7D9AgXKpTF920N2r2bjETMK2Rk+NxoPFDQ== - /atom-package-deps/6.0.0: - dependencies: - sb-fs: 4.0.0 - semver: 7.3.2 + /atom-package-deps/7.0.2: dev: false + hasBin: true resolution: - integrity: sha512-9UQx2sTvBiaIHcZ3le/B0djM+jsZXBQRPXatrmtNfjkbAOV5bGrcXzcV4U0EBfGdzB7QmWeOnwMIJwa3HvW7Kg== + integrity: sha512-Z0JS0pUZiq+f3BFCj3lErQo8DdJEQmt4syVCBakidUxIl3mBee4uSX7MBMzhupMkjInEyKTTEIy4EaIDj4842Q== /bail/1.0.5: dev: false resolution: @@ -3846,14 +3844,6 @@ packages: dev: false resolution: integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - /sb-fs/4.0.0: - dependencies: - strip-bom-buf: 1.0.0 - dev: false - engines: - node: '>= 8' - resolution: - integrity: sha512-UjjIHC4uahPWvKYqgknvFCCJ11S0oDahz+nsmyTCAmARKto31aoE+Lu7GGGK0nogengJEKGzFdh46ho5+IL88Q== /semver-diff/2.1.0: dependencies: semver: 5.7.1 @@ -4174,14 +4164,6 @@ packages: node: '>=8' resolution: integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - /strip-bom-buf/1.0.0: - dependencies: - is-utf8: 0.2.1 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI= /strip-bom/2.0.0: dependencies: is-utf8: 0.2.1 @@ -5163,6 +5145,6 @@ packages: integrity: sha1-5gQyZYozh/8mnAKOrN5KUS5Djf8= specifiers: atom-languageclient: ^1.0.0 - atom-package-deps: '6' + atom-package-deps: '7' prettier: ^2.1.2 vls: ^0.5.4 From 4fad4bb15be77440a293d711e5a9e9a92e78a27c Mon Sep 17 00:00:00 2001 From: aminya Date: Thu, 29 Oct 2020 07:02:00 -0500 Subject: [PATCH 5/5] fix: install in post install --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f18f8c1..758de4c 100644 --- a/package.json +++ b/package.json @@ -11,14 +11,14 @@ ], "license": "MIT", "scripts": { - "format": "prettier --write ." + "format": "prettier --write .", + "postinstall": "apm install language-vue atom-ide-base atom-ide-javascript" }, "engines": { "atom": ">=1.0.0 <2.0.0" }, "dependencies": { "atom-languageclient": "^1.0.0", - "atom-package-deps": "7", "vls": "^0.5.4" }, "package-deps": [