UNPKG

forest-cli

Version:

The Lumberjacks' toolbelt is the Forest CLI which makes easy to manage your back office application directly from the terminal.

22 lines 1.96 kB
const validate = require('validate-npm-package-name'); module.exports = function toValidPackageName(packageName) { function isValid(name) { const { validForNewPackages } = validate(name); return validForNewPackages; } if (!isValid(packageName)) { // NOTICE: Create an always valid package name (disallow almost everything) const validPackageName = packageName .toLowerCase() // Remove all non "a-z", "0-9", "-" characters with hyphen. .replace(/[^a-z0-9\\-]/g, '-') // Remove hyphen sequence (> 1). .replace(/-{2,}/g, '-') // Remove leading and trailing hyphen. .replace(/^-|-$/g, ''); // NOTICE: Return 'forest-cli-project' if sanitized package name is still not valid. return isValid(validPackageName) ? validPackageName : 'forest-cli-project'; } return packageName; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tdmFsaWQtcGFja2FnZS1uYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3RvLXZhbGlkLXBhY2thZ2UtbmFtZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUV0RCxNQUFNLENBQUMsT0FBTyxHQUFHLFNBQVMsa0JBQWtCLENBQUMsV0FBVztJQUN0RCxTQUFTLE9BQU8sQ0FBQyxJQUFJO1FBQ25CLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxPQUFPLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1FBQ3pCLDJFQUEyRTtRQUMzRSxNQUFNLGdCQUFnQixHQUFHLFdBQVc7YUFDakMsV0FBVyxFQUFFO1lBQ2QsMkRBQTJEO2FBQzFELE9BQU8sQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDO1lBQzlCLGdDQUFnQzthQUMvQixPQUFPLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQztZQUN2QixzQ0FBc0M7YUFDckMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV6QixvRkFBb0Y7UUFDcEYsT0FBTyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO0tBQzVFO0lBRUQsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQyxDQUFDIn0=