Socket
Socket
Sign inDemoInstall

@microsoft/api-extractor

Package Overview
Dependencies
Maintainers
2
Versions
486
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@microsoft/api-extractor - npm Package Compare versions

Comparing version 2.3.7 to 2.3.8

lib/JsonFile.d.ts

55

CHANGELOG.json

@@ -5,15 +5,10 @@ {

{
"version": "2.3.7",
"tag": "@microsoft/api-extractor_v2.3.7",
"date": "Thu, 31 Aug 2017 17:46:25 GMT",
"version": "2.3.8",
"tag": "@microsoft/api-extractor_v2.3.8",
"date": "Thu, 31 Aug 2017 19:10:10 GMT",
"comments": {
"patch": [
{
"comment": "Fix issue where node-core-library was not an explicit dependency"
"comment": "Fix compatibility issues by reverting to the last known good state for this major release number"
}
],
"dependency": [
{
"comment": "Updating dependency \"@microsoft/node-core-library\" from `~0.2.0` to `~0.2.1`"
}
]

@@ -23,44 +18,2 @@ }

{
"version": "2.3.6",
"tag": "@microsoft/api-extractor_v2.3.6",
"date": "Wed, 30 Aug 2017 01:04:34 GMT",
"comments": {
"dependency": [
{
"comment": "Updating dependency \"@microsoft/node-core-library\" from `~0.1.3` to `~0.2.0`"
}
]
}
},
{
"version": "2.3.5",
"tag": "@microsoft/api-extractor_v2.3.5",
"date": "Thu, 24 Aug 2017 22:44:12 GMT",
"comments": {
"patch": [
{
"comment": "Update the schema validator."
}
]
}
},
{
"version": "2.3.4",
"tag": "@microsoft/api-extractor_v2.3.4",
"date": "Thu, 24 Aug 2017 01:04:33 GMT",
"comments": {}
},
{
"version": "2.3.3",
"tag": "@microsoft/api-extractor_v2.3.3",
"date": "Tue, 22 Aug 2017 13:04:22 GMT",
"comments": {
"patch": [
{
"comment": "Added \"api-documenter\" code sample"
}
]
}
},
{
"version": "2.3.2",

@@ -67,0 +20,0 @@ "tag": "@microsoft/api-extractor_v2.3.2",

# Change Log - @microsoft/api-extractor
This log was last generated on Thu, 31 Aug 2017 17:46:25 GMT and should not be manually modified.
This log was last generated on Thu, 31 Aug 2017 19:10:10 GMT and should not be manually modified.
## 2.3.7
Thu, 31 Aug 2017 17:46:25 GMT
## 2.3.8
Thu, 31 Aug 2017 19:10:10 GMT
### Patches
- Fix issue where node-core-library was not an explicit dependency
- Fix compatibility issues by reverting to the last known good state for this major release number
## 2.3.6
Wed, 30 Aug 2017 01:04:34 GMT
*Changes not tracked*
## 2.3.5
Thu, 24 Aug 2017 22:44:12 GMT
### Patches
- Update the schema validator.
## 2.3.4
Thu, 24 Aug 2017 01:04:33 GMT
*Changes not tracked*
## 2.3.3
Tue, 22 Aug 2017 13:04:22 GMT
### Patches
- Added "api-documenter" code sample
## 2.3.2

@@ -37,0 +13,0 @@ Tue, 15 Aug 2017 01:29:31 GMT

@@ -392,3 +392,3 @@ "use strict";

var typeReferencePackagePath = this.extractor.packageJsonLookup
.tryGetPackageFolder(sourceFile.fileName);
.tryFindPackagePathUpwards(sourceFile.fileName);
// Example: "@microsoft/sp-core-library"

@@ -403,3 +403,3 @@ var typeReferencePackageName = '';

typeReferencePackageName = this.extractor.packageJsonLookup
.getPackageName(typeReferencePackagePath);
.readPackageName(typeReferencePackagePath);
typingsScopeNames.every(function (typingScopeName) {

@@ -406,0 +406,0 @@ if (typeReferencePackageName.indexOf(typingScopeName) > -1) {

@@ -35,3 +35,3 @@ "use strict";

// The scoped package name. (E.g. "@microsoft/api-extractor")
_this.name = _this.extractor.packageJsonLookup.getPackageName(_this.extractor.packageFolder);
_this.name = _this.extractor.packageJsonLookup.readPackageName(_this.extractor.packageFolder);
var exportSymbols = _this.typeChecker.getExportsOfModule(_this.declarationSymbol);

@@ -38,0 +38,0 @@ if (exportSymbols) {

@@ -8,6 +8,5 @@ "use strict";

var path = require("path");
var node_core_library_1 = require("@microsoft/node-core-library");
var ApiItemContainer_1 = require("./definitions/ApiItemContainer");
var ResolvedApiItem_1 = require("./ResolvedApiItem");
var ApiJsonGenerator_1 = require("./generators/ApiJsonGenerator");
var JsonFile_1 = require("./JsonFile");
/**

@@ -170,6 +169,8 @@ * A loader for locating the IDocItem associated with a given project and API item, or

DocItemLoader.prototype.loadPackageIntoCache = function (apiJsonFilePath, cachePackageName) {
var apiPackage = node_core_library_1.JsonFile.loadAndValidateWithCallback(apiJsonFilePath, ApiJsonGenerator_1.default.jsonSchema, function (errorInfo) {
var errorMessage = path.basename(apiJsonFilePath) + ' does not conform to the expected schema.' + os.EOL
+ '(Was it created by an incompatible release of API Extractor?)' + os.EOL
+ errorInfo.details;
var apiPackage = JsonFile_1.default.loadJsonFile(apiJsonFilePath);
// Validate that the output conforms to our JSON schema
var apiJsonSchema = JsonFile_1.default.loadJsonFile(path.join(__dirname, './schemas/api-json-schema.json'));
JsonFile_1.default.validateSchema(apiPackage, apiJsonSchema, function (errorDetail) {
var errorMessage = "ApiJsonGenerator validation error - output does not conform to api-json-schema.json:" + os.EOL
+ errorDetail;
console.log(os.EOL + 'ERROR: ' + errorMessage + os.EOL + os.EOL);

@@ -176,0 +177,0 @@ throw new Error(errorMessage);

import * as ts from 'typescript';
import { PackageJsonLookup } from '@microsoft/node-core-library';
import ApiPackage from './definitions/ApiPackage';
import DocItemLoader from './DocItemLoader';
import PackageJsonLookup from './PackageJsonLookup';
export declare type ApiErrorHandler = (message: string, fileName: string, lineNumber: number) => void;

@@ -6,0 +6,0 @@ /**

@@ -8,5 +8,5 @@ "use strict";

var path = require("path");
var node_core_library_1 = require("@microsoft/node-core-library");
var ApiPackage_1 = require("./definitions/ApiPackage");
var DocItemLoader_1 = require("./DocItemLoader");
var PackageJsonLookup_1 = require("./PackageJsonLookup");
/**

@@ -23,3 +23,3 @@ * The main entry point for the "api-extractor" utility. The Analyzer object invokes the

this.docItemLoader = new DocItemLoader_1.default(options.compilerOptions.rootDir);
this.packageJsonLookup = new node_core_library_1.PackageJsonLookup();
this.packageJsonLookup = new PackageJsonLookup_1.default();
this.errorHandler = options.errorHandler || Extractor.defaultErrorHandler;

@@ -64,3 +64,3 @@ }

// This is guaranteed to succeed since we do check prior to this point
this._packageFolder = this.packageJsonLookup.tryGetPackageFolder(currentPath);
this._packageFolder = this.packageJsonLookup.tryFindPackagePathUpwards(currentPath);
this.package = new ApiPackage_1.default(this, rootFile); // construct members

@@ -67,0 +67,0 @@ this.package.completeInitialization(); // creates ApiDocumentation

@@ -1,2 +0,1 @@

import { JsonSchema } from '@microsoft/node-core-library';
import Extractor from '../Extractor';

@@ -31,7 +30,2 @@ import ApiStructuredType from '../definitions/ApiStructuredType';

private static _EXPORTS_KEY;
private static _jsonSchema;
/**
* The JSON schema for the *.api.json file format.
*/
static readonly jsonSchema: JsonSchema;
protected jsonOutput: Object;

@@ -38,0 +32,0 @@ writeJsonFile(reportFilename: string, extractor: Extractor): void;

@@ -18,3 +18,2 @@ "use strict";

var ts = require("typescript");
var node_core_library_1 = require("@microsoft/node-core-library");
var ApiItem_1 = require("../definitions/ApiItem");

@@ -24,2 +23,3 @@ var ApiItemVisitor_1 = require("../ApiItemVisitor");

var ApiDocumentation_1 = require("../definitions/ApiDocumentation");
var JsonFile_1 = require("../JsonFile");
var ApiJsonFile_1 = require("./ApiJsonFile");

@@ -44,24 +44,12 @@ /**

}
Object.defineProperty(ApiJsonGenerator, "jsonSchema", {
/**
* The JSON schema for the *.api.json file format.
*/
get: function () {
if (!ApiJsonGenerator._jsonSchema) {
ApiJsonGenerator._jsonSchema = node_core_library_1.JsonSchema.fromFile(path.join(__dirname, '../schemas/api-json-schema.json'));
}
return ApiJsonGenerator._jsonSchema;
},
enumerable: true,
configurable: true
});
ApiJsonGenerator.prototype.writeJsonFile = function (reportFilename, extractor) {
this.visit(extractor.package, this.jsonOutput);
// Write the output before validating the schema, so we can debug it
node_core_library_1.JsonFile.save(this.jsonOutput, reportFilename);
JsonFile_1.default.saveJsonFile(reportFilename, this.jsonOutput);
// Validate that the output conforms to our JSON schema
ApiJsonGenerator.jsonSchema.validateObjectWithCallback(this.jsonOutput, function (errorInfo) {
var errorMessage = path.basename(reportFilename)
+ " does not conform to the expected schema -- please report this API Extractor bug:"
+ os.EOL + errorInfo.details;
var apiJsonSchema = JsonFile_1.default.loadJsonFile(path.join(__dirname, '../schemas/api-json-schema.json'));
JsonFile_1.default.validateSchema(this.jsonOutput, apiJsonSchema, function (errorDetail) {
var errorMessage = "ApiJsonGenerator validation error - output does not conform to api-json-schema.json:" + os.EOL
+ reportFilename + os.EOL
+ errorDetail;
console.log(os.EOL + 'ERROR: ' + errorMessage + os.EOL + os.EOL);

@@ -294,3 +282,2 @@ throw new Error(errorMessage);

ApiJsonGenerator._EXPORTS_KEY = 'exports';
ApiJsonGenerator._jsonSchema = undefined;
return ApiJsonGenerator;

@@ -297,0 +284,0 @@ }(ApiItemVisitor_1.default));

@@ -19,5 +19,5 @@ "use strict";

var path = require("path");
var node_core_library_1 = require("@microsoft/node-core-library");
var DocElementParser_1 = require("../DocElementParser");
var TestFileComparer_1 = require("../TestFileComparer");
var JsonFile_1 = require("../JsonFile");
var ApiDocumentation_1 = require("../definitions/ApiDocumentation");

@@ -95,4 +95,4 @@ var Extractor_1 = require("./../Extractor");

var actualSummary = DocElementParser_1.default.parse(myDocumentedClass.documentation, tokenizer);
node_core_library_1.JsonFile.save(JSON.stringify(expectedSummary), './lib/basicDocExpected.json');
node_core_library_1.JsonFile.save(JSON.stringify(actualSummary), './lib/basicDocActual.json');
JsonFile_1.default.saveJsonFile('./lib/basicDocExpected.json', JSON.stringify(expectedSummary));
JsonFile_1.default.saveJsonFile('./lib/basicDocActual.json', JSON.stringify(actualSummary));
TestFileComparer_1.default.assertFileMatchesExpected('./lib/basicDocActual.json', './lib/basicDocExpected.json');

@@ -105,4 +105,4 @@ // Testing Returns Doc Elements

var actualReturn = DocElementParser_1.default.parse(myDocumentedClass.documentation, tokenizer);
node_core_library_1.JsonFile.save(JSON.stringify(expectedReturn), './lib/returnDocExpected.json');
node_core_library_1.JsonFile.save(JSON.stringify(actualReturn), './lib/returnDocActual.json');
JsonFile_1.default.saveJsonFile('./lib/returnDocExpected.json', JSON.stringify(expectedReturn));
JsonFile_1.default.saveJsonFile('./lib/returnDocActual.json', JSON.stringify(actualReturn));
TestFileComparer_1.default.assertFileMatchesExpected('./lib/returnDocActual.json', './lib/returnDocExpected.json');

@@ -125,4 +125,4 @@ // Testing Params Doc Elements

actualParam.push(apiDoc.parseParam(tokenizer));
node_core_library_1.JsonFile.save(JSON.stringify(expectedParam), './lib/paramDocExpected.json');
node_core_library_1.JsonFile.save(JSON.stringify(actualParam), './lib/paramDocActual.json');
JsonFile_1.default.saveJsonFile('./lib/paramDocExpected.json', JSON.stringify(expectedParam));
JsonFile_1.default.saveJsonFile('./lib/paramDocActual.json', JSON.stringify(actualParam));
TestFileComparer_1.default.assertFileMatchesExpected('./lib/paramDocActual.json', './lib/paramDocExpected.json');

@@ -141,4 +141,4 @@ assertCapturedErrors([]);

var actualDeprecated = DocElementParser_1.default.parse(myDocumentedClass.documentation, tokenizer);
node_core_library_1.JsonFile.save(JSON.stringify(expectedDeprecated), './lib/deprecatedDocExpected.json');
node_core_library_1.JsonFile.save(JSON.stringify(actualDeprecated), './lib/deprecatedDocActual.json');
JsonFile_1.default.saveJsonFile('./lib/deprecatedDocExpected.json', JSON.stringify(expectedDeprecated));
JsonFile_1.default.saveJsonFile('./lib/deprecatedDocActual.json', JSON.stringify(actualDeprecated));
TestFileComparer_1.default.assertFileMatchesExpected('./lib/deprecatedDocActual.json', './lib/deprecatedDocExpected.json');

@@ -168,4 +168,4 @@ assertCapturedErrors([]);

var actualSummary = DocElementParser_1.default.parse(myDocumentedClass.documentation, tokenizer);
node_core_library_1.JsonFile.save(JSON.stringify(expectedSummary), './lib/seeDocExpected.json');
node_core_library_1.JsonFile.save(JSON.stringify(actualSummary), './lib/seeDocActual.json');
JsonFile_1.default.saveJsonFile('./lib/seeDocExpected.json', JSON.stringify(expectedSummary));
JsonFile_1.default.saveJsonFile('./lib/seeDocActual.json', JSON.stringify(actualSummary));
TestFileComparer_1.default.assertFileMatchesExpected('./lib/seeDocExpected.json', './lib/seeDocActual.json');

@@ -196,4 +196,4 @@ assertCapturedErrors([]);

var actualParam = apiDoc.parseParam(tokenizer);
node_core_library_1.JsonFile.save(JSON.stringify(expectedParam), './lib/nestedParamDocExpected.json');
node_core_library_1.JsonFile.save(JSON.stringify(actualParam), './lib/nestedParamDocActual.json');
JsonFile_1.default.saveJsonFile('./lib/nestedParamDocExpected.json', JSON.stringify(expectedParam));
JsonFile_1.default.saveJsonFile('./lib/nestedParamDocActual.json', JSON.stringify(actualParam));
TestFileComparer_1.default.assertFileMatchesExpected('./lib/nestedParamDocActual.json', './lib/nestedParamDocExpected.json');

@@ -200,0 +200,0 @@ assertCapturedErrors([]);

@@ -17,3 +17,3 @@ "use strict";

var chai_1 = require("chai");
var node_core_library_1 = require("@microsoft/node-core-library");
var JsonFile_1 = require("../JsonFile");
var TestFileComparer_1 = require("../TestFileComparer");

@@ -56,4 +56,4 @@ var Token_1 = require("../Token");

var actualTokens = testTokenizer.tokenizeDocs(docs);
node_core_library_1.JsonFile.save(JSON.stringify(expectedTokens), './lib/tokenizeDocsExpected.json');
node_core_library_1.JsonFile.save(JSON.stringify(actualTokens), './lib/tokenizeDocsActual.json');
JsonFile_1.default.saveJsonFile('./lib/tokenizeDocsExpected.json', JSON.stringify(expectedTokens));
JsonFile_1.default.saveJsonFile('./lib/tokenizeDocsActual.json', JSON.stringify(actualTokens));
TestFileComparer_1.default.assertFileMatchesExpected('./lib/tokenizeDocsActual.json', './lib/tokenizeDocsExpected.json');

@@ -60,0 +60,0 @@ });

{
"name": "@microsoft/api-extractor",
"version": "2.3.7",
"version": "2.3.8",
"description": "Validate, document, and review the exported API for a TypeScript library",

@@ -29,4 +29,11 @@ "keywords": [

},
"devDependencies": {
"@types/chai": "3.4.34",
"@types/mocha": "2.2.38",
"chai": "~3.5.0",
"gulp": "~3.9.1",
"mocha": "~3.4.2",
"@microsoft/node-library-build": "~3.2.0"
},
"dependencies": {
"@microsoft/node-core-library": "~0.2.1",
"@types/es6-collections": "0.5.29",

@@ -39,12 +46,4 @@ "@types/fs-extra": "0.0.37",

"typescript": "~2.4.1",
"z-schema": "~3.18.3"
},
"devDependencies": {
"@types/chai": "3.4.34",
"@types/mocha": "2.2.38",
"chai": "~3.5.0",
"gulp": "~3.9.1",
"mocha": "~3.4.2",
"@microsoft/node-library-build": "~3.2.0"
"z-schema": "~3.17.0"
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc