Socket
Socket
Sign inDemoInstall

bpmnlint

Package Overview
Dependencies
Maintainers
3
Versions
61
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bpmnlint - npm Package Compare versions

Comparing version 5.3.0 to 6.0.0-beta.0

6

CHANGELOG.md

@@ -9,2 +9,8 @@ # Changelog

## 6.0.0
* `FEAT`: resolve plug-in provided rules/configuration local to working directory
* `CHORE`: improve errors on rule/plugin resolution failures
* `CHORE`: require `>= node@10.12`
## 5.3.0

@@ -11,0 +17,0 @@

57

lib/resolver/node-resolver.js

@@ -0,1 +1,4 @@

const Module = require('module');
const path = require('path');
/**

@@ -6,3 +9,5 @@ * A resolver that locates rules and configurations

function NodeResolver(options) {
this.require = options && options.require || require;
this.require = options && options.require || createScopedRequire(process.cwd());
this.requireLocal = options && options.requireLocal || require;
}

@@ -16,10 +21,9 @@

try {
return this.require(`${pkg}/rules/${ruleName}`);
} catch (err) {
if (pkg === 'bpmnlint') {
// attempt local require
return this.require(`../../rules/${ruleName}`);
return this.requireLocal(`../../rules/${ruleName}`);
} else {
return this.require(`${pkg}/rules/${ruleName}`);
}
throw err;
} catch (err) {
throw new Error('Cannot resolve rule <' + ruleName + '> from <' + pkg + '>');
}

@@ -30,27 +34,34 @@ };

// resolve config via $PKG/config/$NAME`
// resolve config via $PKG/config/$NAME
try {
return this.require(`${pkg}/config/${configName}`);
if (pkg === 'bpmnlint') {
return this.requireLocal(`../../config/${configName}`);
} else {
return this.require(`${pkg}/config/${configName}`);
}
} catch (err) { /* ignore */ }
// resolve built-in as local config via ../../config/$NAME`
if (pkg === 'bpmnlint') {
try {
// attempt local require
return this.require(`../../config/${configName}`);
} catch (err) { /* ignore */ }
}
// resolve config via $PKG.configs[$NAME]
const instance = this.require(pkg);
try {
const instance = this.require(pkg);
if ('configs' in instance) {
if (configName in instance.configs) {
return instance.configs[configName];
const configs = instance.configs || {};
if (configName in configs) {
return configs[configName];
}
} catch (err) {
/* ignore */
}
throw new Error(
'cannot resolve config <' + configName + '> in <' + pkg +'>'
'Cannot resolve config <' + configName + '> from <' + pkg + '>'
);
};
};
// helpers ////////////////////
function createScopedRequire(cwd) {
return Module.createRequireFromPath(path.join(cwd, '__placeholder__.js'));
}
{
"name": "bpmnlint",
"description": "Validate your BPMN diagrams based on configurable lint rules",
"version": "5.3.0",
"version": "6.0.0-beta.0",
"main": "lib/index.js",

@@ -25,2 +25,5 @@ "keywords": [

],
"engines": {
"node": ">= 10.12"
},
"license": "MIT",

@@ -27,0 +30,0 @@ "scripts": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc