1.0.1 • Published 2 years ago
@onebeyond/spdx-license-satisfies v1.0.1
spdx-license-satisfies
This project is a fork from jslicense/spdx-satisfies.js. Please, note that the interface is slightly different.
satisfies(first, second)
Checks if first satisfies second. Both arguments must be a string with a simple license or a SPDX expressions. Disjunctive OR operator, conjunctive AND operator and exception WITH operator are allowed.
const { satisfies } = require('spdx-license-satisfies');
satisfies('MIT AND (Apache-2.0 OR GPL-1.0)', 'MIT AND Apache-2.0') // true
satisfies('MIT AND Apache-2.0', 'Apache-2.0') // falsesatisfiesAny(first, second)
Checks if first satisfies any license in second.
firstmust be a string with a license or a SPDX expression. DisjunctiveORoperator, conjunctiveANDoperator and exceptionWITHoperator are allowed.secondmust be an array of licenses. DisjunctiveORoperator and conjunctiveANDoperator are not allowed.
const { satisfiesAny } = require('spdx-license-satisfies');
satisfiesAny('(MIT AND GPL-1.0) OR Apache-2.0', ['Apache-2.0']) // true
satisfiesAny('MIT OR GPL-1.0', ['Apache-2.0']) // falsesatisfiesAll(first, second)
Checks if first satisfies all the licenses in second.
firstmust be a string with a license or a SPDX expression. DisjunctiveORoperator, conjunctiveANDoperator and exceptionWITHoperator are allowed.secondmust be an array of licenses. DisjunctiveORoperator and conjunctiveANDoperator are not allowed.
const { satisfiesAll } = require('spdx-license-satisfies');
satisfiesAll('MIT AND GPL-1.0 OR Apache-2.0', ['Apache-2.0']) // true
satisfiesAll('MIT OR GPL-1.0', ['MIT','GPL-1.0']) // falseExamples
See a list with more examples.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!