A powerful toolkit for streamlining Oracle CPQ Cloud development workflows.
- Seamless code loading/unloading for BML, XSL, JSON, XML, and CSS files
- Support for Commerce Actions, Rules, and Configuration rules
- Document Designer integration
- Header & Footer management
- Interface (SOAP/REST) handling
- Advanced stylesheet operations with minification and browser compatibility checks
- Test script support
- Built-in validation tools
| Version | Supported |
|---|---|
| 0.1.x-alpha | ✅ |
| 0.0.x-alpha | ❌ |
https://marketplace.visualstudio.com/items?itemName=CPQConsultant.cpq-devkit-overview
-
Download the latest version of Streamline Tools here.
-
Extract the files into their own directory.
-
Click the Chrome menu icon and select Extensions from the More Tools menu.
-
Enable Developer Mode in the upper right-hand corner.
-
Press the "Load unpacked" button.
-
Select the folder with the extracted files.
-
Open your local "Downloads" folder in Visual Studio Code.
-
Install the latest version of "CPQ DevKit" Extension for VSCode found here, or by running:
code --install-extension CPQConsultant.cpq-devkit-o
- Congratulations you've successfully installed Streamline Tools!
Coming soon...
-
Clone the repository:
git clone https://github.com/loganbek/streamline-tools.git cd streamline-tools -
Install dependencies:
npm install
-
Create a .env file with required credentials:
CPQ_USERNAME=your_username CPQ_PASSWORD=your_password BASE_URL=your_cpq_instance_url
This project follows the StandardJS style guide. To ensure code quality:
-
Use the built-in linting:
npm run lint
-
Fix common style issues:
npm run lint:fix
Before running tests, ensure you have completed the following setup:
-
Create a
.envfile in thetestsdirectory with the following variables:CPQ_USERNAME=your_username CPQ_PASSWORD=your_password BASE_URL=your_cpq_instance_url # e.g., https://yourinstance.bigmachines.com -
Install dependencies:
npm install
We've streamlined the testing approach to focus directly on the 16 rule types defined in src/rulesList.json, ensuring comprehensive coverage of all Oracle CPQ Cloud application areas.
-
Quick Testing - Run one test from each application area:
npm run test:cpq-sample
-
Full Testing - Run all tests for the 16 rule types:
npm run test:cpq-all
-
Default Option - Same as full testing:
npm run test:cpq
-
Run all tests:
npm test -
Run specific test suites:
npm run test:unit # Run unit tests only npm run test:puppeteer # Run Puppeteer integration tests npm run test:config # Test configuration rules npm run test:commerce # Test commerce rules npm run test:interfaces # Test interfaces npm run test:stylesheets # Test stylesheets npm run test:documents # Test document designer npm run test:utils # Test utility functions
-
Run tests in watch mode (useful during development):
npm run test:watch
The test suite is organized as follows:
tests/puppeteer/rulesList-master.test.js- Tests all 16 rule types from rulesList.jsontests/puppeteer/rulesList-sample.test.js- Tests one rule from each app areatests/unit/- Unit tests for individual componentstests/__mocks__/- Mock implementations for testing
If you need to organize your test files or clean up unnecessary tests, use the provided script:
# Move unnecessary test files to archive folder
node organize-tests.js
# Preview what files would be moved without actually moving them
node organize-tests.js --dry-run
# Restore archived test files
node organize-tests.js --restoreIf tests fail, you can:
- Check the screenshots captured during test execution
- Review video recordings in the
test-videos/directory - Use the
--verboseflag for detailed output:node run-cpq-tests.js --all --verbose
Cmd/Ctrl + Shift + 1- Show Streamline Tools UICmd/Ctrl+Left- Unload Code (BML/XSL/JSON/XML/CSS)Cmd/Ctrl+Right- Load Code (BML/XSL/JSON/XML/CSS)
- Open
chrome://extensions/shortcutsin your browser. - Locate Streamline Tools and assign custom key combinations for each action.
- Ensure combinations include "Ctrl" or "Ctrl + Shift" (or "Cmd" on macOS) with any available key.
- Remove shortcuts by clicking the “X” next to the assigned key combination.
Cmd/Ctrl + Shift + 1- Show Streamline Tools UICtrl+Left- Unload Code (BML/XSL/JSON/XML/CSS)Ctrl+Right- Load Code (BML/XSL/JSON/XML/CSS)
-
To customize Streamline Tools' keyboard shortcuts, navigate to
chrome://extensions/shortcuts. -
Scroll to Streamline Tools and for each action choose a combination of keys with either “Ctrl” or “Ctrl + Shift” and any available key. This will automatically work for "Cmd" in place of "Ctrl" on Mac OS.
-
To remove action shortcuts, just click “X” next to the key combination you wish to get rid of.
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (git checkout -b feature/amazing-feature)
- Make your changes
- Run tests (npm test)
- Commit your changes (git commit -m 'Add amazing feature')
- Push to the branch (git push origin feature/amazing-feature)
- Open a Pull Request
Please ensure your PR:
- Follows the StandardJS style guide
- Includes appropriate tests
- Updates documentation as needed
- Follows the existing code structure
For vulnerability reports or security concerns, please email logan@bekconsulting.info
-
Hard Refresh/Clear Cache
Ctrl + Shift + R(Windows)Cmd + Shift + R(Mac)
-
Remove the extension and then reinstall it after filing a bug report here. Please include any error logs from the console.
- CPQ DevKit: A comprehensive toolkit for CPQ development
- CPQ Tools: Additional tools for CPQ development
- CPQ Samples: Sample projects and code snippets
This project is licensed under the Unlicense - see the UNLICENSE file for details.