@dynamods/dynamo-pm-wizard 0.0.24 → 0.0.26

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/README.md CHANGED
@@ -1,166 +1,166 @@
1
-
2
- # Package Publish Wizard
3
- ![NPM Version](https://img.shields.io/npm/v/%40dynamods%2Fdynamo-pm-wizard)
4
- ![NPM Last Update](https://img.shields.io/npm/last-update/%40dynamods%2Fdynamo-pm-wizard)
5
-
6
-
7
- ## Overview
8
- The **Package Publish Wizard** is a React-based UI component designed to facilitate the creation and management of packages in **Dynamo**. It is hosted inside the **Dynamo Package Manager** and provides an intuitive interface for users to create, update, and publish packages.
9
-
10
- A **package** in Dynamo is a structured collection of files and folders that extends Dynamo's capabilities. The wizard enables users to create a package from scratch or update an existing package. Packages can be stored locally or published online. Once a package is published, only the original creator can update it, ensuring controlled versioning.
11
-
12
- ## Features
13
- - **Create a new package**: Initialize a package with metadata, dependencies, and contents.
14
- - **Update an existing package**: Modify and increment the version of an already published package.
15
- - **Local package management**: Save and manage packages directly on disk.
16
- - **Online publishing**: Upload and maintain packages via the Dynamo Package Manager.
17
- - **Version control**: Ensure package integrity with incremental versioning.
18
-
19
- ## Installation
20
- Ensure you have **Node.js** and **npm** installed before proceeding.
21
-
22
- ```sh
23
- npm install
24
- ```
25
-
26
- ## Running the Project
27
- To start the development server:
28
- ```sh
29
- npm start
30
- ```
31
- This runs the project using **Vite**.
32
-
33
- To build the project:
34
- ```sh
35
- npm run build
36
- ```
37
- This compiles the application and processes it for production use. `bundle.js` and `index.html` will be exported in the `dist` folder. Only use the `index.html` for Dynamo.
38
-
39
- To clean the build directory:
40
- ```sh
41
- npm run clean
42
- ```
43
-
44
- ## Dynamo Integration
45
- The react component is hosted inside Dynamo in a WebView2 wpf component. Due to a known limitation of 2Mb, we serve a single file injecting the resulting bundle.js inside the index.html file.
46
-
47
- - use 'inline-bundle.js' to inject the bundle.js into the index.html. The resulting file also contains the embeddesFonts location - make sure this is well coordinated with the location on Dynamo's side
48
-
49
- ## Running Tests
50
- The project includes both unit and end-to-end tests.
51
-
52
- To run unit tests:
53
- ```sh
54
- npm run test:unit
55
- ```
56
-
57
- To run all tests:
58
- ```sh
59
- npm run test
60
- ```
61
-
62
- ## Linting - ignore
63
- To check for linting errors:
64
- ```sh
65
- npm run lint:check
66
- ```
67
-
68
- To automatically fix linting issues:
69
- ```sh
70
- npm run lint:fix
71
- ```
72
-
73
- ## License Compliance
74
- This project uses Autodesk's **adsk-npm-license-puller** to manage dependencies.
75
- To generate direct and transitive dependency reports:
76
- ```sh
77
- npm run license
78
- ```
79
-
80
- ## Versioning
81
- To increment the package version (patch release):
82
- ```sh
83
- npm run version:patch
84
- ```
85
-
86
- ## Deployment - Release Process
87
-
88
- The **Package Publish Wizard** is a component that is consumed in the Dynamo Desktop. The component is published internally to `npm.autodesk.com`, to publish a new version for the component follow these steps:
89
- - Make sure that the latest changes are reviewed and merged to the `master` branch.
90
- - Create a new release branch based on the master branch.The new release branch needs to be named using the following convention:
91
- - Start the branch name with `release/`
92
- - If it is a major release, follow it by the major numeric version and the keyword `-major`. Example: release/2-major
93
- - If it is a minor release, follow it by the major versions and a variable minor version denoted by `x` followed by the keyword `-minor`. Example: release/2.x-minor
94
- - If it is a patch release, follow it by the major, minor numeric versions and a variable patch version denoted by `x` followed by the keyword `-patch`. Example: release/2.1.x-patch
95
- - In [Jenkins](https://master-5.jenkins.autodesk.com/job/Dynamo/job/PackagePublishWizard/), select the branch and click Build now or Build with Parameters to trigger a new build.
96
- - After a successful build, a new npm package version will be published to the internal autodesk artifactory (npm.autodesk.com).
97
- - A PR will be created by the build service user, post build, to merge the new version from the release branch to master. Review and merge to ensure that master is always up-to-date with the latest released version.
98
- (*Note: The version of the package depends upon the version specified in the `pipeline.yml` file, the version in the branch name is purely for record-keeping*)
99
-
100
- **Release Types**
101
- It is **mandatory** to include at-least one of the release types in the branch name.
102
- - Use **patch** for a new patch release (backwards-compatible bug fixes, security patches).
103
- - Use **minor** for a new minor release (add functionality in a backwards-compatible manner).
104
- - Use **major** for a new major release (incompatible API changes/breaking changes).
105
-
106
- Examples:
107
- | Branch Name | Current Version | New Version |
108
- | --------------------- | ------------- | ------------- |
109
- | release/4.6.x-patch | 4.6.1 | 4.6.2 |
110
- | release/4.x-minor | 4.6.2 | 4.7.0 |
111
- | release/5-major | 4.7.0 | 5.0.0 |
112
-
113
- [Learn more about semantic versioning](semver.org)
114
-
115
- #### Package Publish Wizard - Usage
116
-
117
- The package can be installed using `npm`, by running the following command:
118
- ```
119
- npm install @dynamo/dynamo-pm-wizard@latest
120
- ```
121
- In the above command `latest` can be replaced by a specific version to fetch it.
122
- Make sure to have a `.npmrc` file at the root level of the project before running the above command as the package in internal, and you will need it to point your npm installation to the internal Autodesk registry.
123
-
124
- **.npmrc**
125
- ```
126
- @adsk:registry=https://npm.autodesk.com/artifactory/api/npm/autodesk-npm/
127
- registry=https://npm.autodesk.com/artifactory/api/npm/autodesk-npm-virtual/
128
- ```
129
-
130
- These steps ensure that the package is built and deployed correctly using the configurations defined in the `pipeline.yml` file.
131
-
132
- ## Dependencies
133
- ### Core Dependencies
134
- - **React 18.3.1** - Core library for building UI components
135
- - **React Hook Form** - Form validation and management
136
- - **Sass** - Stylesheet preprocessor for styling
137
- - **Weave MUI Components** - UI components for a consistent design system
138
- - **React-Intl** - Internationalization support
139
-
140
- #### Weave MUI Library
141
- Weave MUI is an internal Autodesk library, thus we need to make sure to include an .npmrc file with the following content:
142
- ```
143
- @adsk:registry=https://npm.autodesk.com/artifactory/api/npm/autodesk-npm/
144
- registry=https://npm.autodesk.com/artifactory/api/npm/autodesk-npm-virtual/
145
- ```
146
- Can only be used when under Autodesk environment (Autodesk computer or VPN).
147
-
148
- ### Development Dependencies
149
- - **Vite** - Build and development server
150
- - **Jest** - Testing framework
151
- - **ESLint** - Linter for maintaining code quality
152
- - **TypeScript** - Strongly-typed JavaScript
153
-
154
- ## Contribution
155
- To contribute to the project:
156
- 1. Clone the repository.
157
- 2. Install dependencies: `npm install`
158
- 3. Create a new feature branch.
159
- 4. Submit a pull request after implementing changes.
160
-
161
- ## Author
162
- Developed by **Autodesk Inc.**
163
-
164
- ## License
165
- This project is licensed under the **ISC License**.
166
-
1
+
2
+ # Package Publish Wizard
3
+ ![NPM Version](https://img.shields.io/npm/v/%40dynamods%2Fdynamo-pm-wizard)
4
+ ![NPM Last Update](https://img.shields.io/npm/last-update/%40dynamods%2Fdynamo-pm-wizard)
5
+
6
+
7
+ ## Overview
8
+ The **Package Publish Wizard** is a React-based UI component designed to facilitate the creation and management of packages in **Dynamo**. It is hosted inside the **Dynamo Package Manager** and provides an intuitive interface for users to create, update, and publish packages.
9
+
10
+ A **package** in Dynamo is a structured collection of files and folders that extends Dynamo's capabilities. The wizard enables users to create a package from scratch or update an existing package. Packages can be stored locally or published online. Once a package is published, only the original creator can update it, ensuring controlled versioning.
11
+
12
+ ## Features
13
+ - **Create a new package**: Initialize a package with metadata, dependencies, and contents.
14
+ - **Update an existing package**: Modify and increment the version of an already published package.
15
+ - **Local package management**: Save and manage packages directly on disk.
16
+ - **Online publishing**: Upload and maintain packages via the Dynamo Package Manager.
17
+ - **Version control**: Ensure package integrity with incremental versioning.
18
+
19
+ ## Installation
20
+ Ensure you have **Node.js** and **npm** installed before proceeding.
21
+
22
+ ```sh
23
+ npm install
24
+ ```
25
+
26
+ ## Running the Project
27
+ To start the development server:
28
+ ```sh
29
+ npm start
30
+ ```
31
+ This runs the project using **Vite**.
32
+
33
+ To build the project:
34
+ ```sh
35
+ npm run build
36
+ ```
37
+ This compiles the application and processes it for production use. `bundle.js` and `index.html` will be exported in the `dist` folder. Only use the `index.html` for Dynamo.
38
+
39
+ To clean the build directory:
40
+ ```sh
41
+ npm run clean
42
+ ```
43
+
44
+ ## Dynamo Integration
45
+ The react component is hosted inside Dynamo in a WebView2 wpf component. Due to a known limitation of 2Mb, we serve a single file injecting the resulting bundle.js inside the index.html file.
46
+
47
+ - use 'inline-bundle.js' to inject the bundle.js into the index.html. The resulting file also contains the embeddesFonts location - make sure this is well coordinated with the location on Dynamo's side
48
+
49
+ ## Running Tests
50
+ The project includes both unit and end-to-end tests.
51
+
52
+ To run unit tests:
53
+ ```sh
54
+ npm run test:unit
55
+ ```
56
+
57
+ To run all tests:
58
+ ```sh
59
+ npm run test
60
+ ```
61
+
62
+ ## Linting - ignore
63
+ To check for linting errors:
64
+ ```sh
65
+ npm run lint:check
66
+ ```
67
+
68
+ To automatically fix linting issues:
69
+ ```sh
70
+ npm run lint:fix
71
+ ```
72
+
73
+ ## License Compliance
74
+ This project uses Autodesk's **adsk-npm-license-puller** to manage dependencies.
75
+ To generate direct and transitive dependency reports:
76
+ ```sh
77
+ npm run license
78
+ ```
79
+
80
+ ## Versioning
81
+ To increment the package version (patch release):
82
+ ```sh
83
+ npm run version:patch
84
+ ```
85
+
86
+ ## Deployment - Release Process
87
+
88
+ The **Package Publish Wizard** is a component that is consumed in the Dynamo Desktop. The component is published internally to `npm.autodesk.com`, to publish a new version for the component follow these steps:
89
+ - Make sure that the latest changes are reviewed and merged to the `master` branch.
90
+ - Create a new release branch based on the master branch.The new release branch needs to be named using the following convention:
91
+ - Start the branch name with `release/`
92
+ - If it is a major release, follow it by the major numeric version and the keyword `-major`. Example: release/2-major
93
+ - If it is a minor release, follow it by the major versions and a variable minor version denoted by `x` followed by the keyword `-minor`. Example: release/2.x-minor
94
+ - If it is a patch release, follow it by the major, minor numeric versions and a variable patch version denoted by `x` followed by the keyword `-patch`. Example: release/2.1.x-patch
95
+ - In [Jenkins](https://master-5.jenkins.autodesk.com/job/Dynamo/job/PackagePublishWizard/), select the branch and click Build now or Build with Parameters to trigger a new build.
96
+ - After a successful build, a new npm package version will be published to the internal autodesk artifactory (npm.autodesk.com).
97
+ - A PR will be created by the build service user, post build, to merge the new version from the release branch to master. Review and merge to ensure that master is always up-to-date with the latest released version.
98
+ (*Note: The version of the package depends upon the version specified in the `pipeline.yml` file, the version in the branch name is purely for record-keeping*)
99
+
100
+ **Release Types**
101
+ It is **mandatory** to include at-least one of the release types in the branch name.
102
+ - Use **patch** for a new patch release (backwards-compatible bug fixes, security patches).
103
+ - Use **minor** for a new minor release (add functionality in a backwards-compatible manner).
104
+ - Use **major** for a new major release (incompatible API changes/breaking changes).
105
+
106
+ Examples:
107
+ | Branch Name | Current Version | New Version |
108
+ | --------------------- | ------------- | ------------- |
109
+ | release/4.6.x-patch | 4.6.1 | 4.6.2 |
110
+ | release/4.x-minor | 4.6.2 | 4.7.0 |
111
+ | release/5-major | 4.7.0 | 5.0.0 |
112
+
113
+ [Learn more about semantic versioning](semver.org)
114
+
115
+ #### Package Publish Wizard - Usage
116
+
117
+ The package can be installed using `npm`, by running the following command:
118
+ ```
119
+ npm install @dynamo/dynamo-pm-wizard@latest
120
+ ```
121
+ In the above command `latest` can be replaced by a specific version to fetch it.
122
+ Make sure to have a `.npmrc` file at the root level of the project before running the above command as the package in internal, and you will need it to point your npm installation to the internal Autodesk registry.
123
+
124
+ **.npmrc**
125
+ ```
126
+ @adsk:registry=https://npm.autodesk.com/artifactory/api/npm/autodesk-npm/
127
+ registry=https://npm.autodesk.com/artifactory/api/npm/autodesk-npm-virtual/
128
+ ```
129
+
130
+ These steps ensure that the package is built and deployed correctly using the configurations defined in the `pipeline.yml` file.
131
+
132
+ ## Dependencies
133
+ ### Core Dependencies
134
+ - **React 18.3.1** - Core library for building UI components
135
+ - **React Hook Form** - Form validation and management
136
+ - **Sass** - Stylesheet preprocessor for styling
137
+ - **Weave MUI Components** - UI components for a consistent design system
138
+ - **React-Intl** - Internationalization support
139
+
140
+ #### Weave MUI Library
141
+ Weave MUI is an internal Autodesk library, thus we need to make sure to include an .npmrc file with the following content:
142
+ ```
143
+ @adsk:registry=https://npm.autodesk.com/artifactory/api/npm/autodesk-npm/
144
+ registry=https://npm.autodesk.com/artifactory/api/npm/autodesk-npm-virtual/
145
+ ```
146
+ Can only be used when under Autodesk environment (Autodesk computer or VPN).
147
+
148
+ ### Development Dependencies
149
+ - **Vite** - Build and development server
150
+ - **Jest** - Testing framework
151
+ - **ESLint** - Linter for maintaining code quality
152
+ - **TypeScript** - Strongly-typed JavaScript
153
+
154
+ ## Contribution
155
+ To contribute to the project:
156
+ 1. Clone the repository.
157
+ 2. Install dependencies: `npm install`
158
+ 3. Create a new feature branch.
159
+ 4. Submit a pull request after implementing changes.
160
+
161
+ ## Author
162
+ Developed by **Autodesk Inc.**
163
+
164
+ ## License
165
+ This project is licensed under the **ISC License**.
166
+