This tool uses a 'v2' approach to group components in a library, create a component map, employ webpack, and load the library like Pega-generated components.
npm install @pega/constellation-dx-components-build-utils
npx build-library
To build the library, the library name and version are determined by the package.json of your project
npx publish-library
To publish the library, ensure that the APPSTATICURL Constant is updated to the app-static server URL. You can pass an optional argument (e.g., --token-path=node_modules/@pega/xyz/.access_token) to specify the path to the access token file. Alternatively, you can update the constant.js file for B2STOKEN or TOKEN_PATH.
npx delete-library
To delete the published library or a specific version from library published, Only dev version(e.g. 1.0.1-dev) can be deleted.
npx list-library
To list the published libraries, including their respective versions and the components assets they offer.
/**
* This function generate build for library
* @param {string} libraryName optional library name, else it will take value from package.json name
* @param {string} libraryVersion optional library version, else it will take value from package.json version
* @param {string} tokenParam optional B2S token for appstatic service, else it will take value from constant.js B2STOKEN
* @param {string} appStaticSVCUrl optional appstatic service url, else it will take value from constant.js APPSTATICURL
*/
e.g. buildLib(libraryName, libraryVersion, tokenParam, appStaticSVCUrl)
/**
* This function publish the library to appstatic service
* @param {string} libraryName optional library name, else it will take value from package.json name
* @param {string} libraryVersion optional library version, else it will take value from package.json version
* @param {string} tokenParam optional B2S token for appstatic service, else it will take value from constant.js B2STOKEN
* @param {string} appStaticSVCUrl optional appstatic service url, else it will take value from constant.js APPSTATICURL
*/
e.g. publishLib(libraryName, libraryVersion, tokenParam, appStaticSVCUrl)
/**
* This function provides interactive list of libraries/versions available for org from token.
* User can use down/up/right arrow to explore content of libraries.
* @param {string} tokenParam optional B2S token for appstatic service, else it will take value from constant.js B2STOKEN
* @param {string} appStaticSVCUrl optional appstatic service url, else it will take value from constant.js APPSTATICURL
*/
e.g. listLib(tokenParam, appStaticSVCUrl)
/**
* This function return json response of libraries/versions available for org from token.
* Example : ["Dept1_constellation-ui-gallery":["0.0.1":'[{comptsconfig json data}]',"0.0.2":'[{comptsconfig json data}]'],"Dept2_constellation-ui-gallery":["0.0.1":'[{comptsconfig json data}]',"0.0.2":'[{comptsconfig json data}]'],"lib-a":[],"pega-as-internal":["0.0.2":'[{comptsconfig json data}]'],"pega-constellation-ui-gallery":["1.0.0":'[{comptsconfig json data}]'],"pega-temp-internal":[]]
* @param {string} tokenParam optional B2S token for appstatic service, else it will take value from constant.js B2STOKEN
* @param {string} appStaticSVCUrl optional appstatic service url, else it will take value from constant.js APPSTATICURL
*/
e.g. await listLibJSONResponse(tokenParam, appStaticSVCUrl)
/**
* This function provides interactive list of libraries/versions available for org from token.
Take a choice prompt of deleting entire lib/specific version of a lib(Only -dev version allowed to delete)
* @param {string} tokenParam optional B2S token for appstatic service, else it will take value from constant.js B2STOKEN
* @param {string} appStaticSVCUrl optional appstatic service url, else it will take value from constant.js APPSTATICURL
*/
e.g. deleteLib(tokenParam, appStaticSVCUrl)
/**
* This function delete library based on library/version passed.
* @param {string} libraryName Library name required arg.
* @param {string} libraryVersion Library version required arg.
* @param {string} tokenParam optional B2S token for appstatic service, else it will take value from constant.js B2STOKEN
* @param {string} appStaticSVCUrl optional appstatic service url, else it will take value from constant.js APPSTATICURL
*/
e.g. deleteLibVersion(libraryName, libraryVersion, tokenParam, appStaticSVCUrl)