@uipath/project-packager 1.1.10 → 1.1.15
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/index.js +106 -43
- package/dist/node.js +65 -35
- package/dist/src/base-node-packager-factory.d.ts +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/models/packager-config.d.ts +2 -2
- package/dist/src/models/packager-parameters.d.ts +8 -0
- package/dist/src/node.d.ts +8 -2
- package/dist/src/services/project-packager.d.ts +19 -1
- package/dist/src/services/project-tool-executor.d.ts +1 -1
- package/dist/tests/project-packager.test.d.ts +1 -1
- package/package.json +12 -11
package/dist/index.js
CHANGED
|
@@ -814,22 +814,7 @@ I18nManager.registerTranslations("zh-CN", zh_CN_default);
|
|
|
814
814
|
I18nManager.registerTranslations("zh-TW", zh_TW_default);
|
|
815
815
|
I18nManager.registerTranslations("zu", zu_default);
|
|
816
816
|
|
|
817
|
-
// ../../
|
|
818
|
-
class ConsoleTelemetryProvider {
|
|
819
|
-
async trackEvent(eventName, _properties) {
|
|
820
|
-
console.log(`[Telemetry] Event: ${eventName}`);
|
|
821
|
-
}
|
|
822
|
-
async trackException(error, _properties) {
|
|
823
|
-
console.log(`[Telemetry] Exception: ${error.message}`);
|
|
824
|
-
}
|
|
825
|
-
async trackRequest(name, duration, success, _properties) {
|
|
826
|
-
console.log(`[Telemetry] Request: ${name} (${duration}ms, ${success ? "ok" : "fail"})`);
|
|
827
|
-
}
|
|
828
|
-
async trackDependency(name, type, duration, success, _properties) {
|
|
829
|
-
console.log(`[Telemetry] Dependency: ${name} [${type}] (${duration}ms, ${success ? "ok" : "fail"})`);
|
|
830
|
-
}
|
|
831
|
-
}
|
|
832
|
-
|
|
817
|
+
// ../../common/dist/telemetry/index.js
|
|
833
818
|
class BrowserContextStorage {
|
|
834
819
|
contextStack = [];
|
|
835
820
|
run(context, fn) {
|
|
@@ -853,6 +838,56 @@ class BrowserContextStorage {
|
|
|
853
838
|
}
|
|
854
839
|
}
|
|
855
840
|
|
|
841
|
+
class ConsoleTelemetryProvider {
|
|
842
|
+
async trackEvent(eventName, _properties) {
|
|
843
|
+
console.debug(`[Telemetry] Event: ${eventName}`);
|
|
844
|
+
}
|
|
845
|
+
async trackException(error, _properties) {
|
|
846
|
+
console.error(`[Telemetry] Exception: ${error.message}`);
|
|
847
|
+
}
|
|
848
|
+
async trackRequest(name, duration, success, _properties) {
|
|
849
|
+
console.debug(`[Telemetry] Request: ${name} (${duration}ms, ${success ? "ok" : "fail"})`);
|
|
850
|
+
}
|
|
851
|
+
async trackDependency(name, type, duration, success, _properties) {
|
|
852
|
+
console.debug(`[Telemetry] Dependency: ${name} [${type}] (${duration}ms, ${success ? "ok" : "fail"})`);
|
|
853
|
+
}
|
|
854
|
+
}
|
|
855
|
+
var SENSITIVE_NAME_TOKENS = new Set([
|
|
856
|
+
"token",
|
|
857
|
+
"tokens",
|
|
858
|
+
"secret",
|
|
859
|
+
"secrets",
|
|
860
|
+
"password",
|
|
861
|
+
"passwords",
|
|
862
|
+
"pwd",
|
|
863
|
+
"credential",
|
|
864
|
+
"credentials",
|
|
865
|
+
"auth",
|
|
866
|
+
"authentication",
|
|
867
|
+
"authorization",
|
|
868
|
+
"authority",
|
|
869
|
+
"cert",
|
|
870
|
+
"certificate",
|
|
871
|
+
"certificates"
|
|
872
|
+
]);
|
|
873
|
+
var SENSITIVE_KEY_PREFIXES = new Set([
|
|
874
|
+
"api",
|
|
875
|
+
"access",
|
|
876
|
+
"client",
|
|
877
|
+
"private",
|
|
878
|
+
"public",
|
|
879
|
+
"signing",
|
|
880
|
+
"encryption",
|
|
881
|
+
"session",
|
|
882
|
+
"master",
|
|
883
|
+
"shared",
|
|
884
|
+
"root",
|
|
885
|
+
"ssh",
|
|
886
|
+
"rsa",
|
|
887
|
+
"aes",
|
|
888
|
+
"hmac",
|
|
889
|
+
"oauth"
|
|
890
|
+
]);
|
|
856
891
|
class TelemetryService {
|
|
857
892
|
telemetryProvider;
|
|
858
893
|
contextStorage;
|
|
@@ -953,6 +988,7 @@ var RulesConfigFileType;
|
|
|
953
988
|
|
|
954
989
|
class PackagerParameters {
|
|
955
990
|
inputPath;
|
|
991
|
+
downloadUrl;
|
|
956
992
|
logLevel = LogLevel.Warn;
|
|
957
993
|
outputPath;
|
|
958
994
|
targetFramework;
|
|
@@ -970,6 +1006,7 @@ class ProjectRestoreOptions extends PackagerParameters {
|
|
|
970
1006
|
class ProjectValidateOptions extends ProjectRestoreOptions {
|
|
971
1007
|
validateOptions = {
|
|
972
1008
|
skipAnalyze: false,
|
|
1009
|
+
skipValidate: false,
|
|
973
1010
|
governanceFileType: "Default" /* Default */
|
|
974
1011
|
};
|
|
975
1012
|
}
|
|
@@ -1368,6 +1405,7 @@ import {
|
|
|
1368
1405
|
toolsFactoryRepository as defaultToolsFactoryRepository,
|
|
1369
1406
|
NugetPackager,
|
|
1370
1407
|
Path as Path3,
|
|
1408
|
+
TargetFramework,
|
|
1371
1409
|
TemporaryStorageService,
|
|
1372
1410
|
ToolErrorCodes as ToolErrorCodes3,
|
|
1373
1411
|
ToolResult as ToolResult3,
|
|
@@ -1413,7 +1451,7 @@ class ProjectPackOptionsBuilder {
|
|
|
1413
1451
|
nuGetSourcesConfigPath: parameters.nuGetSourcesConfigPath,
|
|
1414
1452
|
logLevel: parameters.logLevel,
|
|
1415
1453
|
skipAnalyze: parameters.validateOptions.skipAnalyze,
|
|
1416
|
-
skipValidate:
|
|
1454
|
+
skipValidate: parameters.validateOptions.skipValidate,
|
|
1417
1455
|
detailedLogPath: parameters.detailedLogPath,
|
|
1418
1456
|
policyFilePath: parameters.validateOptions.governanceFilePath,
|
|
1419
1457
|
policyFileType: parameters.validateOptions.governanceFileType,
|
|
@@ -1639,12 +1677,14 @@ class ProjectPackager {
|
|
|
1639
1677
|
nuGetSourcesConfigPath: options.nuGetSourcesConfigPath,
|
|
1640
1678
|
logLevel: options.logLevel,
|
|
1641
1679
|
skipAnalyze: options.validateOptions.skipAnalyze,
|
|
1680
|
+
skipValidate: options.validateOptions.skipValidate,
|
|
1642
1681
|
defaultSeverity: options.validateOptions.defaultSeverity,
|
|
1643
1682
|
detailedLogPath: options.detailedLogPath,
|
|
1644
1683
|
policyFilePath: options.validateOptions.governanceFilePath,
|
|
1645
1684
|
policyFileType: options.validateOptions.governanceFileType
|
|
1646
1685
|
};
|
|
1647
|
-
|
|
1686
|
+
const context = this.createOperationContext(options, uiPathProject);
|
|
1687
|
+
return await this.projectExecutor.validateAsync(validateOptions, uiPathProject, context, cancellationToken);
|
|
1648
1688
|
}, cancellationToken);
|
|
1649
1689
|
}
|
|
1650
1690
|
async buildProjectAsync(options, cancellationToken) {
|
|
@@ -1663,7 +1703,7 @@ class ProjectPackager {
|
|
|
1663
1703
|
nuGetSourcesConfigPath: options.nuGetSourcesConfigPath,
|
|
1664
1704
|
logLevel: options.logLevel,
|
|
1665
1705
|
skipAnalyze: options.validateOptions.skipAnalyze,
|
|
1666
|
-
skipValidate:
|
|
1706
|
+
skipValidate: options.validateOptions.skipValidate,
|
|
1667
1707
|
detailedLogPath: options.detailedLogPath,
|
|
1668
1708
|
policyFilePath: options.validateOptions.governanceFilePath,
|
|
1669
1709
|
policyFileType: options.validateOptions.governanceFileType,
|
|
@@ -1694,7 +1734,8 @@ class ProjectPackager {
|
|
|
1694
1734
|
ProjectPath: loadedProject.projectPath,
|
|
1695
1735
|
Id: loadedProject.name
|
|
1696
1736
|
};
|
|
1697
|
-
|
|
1737
|
+
const context = this.createOperationContext(options, uiPathProject);
|
|
1738
|
+
result = await this.projectExecutor.packAsync(projectPackOptions, uiPathProject, context, options.signingInfo, cancellationToken);
|
|
1698
1739
|
if (result.isSuccess && result.packages.length > 0) {
|
|
1699
1740
|
const destinationPackages = await this.copyPackagesToDestination(result.packages, options.destinationPath, projectPackOptions.package);
|
|
1700
1741
|
result = new ToolResult3(ToolErrorCodes3.Success, undefined, destinationPackages);
|
|
@@ -1763,6 +1804,34 @@ class ProjectPackager {
|
|
|
1763
1804
|
}
|
|
1764
1805
|
});
|
|
1765
1806
|
}
|
|
1807
|
+
createOperationContext(options, uiPathProject) {
|
|
1808
|
+
return {
|
|
1809
|
+
id: crypto.randomUUID(),
|
|
1810
|
+
projects: [uiPathProject],
|
|
1811
|
+
downloadUrl: options.downloadUrl,
|
|
1812
|
+
targetFramework: options.targetFramework ?? TargetFramework.Portable,
|
|
1813
|
+
connection: options.connection,
|
|
1814
|
+
logger: this.logger,
|
|
1815
|
+
workflowCompilerVersion: options.workflowCompilerVersion
|
|
1816
|
+
};
|
|
1817
|
+
}
|
|
1818
|
+
async findNupkgInParentDir(packagePath) {
|
|
1819
|
+
const dirName = Path3.basename(packagePath);
|
|
1820
|
+
const parentDir = Path3.dirname(packagePath);
|
|
1821
|
+
const parentFiles = await this.fileSystem.readdir(parentDir);
|
|
1822
|
+
const matchingFiles = parentFiles.filter((f) => f.endsWith(".nupkg") && f.startsWith(`${dirName}.`));
|
|
1823
|
+
return { dir: parentDir, files: matchingFiles };
|
|
1824
|
+
}
|
|
1825
|
+
async copyFileToDestination(sourcePath, destinationPath) {
|
|
1826
|
+
const fileName = Path3.basename(sourcePath);
|
|
1827
|
+
const destPath = Path3.join(destinationPath, fileName);
|
|
1828
|
+
const data = await this.fileSystem.readFile(sourcePath);
|
|
1829
|
+
if (!data) {
|
|
1830
|
+
throw new Error(translate4.t("solutionpackager.packager.errors.failedToReadPackage", { path: sourcePath }));
|
|
1831
|
+
}
|
|
1832
|
+
await this.fileSystem.writeFile(destPath, data);
|
|
1833
|
+
return destPath;
|
|
1834
|
+
}
|
|
1766
1835
|
async copyPackagesToDestination(packagePaths, destinationPath, packageInfo) {
|
|
1767
1836
|
await this.fileSystem.mkdir(destinationPath);
|
|
1768
1837
|
const destinationPackages = [];
|
|
@@ -1774,33 +1843,27 @@ class ProjectPackager {
|
|
|
1774
1843
|
if (nupkgFiles.length > 0) {
|
|
1775
1844
|
for (const nupkgFile of nupkgFiles) {
|
|
1776
1845
|
const filePath = Path3.join(packagePath, nupkgFile);
|
|
1777
|
-
const
|
|
1778
|
-
|
|
1779
|
-
if (!data) {
|
|
1780
|
-
throw new Error(translate4.t("solutionpackager.packager.errors.failedToReadPackage", {
|
|
1781
|
-
path: filePath
|
|
1782
|
-
}));
|
|
1783
|
-
}
|
|
1784
|
-
await this.fileSystem.writeFile(destPath, data);
|
|
1785
|
-
destinationPackages.push(destPath);
|
|
1846
|
+
const dest = await this.copyFileToDestination(filePath, destinationPath);
|
|
1847
|
+
destinationPackages.push(dest);
|
|
1786
1848
|
}
|
|
1787
1849
|
} else {
|
|
1788
|
-
const
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1850
|
+
const parent = await this.findNupkgInParentDir(packagePath);
|
|
1851
|
+
if (parent.files.length > 0) {
|
|
1852
|
+
for (const nupkgFile of parent.files) {
|
|
1853
|
+
const filePath = Path3.join(parent.dir, nupkgFile);
|
|
1854
|
+
const dest = await this.copyFileToDestination(filePath, destinationPath);
|
|
1855
|
+
destinationPackages.push(dest);
|
|
1856
|
+
}
|
|
1857
|
+
} else {
|
|
1858
|
+
const nupkgFileName = `${packageInfo.id}.${packageInfo.version}.nupkg`;
|
|
1859
|
+
const destPath = Path3.join(destinationPath, nupkgFileName);
|
|
1860
|
+
const packResult = await this.nugetPackager.packAsync(packagePath, packageInfo, destPath);
|
|
1861
|
+
destinationPackages.push(packResult.outputPath);
|
|
1862
|
+
}
|
|
1792
1863
|
}
|
|
1793
1864
|
} else {
|
|
1794
|
-
const
|
|
1795
|
-
|
|
1796
|
-
const data = await this.fileSystem.readFile(packagePath);
|
|
1797
|
-
if (!data) {
|
|
1798
|
-
throw new Error(translate4.t("solutionpackager.packager.errors.failedToReadPackage", {
|
|
1799
|
-
path: packagePath
|
|
1800
|
-
}));
|
|
1801
|
-
}
|
|
1802
|
-
await this.fileSystem.writeFile(destPath, data);
|
|
1803
|
-
destinationPackages.push(destPath);
|
|
1865
|
+
const dest = await this.copyFileToDestination(packagePath, destinationPath);
|
|
1866
|
+
destinationPackages.push(dest);
|
|
1804
1867
|
}
|
|
1805
1868
|
}
|
|
1806
1869
|
return destinationPackages;
|
package/dist/node.js
CHANGED
|
@@ -816,20 +816,21 @@ I18nManager.registerTranslations("zu", zu_default);
|
|
|
816
816
|
|
|
817
817
|
// src/node.ts
|
|
818
818
|
import {
|
|
819
|
-
|
|
819
|
+
DebugTelemetryProvider as DebugTelemetryProvider2,
|
|
820
820
|
NodeContextStorage as NodeContextStorage2,
|
|
821
821
|
TelemetryService as TelemetryService2
|
|
822
|
-
} from "@uipath/
|
|
822
|
+
} from "@uipath/common";
|
|
823
|
+
import { ConsoleTelemetryProvider } from "@uipath/common/telemetry";
|
|
823
824
|
|
|
824
825
|
// src/base-node-packager-factory.ts
|
|
825
826
|
import { execSync } from "node:child_process";
|
|
826
|
-
import { NodeFileSystem } from "@uipath/filesystem";
|
|
827
|
-
import { translate } from "@uipath/solutionpackager-tool-core";
|
|
828
827
|
import {
|
|
829
|
-
|
|
828
|
+
DebugTelemetryProvider,
|
|
830
829
|
NodeContextStorage,
|
|
831
830
|
TelemetryService
|
|
832
|
-
} from "@uipath/
|
|
831
|
+
} from "@uipath/common";
|
|
832
|
+
import { NodeFileSystem } from "@uipath/filesystem";
|
|
833
|
+
import { translate } from "@uipath/solutionpackager-tool-core";
|
|
833
834
|
|
|
834
835
|
// src/services/tool-logger.ts
|
|
835
836
|
import {
|
|
@@ -926,7 +927,7 @@ class BaseNodePackagerFactory {
|
|
|
926
927
|
if (config?.telemetryService) {
|
|
927
928
|
return config.telemetryService;
|
|
928
929
|
}
|
|
929
|
-
const provider = new
|
|
930
|
+
const provider = new DebugTelemetryProvider;
|
|
930
931
|
const contextStorage = new NodeContextStorage;
|
|
931
932
|
return new TelemetryService(provider, contextStorage);
|
|
932
933
|
}
|
|
@@ -964,6 +965,7 @@ var RulesConfigFileType;
|
|
|
964
965
|
|
|
965
966
|
class PackagerParameters {
|
|
966
967
|
inputPath;
|
|
968
|
+
downloadUrl;
|
|
967
969
|
logLevel = LogLevel2.Warn;
|
|
968
970
|
outputPath;
|
|
969
971
|
targetFramework;
|
|
@@ -981,6 +983,7 @@ class ProjectRestoreOptions extends PackagerParameters {
|
|
|
981
983
|
class ProjectValidateOptions extends ProjectRestoreOptions {
|
|
982
984
|
validateOptions = {
|
|
983
985
|
skipAnalyze: false,
|
|
986
|
+
skipValidate: false,
|
|
984
987
|
governanceFileType: "Default" /* Default */
|
|
985
988
|
};
|
|
986
989
|
}
|
|
@@ -1075,6 +1078,7 @@ import {
|
|
|
1075
1078
|
toolsFactoryRepository as defaultToolsFactoryRepository,
|
|
1076
1079
|
NugetPackager,
|
|
1077
1080
|
Path as Path3,
|
|
1081
|
+
TargetFramework,
|
|
1078
1082
|
TemporaryStorageService,
|
|
1079
1083
|
ToolErrorCodes as ToolErrorCodes4,
|
|
1080
1084
|
ToolResult as ToolResult4,
|
|
@@ -1416,7 +1420,7 @@ class ProjectPackOptionsBuilder {
|
|
|
1416
1420
|
nuGetSourcesConfigPath: parameters.nuGetSourcesConfigPath,
|
|
1417
1421
|
logLevel: parameters.logLevel,
|
|
1418
1422
|
skipAnalyze: parameters.validateOptions.skipAnalyze,
|
|
1419
|
-
skipValidate:
|
|
1423
|
+
skipValidate: parameters.validateOptions.skipValidate,
|
|
1420
1424
|
detailedLogPath: parameters.detailedLogPath,
|
|
1421
1425
|
policyFilePath: parameters.validateOptions.governanceFilePath,
|
|
1422
1426
|
policyFileType: parameters.validateOptions.governanceFileType,
|
|
@@ -1642,12 +1646,14 @@ class ProjectPackager {
|
|
|
1642
1646
|
nuGetSourcesConfigPath: options.nuGetSourcesConfigPath,
|
|
1643
1647
|
logLevel: options.logLevel,
|
|
1644
1648
|
skipAnalyze: options.validateOptions.skipAnalyze,
|
|
1649
|
+
skipValidate: options.validateOptions.skipValidate,
|
|
1645
1650
|
defaultSeverity: options.validateOptions.defaultSeverity,
|
|
1646
1651
|
detailedLogPath: options.detailedLogPath,
|
|
1647
1652
|
policyFilePath: options.validateOptions.governanceFilePath,
|
|
1648
1653
|
policyFileType: options.validateOptions.governanceFileType
|
|
1649
1654
|
};
|
|
1650
|
-
|
|
1655
|
+
const context = this.createOperationContext(options, uiPathProject);
|
|
1656
|
+
return await this.projectExecutor.validateAsync(validateOptions, uiPathProject, context, cancellationToken);
|
|
1651
1657
|
}, cancellationToken);
|
|
1652
1658
|
}
|
|
1653
1659
|
async buildProjectAsync(options, cancellationToken) {
|
|
@@ -1666,7 +1672,7 @@ class ProjectPackager {
|
|
|
1666
1672
|
nuGetSourcesConfigPath: options.nuGetSourcesConfigPath,
|
|
1667
1673
|
logLevel: options.logLevel,
|
|
1668
1674
|
skipAnalyze: options.validateOptions.skipAnalyze,
|
|
1669
|
-
skipValidate:
|
|
1675
|
+
skipValidate: options.validateOptions.skipValidate,
|
|
1670
1676
|
detailedLogPath: options.detailedLogPath,
|
|
1671
1677
|
policyFilePath: options.validateOptions.governanceFilePath,
|
|
1672
1678
|
policyFileType: options.validateOptions.governanceFileType,
|
|
@@ -1697,7 +1703,8 @@ class ProjectPackager {
|
|
|
1697
1703
|
ProjectPath: loadedProject.projectPath,
|
|
1698
1704
|
Id: loadedProject.name
|
|
1699
1705
|
};
|
|
1700
|
-
|
|
1706
|
+
const context = this.createOperationContext(options, uiPathProject);
|
|
1707
|
+
result = await this.projectExecutor.packAsync(projectPackOptions, uiPathProject, context, options.signingInfo, cancellationToken);
|
|
1701
1708
|
if (result.isSuccess && result.packages.length > 0) {
|
|
1702
1709
|
const destinationPackages = await this.copyPackagesToDestination(result.packages, options.destinationPath, projectPackOptions.package);
|
|
1703
1710
|
result = new ToolResult4(ToolErrorCodes4.Success, undefined, destinationPackages);
|
|
@@ -1766,6 +1773,34 @@ class ProjectPackager {
|
|
|
1766
1773
|
}
|
|
1767
1774
|
});
|
|
1768
1775
|
}
|
|
1776
|
+
createOperationContext(options, uiPathProject) {
|
|
1777
|
+
return {
|
|
1778
|
+
id: crypto.randomUUID(),
|
|
1779
|
+
projects: [uiPathProject],
|
|
1780
|
+
downloadUrl: options.downloadUrl,
|
|
1781
|
+
targetFramework: options.targetFramework ?? TargetFramework.Portable,
|
|
1782
|
+
connection: options.connection,
|
|
1783
|
+
logger: this.logger,
|
|
1784
|
+
workflowCompilerVersion: options.workflowCompilerVersion
|
|
1785
|
+
};
|
|
1786
|
+
}
|
|
1787
|
+
async findNupkgInParentDir(packagePath) {
|
|
1788
|
+
const dirName = Path3.basename(packagePath);
|
|
1789
|
+
const parentDir = Path3.dirname(packagePath);
|
|
1790
|
+
const parentFiles = await this.fileSystem.readdir(parentDir);
|
|
1791
|
+
const matchingFiles = parentFiles.filter((f) => f.endsWith(".nupkg") && f.startsWith(`${dirName}.`));
|
|
1792
|
+
return { dir: parentDir, files: matchingFiles };
|
|
1793
|
+
}
|
|
1794
|
+
async copyFileToDestination(sourcePath, destinationPath) {
|
|
1795
|
+
const fileName = Path3.basename(sourcePath);
|
|
1796
|
+
const destPath = Path3.join(destinationPath, fileName);
|
|
1797
|
+
const data = await this.fileSystem.readFile(sourcePath);
|
|
1798
|
+
if (!data) {
|
|
1799
|
+
throw new Error(translate6.t("solutionpackager.packager.errors.failedToReadPackage", { path: sourcePath }));
|
|
1800
|
+
}
|
|
1801
|
+
await this.fileSystem.writeFile(destPath, data);
|
|
1802
|
+
return destPath;
|
|
1803
|
+
}
|
|
1769
1804
|
async copyPackagesToDestination(packagePaths, destinationPath, packageInfo) {
|
|
1770
1805
|
await this.fileSystem.mkdir(destinationPath);
|
|
1771
1806
|
const destinationPackages = [];
|
|
@@ -1777,33 +1812,27 @@ class ProjectPackager {
|
|
|
1777
1812
|
if (nupkgFiles.length > 0) {
|
|
1778
1813
|
for (const nupkgFile of nupkgFiles) {
|
|
1779
1814
|
const filePath = Path3.join(packagePath, nupkgFile);
|
|
1780
|
-
const
|
|
1781
|
-
|
|
1782
|
-
if (!data) {
|
|
1783
|
-
throw new Error(translate6.t("solutionpackager.packager.errors.failedToReadPackage", {
|
|
1784
|
-
path: filePath
|
|
1785
|
-
}));
|
|
1786
|
-
}
|
|
1787
|
-
await this.fileSystem.writeFile(destPath, data);
|
|
1788
|
-
destinationPackages.push(destPath);
|
|
1815
|
+
const dest = await this.copyFileToDestination(filePath, destinationPath);
|
|
1816
|
+
destinationPackages.push(dest);
|
|
1789
1817
|
}
|
|
1790
1818
|
} else {
|
|
1791
|
-
const
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1819
|
+
const parent = await this.findNupkgInParentDir(packagePath);
|
|
1820
|
+
if (parent.files.length > 0) {
|
|
1821
|
+
for (const nupkgFile of parent.files) {
|
|
1822
|
+
const filePath = Path3.join(parent.dir, nupkgFile);
|
|
1823
|
+
const dest = await this.copyFileToDestination(filePath, destinationPath);
|
|
1824
|
+
destinationPackages.push(dest);
|
|
1825
|
+
}
|
|
1826
|
+
} else {
|
|
1827
|
+
const nupkgFileName = `${packageInfo.id}.${packageInfo.version}.nupkg`;
|
|
1828
|
+
const destPath = Path3.join(destinationPath, nupkgFileName);
|
|
1829
|
+
const packResult = await this.nugetPackager.packAsync(packagePath, packageInfo, destPath);
|
|
1830
|
+
destinationPackages.push(packResult.outputPath);
|
|
1831
|
+
}
|
|
1795
1832
|
}
|
|
1796
1833
|
} else {
|
|
1797
|
-
const
|
|
1798
|
-
|
|
1799
|
-
const data = await this.fileSystem.readFile(packagePath);
|
|
1800
|
-
if (!data) {
|
|
1801
|
-
throw new Error(translate6.t("solutionpackager.packager.errors.failedToReadPackage", {
|
|
1802
|
-
path: packagePath
|
|
1803
|
-
}));
|
|
1804
|
-
}
|
|
1805
|
-
await this.fileSystem.writeFile(destPath, data);
|
|
1806
|
-
destinationPackages.push(destPath);
|
|
1834
|
+
const dest = await this.copyFileToDestination(packagePath, destinationPath);
|
|
1835
|
+
destinationPackages.push(dest);
|
|
1807
1836
|
}
|
|
1808
1837
|
}
|
|
1809
1838
|
return destinationPackages;
|
|
@@ -1852,6 +1881,7 @@ export {
|
|
|
1852
1881
|
PackService,
|
|
1853
1882
|
NodePackageSignService,
|
|
1854
1883
|
NodeContextStorage2 as NodeContextStorage,
|
|
1855
|
-
|
|
1884
|
+
DebugTelemetryProvider2 as DebugTelemetryProvider,
|
|
1885
|
+
ConsoleTelemetryProvider,
|
|
1856
1886
|
BaseNodePackagerFactory
|
|
1857
1887
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { type ITelemetryService } from "@uipath/common";
|
|
1
2
|
import type { IFileSystem, IToolLogger } from "@uipath/solutionpackager-tool-core";
|
|
2
|
-
import { type ITelemetryService } from "@uipath/telemetry/node";
|
|
3
3
|
import type { PackagerConfig } from "./models/packager-config.js";
|
|
4
4
|
/**
|
|
5
5
|
* Base factory class containing common functionality for Node.js packager factories.
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "./i18n/index.js";
|
|
2
|
-
export type { IContextStorage, ITelemetryProvider, ITelemetryService, TelemetryContext, TelemetryProperties, } from "@uipath/telemetry";
|
|
3
|
-
export { BrowserContextStorage, ConsoleTelemetryProvider, TelemetryService, } from "@uipath/telemetry";
|
|
2
|
+
export type { IContextStorage, ITelemetryProvider, ITelemetryService, TelemetryContext, TelemetryProperties, } from "@uipath/common/telemetry";
|
|
3
|
+
export { BrowserContextStorage, ConsoleTelemetryProvider, TelemetryService, } from "@uipath/common/telemetry";
|
|
4
4
|
export type { PackagerConfig } from "./models/packager-config.js";
|
|
5
5
|
export type { PackageSigningInfo, PackOptions, PublishInfo, ValidateOptions, } from "./models/packager-parameters.js";
|
|
6
6
|
export { PackagerParameters, RulesConfigFileType, } from "./models/packager-parameters.js";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import type { ITelemetryService } from "@uipath/common/telemetry";
|
|
1
2
|
import type { IFileSystem } from "@uipath/solutionpackager-tool-core";
|
|
2
|
-
import type { ITelemetryService } from "@uipath/telemetry";
|
|
3
3
|
import type { LogHandler } from "../services/tool-logger.js";
|
|
4
4
|
/**
|
|
5
5
|
* Configuration for packager factories.
|
|
6
6
|
*/
|
|
7
7
|
export interface PackagerConfig {
|
|
8
|
-
/** Optional telemetry service. If not provided, a default TelemetryService with
|
|
8
|
+
/** Optional telemetry service. If not provided, a default TelemetryService with DebugTelemetryProvider is created. */
|
|
9
9
|
telemetryService?: ITelemetryService;
|
|
10
10
|
/** Optional file system. If not provided, a default NodeFileSystem is created. */
|
|
11
11
|
fileSystem?: IFileSystem;
|
|
@@ -18,6 +18,10 @@ export interface ValidateOptions {
|
|
|
18
18
|
* Whether to skip analysis
|
|
19
19
|
*/
|
|
20
20
|
skipAnalyze: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Whether to skip validation
|
|
23
|
+
*/
|
|
24
|
+
skipValidate: boolean;
|
|
21
25
|
/**
|
|
22
26
|
* Default severity level
|
|
23
27
|
*/
|
|
@@ -87,6 +91,10 @@ export declare abstract class PackagerParameters {
|
|
|
87
91
|
* Input path to the solution or project folder
|
|
88
92
|
*/
|
|
89
93
|
inputPath: string;
|
|
94
|
+
/**
|
|
95
|
+
* URL to download the project/solution snapshot for remote packing.
|
|
96
|
+
*/
|
|
97
|
+
downloadUrl?: string;
|
|
90
98
|
/**
|
|
91
99
|
* Log level for the packager
|
|
92
100
|
*/
|
package/dist/src/node.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import "./i18n/index.js";
|
|
2
|
-
export type { IContextStorage, ITelemetryProvider, ITelemetryService, TelemetryContext, TelemetryProperties, } from "@uipath/
|
|
3
|
-
export {
|
|
2
|
+
export type { IContextStorage, ITelemetryProvider, ITelemetryService, TelemetryContext, TelemetryProperties, } from "@uipath/common";
|
|
3
|
+
export { DebugTelemetryProvider, NodeContextStorage, TelemetryService, } from "@uipath/common";
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Use {@link DebugTelemetryProvider} instead. This re-export is kept
|
|
6
|
+
* for one release cycle to avoid breaking external consumers and will be removed
|
|
7
|
+
* in the next minor version.
|
|
8
|
+
*/
|
|
9
|
+
export { ConsoleTelemetryProvider } from "@uipath/common/telemetry";
|
|
4
10
|
export { BaseNodePackagerFactory } from "./base-node-packager-factory.js";
|
|
5
11
|
export type { PackagerConfig } from "./models/packager-config.js";
|
|
6
12
|
export type { PackageSigningInfo, ValidateOptions, } from "./models/packager-parameters.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { ITelemetryService } from "@uipath/common/telemetry";
|
|
1
2
|
import { type IFileSystem, ToolResult } from "@uipath/solutionpackager-tool-core";
|
|
2
|
-
import type { ITelemetryService } from "@uipath/telemetry";
|
|
3
3
|
import type { ProjectBuildOptions } from "../models/project-build-options.js";
|
|
4
4
|
import type { ProjectPackOptions } from "../models/project-pack-options.js";
|
|
5
5
|
import type { ProjectRestoreOptions } from "../models/project-restore-options.js";
|
|
@@ -134,6 +134,24 @@ export declare class ProjectPackager implements IProjectPackager {
|
|
|
134
134
|
* validates options, loads the project, executes the operation, and handles errors.
|
|
135
135
|
*/
|
|
136
136
|
private executeProjectOperationAsync;
|
|
137
|
+
/**
|
|
138
|
+
* Build a single-project ProjectOperationContext so tools that coordinate
|
|
139
|
+
* a remote-agent run (e.g. workflow-compiler-browser) receive the same
|
|
140
|
+
* shape they get from SolutionPackager — just with one project.
|
|
141
|
+
*/
|
|
142
|
+
private createOperationContext;
|
|
143
|
+
/**
|
|
144
|
+
* Find .nupkg files produced by the tool in the parent directory.
|
|
145
|
+
* Tools like WorkflowCompiler create the .nupkg in the output root
|
|
146
|
+
* while reporting the content subdirectory in OutputPackages[].Path.
|
|
147
|
+
* Only returns .nupkg files whose name starts with the subdirectory
|
|
148
|
+
* name (the package id) to avoid picking up unrelated packages.
|
|
149
|
+
*/
|
|
150
|
+
private findNupkgInParentDir;
|
|
151
|
+
/**
|
|
152
|
+
* Copy a single file to the destination, throwing if the read fails.
|
|
153
|
+
*/
|
|
154
|
+
private copyFileToDestination;
|
|
137
155
|
/**
|
|
138
156
|
* Copy packages from the output path to the destination path.
|
|
139
157
|
* Handles file paths, directories with .nupkg files, and directories with
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { ITelemetryService } from "@uipath/common/telemetry";
|
|
1
2
|
import { type IProjectBuildOptions, type IProjectPackOptions, type IProjectRestoreOptions, type IProjectValidateOptions, type ProjectOperationContext, ToolResult } from "@uipath/solutionpackager-tool-core";
|
|
2
|
-
import type { ITelemetryService } from "@uipath/telemetry";
|
|
3
3
|
import type { PackageSigningInfo } from "../models/packager-parameters.js";
|
|
4
4
|
import type { UiPathProject } from "../models/project-models.js";
|
|
5
5
|
import type { IPackageSignService } from "./package-sign-service.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import "../src/i18n/index.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uipath/project-packager",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.15",
|
|
4
4
|
"description": "UiPath Project Packager - core library for packing individual UiPath projects",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"!dist/**/*.map"
|
|
29
29
|
],
|
|
30
30
|
"scripts": {
|
|
31
|
-
"build": "bun build ./src/index.ts --outdir dist --format esm --target browser --external @uipath/solutionpackager-tool-core && bun build ./src/node.ts --outdir dist --format esm --target node --external @uipath/solutionpackager-tool-core --external '@uipath/
|
|
31
|
+
"build": "bun build ./src/index.ts --outdir dist --format esm --target browser --external @uipath/solutionpackager-tool-core && bun build ./src/node.ts --outdir dist --format esm --target node --external @uipath/solutionpackager-tool-core --external '@uipath/common/*' --external @uipath/common --external @uipath/filesystem && tsc --emitDeclarationOnly --outDir dist",
|
|
32
32
|
"clean": "rimraf dist",
|
|
33
33
|
"test": "vitest run",
|
|
34
34
|
"e2e": "vitest run --config vitest.e2e.config.ts",
|
|
@@ -42,9 +42,9 @@
|
|
|
42
42
|
"lint": "biome check ."
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@uipath/filesystem": "0.
|
|
46
|
-
"@uipath/solutionpackager-tool-core": "0.0.
|
|
47
|
-
"@uipath/
|
|
45
|
+
"@uipath/filesystem": "0.9.0",
|
|
46
|
+
"@uipath/solutionpackager-tool-core": "0.0.33",
|
|
47
|
+
"@uipath/common": "0.9.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"fflate": "^0.8.2"
|
|
@@ -53,15 +53,16 @@
|
|
|
53
53
|
"@types/node": "^25.5.0",
|
|
54
54
|
"@uipath/resource-builder-tool": "^2025.11.0-alpha2430-2948",
|
|
55
55
|
"@uipath/tool-agent": "^1.0.1",
|
|
56
|
-
"@uipath/packager-tool-apiworkflow": "0.0.
|
|
57
|
-
"@uipath/packager-tool-connector": "0.0.
|
|
58
|
-
"@uipath/packager-tool-flow": "0.0.
|
|
59
|
-
"@uipath/packager-tool-webapp": "1.0.
|
|
60
|
-
"@uipath/packager-tool-workflowcompiler": "0.0.
|
|
56
|
+
"@uipath/packager-tool-apiworkflow": "0.0.18",
|
|
57
|
+
"@uipath/packager-tool-connector": "0.0.18",
|
|
58
|
+
"@uipath/packager-tool-flow": "0.0.18",
|
|
59
|
+
"@uipath/packager-tool-webapp": "1.0.5",
|
|
60
|
+
"@uipath/packager-tool-workflowcompiler": "0.0.15",
|
|
61
61
|
"@vitest/coverage-v8": "^4.0.14",
|
|
62
62
|
"jsdom": "^29.0.0",
|
|
63
63
|
"typescript": "^5.9.3",
|
|
64
64
|
"vite-tsconfig-paths": "^6.1.1",
|
|
65
65
|
"vitest": "^4.0.14"
|
|
66
|
-
}
|
|
66
|
+
},
|
|
67
|
+
"gitHead": "3f1b4d8e9f910be81e4cab956537f21dbd5d63ac"
|
|
67
68
|
}
|