@tasenor/common-node 1.9.138 → 1.9.139
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.
- package/dist/src/plugins/plugins.d.ts +13 -2
- package/dist/src/plugins/plugins.js +123 -22
- package/dist/src/plugins/plugins.js.map +1 -1
- package/package.json +3 -3
- package/src/plugins/plugins.ts +125 -22
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TasenorPlugin, PluginCatalog, FilePath, DirectoryPath } from '@tasenor/common';
|
|
2
2
|
interface PluginConfig {
|
|
3
3
|
PLUGIN_PATH?: string;
|
|
4
|
+
INITIAL_PLUGIN_REPOS?: string;
|
|
4
5
|
}
|
|
5
6
|
type ConfigVariable = keyof PluginConfig;
|
|
6
7
|
interface PluginState {
|
|
@@ -81,7 +82,15 @@ declare function pluginLocalPath(indexFilePath: FilePath): string | undefined;
|
|
|
81
82
|
/**
|
|
82
83
|
* Go through repository URLs and install all missing plugin repositories.
|
|
83
84
|
*/
|
|
84
|
-
declare function
|
|
85
|
+
declare function fetchRepositories(srcRoot: DirectoryPath): Promise<boolean>;
|
|
86
|
+
/**
|
|
87
|
+
* Go through repository URLs and install all missing plugin repositories.
|
|
88
|
+
*/
|
|
89
|
+
declare function upgradeRepositories(srcRoot: DirectoryPath): Promise<boolean>;
|
|
90
|
+
/**
|
|
91
|
+
* Check that plugin directory does not have any extra files or that there are no missing plugin repositories.
|
|
92
|
+
*/
|
|
93
|
+
declare function verifyPluginDir(): boolean;
|
|
85
94
|
/**
|
|
86
95
|
* Collection of file system and API related plugin handling functions for fetching, building and scanning.
|
|
87
96
|
*/
|
|
@@ -101,6 +110,8 @@ export declare const plugins: {
|
|
|
101
110
|
sortPlugins: typeof sortPlugins;
|
|
102
111
|
updatePluginIndex: typeof updatePluginIndex;
|
|
103
112
|
updatePluginList: typeof updatePluginList;
|
|
104
|
-
|
|
113
|
+
upgradeRepositories: typeof upgradeRepositories;
|
|
114
|
+
fetchRepositories: typeof fetchRepositories;
|
|
115
|
+
verifyPluginDir: typeof verifyPluginDir;
|
|
105
116
|
};
|
|
106
117
|
export {};
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
|
-
import glob from 'fast-glob';
|
|
2
|
+
import glob, { globSync } from 'fast-glob';
|
|
3
3
|
import path from 'path';
|
|
4
|
-
import { note, log, error, GET } from '@tasenor/common';
|
|
4
|
+
import { note, log, error, GET, warning } from '@tasenor/common';
|
|
5
5
|
import { create } from 'ts-opaque';
|
|
6
6
|
import { vault } from '../net';
|
|
7
7
|
import { systemPiped } from '..';
|
|
8
8
|
const PLUGIN_FIELDS = ['code', 'title', 'version', 'icon', 'releaseDate', 'use', 'type', 'description'];
|
|
9
|
+
const SAFE_PLUGIN_FILES = ['.gitkeep', 'index.json', 'index.jsx', 'workspace', '.keep'];
|
|
9
10
|
// Internal configuration for the module.
|
|
10
11
|
const config = {
|
|
11
|
-
PLUGIN_PATH: undefined
|
|
12
|
+
PLUGIN_PATH: undefined,
|
|
13
|
+
INITIAL_PLUGIN_REPOS: undefined
|
|
12
14
|
};
|
|
13
15
|
/**
|
|
14
16
|
* Get the configuration variable or throw an error.
|
|
@@ -274,18 +276,46 @@ function pluginLocalPath(indexFilePath) {
|
|
|
274
276
|
return match[0].substring(1);
|
|
275
277
|
}
|
|
276
278
|
}
|
|
279
|
+
/**
|
|
280
|
+
* Calculate target directory for the repository.
|
|
281
|
+
*/
|
|
282
|
+
function targetDir(repo) {
|
|
283
|
+
if (!config.PLUGIN_PATH)
|
|
284
|
+
throw new Error('config.PLUGIN_PATH not set.');
|
|
285
|
+
if (repo.startsWith('file://')) {
|
|
286
|
+
return path.join(config.PLUGIN_PATH, path.basename(repo));
|
|
287
|
+
}
|
|
288
|
+
else if (repo.startsWith('npm://')) {
|
|
289
|
+
const npm = repo.substring(6);
|
|
290
|
+
return path.join(config.PLUGIN_PATH, npm.replace(/@/g, '').replace(/[^a-zA-Z0-9]/g, '-'));
|
|
291
|
+
}
|
|
292
|
+
else {
|
|
293
|
+
return path.join(config.PLUGIN_PATH, repo.replace(/.*\//, '').replace('.git', ''));
|
|
294
|
+
}
|
|
295
|
+
}
|
|
277
296
|
/**
|
|
278
297
|
* Go through repository URLs and install all missing plugin repositories.
|
|
279
298
|
*/
|
|
280
|
-
async function
|
|
299
|
+
async function fetchRepositories(srcRoot) {
|
|
281
300
|
let changes = false;
|
|
282
|
-
|
|
283
|
-
|
|
301
|
+
if (!config.INITIAL_PLUGIN_REPOS) {
|
|
302
|
+
warning('Cannot fetch plugin repos, since none defined in INITIAL_PLUGIN_REPOS.');
|
|
303
|
+
return false;
|
|
304
|
+
}
|
|
305
|
+
if (!config.PLUGIN_PATH) {
|
|
306
|
+
warning('Cannot fetch plugin repos, since PLUGIN_PATH not defined.');
|
|
307
|
+
return false;
|
|
308
|
+
}
|
|
309
|
+
for (const repo of config.INITIAL_PLUGIN_REPOS?.split(' ')) {
|
|
310
|
+
const target = targetDir(repo);
|
|
311
|
+
if (fs.existsSync(target)) {
|
|
312
|
+
continue;
|
|
313
|
+
}
|
|
314
|
+
log(`Fetching plugin repo ${repo}.`);
|
|
284
315
|
if (repo.startsWith('file://')) {
|
|
285
316
|
// Handle local file.
|
|
286
|
-
const source = path.join(
|
|
287
|
-
|
|
288
|
-
if (fs.existsSync(src)) {
|
|
317
|
+
const source = path.join(srcRoot, repo.substring(7));
|
|
318
|
+
if (fs.existsSync(srcRoot)) {
|
|
289
319
|
if (!fs.existsSync(target)) {
|
|
290
320
|
log(` Linking repo ${source} => ${target}.`);
|
|
291
321
|
const cmd = `ln -sf "${source}" "${target}"`;
|
|
@@ -299,28 +329,97 @@ async function updateRepositories(repos, src, dst) {
|
|
|
299
329
|
}
|
|
300
330
|
else if (repo.startsWith('npm://')) {
|
|
301
331
|
const npm = repo.substring(6);
|
|
302
|
-
const source = path.join(
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
await systemPiped(cmd);
|
|
308
|
-
changes = true;
|
|
309
|
-
}
|
|
332
|
+
const source = path.join(config.PLUGIN_PATH, 'package');
|
|
333
|
+
log(` Downloading NPM ${npm}.`);
|
|
334
|
+
const cmd = `cd "${config.PLUGIN_PATH}" && rm -fr "${source}" && npm view ${npm} dist.tarball | xargs curl -s | tar xz && mv "${source}" "${target}"`;
|
|
335
|
+
await systemPiped(cmd);
|
|
336
|
+
changes = true;
|
|
310
337
|
}
|
|
311
338
|
else {
|
|
312
339
|
// By default, assume git repo.
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
340
|
+
log(` Fetching plugin repo ${repo} to ${target}.`);
|
|
341
|
+
const cmd = `cd "${config.PLUGIN_PATH}" && git clone "${repo}"`;
|
|
342
|
+
await systemPiped(cmd);
|
|
343
|
+
changes = true;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
return changes;
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Go through repository URLs and install all missing plugin repositories.
|
|
350
|
+
*/
|
|
351
|
+
async function upgradeRepositories(srcRoot) {
|
|
352
|
+
let changes = false;
|
|
353
|
+
if (!config.INITIAL_PLUGIN_REPOS) {
|
|
354
|
+
warning('Cannot fetch plugin repos, since none defined in INITIAL_PLUGIN_REPOS.');
|
|
355
|
+
return false;
|
|
356
|
+
}
|
|
357
|
+
if (!config.PLUGIN_PATH) {
|
|
358
|
+
warning('Cannot fetch plugin repos, since PLUGIN_PATH not defined.');
|
|
359
|
+
return false;
|
|
360
|
+
}
|
|
361
|
+
changes = await fetchRepositories(srcRoot);
|
|
362
|
+
for (const repo of config.INITIAL_PLUGIN_REPOS?.split(' ')) {
|
|
363
|
+
log(`Upgrading plugin repo '${repo}'...`);
|
|
364
|
+
const target = targetDir(repo);
|
|
365
|
+
if (repo.startsWith('file://')) {
|
|
366
|
+
log(' Nothing to do for symlink.');
|
|
367
|
+
}
|
|
368
|
+
else if (repo.startsWith('npm://')) {
|
|
369
|
+
const npm = repo.substring(6);
|
|
370
|
+
const cmd = `npm view ${npm} version`;
|
|
371
|
+
const newVersion = (await systemPiped(cmd, true))?.trim();
|
|
372
|
+
const oldVersion = JSON.parse(fs.readFileSync(path.join(target, 'package.json')).toString('utf-8')).version;
|
|
373
|
+
if (newVersion === oldVersion) {
|
|
374
|
+
log(` The latest version ${newVersion} already installed.`);
|
|
375
|
+
}
|
|
376
|
+
else {
|
|
377
|
+
log(` Upgrading ${npm} from version ${oldVersion} to ${newVersion}.`);
|
|
378
|
+
const source = path.join(config.PLUGIN_PATH, 'package');
|
|
379
|
+
const cmd = `cd "${config.PLUGIN_PATH}" && rm -fr "${source}" "${target}" && npm view ${npm} dist.tarball | xargs curl -s | tar xz && mv "${source}" "${target}"`;
|
|
317
380
|
await systemPiped(cmd);
|
|
318
381
|
changes = true;
|
|
319
382
|
}
|
|
320
383
|
}
|
|
384
|
+
else {
|
|
385
|
+
const cmd = `cd "${config.PLUGIN_PATH}" && git pull`;
|
|
386
|
+
await systemPiped(cmd);
|
|
387
|
+
// Note, too lazy to detect changes. Is the return value even used?
|
|
388
|
+
}
|
|
321
389
|
}
|
|
322
390
|
return changes;
|
|
323
391
|
}
|
|
392
|
+
/**
|
|
393
|
+
* Check that plugin directory does not have any extra files or that there are no missing plugin repositories.
|
|
394
|
+
*/
|
|
395
|
+
function verifyPluginDir() {
|
|
396
|
+
if (!config.INITIAL_PLUGIN_REPOS) {
|
|
397
|
+
warning('No plugin repositories to verify.');
|
|
398
|
+
return true;
|
|
399
|
+
}
|
|
400
|
+
let fail = false;
|
|
401
|
+
const okayFiles = new Set(SAFE_PLUGIN_FILES);
|
|
402
|
+
for (const repo of config.INITIAL_PLUGIN_REPOS?.split(' ')) {
|
|
403
|
+
const dir = targetDir(repo);
|
|
404
|
+
okayFiles.add(path.basename(dir));
|
|
405
|
+
if (!fs.existsSync(dir)) {
|
|
406
|
+
error(`Requiered repository ${repo} does not exist.`);
|
|
407
|
+
fail = true;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
if (config.PLUGIN_PATH) {
|
|
411
|
+
for (const fullPath of globSync(config.PLUGIN_PATH + '/**', { dot: true, deep: 2 })) {
|
|
412
|
+
const localPath = fullPath.replace(config.PLUGIN_PATH + '/', '');
|
|
413
|
+
const file = localPath.indexOf('/') < 0 ? localPath : path.dirname(localPath);
|
|
414
|
+
if (!okayFiles.has(file)) {
|
|
415
|
+
error(`Plugin directory has unrecognized file/dir '${fullPath}'.`);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
if (!fail)
|
|
420
|
+
log('Plugin directory verified as correct.');
|
|
421
|
+
return fail;
|
|
422
|
+
}
|
|
324
423
|
/**
|
|
325
424
|
* Collection of file system and API related plugin handling functions for fetching, building and scanning.
|
|
326
425
|
*/
|
|
@@ -340,6 +439,8 @@ export const plugins = {
|
|
|
340
439
|
sortPlugins,
|
|
341
440
|
updatePluginIndex,
|
|
342
441
|
updatePluginList,
|
|
343
|
-
|
|
442
|
+
upgradeRepositories,
|
|
443
|
+
fetchRepositories,
|
|
444
|
+
verifyPluginDir,
|
|
344
445
|
};
|
|
345
446
|
//# sourceMappingURL=plugins.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/plugins/plugins.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/plugins/plugins.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tasenor/common-node",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.139",
|
|
4
4
|
"description": "Common Node-parts of Tasenor project",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"types": "src/index.ts",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"sqlite3": "^5.1.6",
|
|
37
37
|
"tar": "^6.1.15",
|
|
38
38
|
"ts-opaque": "^3.0.1",
|
|
39
|
-
"@tasenor/common": "1.9.
|
|
39
|
+
"@tasenor/common": "1.9.139"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@jest/globals": "^29.6.1",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"jest": "^29.6.1",
|
|
46
46
|
"ts-jest": "^29.1.1",
|
|
47
47
|
"typescript": "^5.1.6",
|
|
48
|
-
"@tasenor/config": "1.9.
|
|
48
|
+
"@tasenor/config": "1.9.139",
|
|
49
49
|
"eslint-config-tasenor": "0.0.0"
|
|
50
50
|
},
|
|
51
51
|
"scripts": {
|
package/src/plugins/plugins.ts
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
import fs from 'fs'
|
|
2
|
-
import glob from 'fast-glob'
|
|
2
|
+
import glob, { globSync } from 'fast-glob'
|
|
3
3
|
import path from 'path'
|
|
4
|
-
import { TasenorPlugin, PluginCatalog, FilePath, Url, note, log, DirectoryPath, error, GET } from '@tasenor/common'
|
|
4
|
+
import { TasenorPlugin, PluginCatalog, FilePath, Url, note, log, DirectoryPath, error, GET, warning } from '@tasenor/common'
|
|
5
5
|
import { create } from 'ts-opaque'
|
|
6
6
|
import { vault } from '../net'
|
|
7
7
|
import { systemPiped } from '..'
|
|
8
8
|
|
|
9
9
|
const PLUGIN_FIELDS = ['code', 'title', 'version', 'icon', 'releaseDate', 'use', 'type', 'description']
|
|
10
|
+
const SAFE_PLUGIN_FILES = ['.gitkeep', 'index.json', 'index.jsx', 'workspace', '.keep']
|
|
10
11
|
|
|
11
12
|
interface PluginConfig {
|
|
12
13
|
PLUGIN_PATH?: string
|
|
14
|
+
INITIAL_PLUGIN_REPOS?: string
|
|
13
15
|
}
|
|
14
16
|
type ConfigVariable = keyof PluginConfig
|
|
15
17
|
|
|
16
18
|
// Internal configuration for the module.
|
|
17
19
|
const config: PluginConfig = {
|
|
18
|
-
PLUGIN_PATH: undefined
|
|
20
|
+
PLUGIN_PATH: undefined,
|
|
21
|
+
INITIAL_PLUGIN_REPOS: undefined
|
|
19
22
|
}
|
|
20
23
|
|
|
21
24
|
interface PluginState {
|
|
@@ -328,18 +331,44 @@ function pluginLocalPath(indexFilePath: FilePath): string | undefined {
|
|
|
328
331
|
}
|
|
329
332
|
}
|
|
330
333
|
|
|
334
|
+
/**
|
|
335
|
+
* Calculate target directory for the repository.
|
|
336
|
+
*/
|
|
337
|
+
function targetDir(repo: string): DirectoryPath {
|
|
338
|
+
if (!config.PLUGIN_PATH) throw new Error('config.PLUGIN_PATH not set.')
|
|
339
|
+
if (repo.startsWith('file://')) {
|
|
340
|
+
return path.join(config.PLUGIN_PATH, path.basename(repo)) as DirectoryPath
|
|
341
|
+
} else if (repo.startsWith('npm://')) {
|
|
342
|
+
const npm = repo.substring(6)
|
|
343
|
+
return path.join(config.PLUGIN_PATH, npm.replace(/@/g, '').replace(/[^a-zA-Z0-9]/g, '-')) as DirectoryPath
|
|
344
|
+
} else {
|
|
345
|
+
return path.join(config.PLUGIN_PATH, repo.replace(/.*\//, '').replace('.git', '')) as DirectoryPath
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
|
|
331
349
|
/**
|
|
332
350
|
* Go through repository URLs and install all missing plugin repositories.
|
|
333
351
|
*/
|
|
334
|
-
async function
|
|
352
|
+
async function fetchRepositories(srcRoot: DirectoryPath): Promise<boolean> {
|
|
335
353
|
let changes = false
|
|
336
|
-
|
|
337
|
-
|
|
354
|
+
if (!config.INITIAL_PLUGIN_REPOS) {
|
|
355
|
+
warning('Cannot fetch plugin repos, since none defined in INITIAL_PLUGIN_REPOS.')
|
|
356
|
+
return false
|
|
357
|
+
}
|
|
358
|
+
if (!config.PLUGIN_PATH) {
|
|
359
|
+
warning('Cannot fetch plugin repos, since PLUGIN_PATH not defined.')
|
|
360
|
+
return false
|
|
361
|
+
}
|
|
362
|
+
for (const repo of config.INITIAL_PLUGIN_REPOS?.split(' ')) {
|
|
363
|
+
const target = targetDir(repo)
|
|
364
|
+
if (fs.existsSync(target)) {
|
|
365
|
+
continue
|
|
366
|
+
}
|
|
367
|
+
log(`Fetching plugin repo ${repo}.`)
|
|
338
368
|
if (repo.startsWith('file://')) {
|
|
339
369
|
// Handle local file.
|
|
340
|
-
const source = path.join(
|
|
341
|
-
|
|
342
|
-
if (fs.existsSync(src)) {
|
|
370
|
+
const source = path.join(srcRoot, repo.substring(7))
|
|
371
|
+
if (fs.existsSync(srcRoot)) {
|
|
343
372
|
if (!fs.existsSync(target)) {
|
|
344
373
|
log(` Linking repo ${source} => ${target}.`)
|
|
345
374
|
const cmd = `ln -sf "${source}" "${target}"`
|
|
@@ -351,29 +380,101 @@ async function updateRepositories(repos: string[], src: DirectoryPath, dst: Dire
|
|
|
351
380
|
}
|
|
352
381
|
} else if (repo.startsWith('npm://')) {
|
|
353
382
|
const npm = repo.substring(6)
|
|
354
|
-
const source = path.join(
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
await systemPiped(cmd)
|
|
360
|
-
changes = true
|
|
361
|
-
}
|
|
383
|
+
const source = path.join(config.PLUGIN_PATH, 'package')
|
|
384
|
+
log(` Downloading NPM ${npm}.`)
|
|
385
|
+
const cmd = `cd "${config.PLUGIN_PATH}" && rm -fr "${source}" && npm view ${npm} dist.tarball | xargs curl -s | tar xz && mv "${source}" "${target}"`
|
|
386
|
+
await systemPiped(cmd)
|
|
387
|
+
changes = true
|
|
362
388
|
} else {
|
|
363
389
|
// By default, assume git repo.
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
390
|
+
log(` Fetching plugin repo ${repo} to ${target}.`)
|
|
391
|
+
const cmd = `cd "${config.PLUGIN_PATH}" && git clone "${repo}"`
|
|
392
|
+
await systemPiped(cmd)
|
|
393
|
+
changes = true
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
return changes
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
/**
|
|
401
|
+
* Go through repository URLs and install all missing plugin repositories.
|
|
402
|
+
*/
|
|
403
|
+
async function upgradeRepositories(srcRoot: DirectoryPath): Promise<boolean> {
|
|
404
|
+
let changes = false
|
|
405
|
+
if (!config.INITIAL_PLUGIN_REPOS) {
|
|
406
|
+
warning('Cannot fetch plugin repos, since none defined in INITIAL_PLUGIN_REPOS.')
|
|
407
|
+
return false
|
|
408
|
+
}
|
|
409
|
+
if (!config.PLUGIN_PATH) {
|
|
410
|
+
warning('Cannot fetch plugin repos, since PLUGIN_PATH not defined.')
|
|
411
|
+
return false
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
changes = await fetchRepositories(srcRoot)
|
|
415
|
+
|
|
416
|
+
for (const repo of config.INITIAL_PLUGIN_REPOS?.split(' ')) {
|
|
417
|
+
log(`Upgrading plugin repo '${repo}'...`)
|
|
418
|
+
const target = targetDir(repo)
|
|
419
|
+
if (repo.startsWith('file://')) {
|
|
420
|
+
log(' Nothing to do for symlink.')
|
|
421
|
+
} else if (repo.startsWith('npm://')) {
|
|
422
|
+
const npm = repo.substring(6)
|
|
423
|
+
const cmd = `npm view ${npm} version`
|
|
424
|
+
const newVersion = (await systemPiped(cmd, true))?.trim()
|
|
425
|
+
const oldVersion = JSON.parse(fs.readFileSync(path.join(target, 'package.json')).toString('utf-8')).version
|
|
426
|
+
if (newVersion === oldVersion) {
|
|
427
|
+
log(` The latest version ${newVersion} already installed.`)
|
|
428
|
+
} else {
|
|
429
|
+
log(` Upgrading ${npm} from version ${oldVersion} to ${newVersion}.`)
|
|
430
|
+
const source = path.join(config.PLUGIN_PATH, 'package')
|
|
431
|
+
const cmd = `cd "${config.PLUGIN_PATH}" && rm -fr "${source}" "${target}" && npm view ${npm} dist.tarball | xargs curl -s | tar xz && mv "${source}" "${target}"`
|
|
368
432
|
await systemPiped(cmd)
|
|
369
433
|
changes = true
|
|
370
434
|
}
|
|
435
|
+
} else {
|
|
436
|
+
const cmd = `cd "${config.PLUGIN_PATH}" && git pull`
|
|
437
|
+
await systemPiped(cmd)
|
|
438
|
+
// Note, too lazy to detect changes. Is the return value even used?
|
|
371
439
|
}
|
|
372
440
|
}
|
|
373
441
|
|
|
374
442
|
return changes
|
|
375
443
|
}
|
|
376
444
|
|
|
445
|
+
/**
|
|
446
|
+
* Check that plugin directory does not have any extra files or that there are no missing plugin repositories.
|
|
447
|
+
*/
|
|
448
|
+
function verifyPluginDir(): boolean {
|
|
449
|
+
if (!config.INITIAL_PLUGIN_REPOS) {
|
|
450
|
+
warning('No plugin repositories to verify.')
|
|
451
|
+
return true
|
|
452
|
+
}
|
|
453
|
+
let fail = false
|
|
454
|
+
const okayFiles = new Set(SAFE_PLUGIN_FILES)
|
|
455
|
+
for (const repo of config.INITIAL_PLUGIN_REPOS?.split(' ')) {
|
|
456
|
+
const dir = targetDir(repo)
|
|
457
|
+
okayFiles.add(path.basename(dir))
|
|
458
|
+
if (!fs.existsSync(dir)) {
|
|
459
|
+
error(`Requiered repository ${repo} does not exist.`)
|
|
460
|
+
fail = true
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
if (config.PLUGIN_PATH) {
|
|
464
|
+
for (const fullPath of globSync(config.PLUGIN_PATH + '/**', { dot: true, deep: 2 })) {
|
|
465
|
+
const localPath = fullPath.replace(config.PLUGIN_PATH + '/', '')
|
|
466
|
+
const file = localPath.indexOf('/') < 0 ? localPath : path.dirname(localPath)
|
|
467
|
+
if (!okayFiles.has(file)) {
|
|
468
|
+
error(`Plugin directory has unrecognized file/dir '${fullPath}'.`)
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
if (!fail) log('Plugin directory verified as correct.')
|
|
474
|
+
|
|
475
|
+
return fail
|
|
476
|
+
}
|
|
477
|
+
|
|
377
478
|
/**
|
|
378
479
|
* Collection of file system and API related plugin handling functions for fetching, building and scanning.
|
|
379
480
|
*/
|
|
@@ -393,5 +494,7 @@ export const plugins = {
|
|
|
393
494
|
sortPlugins,
|
|
394
495
|
updatePluginIndex,
|
|
395
496
|
updatePluginList,
|
|
396
|
-
|
|
497
|
+
upgradeRepositories,
|
|
498
|
+
fetchRepositories,
|
|
499
|
+
verifyPluginDir,
|
|
397
500
|
}
|