UNPKG

veritatisdoloremque

Version:
17 lines 5.7 kB
"use strict"; /** * @license * Copyright 2020 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve){resolve(value)}))}return new(P||(P=Promise))((function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var __generator=this&&this.__generator||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}};exports.__esModule=true;exports.generateApi=void 0;var fs=require("fs");var path=require("path");var api_extractor_me_1=require("api-extractor-me");var tmp=require("tmp");var prune_dts_1=require("../../../repo-scripts/prune-dts/prune-dts");var baseApiExtractorConfigFile=path.resolve(__dirname,"../../../config/api-extractor.json");var reportFolder=path.resolve(__dirname,"../../../common/api-review");var tmpDir=tmp.dirSync().name;function writeTypescriptConfig(){var tsConfigJson={extends:path.resolve(__dirname,"../tsconfig.json"),include:[path.resolve(__dirname,"../src")],compilerOptions:{downlevelIteration:true}};fs.writeFileSync(path.resolve(tmpDir,"tsconfig.json"),JSON.stringify(tsConfigJson),{encoding:"utf-8"})}function writePackageJson(sdkVariant){var packageJson={name:"@firebase/firestore-"+sdkVariant};var packageJsonPath=path.resolve(tmpDir,"package.json");fs.writeFileSync(packageJsonPath,JSON.stringify(packageJson),{encoding:"utf-8"})}function loadApiExtractorConfig(typescriptDtsPath,rollupDtsPath,untrimmedRollupDtsPath,dtsRollupEnabled,apiReportEnabled){var apiExtractorJsonPath=path.resolve(tmpDir,"api-extractor.json");var apiExtractorJson={extends:baseApiExtractorConfigFile,mainEntryPointFilePath:typescriptDtsPath,dtsRollup:{enabled:dtsRollupEnabled,publicTrimmedFilePath:rollupDtsPath,untrimmedFilePath:untrimmedRollupDtsPath},tsdocMetadata:{enabled:false},apiReport:{enabled:apiReportEnabled,reportFolder:reportFolder},messages:{extractorMessageReporting:{"ae-missing-release-tag":{logLevel:"none"},"ae-unresolved-link":{logLevel:"none"},"ae-forgotten-export":{logLevel:apiReportEnabled?"error":"none"}},tsdocMessageReporting:{"tsdoc-undefined-tag":{logLevel:"none"}}}};fs.writeFileSync(apiExtractorJsonPath,JSON.stringify(apiExtractorJson),{encoding:"utf-8"});return api_extractor_me_1.ExtractorConfig.loadFileAndPrepare(apiExtractorJsonPath)}function generateApi(sdkVariant){return __awaiter(this,void 0,void 0,(function(){var typescriptDtsPath,rollupDtsPath,untrimmedRollupDtsPath,publicDtsPath,extractorConfig;return __generator(this,(function(_a){switch(_a.label){case 0:typescriptDtsPath=path.resolve(__dirname,"../dist/firestore/"+sdkVariant+"/index.d.ts");rollupDtsPath=path.resolve(__dirname,"../dist/"+sdkVariant+"/private.d.ts");untrimmedRollupDtsPath=path.resolve(__dirname,"../dist/"+sdkVariant+"/internal.d.ts");publicDtsPath=path.resolve(__dirname,"../dist/"+sdkVariant+"/index.d.ts");console.log("Running API Extractor configuration for firestore-"+sdkVariant+"...");writeTypescriptConfig();writePackageJson(sdkVariant);extractorConfig=loadApiExtractorConfig(typescriptDtsPath,rollupDtsPath,untrimmedRollupDtsPath,true,false);api_extractor_me_1.Extractor.invoke(extractorConfig,{localBuild:true});console.log("Generated rollup DTS");prune_dts_1.pruneDts(rollupDtsPath,publicDtsPath);console.log("Pruned DTS file");return[4,prune_dts_1.removeUnusedImports(publicDtsPath)];case 1:_a.sent();console.log("Removed unused imports");extractorConfig=loadApiExtractorConfig(publicDtsPath,rollupDtsPath,untrimmedRollupDtsPath,false,true);api_extractor_me_1.Extractor.invoke(extractorConfig,{localBuild:true});console.log("API report for firestore-"+sdkVariant+" written to "+reportFolder);return[2]}}))}))}exports.generateApi=generateApi;void generateApi("lite").then((function(){return generateApi("exp")}));