From 9362b8086e73d06180e7d11c1f5c0e57e38485db Mon Sep 17 00:00:00 2001 From: Mike Graham Date: Fri, 21 Aug 2015 14:38:31 -0600 Subject: [PATCH] feat(docs): generate api.json from .d.ts file --- build/tasks/doc.js | 33 ++++++++++++++++++++++++++------- doc/core-js.d.ts | 4 ++++ package.json | 10 ++++++++++ 3 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 doc/core-js.d.ts diff --git a/build/tasks/doc.js b/build/tasks/doc.js index ea027cb..2e113b1 100644 --- a/build/tasks/doc.js +++ b/build/tasks/doc.js @@ -1,14 +1,33 @@ var gulp = require('gulp'); -var tools = require('aurelia-tools'); var paths = require('../paths'); -var yuidoc = require('gulp-yuidoc'); +var typedoc = require('gulp-typedoc'); +var typedocExtractor = require('gulp-typedoc-extractor'); +var runSequence = require('run-sequence'); gulp.task('doc-generate', function(){ - return gulp.src(paths.source) - .pipe(yuidoc.parser(null, 'api.json')) - .pipe(gulp.dest(paths.doc)); + return gulp.src([paths.output + '*.d.ts', paths.doc + '/core-js.d.ts', './jspm_packages/github/aurelia/*/*.d.ts']) + .pipe(typedoc({ + target: 'es6', + includeDeclarations: true, + json: paths.doc + '/api.json', + name: paths.packageName + '-docs',  + mode: 'modules', + excludeExternals: true, + ignoreCompilerErrors: false, + version: true + })); }); -gulp.task('doc', ['doc-generate'], function(){ - tools.transformAPIModel(paths.doc); +gulp.task('doc-extract', function(){ + return gulp.src([paths.doc + '/api.json']) + .pipe(typedocExtractor(paths.packageName)) + .pipe(gulp.dest(paths.doc)); }); + +gulp.task('doc', function(callback){ + return runSequence( + 'doc-generate', + 'doc-extract', + callback + ); +}); \ No newline at end of file diff --git a/doc/core-js.d.ts b/doc/core-js.d.ts new file mode 100644 index 0000000..10117c9 --- /dev/null +++ b/doc/core-js.d.ts @@ -0,0 +1,4 @@ +declare module 'core-js' { + var coreJs; + export default coreJs; +} \ No newline at end of file diff --git a/package.json b/package.json index 4a72c4c..0c5fc23 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,13 @@ "format": "amd", "directories": { "lib": "dist/amd" + }, + "devDependencies": { + "babel": "npm:babel-core@^5.1.13", + "babel-runtime": "npm:babel-runtime@^5.1.13", + "core-js": "npm:core-js@^0.9.5", + "traceur": "github:jmcriffey/bower-traceur@0.0.91", + "traceur-runtime": "github:jmcriffey/bower-traceur-runtime@0.0.91" } }, "devDependencies": { @@ -34,6 +41,8 @@ "gulp-bump": "^0.3.1", "gulp-jshint": "^1.9.0", "gulp-rename": "^1.2.2", + "gulp-typedoc": "^1.2.1", + "gulp-typedoc-extractor": "^0.0.8", "gulp-yuidoc": "^0.1.2", "jasmine-core": "^2.1.3", "jshint-stylish": "^1.0.0", @@ -46,6 +55,7 @@ "object.assign": "^1.0.3", "require-dir": "^0.1.0", "run-sequence": "^1.0.2", + "vinyl": "^0.5.1", "vinyl-paths": "^1.0.0", "yargs": "^2.1.1" },