Releases: Lightning-Flow-Scanner/lightning-flow-scanner-core
3.21.0 | Community Release
What's Changed
We're back again with another release! This time we're adding a new rule that was launched for summer 24 orgs
Rule (Configuration ID) | Description |
---|---|
Unsafe Running Context (UnsafeRunningContext ) |
This flow is configured to run in System Mode without Sharing. This system context grants all running users the permission to view and edit all data in your org. Running a flow in System Mode without Sharing can lead to unsafe data access. |
- test: refactor tests and improve compiler search without recursion by @junners in #107
- test: small changes to compiler to reduce complexity by @junners in #108
- build: update workspace repository configuration by @junners in #109
- feat: new rule unsafe running context by @junners in #110
Full Changelog: v3.20.0...v3.21.0
3.20.0 | Community Release
What's Changed
We're back with a new release! We've fixed an issue with our compiler not recognizing a connected path for asynchronous flows. Our approach includes a recursive tree traversal.
- fix(deps): bump @types/node from 20.13.0 to 20.14.9 by @dependabot in #101
- fix(deps): bump tslib from 2.6.2 to 2.6.3 by @dependabot in #102
- fix(deps): bump typescript from 5.5.2 to 5.5.3 by @dependabot in #103
- License Changes and Change Logic to visit elements by @junners in #105
Full Changelog: v3.19.0...v3.20.0
3.19.0 | Community Release
What's Changed
Housekeeping changes~ keeping all the packages up to date! Stay tuned for new rules and new releases!
- fix(deps): bump mocha and @types/mocha by @dependabot in #96
- fix(deps): bump typescript-eslint from 7.11.0 to 7.14.1 by @dependabot in #97
- fix(deps): bump typescript from 5.4.5 to 5.5.2 by @dependabot in #99
Full Changelog: v3.18.0...v3.19.0
3.18 | Lightning Flow Scanner Core Module Community Release
Version 3.18 minor fixes to Inactive Flow:
Rule (Configuration ID) | Description |
---|---|
Inactive Flow (InactiveFlow ) |
Like cleaning out your closet: deleting unused flows is essential. Inactive flows can still cause trouble, like accidentally deleting records during testing, or being activated as subflows within parent flows. |
Thank you for your contribution and continuous support @k-capehart 🚀
Community Release | Lightning Flow Scanner Core Module Update - Version 3.17
We're excited to announce the latest update to the Lightning Flow Scanner Core Module. This is the first community-led release, which focuses on internal improvements and streamlining contributor's experience.
Here's what's new
- Internal improvements in readability and consistency: ✅ We've onboarded tools to standardize formatting across the files
- Automations automations automations: 🤖 🤖 Streamlined and consistent way to publish the core module to npm. Thank you so much @nvuillam for the wonderful contribution!
- Security Patches & Fixes: 📝 🔐 🙈 We've updated a significant amount of outdated dependencies to improve security, removed deprecated dependencies and lower the barrier to contribution by adding new documentation for e2e tests
Adds parse function
Lightning Flow Scanner Core Module Update - Version 3.16
We're excited to announce the latest update to the Lightning Flow Scanner Core Module, designed to streamline your development workflow. Here's what's new:
- Consistent Parsing Across Platforms: We've unified parsing modules across platforms, ensuring consistent parsing of flows. This enhancement improves compatibility and developer workflows.
- Improved Developer Experience: Say goodbye to xml2js! We've directly integrated xmlbuilder2 into the core module, enabling direct manipulation of Flow XML files. Utilize xmlbuilder2's convert function for seamless XML-to-JavaScript object transformation, simplifying parsing within the core module.
- Robust Error Handling: Experience smoother development processes with our robust error handling. We've implemented resilient mechanisms for graceful handling of parsing errors.
Stay tuned:
These enhancements open possibilities for launching LWC components and GitHub Actions. Follow our project page to stay updated on their release.
New Rule: Inactive Flow
Version 3.11 now includes 1 New Default Rule:
Rule (Configuration ID) | Description |
---|---|
Inactive Flow (InactiveFlow ) |
Like cleaning out your closet: deleting unused flows is essential. Inactive flows can still cause trouble, like accidentally deleting records during testing, or being activated as subflows within parent flows. |
Improved Error Handling
Release Notes - 3.10
Version 3.10 Improved Error Handling:
- Implements compiler traversal in the unconnected elemens rule, supporting custom flow elements.
- Adds error message to the result details in case a flow is scanned unsuccessfully.
Auto Layout & Process Builder
Release Notes - Version 3.9
Version 3.9 now includes 2 New Default Rules:
Rule (Configuration ID) | Description |
---|---|
Auto Layout (AutoLayout ) |
With Canvas Mode set to Auto-Layout, Elements are spaced, connected, and aligned automatically, keeping your Flow neatly organized thus saving you time. |
Process Builder (ProcessBuilder ) |
Salesforce is transitioning away from Workflow Rules and Process Builder in favor of Flow. Ensure you're prepared for this transition by migrating your organization's automation to Flow. Refer to official documentation for more information on the transition process and tools available. |
Custom Rule Loading
Release Note: Custom Rule Loading
We're excited to announce the latest enhancement to the Lightning Flow Scanner Core - the ability to create custom rules! With this new feature, users can now define and enforce organization-specific standards and best practices tailored to their unique requirements. Now also supports browser implementation!
Key Features:
- Custom Rule Interface: Define custom rules that adhere to the
IRuleDefinition
interface, specifying properties such as name, label, description, supported types, and more. - Flexible Rule Configuration: Configure custom rules alongside default rules using the rules section of the scanner's configurations, allowing for fine-grained control over rule enforcement.
- Exception Handling: Specify exceptions at the flow, rule, or result level to exclude specific scenarios from rule enforcement, providing flexibility in rule application.
Getting Started with Custom Rule Creation:
- Rule Structure: Define a custom rule class following the structure outlined in the Custom Rule Interface section of our documentation.
- Implement Execute Method: Implement the
execute
method within your custom rule class to perform the desired logic for rule enforcement. - Adhere to Interface: Ensure your custom rule class adheres to the
IRuleDefinition
interface, defining required properties and methods for a rule definition. - Configure Rules: To load custom rules using the Lightning Flow Scanner Core, you can utilize the
path
attribute within the rules section of your configurations. This attribute allows you to specify the path to your custom rule class.
{
"rules": {
"<RuleName>": {
"path": "<Path>"
}
}
}
By leveraging the path
attribute, you can easily incorporate custom rule definitions into the Lightning Flow Scanner Core, tailoring rule enforcement to your organization's specific requirements.
For more details and examples, refer to our Custom Rule Creation Guide