Comparing version 0.4.0 to 0.4.1
# ChangeLog | ||
## v0.4.1 (4th October 2014) | ||
Minor Bug Fix | ||
* fix(Package): allow use of `npm link` with dgeni 6698fe9f | ||
## v0.4.0 (10th September 2014) | ||
@@ -5,0 +11,0 @@ |
@@ -1,1 +0,3 @@ | ||
# Un exemple simple de Dgeni | ||
# Un exemple simple de Dgeni | ||
Voir le projet exemple à l'adresse suivante https://github.com/petebacondarwin/dgeni-example |
@@ -36,3 +36,3 @@ var _ = require('lodash'); | ||
if ( typeof package === 'string' ) { package = new Package(package, dependencies); } | ||
if ( !(package instanceof Package) ) { throw new Error('package must be an instance of Package'); } | ||
if ( !(Package.isPackage(package)) ) { throw new Error('package must be an instance of Package'); } | ||
if ( this.packages[package.name] ) { | ||
@@ -45,3 +45,3 @@ throw new Error('The "' + package.name + '" package has already been loaded'); | ||
package.namedDependencies = package.dependencies.map(function(dependency) { | ||
if ( dependency instanceof Package ) { | ||
if ( Package.isPackage(dependency) ) { | ||
// Only load dependent package if not already loaded | ||
@@ -48,0 +48,0 @@ if ( !this.packages[dependency.name] ) { this.package(dependency); } |
@@ -37,3 +37,3 @@ var Dgeni = require('./Dgeni'); | ||
var newPackage = dgeni.package('test-package'); | ||
expect(newPackage instanceof Dgeni.Package).toBeTruthy(); | ||
expect(Dgeni.Package.isPackage(newPackage)).toBeTruthy(); | ||
}); | ||
@@ -40,0 +40,0 @@ it("should throw an error if the not passed an instance of Package or a string name", function() { |
@@ -0,1 +1,2 @@ | ||
var _ = require('lodash'); | ||
var Module = require('di').Module; | ||
@@ -16,3 +17,4 @@ | ||
this.configFns = []; | ||
this.module = new Module(); | ||
// We can't use a real di.Module here as di uses instanceof to detect module instances | ||
this.module = {}; | ||
} | ||
@@ -62,5 +64,5 @@ | ||
if (typeof processorDef === 'function' ) { | ||
this.module.factory(name, processorDef); | ||
this.module[name] = ['factory', processorDef]; | ||
} else { | ||
this.module.value(name, processorDef); | ||
this.module[name] = ['value', processorDef]; | ||
} | ||
@@ -101,3 +103,3 @@ | ||
this.module.factory(name, serviceFactory); | ||
this.module[name] = ['factory', serviceFactory]; | ||
return this; | ||
@@ -132,3 +134,3 @@ }; | ||
this.module.type(name, ServiceType); | ||
this.module[name] = ['type', ServiceType]; | ||
return this; | ||
@@ -153,2 +155,7 @@ }; | ||
Package.isPackage = function(package) { | ||
// Check the most important properties for dgeni to use a package | ||
return _.isString(package.name) && _.isArray(package.dependencies) && _.isObject(package.module); | ||
}; | ||
/** | ||
@@ -155,0 +162,0 @@ * @module Package |
@@ -32,2 +32,29 @@ var Package = require('./Package'); | ||
describe("isPackage", function() { | ||
it("should return true for instances of Package", function() { | ||
var realPackage = new Package('realPackage', ['dep1']); | ||
expect(Package.isPackage(realPackage)).toEqual(true); | ||
}); | ||
it("should return true for package-like objects", function() { | ||
var duckPackage = { | ||
name: 'duckPackage', | ||
module: {}, | ||
dependencies: ['dep1'] | ||
}; | ||
expect(Package.isPackage(duckPackage)).toEqual(true); | ||
}); | ||
it("should return false for non-package-like objects", function() { | ||
var nonPackage = { | ||
name: 'nonPackage', | ||
//module: {}, | ||
dependencies: ['dep1'] | ||
}; | ||
expect(Package.isPackage(nonPackage)).toEqual(false); | ||
}); | ||
it("should return false if passed a non-object", function() { | ||
var nonPackage = 'packageName'; | ||
expect(Package.isPackage(nonPackage)).toEqual(false); | ||
}); | ||
}); | ||
describe("processor()", function() { | ||
@@ -66,9 +93,5 @@ | ||
var package = new Package('packageName'); | ||
var count = 0; | ||
package.module.forEach(function() { count += 1; }); | ||
expect(count).toEqual(0); | ||
package.processor(function testProcessor() {}); | ||
package.module.forEach(function() { count += 1; }); | ||
expect(count).toEqual(1); | ||
var testProcessor = function testProcessor() {}; | ||
package.processor(testProcessor); | ||
expect(package.module.testProcessor).toEqual(['factory', testProcessor]); | ||
}); | ||
@@ -94,10 +117,6 @@ }); | ||
var package = new Package('packageName'); | ||
var count = 0; | ||
var testServiceFactory = function() {}; | ||
package.factory('testService', testServiceFactory); | ||
package.module.forEach(function(value) { | ||
count += 1; | ||
expect(value).toEqual(['testService', 'factory', testServiceFactory]); | ||
}); | ||
expect(count).toEqual(1); | ||
expect(package.module.testService).toEqual(['factory', testServiceFactory]); | ||
}); | ||
@@ -107,9 +126,5 @@ | ||
var package = new Package('packageName'); | ||
var count = 0; | ||
package.module.forEach(function() { count += 1; }); | ||
expect(count).toEqual(0); | ||
package.factory(function testService() {}); | ||
package.module.forEach(function() { count += 1; }); | ||
expect(count).toEqual(1); | ||
var testService = function testService() {}; | ||
package.factory(testService); | ||
expect(package.module.testService).toEqual(['factory', testService]); | ||
}); | ||
@@ -136,10 +151,5 @@ }); | ||
var package = new Package('packageName'); | ||
var count = 0; | ||
var TestService = function() {}; | ||
package.type('testService', TestService); | ||
package.module.forEach(function(value) { | ||
count += 1; | ||
expect(value).toEqual(['testService', 'type', TestService]); | ||
}); | ||
expect(count).toEqual(1); | ||
expect(package.module.testService).toEqual(['type', TestService]); | ||
}); | ||
@@ -149,9 +159,6 @@ | ||
var package = new Package('packageName'); | ||
var count = 0; | ||
package.module.forEach(function() { count += 1; }); | ||
expect(count).toEqual(0); | ||
package.type(function TestService() {}); | ||
package.module.forEach(function() { count += 1; }); | ||
expect(count).toEqual(1); | ||
var TestService = function TestService() {}; | ||
package.type(TestService); | ||
expect(package.module.TestService).toEqual(['type', TestService]); | ||
}); | ||
@@ -158,0 +165,0 @@ }); |
{ | ||
"name": "dgeni", | ||
"version": "0.4.0", | ||
"version": "0.4.1", | ||
"description": "Flexible JavaScript documentation generator used by AngularJS", | ||
@@ -5,0 +5,0 @@ "main": "lib/Dgeni.js", |
@@ -130,2 +130,3 @@ # Dgeni - Générateur de documentation [![Build Status](https://travis-ci.org/angular/dgeni.svg?branch=master)](https://travis-ci.org/angular/dgeni) | ||
**car.js** : | ||
```js | ||
@@ -150,3 +151,33 @@ module.exports = function car(function(engine, wheels) { | ||
### Enregistrement d'un Service | ||
Vous pouvez ensuite enregistrer le service avec un Package : | ||
**myPackage.js**: | ||
```jsv | ||
var Package = require('dgeni').Package; | ||
module.exports = new Package('myPackage') | ||
.factory(require('./car')); | ||
``` | ||
Ce Service de car est maintenant disponible pour n'importe quel autre bloc de service, de processeur ou de configuration : | ||
```js | ||
var Package = require('dgeni').Package; | ||
module.exports = new Package('greenTaxiPackage', ['myPackage']) | ||
.factory(function taxi(car) { | ||
return { | ||
orderTaxi: function(place) { car.driveTo(place); } | ||
}; | ||
}) | ||
.config(function(car) { | ||
car.fuel = 'hybrid'; | ||
}); | ||
``` | ||
## Processeurs | ||
@@ -179,3 +210,5 @@ | ||
return { | ||
$process: function (docs) { ... faire des choses avec les docs ... } | ||
$process: function (docs) { | ||
//... faire des choses avec les docs ... | ||
}, | ||
$runAfter: ['otherProcessor1'], | ||
@@ -188,2 +221,3 @@ $runBefore: ['otherProcessor2', 'otherProcessor3'], | ||
}; | ||
}; | ||
``` | ||
@@ -231,15 +265,20 @@ | ||
Le [dépôt dgeni-packages](https://github.com/angular/dgeni-packages) contient un grand nombre de Processeurs | ||
- de première necessité au plus complexe spécifique à angular.js. Ces processeurs sont regroupés dans des Packages : | ||
Le [dépôt dgeni-packages](https://github.com/angular/dgeni-packages) contient un grand nombre de Processeurs - | ||
de première necessité au plus complexe spécifique à angular.js. Ces processeurs sont regroupés dans des Packages : | ||
* `base` - contient des processeurs basiques de lecture et d'écriture de fichier, ainsi qu'un processeur | ||
de rendu abstrait. | ||
* `jsdoc` - dépend de `base` et ajoute des processeurs et des services pour supporter l'analyse et | ||
l'extraction de balise de commentaires jsdoc dans le code. | ||
* `nunjucks` - fournit un moteur de rendu bsé sur | ||
[nunjucks](http://mozilla.github.io/nunjucks/). | ||
* `ngdoc` - dépend de `jsdoc` et `nunjucks` et ajoute un traitement supplémentaire pour les | ||
extensions d'AngularJS à jsdoc. | ||
* `examples` - dépend de `jsdoc` et fournit les processeurs pour extraire des exemples des commentaires | ||
de jsdoc et les convertir en fichiers qui peuvent être exécutés. | ||
* `dgeni` - support pour la documentation des Packages de dgeni. | ||
@@ -246,0 +285,0 @@ |
@@ -31,3 +31,3 @@ # Dgeni - Documentation Generator [![Build Status](https://travis-ci.org/angular/dgeni.svg?branch=master)](https://travis-ci.org/angular/dgeni) | ||
To the run the processors we create a new instance of `Dgeni`, providing to it an array of **Packages** | ||
To run the processors we create a new instance of `Dgeni`, providing to it an array of **Packages** | ||
to load. Then simply call the `generate()` method on this instance. The `generate()` method runs the | ||
@@ -209,3 +209,5 @@ processors asynchronously and returns a **Promise** to the generated documents. | ||
return { | ||
$process: function (docs) { ... do stuff with the docs ... } | ||
$process: function (docs) { | ||
//... do stuff with the docs ... | ||
}, | ||
$runAfter: ['otherProcessor1'], | ||
@@ -218,2 +220,3 @@ $runBefore: ['otherProcessor2', 'otherProcessor3'], | ||
}; | ||
}; | ||
``` | ||
@@ -220,0 +223,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
329
108288
73
1069