@uipath/project-packager 1.197.0 → 1.198.0-preview.100

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.
@@ -7,7 +7,7 @@ export declare const en: {
7
7
  readonly projectLoader: {
8
8
  readonly errors: {
9
9
  readonly pathRequired: "Project directory path is required";
10
- readonly noProjectFile: "No {projectFile} or {manifestFile} found in directory: {path}";
10
+ readonly noProjectFile: "No {projectFile}, {projectJsonFile}, or {manifestFile} found in directory: {path}";
11
11
  readonly readFailed: "Failed to read project file: {path}";
12
12
  readonly invalidProject: "Invalid project file: {path}. Missing ProjectType field.";
13
13
  };
@@ -5,6 +5,7 @@ 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";
7
7
  export { ProjectBuildOptions } from "./models/project-build-options.js";
8
+ export { ProjectCleanupOptions } from "./models/project-cleanup-options.js";
8
9
  export type { UiPathProject } from "./models/project-models.js";
9
10
  export { ProjectPackOptions } from "./models/project-pack-options.js";
10
11
  export { ProjectRestoreOptions } from "./models/project-restore-options.js";
@@ -95,6 +95,10 @@ export declare abstract class PackagerParameters {
95
95
  * URL to download the project/solution snapshot for remote packing.
96
96
  */
97
97
  downloadUrl?: string;
98
+ /**
99
+ * StudioWeb project identifier for downloaded standalone project workspaces.
100
+ */
101
+ projectId?: string;
98
102
  /**
99
103
  * Log level for the packager
100
104
  */
@@ -0,0 +1,14 @@
1
+ import { PackagerParameters } from "./packager-parameters.js";
2
+ /**
3
+ * Project-specific parameters for cleanup operations.
4
+ */
5
+ export declare class ProjectCleanupOptions extends PackagerParameters {
6
+ /**
7
+ * Detect unused items without modifying the project.
8
+ */
9
+ dryRun: boolean;
10
+ /**
11
+ * Do not clean up now-unused references to removed items in the project's files.
12
+ */
13
+ skipImports: boolean;
14
+ }
@@ -12,6 +12,7 @@ export type { PackagerConfig } from "./models/packager-config.js";
12
12
  export type { PackageSigningInfo, PackOptions, PublishInfo, ValidateOptions, } from "./models/packager-parameters.js";
13
13
  export { PackagerParameters, RulesConfigFileType, } from "./models/packager-parameters.js";
14
14
  export { ProjectBuildOptions } from "./models/project-build-options.js";
15
+ export { ProjectCleanupOptions } from "./models/project-cleanup-options.js";
15
16
  export type { UiPathProject } from "./models/project-models.js";
16
17
  export { ProjectPackOptions } from "./models/project-pack-options.js";
17
18
  export { ProjectRestoreOptions } from "./models/project-restore-options.js";
@@ -6,16 +6,18 @@ import type { LoadedUiProject } from "../models/project-models.js";
6
6
  export interface IProjectLoader {
7
7
  /**
8
8
  * Load project information from a directory path.
9
- * Searches for project.uiproj first, falls back to webAppManifest.json.
9
+ * Searches for project.uiproj first, then project.json, then falls back to
10
+ * webAppManifest.json.
10
11
  * @param projectPath Path to the project directory
11
12
  * @returns Loaded project information
12
- * @throws Error if neither project.uiproj nor webAppManifest.json is found
13
+ * @throws Error if none of project.uiproj, project.json, or webAppManifest.json is found
13
14
  */
14
15
  loadProject(projectPath: string): Promise<LoadedUiProject>;
15
16
  }
16
17
  export declare class ProjectLoader implements IProjectLoader {
17
18
  private readonly fileSystem;
18
19
  static readonly WebAppManifestFileName = "webAppManifest.json";
20
+ static readonly ProjectJsonFileName = "project.json";
19
21
  constructor(fileSystem: IFileSystem);
20
22
  loadProject(projectPath: string): Promise<LoadedUiProject>;
21
23
  private loadFromProjectFile;
@@ -1,6 +1,7 @@
1
1
  import type { ITelemetryService } from "@uipath/common";
2
2
  import { type IFileSystem, ToolResult } from "@uipath/solutionpackager-tool-core";
3
3
  import type { ProjectBuildOptions } from "../models/project-build-options.js";
4
+ import type { ProjectCleanupOptions } from "../models/project-cleanup-options.js";
4
5
  import type { ProjectPackOptions } from "../models/project-pack-options.js";
5
6
  import type { ProjectRestoreOptions } from "../models/project-restore-options.js";
6
7
  import type { ProjectValidateOptions } from "../models/project-validate-options.js";
@@ -58,6 +59,15 @@ export interface IProjectPackager {
58
59
  * @returns ToolResult with the paths to the created packages
59
60
  */
60
61
  packProjectAsync(options: ProjectPackOptions, cancellationToken?: AbortSignal): Promise<ToolResult>;
62
+ /**
63
+ * Clean up a standalone project by removing unused items. Modifies the
64
+ * project sources in place. Pass `dryRun` to only detect what would be
65
+ * removed without writing any changes.
66
+ * @param options Project cleanup options containing the input path and flags
67
+ * @param cancellationToken Optional cancellation token
68
+ * @returns ToolResult; `details.projectCleanup` carries the ProjectCleanupInfo
69
+ */
70
+ cleanupProjectAsync(options: ProjectCleanupOptions, cancellationToken?: AbortSignal): Promise<ToolResult>;
61
71
  /**
62
72
  * Convert a successful ToolResult to a list of package streams.
63
73
  * @param result The ToolResult to convert
@@ -110,6 +120,10 @@ export declare class ProjectPackager implements IProjectPackager {
110
120
  * @returns ToolResult with the paths to the created packages
111
121
  */
112
122
  packProjectAsync(options: ProjectPackOptions, cancellationToken?: AbortSignal): Promise<ToolResult>;
123
+ /**
124
+ * Clean up a standalone project by removing unused items.
125
+ */
126
+ cleanupProjectAsync(options: ProjectCleanupOptions, cancellationToken?: AbortSignal): Promise<ToolResult>;
113
127
  /**
114
128
  * Convert a successful ToolResult to a list of package streams.
115
129
  * @param result The ToolResult to convert
@@ -1,5 +1,5 @@
1
1
  import type { ITelemetryService } from "@uipath/common";
2
- import { type IProjectBuildOptions, type IProjectPackOptions, type IProjectRestoreOptions, type IProjectValidateOptions, type ProjectOperationContext, ToolResult } from "@uipath/solutionpackager-tool-core";
2
+ import { type IProjectBuildOptions, type IProjectCleanupOptions, type IProjectPackOptions, type IProjectRestoreOptions, type IProjectValidateOptions, type ProjectOperationContext, ToolResult } from "@uipath/solutionpackager-tool-core";
3
3
  import type { UiPathProject } from "../models/project-models.js";
4
4
  import type { IToolsFactory } from "./tools-factory.js";
5
5
  /**
@@ -10,6 +10,7 @@ export interface IProjectToolExecutor {
10
10
  validateAsync(options: IProjectValidateOptions, project: UiPathProject, context?: ProjectOperationContext, cancellationToken?: AbortSignal): Promise<ToolResult>;
11
11
  buildAsync(options: IProjectBuildOptions, project: UiPathProject, context?: ProjectOperationContext, cancellationToken?: AbortSignal): Promise<ToolResult>;
12
12
  packAsync(options: IProjectPackOptions, project: UiPathProject, context?: ProjectOperationContext, cancellationToken?: AbortSignal): Promise<ToolResult>;
13
+ cleanupAsync(options: IProjectCleanupOptions, project: UiPathProject, context?: ProjectOperationContext, cancellationToken?: AbortSignal): Promise<ToolResult>;
13
14
  }
14
15
  export declare class ProjectToolExecutor implements IProjectToolExecutor {
15
16
  private readonly toolsFactory;
@@ -19,6 +20,7 @@ export declare class ProjectToolExecutor implements IProjectToolExecutor {
19
20
  validateAsync(options: IProjectValidateOptions, project: UiPathProject, context?: ProjectOperationContext, cancellationToken?: AbortSignal): Promise<ToolResult>;
20
21
  buildAsync(options: IProjectBuildOptions, project: UiPathProject, context?: ProjectOperationContext, cancellationToken?: AbortSignal): Promise<ToolResult>;
21
22
  packAsync(options: IProjectPackOptions, project: UiPathProject, context?: ProjectOperationContext, cancellationToken?: AbortSignal): Promise<ToolResult>;
23
+ cleanupAsync(options: IProjectCleanupOptions, project: UiPathProject, context?: ProjectOperationContext, cancellationToken?: AbortSignal): Promise<ToolResult>;
22
24
  /**
23
25
  * Execute an operation on a project tool with proper creation and disposal.
24
26
  */
@@ -3,9 +3,11 @@ export declare enum TelemetryNames {
3
3
  ProjectToolRestore = "ProjectPackager.Tool.Restore",
4
4
  ProjectToolValidate = "ProjectPackager.Tool.Validate",
5
5
  ProjectToolBuild = "ProjectPackager.Tool.Build",
6
+ ProjectToolCleanup = "ProjectPackager.Tool.Cleanup",
6
7
  ProjectPackagerPack = "ProjectPackager.Pack",
7
8
  ProjectPackagerRestore = "ProjectPackager.Restore",
8
9
  ProjectPackagerValidate = "ProjectPackager.Validate",
9
10
  ProjectPackagerBuild = "ProjectPackager.Build",
11
+ ProjectPackagerCleanup = "ProjectPackager.Cleanup",
10
12
  ProjectPackagerProjectLoaded = "ProjectPackager.ProjectLoaded"
11
13
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@uipath/project-packager",
3
3
  "license": "MIT",
4
- "version": "1.197.0",
4
+ "version": "1.198.0-preview.100",
5
5
  "description": "UiPath Project Packager - core library for packing individual UiPath projects",
6
6
  "type": "module",
7
7
  "main": "./dist/index.js",
@@ -32,12 +32,12 @@
32
32
  "dist"
33
33
  ],
34
34
  "dependencies": {
35
- "@uipath/filesystem": "1.197.0",
36
- "@uipath/solutionpackager-tool-core": "1.197.0",
37
- "@uipath/common": "1.197.0"
35
+ "@uipath/filesystem": "1.198.0",
36
+ "@uipath/solutionpackager-tool-core": "1.198.0",
37
+ "@uipath/common": "1.198.0"
38
38
  },
39
39
  "peerDependencies": {
40
40
  "fflate": "^0.8.2"
41
41
  },
42
- "gitHead": "56f68b263cec4ea1f2a39d738bd99ecf52f88fea"
42
+ "gitHead": "f1942d52b26cbd5bae55fb2e1d28d4dea005100c"
43
43
  }