docs: function ( config, actual ) {
  	// In this way, if any topic declare the compilerOptions this will not
  	// include in the tsconfig.json
  	if ( actual.compilerOptions !== undefined ) {
  	    
  	    if ( config.compilerOptions === undefined ) {
  		// Attach an empty object
  		config.compilerOptions = {};
  	    }
  	    // In the case that a descendant set a option already set,
  	    // the option will set at the value of descendant.
              if ( actual.compilerOptions.module !== undefined ) {
  		config.compilerOptions.module = actual.compilerOptions.module;
  		
  	    } if ( actual.compilerOptions.target !== undefined ) {
  		config.compilerOptions.target = actual.compilerOptions.target;
  		
  	    } if ( actual.compilerOptions.moduleResolution !== undefined ) {
  		config.compilerOptions.moduleResolution =
  		    actual.compilerOptions.moduleResolution;
  		
  	    } if ( actual.compilerOptions.noImplicitAny !== undefined ) {
  		config.compilerOptions.noImplicitAny =
  		    actual.compilerOptions.noImplicitAny;
  		
  	    } if ( actual.compilerOptions.removeComments !== undefined ) {
  		config.compilerOptions.removeComments =
  		    actual.compilerOptions.removeComments;
  		
  	    } if ( actual.compilerOptions.preserveConstEnums !== undefined ) {
  		config.compilerOptions.preserveConstEnums =
  		    actual.compilerOptions.preserveConstEnums;
  		
  	    } if ( actual.compilerOptions.outDir !== undefined ) {
  		config.compilerOptions.outDir =
  		    // Append a slash at the end of path because node return relative path
  		    // but tsconfig want the path with the slah final
  		    relative( actual.compilerOptions.outDir ) + "/";
  		
  	    } if ( actual.compilerOptions.outFile !== undefined ) {
  		config.compilerOptions.outFile =
  		    relative( actual.compilerOptions.outFile );
  
  	    } if ( actual.compilerOptions.sourceMap !== undefined ) {
  		config.compilerOptions.sourceMap =
  		    actual.compilerOptions.sourceMap;
  		
  	    } if ( actual.compilerOptions.declaration !== undefined ) {
  		config.compilerOptions.declaration =
  		    actual.compilerOptions.declaration;
  		
  	    } if ( actual.compilerOptions.noEmitOnError !== undefined ) {
  		config.compilerOptions.noEmitOnError =
  		    actual.compilerOptions.noEmitOnError;
  	    } if ( actual.compilerOptions.jsx !== undefined ) {
  		config.compilerOptions.jsx =
  		    actual.compilerOptions.jsx;
  	    }
  	    
  	} if ( actual.include !== undefined ) {
  
  	    if ( config.include === undefined ) {
  		// Attach an empty array
  		config.include = [];
  	    }
  
  	    // Push all relative path
  	    config.include = config.include.concat(
  		// Apply the transformation function
  		actual.include.map( relative )
  	    );
  	    
  	} if ( actual.exclude !== undefined ) {
  	    config.exclude = actual.exclude;
  	}
      }