coc-vscode-loader 1.1.4 → 1.1.7

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.
Files changed (2) hide show
  1. package/lib/index.js +36 -11
  2. package/package.json +3 -3
package/lib/index.js CHANGED
@@ -39,7 +39,7 @@ var require_package = __commonJS({
39
39
  "package.json"(exports2, module2) {
40
40
  module2.exports = {
41
41
  name: "coc-vscode-loader",
42
- version: "1.1.4",
42
+ version: "1.1.7",
43
43
  description: "Run VS Code extensions seamlessly in coc.nvim",
44
44
  main: "lib/index.js",
45
45
  keywords: [
@@ -69,9 +69,9 @@ var require_package = __commonJS({
69
69
  coc: ">= 0.0.80"
70
70
  },
71
71
  scripts: {
72
- "bundle-converter": "rm -rf converter && cp -r ../converter ./converter && cd converter && npm install --legacy-peer-deps",
72
+ "bundle-converter": "if [ -d ../converter ]; then rm -rf converter && cp -r ../converter ./converter && cd converter && npm install --legacy-peer-deps; fi",
73
73
  build: "npm run bundle-converter && node esbuild.mjs",
74
- prepare: "node esbuild.mjs"
74
+ prepare: "npm run bundle-converter && node esbuild.mjs"
75
75
  },
76
76
  devDependencies: {
77
77
  "coc.nvim": "^0.0.83-next.18",
@@ -114,6 +114,7 @@ var import_coc3 = require("coc.nvim");
114
114
  var path = __toESM(require("path"));
115
115
  var fs = __toESM(require("fs"));
116
116
  var os = __toESM(require("os"));
117
+ var import_child_process = require("child_process");
117
118
  function pluginVersion() {
118
119
  try {
119
120
  return require_package().version;
@@ -142,6 +143,29 @@ function loadCache() {
142
143
  }
143
144
  return null;
144
145
  }
146
+ async function fetchRegistryJSON(url) {
147
+ try {
148
+ const ctrl = new AbortController();
149
+ const t = setTimeout(() => ctrl.abort(), 1e4);
150
+ const res = await fetch(url, { signal: ctrl.signal });
151
+ clearTimeout(t);
152
+ if (res.ok) {
153
+ const data = await res.json();
154
+ if (Array.isArray(data)) return data;
155
+ }
156
+ } catch {
157
+ }
158
+ return new Promise((resolve2, reject) => {
159
+ (0, import_child_process.execFile)("curl", ["-sL", url], { encoding: "utf-8", maxBuffer: 5 * 1024 * 1024 }, (err, stdout) => {
160
+ if (err) reject(new Error(`curl failed: ${err.message}`));
161
+ else {
162
+ const data = JSON.parse(stdout);
163
+ if (!Array.isArray(data)) reject(new Error("Invalid registry format"));
164
+ else resolve2(data);
165
+ }
166
+ });
167
+ });
168
+ }
145
169
  async function updateRegistry() {
146
170
  const localPath = process.env.COC_REGISTRY_PATH || getLocalRegistryPath();
147
171
  if (localPath) {
@@ -153,9 +177,7 @@ async function updateRegistry() {
153
177
  cached = data2;
154
178
  return data2.length;
155
179
  }
156
- const res = await fetch(REMOTE_REGISTRY_URL);
157
- if (!res.ok) throw new Error(`HTTP ${res.status}`);
158
- const data = await res.json();
180
+ const data = await fetchRegistryJSON(REMOTE_REGISTRY_URL);
159
181
  if (!Array.isArray(data)) throw new Error("Invalid registry format");
160
182
  fs.mkdirSync(path.dirname(CACHE_PATH), { recursive: true });
161
183
  fs.writeFileSync(CACHE_PATH, JSON.stringify(data, null, 2));
@@ -394,7 +416,7 @@ var StateManager = class {
394
416
  var import_coc2 = require("coc.nvim");
395
417
 
396
418
  // src/pipeline.ts
397
- var import_child_process = require("child_process");
419
+ var import_child_process2 = require("child_process");
398
420
  var import_coc = require("coc.nvim");
399
421
  var path3 = __toESM(require("path"));
400
422
  var fs3 = __toESM(require("fs"));
@@ -428,7 +450,7 @@ function converterCliPath() {
428
450
  var CMD_TIMEOUT = 3e5;
429
451
  async function run(cmd, args, cwd, onLine) {
430
452
  return new Promise((resolve2, reject) => {
431
- const child = (0, import_child_process.spawn)(cmd, args, { cwd, stdio: ["ignore", "pipe", "pipe"], shell: true });
453
+ const child = (0, import_child_process2.spawn)(cmd, args, { cwd, stdio: ["ignore", "pipe", "pipe"], shell: true });
432
454
  const timer = setTimeout(() => {
433
455
  child.kill("SIGTERM");
434
456
  reject(new Error(`Timed out after ${CMD_TIMEOUT / 1e3}s: ${cmd} ${args.join(" ")}`));
@@ -786,7 +808,7 @@ async function updatePackage(state, name) {
786
808
  }
787
809
  async function runWithOutput(cmd, args, cwd) {
788
810
  return new Promise((resolve2, reject) => {
789
- const child = (0, import_child_process.spawn)(cmd, args, { cwd, stdio: ["ignore", "pipe", "pipe"], shell: true });
811
+ const child = (0, import_child_process2.spawn)(cmd, args, { cwd, stdio: ["ignore", "pipe", "pipe"], shell: true });
790
812
  const timer = setTimeout(() => {
791
813
  child.kill("SIGTERM");
792
814
  reject(new Error(`Timed out after ${CMD_TIMEOUT / 1e3}s: ${cmd} ${args.join(" ")}`));
@@ -1058,11 +1080,14 @@ var TUI = class {
1058
1080
  `);
1059
1081
  }
1060
1082
  await this.setupKeymaps();
1061
- updateRegistry().then(() => this.state.refreshPackages()).catch(() => {
1083
+ await this.render();
1084
+ updateRegistry().then(() => {
1085
+ this.state.refreshPackages();
1086
+ this.render();
1087
+ }).catch(() => {
1062
1088
  this.state.setStatusMessage("Failed to fetch remote registry (offline?)");
1063
1089
  setTimeout(() => this.state.setStatusMessage(), 5e3);
1064
1090
  });
1065
- await this.render();
1066
1091
  }
1067
1092
  async getCursorLine0() {
1068
1093
  const nvim = import_coc2.workspace.nvim;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "coc-vscode-loader",
3
- "version": "1.1.4",
3
+ "version": "1.1.7",
4
4
  "description": "Run VS Code extensions seamlessly in coc.nvim",
5
5
  "main": "lib/index.js",
6
6
  "keywords": [
@@ -30,9 +30,9 @@
30
30
  "coc": ">= 0.0.80"
31
31
  },
32
32
  "scripts": {
33
- "bundle-converter": "rm -rf converter && cp -r ../converter ./converter && cd converter && npm install --legacy-peer-deps",
33
+ "bundle-converter": "if [ -d ../converter ]; then rm -rf converter && cp -r ../converter ./converter && cd converter && npm install --legacy-peer-deps; fi",
34
34
  "build": "npm run bundle-converter && node esbuild.mjs",
35
- "prepare": "node esbuild.mjs"
35
+ "prepare": "npm run bundle-converter && node esbuild.mjs"
36
36
  },
37
37
  "devDependencies": {
38
38
  "coc.nvim": "^0.0.83-next.18",