piral-cli 1.2.0-beta.5865 → 1.2.0-beta.5869
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/lib/common/pack.js +1 -1
- package/lib/common/pack.js.map +1 -1
- package/lib/common/utils.d.ts +1 -0
- package/lib/common/utils.js +23 -1
- package/lib/common/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/common/pack.ts +2 -2
- package/src/common/utils.test.ts +24 -0
- package/src/common/utils.ts +30 -0
package/lib/common/pack.js
CHANGED
|
@@ -63,7 +63,7 @@ function createPiletPackage(baseDir, source, target) {
|
|
|
63
63
|
}
|
|
64
64
|
const prefix = (0, path_1.join)((0, os_1.tmpdir)(), `${id}-`);
|
|
65
65
|
const cwd = yield (0, io_1.makeTempDir)(prefix);
|
|
66
|
-
const uniqueFiles = files.filter(utils_1.
|
|
66
|
+
const uniqueFiles = files.filter(utils_1.onlyUniqueFiles);
|
|
67
67
|
(0, log_1.log)('generalDebug_0003', `Creating package with content from "${content}" ...`);
|
|
68
68
|
yield Promise.all(uniqueFiles.map((file) => (0, io_1.copy)(file, (0, path_1.resolve)(cwd, (0, path_1.relative)(root, file)))));
|
|
69
69
|
(0, log_1.log)('generalDebug_0003', `Creating directory if not exist for "${file}" ...`);
|
package/lib/common/pack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/common/pack.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2BAA4B;AAC5B,+BAAkE;AAClE,uCAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/common/pack.ts"],"names":[],"mappings":"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"}
|
package/lib/common/utils.d.ts
CHANGED
package/lib/common/utils.js
CHANGED
|
@@ -1,8 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.onlyUnique = void 0;
|
|
3
|
+
exports.onlyUniqueFiles = exports.onlyUnique = void 0;
|
|
4
|
+
const path_1 = require("path");
|
|
4
5
|
function onlyUnique(value, index, self) {
|
|
5
6
|
return self.indexOf(value) === index;
|
|
6
7
|
}
|
|
7
8
|
exports.onlyUnique = onlyUnique;
|
|
9
|
+
function onlyUniqueFiles(value, index, self) {
|
|
10
|
+
const valueDir = value + path_1.sep;
|
|
11
|
+
for (let i = 0; i < index; i++) {
|
|
12
|
+
const other = self[i];
|
|
13
|
+
if (other === value) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
const otherDir = other + path_1.sep;
|
|
17
|
+
if (value.startsWith(otherDir)) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
for (let i = index + 1; i < self.length; i++) {
|
|
22
|
+
const other = self[i];
|
|
23
|
+
if (other !== value && valueDir.startsWith(other)) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
exports.onlyUniqueFiles = onlyUniqueFiles;
|
|
8
30
|
//# sourceMappingURL=utils.js.map
|
package/lib/common/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/common/utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,UAAU,CAAI,KAAQ,EAAE,KAAa,EAAE,IAAc;IACnE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;AACvC,CAAC;AAFD,gCAEC"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/common/utils.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAE3B,SAAgB,UAAU,CAAI,KAAQ,EAAE,KAAa,EAAE,IAAc;IACnE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;AACvC,CAAC;AAFD,gCAEC;AAED,SAAgB,eAAe,CAAC,KAAa,EAAE,KAAa,EAAE,IAAmB;IAC/E,MAAM,QAAQ,GAAG,KAAK,GAAG,UAAG,CAAC;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEtB,IAAI,KAAK,KAAK,KAAK,EAAE;YACnB,OAAO,KAAK,CAAC;SACd;QAED,MAAM,QAAQ,GAAG,KAAK,GAAG,UAAG,CAAC;QAE7B,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC9B,OAAO,KAAK,CAAC;SACd;KACF;IAED,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEtB,IAAI,KAAK,KAAK,KAAK,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YACjD,OAAO,KAAK,CAAC;SACd;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AA1BD,0CA0BC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "piral-cli",
|
|
3
|
-
"version": "1.2.0-beta.
|
|
3
|
+
"version": "1.2.0-beta.5869",
|
|
4
4
|
"description": "The standard CLI for creating and building a Piral instance or a Pilet.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"portal",
|
|
@@ -81,5 +81,5 @@
|
|
|
81
81
|
"typescript": "^5.0.0",
|
|
82
82
|
"yargs": "^15.0.0"
|
|
83
83
|
},
|
|
84
|
-
"gitHead": "
|
|
84
|
+
"gitHead": "7cee89eff2c43d1158825a31521d703c8e53736e"
|
|
85
85
|
}
|
package/src/common/pack.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { tmpdir } from 'os';
|
|
2
2
|
import { resolve, relative, join, dirname, basename } from 'path';
|
|
3
3
|
import { createTgz } from './archive';
|
|
4
|
-
import {
|
|
4
|
+
import { onlyUniqueFiles } from './utils';
|
|
5
5
|
import { log, progress, fail } from './log';
|
|
6
6
|
import { readJson, copy, removeDirectory, checkExists, makeTempDir, createDirectory } from './io';
|
|
7
7
|
import { getPossiblePiletMainPaths } from './inspect';
|
|
@@ -62,7 +62,7 @@ export async function createPiletPackage(baseDir: string, source: string, target
|
|
|
62
62
|
|
|
63
63
|
const prefix = join(tmpdir(), `${id}-`);
|
|
64
64
|
const cwd = await makeTempDir(prefix);
|
|
65
|
-
const uniqueFiles = files.filter(
|
|
65
|
+
const uniqueFiles = files.filter(onlyUniqueFiles);
|
|
66
66
|
log('generalDebug_0003', `Creating package with content from "${content}" ...`);
|
|
67
67
|
|
|
68
68
|
await Promise.all(uniqueFiles.map((file) => copy(file, resolve(cwd, relative(root, file)))));
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { onlyUnique, onlyUniqueFiles } from './utils';
|
|
2
|
+
|
|
3
|
+
describe('only unique', () => {
|
|
4
|
+
it('should filter out duplicates', () => {
|
|
5
|
+
const arr = [1, 2, 3, 4, 3];
|
|
6
|
+
const res = arr.filter(onlyUnique);
|
|
7
|
+
expect(res).toEqual([1, 2, 3, 4]);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
it('should filter out duplicated files', () => {
|
|
11
|
+
const res = ['foo/bar', 'bar/foo', 'foo/bar'].filter(onlyUniqueFiles);
|
|
12
|
+
expect(res).toEqual(['foo/bar', 'bar/foo']);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it('should filter out child directories from front', () => {
|
|
16
|
+
const res = ['foo/bar/3', 'bar/foo', 'foo/bar'].filter(onlyUniqueFiles);
|
|
17
|
+
expect(res).toEqual(['bar/foo', 'foo/bar']);
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('should filter out child directories from back', () => {
|
|
21
|
+
const res = ['foo', 'bar/foo', 'foo/bar'].filter(onlyUniqueFiles);
|
|
22
|
+
expect(res).toEqual(['foo', 'bar/foo']);
|
|
23
|
+
});
|
|
24
|
+
});
|
package/src/common/utils.ts
CHANGED
|
@@ -1,3 +1,33 @@
|
|
|
1
|
+
import { sep } from 'path';
|
|
2
|
+
|
|
1
3
|
export function onlyUnique<T>(value: T, index: number, self: Array<T>) {
|
|
2
4
|
return self.indexOf(value) === index;
|
|
3
5
|
}
|
|
6
|
+
|
|
7
|
+
export function onlyUniqueFiles(value: string, index: number, self: Array<string>) {
|
|
8
|
+
const valueDir = value + sep;
|
|
9
|
+
|
|
10
|
+
for (let i = 0; i < index; i++) {
|
|
11
|
+
const other = self[i];
|
|
12
|
+
|
|
13
|
+
if (other === value) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const otherDir = other + sep;
|
|
18
|
+
|
|
19
|
+
if (value.startsWith(otherDir)) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
for (let i = index + 1; i < self.length; i++) {
|
|
25
|
+
const other = self[i];
|
|
26
|
+
|
|
27
|
+
if (other !== value && valueDir.startsWith(other)) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return true;
|
|
33
|
+
}
|