UNPKG

eva-sdk-js

Version:
62 lines (54 loc) 2.14 kB
"use strict"; var gulp = require( "gulp" ); gulp = require( "gulp-help" )( gulp ); var gutil = require( "gulp-util" ); var rimraf = require( "rimraf" ); var request = require( "request" ); var _ = require( "lodash" ); var fs = require( "fs" ); var gulpSequence = require( "gulp-sequence" ); gulp.task( "typings", "Retrieves EVA typings and updates tsconfig", function( callback ) { gulpSequence( "eva_typings", "tsconfig_files" )( callback ); } ); gulp.task( "eva_typings", "Downloads various EVA typings and writes them to disk", function( callback ) { var apiHost = "https://api.fth.test.eva-online.cloud"; // The main typings // gutil.log( "Fetching main typings... (" + apiHost + ")" ); request( apiHost + "/api/definition/typescript?useFilePerModule=true&useDeclareModule=true", function( error, response, body ) { if ( error ) { gutil.log( "Main typings fetch failed", error ); return error; } else { var mainTypings = JSON.parse( body ); gutil.log( "Retrieved main typings. Version:", mainTypings.version, " number of modules: ", mainTypings.modules.length ); // Purge the old typings // rimraf( "./typings/EVA.*.d.ts", function( error ) { if ( error ) { gutil.log( "Purge old files failed", error ); return error; } else { var addedModules = {}; _.each( mainTypings.modules, function( module ) { addedModules[ module.name ] = mainTypings.version; var filename = "./typings/" + module.name + ".d.ts"; fs.writeFileSync( filename, module.definitions.trim() ); gutil.log( "Added typing for", module.name, "->", filename ); } ); } } ) } } ); } );