Skip to content

Commit

Permalink
fix(ast): write ast and dump at main code
Browse files Browse the repository at this point in the history
  • Loading branch information
h13i32maru committed Feb 19, 2017
1 parent cc0dd1b commit c0740cf
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 46 deletions.
21 changes: 18 additions & 3 deletions src/ESDoc.js
@@ -1,4 +1,4 @@
import fs from 'fs';
import fs from 'fs-extra';
import path from 'path';
import assert from 'assert';
import Logger from 'color-logger';
Expand All @@ -25,7 +25,7 @@ export default class ESDoc {
/**
* Generate documentation.
* @param {ESDocConfig} config - config for generation.
* @param {function(results: Object[], asts: Object[], config: ESDocConfig)} publisher - callback for output html.
* @param {function(results: Object[], config: ESDocConfig)} publisher - callback for output html.
*/
static generate(config, publisher) {
assert(typeof publisher === 'function');
Expand Down Expand Up @@ -94,8 +94,23 @@ export default class ESDoc {

results = Plugin.onHandleTag(results);

fs.removeSync(config.destination);

// dump.json
{
const dumpPath = path.resolve(config.destination, 'dump.json');
fs.outputFileSync(dumpPath, JSON.stringify(results, null, 2));
}

// ast
for (const ast of asts) {
const json = JSON.stringify(ast.ast, null, 2);
const filePath = path.resolve(config.destination, `ast/${ast.filePath}.json`);
fs.outputFileSync(filePath, json);
}

try {
publisher(results, asts, config);
publisher(results, config);
} catch (e) {
InvalidCodeLogger.showError(e);
process.exit(1);
Expand Down
29 changes: 0 additions & 29 deletions src/Publisher/Builder/ASTDocBuilder.js

This file was deleted.

13 changes: 1 addition & 12 deletions src/Publisher/publish.js
Expand Up @@ -9,7 +9,6 @@ import ClassDocBuilder from './Builder/ClassDocBuilder.js';
import SingleDocBuilder from './Builder/SingleDocBuilder.js';
import FileDocBuilder from './Builder/FileDocBuilder.js';
import SearchIndexBuilder from './Builder/SearchIndexBuilder.js';
import ASTDocBuilder from './Builder/ASTDocBuilder.js';
import SourceDocBuilder from './Builder/SourceDocBuilder.js';
import TestDocBuilder from './Builder/TestDocBuilder.js';
import TestFileDocBuilder from './Builder/TestFileDocBuilder.js';
Expand All @@ -19,15 +18,11 @@ import Plugin from '../Plugin/Plugin.js';
/**
* publish document as HTML.
* @param {DocObject[]} values - all doc objects.
* @param {AST[]} asts - all ASTs.
* @param {ESDocConfig} config - ESDoc config object.
*/
export default function publish(values, asts, config) {
export default function publish(values, config) {
IceCap.debug = !!config.debug;

const dumpPath = path.resolve(config.destination, 'dump.json');
fs.outputFileSync(dumpPath, JSON.stringify(values, null, 2));

const data = taffy(values);

function log(text) {
Expand All @@ -53,11 +48,6 @@ export default function publish(values, asts, config) {
fs.outputFileSync(filePath, badge, {encoding: 'utf8'});
}

function writeAST(astJSON, fileName) {
const filePath = path.resolve(config.destination, fileName);
fs.outputFileSync(filePath, astJSON, {encoding: 'utf8'});
}

function copy(srcPath, destPath) {
log(`output: ${destPath}`);
fs.copySync(srcPath, path.resolve(config.destination, destPath));
Expand All @@ -79,7 +69,6 @@ export default function publish(values, asts, config) {
new FileDocBuilder(data, config).exec(writeHTML);
new StaticFileBuilder(data, config).exec(copy);
new SearchIndexBuilder(data, config).exec(writeJS);
new ASTDocBuilder(data, asts, config).exec(writeAST);
new SourceDocBuilder(data, config, coverage).exec(writeHTML);
new ManualDocBuilder(data, config).exec(writeHTML, copy, writeBadge);

Expand Down
2 changes: 0 additions & 2 deletions test/src/init.js
Expand Up @@ -8,8 +8,6 @@ const configJSON = fs.readFileSync(configFilePath, {encode: 'utf8'});
const config = JSON.parse(configJSON);

ESDoc.generate(config, (data, asts, config)=>{
fs.removeSync(config.destination);

const db = taffy(data);
db.find = function(...cond) {
return db(...cond).map(v => v);
Expand Down

0 comments on commit c0740cf

Please sign in to comment.