dgeni
Advanced tools
Comparing version 0.4.12 to 0.4.13
# ChangeLog | ||
## 0.4.13 11 January 2021 | ||
fix(Dgeni): do not print stack trace on error unless debugging (a3c870d) | ||
## 0.4.12 14 March 2019 | ||
@@ -4,0 +8,0 @@ |
@@ -12,5 +12,3 @@ import { Package, PackageRef } from './Package'; | ||
injector: Injector; | ||
packages: { | ||
[key: string]: Package; | ||
}; | ||
packages: Record<string, Package> | Package[]; | ||
processors: Processor[]; | ||
@@ -68,4 +66,4 @@ stopOnProcessingError: boolean; | ||
*/ | ||
generate(): any; | ||
runProcessor(processor: any, docs: any): any; | ||
generate(): Promise<any[]>; | ||
runProcessor(processor: any, docs: any): Promise<any>; | ||
/** | ||
@@ -77,5 +75,5 @@ * Trigger a dgeni event and run all the registered handlers | ||
*/ | ||
triggerEvent(eventName: string, ...extras: any[]): any; | ||
triggerProcessorEvent(eventName: string, processor: any, docs: any): any; | ||
triggerEvent(eventName: string, ...extras: any[]): Promise<any[]>; | ||
triggerProcessorEvent(eventName: string, processor: any, docs: any): Promise<any>; | ||
info(): void; | ||
} |
"use strict"; | ||
var __spreadArrays = (this && this.__spreadArrays) || function () { | ||
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; | ||
for (var r = Array(s), k = 0, i = 0; i < il; i++) | ||
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) | ||
r[k] = a[j]; | ||
return r; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.Dgeni = void 0; | ||
/* tslint globals: require: true */ | ||
var _ = require('lodash'); | ||
var di = require('di'); | ||
var Q = require('q'); | ||
var Package_1 = require("./Package"); | ||
@@ -19,4 +25,4 @@ var processorValidation_1 = require("./legacyPackages/processorValidation"); | ||
function Dgeni(packages) { | ||
var _this = this; | ||
if (packages === void 0) { packages = []; } | ||
var _this = this; | ||
this.packages = {}; | ||
@@ -163,3 +169,9 @@ if (!Array.isArray(packages)) { | ||
}); | ||
processingPromise.catch(function (error) { return log.error('Error processing docs: ', error.stack || error.message || error); }); | ||
processingPromise.catch(function (error) { | ||
log.error(error.message); | ||
if (error.stack) { | ||
log.debug(error.stack); | ||
} | ||
log.error('Failed to process the docs'); | ||
}); | ||
return processingPromise.then(function (docs) { | ||
@@ -173,3 +185,3 @@ _this.triggerEvent('generationEnd'); | ||
var log = this.injector.get('log'); | ||
var promise = Q(docs); | ||
var promise = Promise.resolve(docs); | ||
if (!processor.$process) { | ||
@@ -190,6 +202,8 @@ return promise; | ||
error.message = 'Error running processor "' + processor.name + '":\n' + error.message; | ||
log.error(error.stack || error.message); | ||
if (_this.stopOnProcessingError) { | ||
return Q.reject(error); | ||
return Promise.reject(error); | ||
} | ||
else { | ||
log.error(error.message); | ||
} | ||
return docs; | ||
@@ -210,3 +224,3 @@ }); | ||
var handlers = this.handlerMap[eventName]; | ||
var handlersPromise = Q(); | ||
var handlersPromise = Promise.resolve(); | ||
var results = []; | ||
@@ -216,3 +230,3 @@ if (handlers) { | ||
handlersPromise = handlersPromise.then(function () { | ||
var handlerPromise = Q(handler.apply(void 0, [eventName].concat(extras))); | ||
var handlerPromise = Promise.resolve(handler.apply(void 0, __spreadArrays([eventName], extras))); | ||
handlerPromise.then(function (result) { return results.push(result); }); | ||
@@ -242,3 +256,2 @@ return handlerPromise; | ||
}; | ||
; | ||
Dgeni.Package = Package_1.Package; | ||
@@ -245,0 +258,0 @@ return Dgeni; |
@@ -29,5 +29,3 @@ #!/usr/bin/env node | ||
// Run the document generation | ||
dgeni.generate().then(function () { | ||
console.log('Finished generating docs'); | ||
}).done(); | ||
dgeni.generate().then(function () { return console.log('Finished generating docs'); }, function (err) { return process.exit(1); }); | ||
//# sourceMappingURL=gen-docs.js.map |
@@ -5,5 +5,5 @@ "use strict"; | ||
var Dgeni_2 = require("./Dgeni"); | ||
exports.Dgeni = Dgeni_2.Dgeni; | ||
Object.defineProperty(exports, "Dgeni", { enumerable: true, get: function () { return Dgeni_2.Dgeni; } }); | ||
var Package_1 = require("./Package"); | ||
exports.Package = Package_1.Package; | ||
Object.defineProperty(exports, "Package", { enumerable: true, get: function () { return Package_1.Package; } }); | ||
// This is a hack so that you can still require Dgeni | ||
@@ -10,0 +10,0 @@ // in CommonJS as: `var Dgeni = require('dgeni');` |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var Q = require('q'); | ||
exports.processorValidationPackage = void 0; | ||
var validate = require('validate.js'); | ||
@@ -13,3 +13,3 @@ var Package_1 = require("../Package"); | ||
var validationErrors = []; | ||
var validationPromise = Q(); | ||
var validationPromise = Promise.resolve(); | ||
// Apply the validations on each processor | ||
@@ -31,3 +31,3 @@ dgeni.processors.forEach(function (processor) { | ||
if (validationErrors.length > 0 && dgeni.stopOnValidationError) { | ||
return Q.reject(validationErrors); | ||
return Promise.reject(validationErrors); | ||
} | ||
@@ -34,0 +34,0 @@ }); |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.Package = void 0; | ||
/** | ||
@@ -4,0 +5,0 @@ * A Dgeni Package containing processors, services and config blocks. |
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var _ = require('lodash'); | ||
var diff = require('objectdiff').diff; | ||
exports.docDiffLoggerPackage = void 0; | ||
var clonedeep_1 = __importDefault(require("clonedeep")); | ||
var objectdiff_1 = require("objectdiff"); | ||
var Package_1 = require("../Package"); | ||
@@ -17,5 +21,5 @@ var firstDocs, startDocs, endDocs, lastDocs; | ||
return function capturePreviousDocs(event, processor, docs) { | ||
firstDocs = firstDocs || _.cloneDeep(docs); | ||
firstDocs = firstDocs || clonedeep_1.default(docs); | ||
if (options.start === processor.name) { | ||
startDocs = _.cloneDeep(docs); | ||
startDocs = clonedeep_1.default(docs); | ||
} | ||
@@ -25,6 +29,6 @@ }; | ||
.eventHandler('processorEnd', function (log) { | ||
return function (event, processor, docs) { | ||
return function (_event, processor, docs) { | ||
lastDocs = docs; | ||
if (options.end === processor.name) { | ||
endDocs = _.cloneDeep(docs); | ||
endDocs = clonedeep_1.default(docs); | ||
logDiff(log); | ||
@@ -48,3 +52,3 @@ } | ||
function logDiff(log) { | ||
var changes = diff(startDocs || firstDocs, endDocs || lastDocs); | ||
var changes = objectdiff_1.diff(startDocs || firstDocs, endDocs || lastDocs); | ||
log.info(options); | ||
@@ -51,0 +55,0 @@ log.info(changes); |
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var _ = require('lodash'); | ||
exports.trackDocLoggerPackage = void 0; | ||
var clonedeep_1 = __importDefault(require("clonedeep")); | ||
var fast_deep_equal_1 = __importDefault(require("fast-deep-equal")); | ||
var Package_1 = require("../Package"); | ||
@@ -18,4 +23,4 @@ var options = { | ||
if (trackedDocs) { | ||
if (!_.isEqual(trackedDocs, previousTrackedDocs)) { | ||
trackedDocs = _.cloneDeep(trackedDocs); | ||
if (!fast_deep_equal_1.default(trackedDocs, previousTrackedDocs)) { | ||
trackedDocs = clonedeep_1.default(trackedDocs); | ||
generations.push({ processor: processor.name, docs: trackedDocs }); | ||
@@ -22,0 +27,0 @@ previousTrackedDocs = trackedDocs; |
@@ -16,2 +16,2 @@ /** | ||
*/ | ||
export declare function sortByDependency(items: Object | any[], afterProp?: string, beforeProp?: string, nameProp?: string): any; | ||
export declare function sortByDependency<T>(items: Record<string, T> | T[], afterProp?: string, beforeProp?: string, nameProp?: string): T[]; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var _ = require('lodash'); | ||
var DepGraph = require('dependency-graph').DepGraph; | ||
exports.sortByDependency = void 0; | ||
var dependency_graph_1 = require("dependency-graph"); | ||
/** | ||
@@ -23,4 +23,4 @@ * @name sortByDependency | ||
var map = {}; | ||
var depGraph = new DepGraph(); | ||
var addDependencies = function (item, dependencyProp, addBefore) { | ||
var depGraph = new dependency_graph_1.DepGraph(); | ||
function addDependencies(item, dependencyProp, addBefore) { | ||
if (addBefore === void 0) { addBefore = false; } | ||
@@ -43,6 +43,7 @@ if (dependencyProp && item[dependencyProp]) { | ||
} | ||
}; | ||
_.forEach(items, function (item, index) { | ||
} | ||
Object.keys(items).forEach(function (itemKey) { | ||
var item = items[itemKey]; | ||
if (!item[nameProp]) { | ||
throw new Error('Missing ' + nameProp + ' property on item #' + (index + 1)); | ||
throw new Error('Missing ' + nameProp + ' property on item ' + itemKey); | ||
} | ||
@@ -52,9 +53,7 @@ map[item[nameProp]] = item; | ||
}); | ||
_.forEach(items, function (item) { | ||
Object.values(items).forEach(function (item) { | ||
addDependencies(item, afterProp); | ||
addDependencies(item, beforeProp, true); | ||
}); | ||
return depGraph.overallOrder().map(function (itemName) { | ||
return map[itemName]; | ||
}); | ||
return depGraph.overallOrder().map(function (itemName) { return map[itemName]; }); | ||
} | ||
@@ -61,0 +60,0 @@ exports.sortByDependency = sortByDependency; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getInjectablesFactory = void 0; | ||
/** | ||
@@ -4,0 +5,0 @@ * @dgService getInjectables |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.logFactory = void 0; | ||
/** | ||
@@ -4,0 +5,0 @@ * @dgService log |
{ | ||
"name": "dgeni", | ||
"version": "0.4.12", | ||
"version": "0.4.13", | ||
"description": "Flexible JavaScript documentation generator used by both AngularJS and Angular", | ||
@@ -18,2 +18,3 @@ "main": "lib/index.js", | ||
"build": "tsc", | ||
"postbuild": "chmod +x lib/gen-docs.js", | ||
"watch": "tsc -w", | ||
@@ -31,8 +32,8 @@ "test": "mocha --require ts-node/register -R spec src/**/*.spec.ts", | ||
"canonical-path": "~0.0.2", | ||
"clonedeep": "^2.0.0", | ||
"dependency-graph": "^0.7.0", | ||
"di": "0.0.1", | ||
"lodash": "^4.17.10", | ||
"fast-deep-equal": "^3.1.3", | ||
"objectdiff": "^1.1.0", | ||
"optimist": "~0.6.1", | ||
"q": "^1.5.1", | ||
"validate.js": "^0.12.0", | ||
@@ -47,3 +48,3 @@ "winston": "^2.1.1" | ||
"chai-spies": "^1.0.0", | ||
"dgeni-packages": "^0.26.0", | ||
"dgeni-packages": "^0.28.4", | ||
"mocha": "^5.2.0", | ||
@@ -50,0 +51,0 @@ "ts-node": "^6.1.0", |
const {expect, spy} = require('chai').use(require('chai-spies')); | ||
const Q = require('q'); | ||
import {Dgeni} from './Dgeni'; | ||
import {Processor} from './Processor'; | ||
import {DocCollection} from './DocCollection'; | ||
@@ -378,5 +376,5 @@ | ||
function handler3() { return { message: 'info' }; } | ||
function handler4() { return Q(); } | ||
function handler5() { return Q(true); } | ||
function handler6() { return Q({ message: 'info async'}); } | ||
function handler4() { return Promise.resolve(); } | ||
function handler5() { return Promise.resolve(true); } | ||
function handler6() { return Promise.resolve({ message: 'info async'}); } | ||
@@ -383,0 +381,0 @@ dgeni.package('test1', []) |
/* tslint globals: require: true */ | ||
const _ = require('lodash'); | ||
const di = require('di'); | ||
const Q = require('q'); | ||
@@ -24,3 +22,3 @@ import {Package, PackageRef} from './Package'; | ||
injector: Injector; | ||
packages: { [key: string]: Package } = {}; | ||
packages: Record<string, Package>|Package[] = {}; | ||
processors: Processor[]; | ||
@@ -177,3 +175,9 @@ stopOnProcessingError: boolean; | ||
processingPromise.catch(error => log.error('Error processing docs: ', error.stack || error.message || error )); | ||
processingPromise.catch(error => { | ||
log.error(error.message); | ||
if (error.stack) { | ||
log.debug(error.stack); | ||
} | ||
log.error('Failed to process the docs'); | ||
}); | ||
@@ -189,3 +193,3 @@ return processingPromise.then(docs => { | ||
const log = this.injector.get('log'); | ||
const promise = Q(docs); | ||
const promise = Promise.resolve(docs); | ||
@@ -212,4 +216,7 @@ if ( !processor.$process ) { | ||
error.message = 'Error running processor "' + processor.name + '":\n' + error.message; | ||
log.error(error.stack || error.message); | ||
if ( this.stopOnProcessingError ) { return Q.reject(error); } | ||
if ( this.stopOnProcessingError ) { | ||
return Promise.reject(error); | ||
} else { | ||
log.error(error.message); | ||
} | ||
return docs; | ||
@@ -227,3 +234,3 @@ }); | ||
const handlers = this.handlerMap[eventName]; | ||
let handlersPromise = Q(); | ||
let handlersPromise = Promise.resolve(); | ||
const results = []; | ||
@@ -233,3 +240,3 @@ if (handlers) { | ||
handlersPromise = handlersPromise.then(() => { | ||
const handlerPromise = Q(handler(eventName, ...extras)); | ||
const handlerPromise = Promise.resolve(handler(eventName, ...extras)); | ||
handlerPromise.then(result => results.push(result)); | ||
@@ -262,3 +269,3 @@ return handlerPromise; | ||
}); | ||
}; | ||
} | ||
} |
@@ -34,4 +34,5 @@ #!/usr/bin/env node | ||
// Run the document generation | ||
dgeni.generate().then(() => { | ||
console.log('Finished generating docs'); | ||
}).done(); | ||
dgeni.generate().then( | ||
() => console.log('Finished generating docs'), | ||
err => process.exit(1) | ||
); |
@@ -1,2 +0,1 @@ | ||
const Q = require('q'); | ||
const validate = require('validate.js'); | ||
@@ -15,3 +14,3 @@ import {Package} from '../Package'; | ||
let validationPromise = Q(); | ||
let validationPromise = Promise.resolve(); | ||
@@ -35,3 +34,3 @@ // Apply the validations on each processor | ||
if ( validationErrors.length > 0 && dgeni.stopOnValidationError ) { | ||
return Q.reject(validationErrors); | ||
return Promise.reject(validationErrors); | ||
} | ||
@@ -38,0 +37,0 @@ }); |
@@ -1,4 +0,5 @@ | ||
const _ = require('lodash'); | ||
const {diff} = require('objectdiff'); | ||
import cloneDeep from 'clonedeep'; | ||
import {diff} from 'objectdiff'; | ||
import {Package} from '../Package'; | ||
let firstDocs, startDocs, endDocs, lastDocs; | ||
@@ -18,6 +19,6 @@ const options = { | ||
return function capturePreviousDocs(event, processor, docs) { | ||
firstDocs = firstDocs || _.cloneDeep(docs); | ||
firstDocs = firstDocs || cloneDeep(docs); | ||
if ( options.start === processor.name ) { | ||
startDocs = _.cloneDeep(docs); | ||
startDocs = cloneDeep(docs); | ||
} | ||
@@ -28,7 +29,7 @@ }; | ||
.eventHandler('processorEnd', function(log) { | ||
return function(event, processor, docs) { | ||
return function(_event, processor, docs) { | ||
lastDocs = docs; | ||
if ( options.end === processor.name ) { | ||
endDocs = _.cloneDeep(docs); | ||
endDocs = cloneDeep(docs); | ||
logDiff(log); | ||
@@ -35,0 +36,0 @@ } |
@@ -1,2 +0,3 @@ | ||
const _ = require('lodash'); | ||
import cloneDeep from 'clonedeep'; | ||
import deepEqual from 'fast-deep-equal'; | ||
import {Package} from '../Package'; | ||
@@ -24,4 +25,4 @@ | ||
if ( trackedDocs ) { | ||
if ( !_.isEqual(trackedDocs, previousTrackedDocs) ) { | ||
trackedDocs = _.cloneDeep(trackedDocs); | ||
if ( !deepEqual(trackedDocs, previousTrackedDocs) ) { | ||
trackedDocs = cloneDeep(trackedDocs); | ||
generations.push({ processor: processor.name, docs: trackedDocs }); | ||
@@ -28,0 +29,0 @@ previousTrackedDocs = trackedDocs; |
@@ -1,3 +0,2 @@ | ||
const _ = require('lodash'); | ||
const {DepGraph} = require('dependency-graph'); | ||
import {DepGraph} from 'dependency-graph'; | ||
@@ -19,8 +18,8 @@ /** | ||
*/ | ||
export function sortByDependency(items: Object | any[], afterProp?: string, beforeProp?: string, nameProp: string = 'name') { | ||
export function sortByDependency<T>(items: Record<string, T>|T[], afterProp?: string, beforeProp?: string, nameProp: string = 'name'): T[] { | ||
let map = {}; | ||
let depGraph = new DepGraph(); | ||
const map: Record<string, T> = {}; | ||
const depGraph = new DepGraph(); | ||
let addDependencies = function(item, dependencyProp, addBefore: boolean = false) { | ||
function addDependencies(item: T, dependencyProp: string, addBefore: boolean = false) { | ||
if ( dependencyProp && item[dependencyProp]) { | ||
@@ -30,3 +29,3 @@ if ( !Array.isArray(item[dependencyProp]) ) { | ||
} | ||
item[dependencyProp].forEach(function(dependency) { | ||
item[dependencyProp].forEach(dependency => { | ||
if ( !map[dependency] ) { | ||
@@ -42,7 +41,8 @@ throw new Error('Missing dependency: "' + dependency + '" on "' + item[nameProp] + '"'); | ||
} | ||
}; | ||
} | ||
_.forEach(items, function(item, index) { | ||
Object.keys(items).forEach(itemKey => { | ||
const item = items[itemKey]; | ||
if ( !item[nameProp] ) { | ||
throw new Error('Missing ' + nameProp + ' property on item #' + (index + 1)); | ||
throw new Error('Missing ' + nameProp + ' property on item ' + itemKey); | ||
} | ||
@@ -53,4 +53,3 @@ map[item[nameProp]] = item; | ||
_.forEach(items, function(item) { | ||
Object.values(items).forEach(item => { | ||
addDependencies(item, afterProp); | ||
@@ -60,5 +59,3 @@ addDependencies(item, beforeProp, true); | ||
return depGraph.overallOrder().map(function(itemName) { | ||
return map[itemName]; | ||
}); | ||
return depGraph.overallOrder().map(itemName => map[itemName]); | ||
}; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
149180
2500
1
+ Addedclonedeep@^2.0.0
+ Addedfast-deep-equal@^3.1.3
+ Addedclonedeep@2.0.0(transitive)
+ Addedfast-deep-equal@3.1.3(transitive)
- Removedlodash@^4.17.10
- Removedq@^1.5.1
- Removedq@1.5.1(transitive)