diff --git a/apps/api-documenter/package.json b/apps/api-documenter/package.json index ee0ec92301f..7f29bab2286 100644 --- a/apps/api-documenter/package.json +++ b/apps/api-documenter/package.json @@ -18,7 +18,7 @@ "@microsoft/api-extractor-model": "7.0.28", "@microsoft/node-core-library": "3.13.0", "@microsoft/ts-command-line": "4.2.3", - "@microsoft/tsdoc": "0.12.8", + "@microsoft/tsdoc": "0.12.9", "colors": "~1.2.1", "js-yaml": "~3.9.1" }, diff --git a/apps/api-extractor-model/package.json b/apps/api-extractor-model/package.json index 030ece359d9..ef40d94af0f 100644 --- a/apps/api-extractor-model/package.json +++ b/apps/api-extractor-model/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "@microsoft/node-core-library": "3.13.0", - "@microsoft/tsdoc": "0.12.8", + "@microsoft/tsdoc": "0.12.9", "@types/node": "8.5.8" }, "devDependencies": { diff --git a/apps/api-extractor/package.json b/apps/api-extractor/package.json index 95b969e070e..1a4972cecc3 100644 --- a/apps/api-extractor/package.json +++ b/apps/api-extractor/package.json @@ -38,7 +38,7 @@ "@microsoft/api-extractor-model": "7.0.28", "@microsoft/node-core-library": "3.13.0", "@microsoft/ts-command-line": "4.2.3", - "@microsoft/tsdoc": "0.12.8", + "@microsoft/tsdoc": "0.12.9", "colors": "~1.2.1", "lodash": "~4.17.5", "resolve": "1.8.1", diff --git a/apps/api-extractor/src/api/CompilerState.ts b/apps/api-extractor/src/api/CompilerState.ts index 1922f73c759..91b2d2ff9cd 100644 --- a/apps/api-extractor/src/api/CompilerState.ts +++ b/apps/api-extractor/src/api/CompilerState.ts @@ -52,13 +52,13 @@ export class CompilerState { let tsconfig: {} | undefined = extractorConfig.overrideTsconfig; if (!tsconfig) { // If it wasn't overridden, then load it from disk - tsconfig = JsonFile.load(path.join(extractorConfig.rootFolder, 'tsconfig.json')); + tsconfig = JsonFile.load(path.join(extractorConfig.projectFolder, 'tsconfig.json')); } const commandLine: ts.ParsedCommandLine = ts.parseJsonConfigFileContent( tsconfig, ts.sys, - extractorConfig.rootFolder + extractorConfig.projectFolder ); if (!commandLine.options.skipLibCheck && extractorConfig.skipLibCheck) { diff --git a/apps/api-extractor/src/api/ExtractorConfig.ts b/apps/api-extractor/src/api/ExtractorConfig.ts index bd4efedc92d..1b98d4e42bd 100644 --- a/apps/api-extractor/src/api/ExtractorConfig.ts +++ b/apps/api-extractor/src/api/ExtractorConfig.ts @@ -13,7 +13,8 @@ import { INodePackageJson, PackageName, Text, - InternalError + InternalError, + Path } from '@microsoft/node-core-library'; import { IConfigFile, @@ -41,7 +42,7 @@ interface IExtractorConfigTokenContext { */ packageName: string; - rootFolder: string; + projectFolder: string; } /** @@ -61,7 +62,7 @@ export interface IExtractorConfigPrepareOptions { * * @remarks * - * If this is omitted, then the `rootFolder` must not be specified using the `` token. + * If this is omitted, then the `projectFolder` must not be specified using the `` token. */ configObjectFullPath: string | undefined; @@ -89,7 +90,7 @@ export interface IExtractorConfigPrepareOptions { } interface IExtractorConfigParameters { - rootFolder: string; + projectFolder: string; packageJson: INodePackageJson | undefined; packageJsonFullPath: string | undefined; mainEntryPointFile: string; @@ -131,8 +132,8 @@ export class ExtractorConfig { private static readonly _declarationFileExtensionRegExp: RegExp = /\.d\.ts$/i; - /** {@inheritDoc IConfigCompiler.rootFolder} */ - public readonly rootFolder: string; + /** {@inheritDoc IConfigFile.projectFolder} */ + public readonly projectFolder: string; /** * The parsed package.json file for the working package, or undefined if API Extractor was invoked without @@ -189,7 +190,7 @@ export class ExtractorConfig { public readonly testMode: boolean; private constructor(parameters: IExtractorConfigParameters) { - this.rootFolder = parameters.rootFolder; + this.projectFolder = parameters.projectFolder; this.packageJson = parameters.packageJson; this.packageJsonFullPath = parameters.packageJsonFullPath; this.mainEntryPointFile = parameters.mainEntryPointFile; @@ -218,7 +219,10 @@ export class ExtractorConfig { if (!path.isAbsolute(absolutePath)) { throw new InternalError('Expected absolute path: ' + absolutePath); } - return path.relative(this.rootFolder, absolutePath).replace(/\\/g, '/'); + if (Path.isUnderOrEqual(absolutePath, this.projectFolder)) { + return path.relative(this.projectFolder, absolutePath).replace(/\\/g, '/'); + } + return absolutePath; } /** @@ -259,13 +263,11 @@ export class ExtractorConfig { // Set to keep track of config files which have been processed. const visitedPaths: Set = new Set(); - // Get absolute path of config file. let currentConfigFilePath: string = path.resolve(process.cwd(), jsonFilePath); - - let configObject: Partial = JsonFile.load(currentConfigFilePath); + let configObject: Partial = { }; try { - while (configObject.extends) { + do { // Check if this file was already processed. if (visitedPaths.has(currentConfigFilePath)) { throw new Error(`The API Extractor config files contain a cycle. "${currentConfigFilePath}"` @@ -275,32 +277,46 @@ export class ExtractorConfig { const currentConfigFolderPath: string = path.dirname(currentConfigFilePath); - if (configObject.extends.match(/^\.\.?[\\/]/)) { - // EXAMPLE: "./subfolder/api-extractor-base.json" - currentConfigFilePath = path.resolve(currentConfigFolderPath, configObject.extends); - } else { - // EXAMPLE: "my-package/api-extractor-base.json" - // - // Resolve "my-package" from the perspective of the current folder. - currentConfigFilePath = resolve.sync( - configObject.extends, - { - basedir: currentConfigFolderPath - } - ); - } - // Load the extractor config defined in extends property. const baseConfig: IConfigFile = JsonFile.load(currentConfigFilePath); - // Delete the "extends" field, since we've already expanded it - delete configObject.extends; + let extendsField: string = baseConfig.extends || ''; + + // Delete the "extends" field so it doesn't get merged + delete baseConfig.extends; + + if (extendsField) { + if (extendsField.match(/^\.\.?[\\/]/)) { + // EXAMPLE: "./subfolder/api-extractor-base.json" + extendsField = path.resolve(currentConfigFolderPath, extendsField); + } else { + // EXAMPLE: "my-package/api-extractor-base.json" + // + // Resolve "my-package" from the perspective of the current folder. + try { + extendsField = resolve.sync( + extendsField, + { + basedir: currentConfigFolderPath + } + ); + } catch (e) { + throw new Error(`Error resolving NodeJS path "${extendsField}": ${e.message}`); + } + } + } + + // This step has to be performed in advance, since the currentConfigFolderPath information will be lost + // after lodash.merge() is performed. + ExtractorConfig._resolveConfigFileRelativePaths(baseConfig, currentConfigFolderPath); // Merge extractorConfig into baseConfig, mutating baseConfig lodash.merge(baseConfig, configObject); - configObject = baseConfig; - } + + currentConfigFilePath = extendsField; + } while (currentConfigFilePath); + } catch (e) { throw new Error(`Error loading ${currentConfigFilePath}:\n` + e.message); } @@ -314,6 +330,73 @@ export class ExtractorConfig { return configObject as IConfigFile; } + private static _resolveConfigFileRelativePaths(configFile: IConfigFile, currentConfigFolderPath: string): void { + + if (configFile.projectFolder) { + configFile.projectFolder = ExtractorConfig._resolveConfigFileRelativePath( + 'projectFolder', configFile.projectFolder, currentConfigFolderPath); + } + + if (configFile.mainEntryPointFile) { + configFile.mainEntryPointFile = ExtractorConfig._resolveConfigFileRelativePath( + 'mainEntryPointFile', configFile.mainEntryPointFile, currentConfigFolderPath); + } + + if (configFile.apiReport) { + if (configFile.apiReport.reportFolder) { + configFile.apiReport.reportFolder = ExtractorConfig._resolveConfigFileRelativePath( + 'reportFolder', configFile.apiReport.reportFolder, currentConfigFolderPath); + } + if (configFile.apiReport.reportTempFolder) { + configFile.apiReport.reportTempFolder = ExtractorConfig._resolveConfigFileRelativePath( + 'reportTempFolder', configFile.apiReport.reportTempFolder, currentConfigFolderPath); + } + } + + if (configFile.docModel) { + if (configFile.docModel.apiJsonFilePath) { + configFile.docModel.apiJsonFilePath = ExtractorConfig._resolveConfigFileRelativePath( + 'apiJsonFilePath', configFile.docModel.apiJsonFilePath, currentConfigFolderPath); + } + } + + if (configFile.dtsRollup) { + if (configFile.dtsRollup.untrimmedFilePath) { + configFile.dtsRollup.untrimmedFilePath = ExtractorConfig._resolveConfigFileRelativePath( + 'untrimmedFilePath', configFile.dtsRollup.untrimmedFilePath, currentConfigFolderPath); + } + if (configFile.dtsRollup.betaTrimmedFilePath) { + configFile.dtsRollup.betaTrimmedFilePath = ExtractorConfig._resolveConfigFileRelativePath( + 'betaTrimmedFilePath', configFile.dtsRollup.betaTrimmedFilePath, currentConfigFolderPath); + } + if (configFile.dtsRollup.publicTrimmedFilePath) { + configFile.dtsRollup.publicTrimmedFilePath = ExtractorConfig._resolveConfigFileRelativePath( + 'publicTrimmedFilePath', configFile.dtsRollup.publicTrimmedFilePath, currentConfigFolderPath); + } + } + + if (configFile.tsdocMetadata) { + if (configFile.tsdocMetadata.tsdocMetadataFilePath) { + configFile.tsdocMetadata.tsdocMetadataFilePath = ExtractorConfig._resolveConfigFileRelativePath( + 'tsdocMetadataFilePath', configFile.tsdocMetadata.tsdocMetadataFilePath, currentConfigFolderPath); + } + } + } + + private static _resolveConfigFileRelativePath(fieldName: string, fieldValue: string, + currentConfigFolderPath: string): string { + + if (!path.isAbsolute(fieldValue)) { + if (fieldValue.indexOf('') !== 0) { + // If the path is not absolute and does not start with "", then resolve it relative + // to the folder of the config file that it appears in + return path.join(currentConfigFolderPath, fieldValue); + } + } + + return fieldValue; + } + /** * Prepares an `ExtractorConfig` object using a configuration that is provided as a runtime object, * rather than reading it from disk. This allows configurations to be constructed programmatically, @@ -323,6 +406,10 @@ export class ExtractorConfig { const filenameForErrors: string = options.configObjectFullPath || 'the configuration object'; const configObject: Partial = options.configObject; + if (configObject.extends) { + throw new Error('The IConfigFile.extends field must be expanded before calling ExtractorConfig.prepare()'); + } + if (options.configObjectFullPath) { if (!path.isAbsolute(options.configObjectFullPath)) { throw new Error('configObjectFullPath must be an absolute path'); @@ -355,12 +442,17 @@ export class ExtractorConfig { throw new Error('The "compiler" section is missing'); } - let rootFolder: string; - if (configObject.compiler.rootFolder.trim() === '') { + if (!configObject.projectFolder) { + // A merged configuration should have this + throw new Error('The "projectFolder" field is missing'); + } + + let projectFolder: string; + if (configObject.projectFolder.trim() === '') { if (!options.configObjectFullPath) { throw new Error('The "" token cannot be expanded because configObjectFullPath was not specified'); } - // "The default value for `rootFolder` is the token ``, which means the folder is determined + // "The default value for `projectFolder` is the token ``, which means the folder is determined // by traversing parent folders, starting from the folder containing api-extractor.json, and stopping // at the first folder that contains a tsconfig.json file. If a tsconfig.json file cannot be found in // this way, then an error will be reported." @@ -369,34 +461,30 @@ export class ExtractorConfig { for (; ; ) { const tsconfigPath: string = path.join(currentFolder, 'tsconfig.json'); if (FileSystem.exists(tsconfigPath)) { - rootFolder = currentFolder; + projectFolder = currentFolder; break; } const parentFolder: string = path.dirname(currentFolder); if (parentFolder === '' || parentFolder === currentFolder) { - throw new Error('The rootFolder was set to "", but a tsconfig.json file cannot be' + throw new Error('The projectFolder was set to "", but a tsconfig.json file cannot be' + ' found in this folder or any parent folder.'); } currentFolder = parentFolder; } } else { - if (!configObject.compiler.rootFolder) { - throw new Error('The rootFolder must be specified'); - } + ExtractorConfig._rejectAnyTokensInPath(configObject.projectFolder, 'projectFolder'); - ExtractorConfig._rejectAnyTokensInPath(configObject.compiler.rootFolder, 'rootFolder'); - - if (!FileSystem.exists(configObject.compiler.rootFolder)) { - throw new Error('The specified rootFolder does not exist: ' + configObject.compiler.rootFolder); + if (!FileSystem.exists(configObject.projectFolder)) { + throw new Error('The specified projectFolder does not exist: ' + configObject.projectFolder); } - rootFolder = configObject.compiler.rootFolder; + projectFolder = configObject.projectFolder; } const tokenContext: IExtractorConfigTokenContext = { unscopedPackageName: 'unknown-package', packageName: 'unknown-package', - rootFolder + projectFolder: projectFolder }; if (packageJson) { @@ -464,11 +552,11 @@ export class ExtractorConfig { if (tsdocMetadataFilePath.trim() === '') { if (!packageJson) { - throw new Error('The "" token cannot be used with compiler.rootFolder because' + throw new Error('The "" token cannot be used with compiler.projectFolder because' + 'the "packageJson" option was not provided'); } if (!packageJsonFullPath) { - throw new Error('The "" token cannot be used with compiler.rootFolder because' + throw new Error('The "" token cannot be used with compiler.projectFolder because' + 'the "packageJsonFullPath" option was not provided'); } tsdocMetadataFilePath = PackageMetadataManager.resolveTsdocMetadataPath( @@ -502,7 +590,7 @@ export class ExtractorConfig { } return new ExtractorConfig({ - rootFolder, + projectFolder: projectFolder, packageJson, packageJsonFullPath, mainEntryPointFile, @@ -533,7 +621,7 @@ export class ExtractorConfig { value = ExtractorConfig._expandStringWithTokens(fieldName, value, tokenContext); if (value !== '') { - value = path.resolve(tokenContext.rootFolder, value); + value = path.resolve(tokenContext.projectFolder, value); } return value; } @@ -544,6 +632,19 @@ export class ExtractorConfig { if (value !== '') { value = Text.replaceAll(value, '', tokenContext.unscopedPackageName); value = Text.replaceAll(value, '', tokenContext.packageName); + + const projectFolderToken: string = ''; + if (value.indexOf(projectFolderToken) === 0) { + // Replace "" at the start of a string + value = path.join(tokenContext.projectFolder, value.substr(projectFolderToken.length)); + } + + if (value.indexOf(projectFolderToken) >= 0) { + // If after all replacements, "" appears somewhere in the string, report an error + throw new Error(`The ${fieldName} value incorrectly uses the "" token.` + + ` It must appear at the start of the string.`); + } + if (value.indexOf('') >= 0) { throw new Error(`The ${fieldName} value incorrectly uses the "" token`); } @@ -560,7 +661,7 @@ export class ExtractorConfig { } /** - * Given a path string that may have originally contained expandable tokens such as `"` + * Given a path string that may have originally contained expandable tokens such as `"` * this reports an error if any token-looking substrings remain after expansion (e.g. `c:\blah\\blah`). */ private static _rejectAnyTokensInPath(value: string, fieldName: string): void { diff --git a/apps/api-extractor/src/api/IConfigFile.ts b/apps/api-extractor/src/api/IConfigFile.ts index 26b0d7b8dc1..6f5289d4c52 100644 --- a/apps/api-extractor/src/api/IConfigFile.ts +++ b/apps/api-extractor/src/api/IConfigFile.ts @@ -13,21 +13,6 @@ import { ExtractorLogLevel } from './ExtractorLogLevel'; */ export interface IConfigCompiler { - /** - * The root folder for the project. This folder typically contains the tsconfig.json and package.json - * config files. - * - * @remarks - * - * The `rootFolder` path is resolved relative to the folder containing api-extractor.json. - * - * The default value for `rootFolder` is the token ``, which means the folder is determined by traversing - * parent folders, starting from the folder containing api-extractor.json, and stopping at the first folder - * that contains a tsconfig.json file. If a tsconfig.json file cannot be found in this way, then an error - * will be reported. - */ - rootFolder: string; - /** * Provides already parsed tsconfig.json contents. * @@ -36,7 +21,7 @@ export interface IConfigCompiler { * * http://json.schemastore.org/tsconfig * - * If omitted, then the tsconfig.json file will instead be read from the rootFolder. + * If omitted, then the tsconfig.json file will instead be read from the projectFolder. */ overrideTsconfig?: { }; @@ -77,25 +62,27 @@ export interface IConfigApiReport { /** * Specifies the folder where the API report file is written. The file name portion is determined by - * the "reportFileName" setting. + * the `reportFileName` setting. * * @remarks * The API report file is normally tracked by Git. Changes to it can be used to trigger a branch policy, * e.g. for an API review. * - * The path is resolved relative to the `rootFolder` location. + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as ``. */ reportFolder?: string; /** * Specifies the folder where the temporary report file is written. The file name portion is determined by - * the "reportFileName" setting. + * the `reportFileName` setting. * * @remarks * After the temporary file is written to disk, it is compared with the file in the `reportFolder`. * If they are different, a production build will fail. * - * The path is resolved relative to the `rootFolder` location. + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as ``. */ reportTempFolder?: string; } @@ -115,11 +102,11 @@ export interface IConfigDocModel { enabled: boolean; /** - * The output path for the doc model file. + * The output path for the doc model file. The file extension should be ".api.json". * * @remarks - * The file extension should be ".api.json". - * The path is resolved relative to the `rootFolder` location. + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as ``. */ apiJsonFilePath?: string; } @@ -146,7 +133,8 @@ export interface IConfigDtsRollup { * * If the path is an empty string, then this file will not be written. * - * The path is resolved relative to the `rootFolder` location. + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as ``. */ untrimmedFilePath?: string; @@ -156,9 +144,8 @@ export interface IConfigDtsRollup { * @remarks * This file will include only declarations that are marked as `@public` or `@beta`. * - * If the path is an empty string, then this file will not be written. - * - * The path is resolved relative to the `rootFolder` location. + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as ``. */ betaTrimmedFilePath?: string; @@ -170,7 +157,8 @@ export interface IConfigDtsRollup { * * If the path is an empty string, then this file will not be written. * - * The path is resolved relative to the `rootFolder` location. + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as ``. */ publicTrimmedFilePath?: string; } @@ -193,9 +181,12 @@ export interface IConfigTsdocMetadata { * Specifies where the TSDoc metadata file should be written. * * @remarks + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as ``. + * * The default value is ``, which causes the path to be automatically inferred from the `tsdocMetadata`, * `typings` or `main` fields of the project's package.json. If none of these fields are set, the lookup - * falls back to `./tsdoc-metadata.json`. + * falls back to `tsdoc-metadata.json` in the package folder. */ tsdocMetadataFilePath?: string; } @@ -218,9 +209,9 @@ export interface IConfigMessageReportingRule { logLevel: ExtractorLogLevel; /** - * If API Extractor is configured to write an API report file (.api.md), then the message will be written - * inside that file. If the API report file is NOT being written, then the message is instead logged according - * to the `logLevel` option. + * When `addToApiReportFile` is true: If API Extractor is configured to write an API report file (.api.md), + * then the message will be written inside that file; otherwise, the message is instead logged according to + * the `logLevel` option. */ addToApiReportFile?: boolean; } @@ -277,11 +268,31 @@ export interface IExtractorMessagesConfig { */ export interface IConfigFile { /** - * Path to json config file from which config should extend. - * The path specified in this field is relative to current config file path. + * Optionally specifies another JSON config file that this file extends from. This provides a way for + * standard settings to be shared across multiple projects. + * + * @remarks + * If the path starts with `./` or `../`, the path is resolved relative to the folder of the file that contains + * the `extends` field. Otherwise, the first path segment is interpreted as an NPM package name, and will be + * resolved using NodeJS `require()`. */ extends?: string; + /** + * Determines the `` token that can be used with other config file settings. The project folder + * typically contains the tsconfig.json and package.json config files, but the path is user-defined. + * + * @remarks + * + * The path is resolved relative to the folder of the config file that contains the setting. + * + * The default value for `projectFolder` is the token ``, which means the folder is determined by traversing + * parent folders, starting from the folder containing api-extractor.json, and stopping at the first folder + * that contains a tsconfig.json file. If a tsconfig.json file cannot be found in this way, then an error + * will be reported. + */ + projectFolder?: string; + /** * Specifies the .d.ts file to be used as the starting point for analysis. API Extractor * analyzes the symbols exported by this module. @@ -289,7 +300,7 @@ export interface IConfigFile { * @remarks * * The file extension must be ".d.ts" and not ".ts". - * The path is resolved relative to the "rootFolder" location. + * The path is resolved relative to the "projectFolder" location. */ mainEntryPointFile: string; diff --git a/apps/api-extractor/src/schemas/api-extractor-defaults.json b/apps/api-extractor/src/schemas/api-extractor-defaults.json index 46a3e0ed9d6..d4a59c7bf94 100644 --- a/apps/api-extractor/src/schemas/api-extractor-defaults.json +++ b/apps/api-extractor/src/schemas/api-extractor-defaults.json @@ -1,27 +1,28 @@ { // ("mainEntryPointFile" is required) + "projectFolder": "", + "compiler": { - "rootFolder": "", "skipLibCheck": false }, "apiReport": { // ("enabled" is required) "reportFileName": ".api.md", - "reportFolder": "etc/", - "reportTempFolder": "temp/" + "reportFolder": "/etc/", + "reportTempFolder": "/temp/" }, "docModel": { // ("enabled" is required) - "apiJsonFilePath": "temp/.api.json" + "apiJsonFilePath": "/temp/.api.json" }, "dtsRollup": { // ("enabled" is required) - "untrimmedFilePath": "dist/.d.ts", + "untrimmedFilePath": "/dist/.d.ts", "betaTrimmedFilePath": "", "publicTrimmedFilePath": "" }, diff --git a/apps/api-extractor/src/schemas/api-extractor-template.json b/apps/api-extractor/src/schemas/api-extractor-template.json index 4c62a87422e..111b71b2b4e 100644 --- a/apps/api-extractor/src/schemas/api-extractor-template.json +++ b/apps/api-extractor/src/schemas/api-extractor-template.json @@ -8,50 +8,56 @@ * Optionally specifies another JSON config file that this file extends from. This provides a way for * standard settings to be shared across multiple projects. * - * If the path starts with "./" or "../", the path is resolved relative to the folder of the file with + * If the path starts with "./" or "../", the path is resolved relative to the folder of the file that contains * the "extends" field. Otherwise, the first path segment is interpreted as an NPM package name, and will be * resolved using NodeJS require(). * + * SUPPORTED TOKENS: none * DEFAULT VALUE: "" */ // "extends": "./shared/api-extractor-base.json" // "extends": "my-package/include/api-extractor-base.json" /** - * (REQUIRED) Specifies the .d.ts file to be used as the starting point for analysis. API Extractor - * analyzes the symbols exported by this module. - * - * The file extension must be ".d.ts" and not ".ts". - * The path is resolved relative to the "rootFolder" location described below. - */ - "mainEntryPointFile": "lib/index.d.ts", + * Determines the "" token that can be used with other config file settings. The project folder + * typically contains the tsconfig.json and package.json config files, but the path is user-defined. + * + * The path is resolved relative to the folder of the config file that contains the setting. + * + * The default value for "projectFolder" is the token "", which means the folder is determined by traversing + * parent folders, starting from the folder containing api-extractor.json, and stopping at the first folder + * that contains a tsconfig.json file. If a tsconfig.json file cannot be found in this way, then an error + * will be reported. + * + * SUPPORTED TOKENS: + * DEFAULT VALUE: "" + */ + // "projectFolder": "", + + /** + * (REQUIRED) Specifies the .d.ts file to be used as the starting point for analysis. API Extractor + * analyzes the symbols exported by this module. + * + * The file extension must be ".d.ts" and not ".ts". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + */ + "mainEntryPointFile": "/lib/index.d.ts", /** * Determines how the TypeScript compiler engine will be invoked by API Extractor. */ "compiler": { - /** - * The root folder for the project. This folder typically contains the tsconfig.json and package.json - * config files. - * - * The "rootFolder" path is resolved relative to the folder containing api-extractor.json. - * - * The default value for "rootFolder" is the token "", which means the folder is determined by traversing - * parent folders, starting from the folder containing api-extractor.json, and stopping at the first folder - * that contains a tsconfig.json file. If a tsconfig.json file cannot be found in this way, then an error - * will be reported. - * - * DEFAULT VALUE: "" - */ - // "rootFolder": "", - /** * Provides compiler configuration that will be used instead of reading the tsconfig.json file from disk. * The object must conform to the TypeScript tsconfig schema: * * http://json.schemastore.org/tsconfig * - * If omitted, then the tsconfig.json file will be read from the rootFolder. + * If omitted, then the tsconfig.json file will be read from the "projectFolder". * * DEFAULT VALUE: no overrideTsconfig section */ @@ -81,10 +87,11 @@ /** * The filename for the API report files. It will be combined with "reportFolder" or "reportTempFolder" to produce - * a full output filename. + * a full file path. * * The file extension should be ".api.md", and the string should not contain a path separator such as "\" or "/". * + * SUPPORTED TOKENS: , * DEFAULT VALUE: ".api.md" */ // "reportFileName": ".api.md", @@ -96,11 +103,13 @@ * The API report file is normally tracked by Git. Changes to it can be used to trigger a branch policy, * e.g. for an API review. * - * The path is resolved relative to the "rootFolder" location. + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". * - * DEFAULT VALUE: "etc/" + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/etc/" */ - // "reportFolder": "etc/", + // "reportFolder": "/etc/", /** * Specifies the folder where the temporary report file is written. The file name portion is determined by @@ -109,11 +118,13 @@ * After the temporary file is written to disk, it is compared with the file in the "reportFolder". * If they are different, a production build will fail. * - * The path is resolved relative to the "rootFolder" location. + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". * - * DEFAULT VALUE: "temp/" + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/temp/" */ - // "reportTempFolder": "temp/" + // "reportTempFolder": "/temp/" }, /** @@ -128,11 +139,13 @@ /** * The output path for the doc model file. The file extension should be ".api.json". * - * The path is resolved relative to the "rootFolder" location. + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". * - * DEFAULT VALUE: "temp/.api.json" + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/temp/.api.json" */ - // "apiJsonFilePath": "temp/.api.json" + // "apiJsonFilePath": "/temp/.api.json" }, /** @@ -150,23 +163,25 @@ * * If the path is an empty string, then this file will not be written. * - * The path is resolved relative to the "rootFolder" location. + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". * - * DEFAULT VALUE: "dist/.d.ts" + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/dist/.d.ts" */ - // "untrimmedFilePath": "dist/.d.ts", + // "untrimmedFilePath": "/dist/.d.ts", /** * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "beta" release. * This file will include only declarations that are marked as "@public" or "@beta". * - * If the path is an empty string, then this file will not be written. - * - * The path is resolved relative to the "rootFolder" location. + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". * + * SUPPORTED TOKENS: , , * DEFAULT VALUE: "" */ - // "betaTrimmedFilePath": "dist/-beta.d.ts", + // "betaTrimmedFilePath": "/dist/-beta.d.ts", /** @@ -175,11 +190,13 @@ * * If the path is an empty string, then this file will not be written. * - * The path is resolved relative to the "rootFolder" location. + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". * + * SUPPORTED TOKENS: , , * DEFAULT VALUE: "" */ - // "publicTrimmedFilePath": "dist/-public.d.ts", + // "publicTrimmedFilePath": "/dist/-public.d.ts", }, /** @@ -196,13 +213,17 @@ /** * Specifies where the TSDoc metadata file should be written. * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * * The default value is "", which causes the path to be automatically inferred from the "tsdocMetadata", * "typings" or "main" fields of the project's package.json. If none of these fields are set, the lookup * falls back to "tsdoc-metadata.json" in the package folder. * + * SUPPORTED TOKENS: , , * DEFAULT VALUE: "" */ - // "tsdocMetadataFilePath": "dist/tsdoc-metadata.json" + // "tsdocMetadataFilePath": "/dist/tsdoc-metadata.json" }, /** @@ -236,7 +257,7 @@ * * DEFAULT VALUE: "warning" */ - // "logLevel": "warning", + "logLevel": "warning", /** * When addToApiReportFile is true: If API Extractor is configured to write an API report file (.api.md), @@ -265,7 +286,7 @@ */ "extractorMessageReporting": { "default": { - // "logLevel": "warning", + "logLevel": "warning", // "addToApiReportFile": false }, @@ -286,7 +307,7 @@ */ "tsdocMessageReporting": { "default": { - // "logLevel": "warning", + "logLevel": "warning", // "addToApiReportFile": false } diff --git a/apps/api-extractor/src/schemas/api-extractor.schema.json b/apps/api-extractor/src/schemas/api-extractor.schema.json index 86eb462ab78..bc42fe06c46 100644 --- a/apps/api-extractor/src/schemas/api-extractor.schema.json +++ b/apps/api-extractor/src/schemas/api-extractor.schema.json @@ -13,8 +13,13 @@ "type": "string" }, + "projectFolder": { + "description": "Determines the \"\" token that can be used with other config file settings. The project folder typically contains the tsconfig.json and package.json config files, but the path is user-defined. The path is resolved relative to the folder of the config file that contains the setting. The default value for \"projectFolder\" is the token \"\", which means the folder is determined by traversing parent folders, starting from the folder containing api-extractor.json, and stopping at the first folder that contains a tsconfig.json file. If a tsconfig.json file cannot be found in this way, then an error will be reported.", + "type": "string" + }, + "mainEntryPointFile": { - "description": "Specifies the .d.ts file to be used as the starting point for analysis. API Extractor analyzes the symbols exported by this module. The path is resolved relative to the \"rootFolder\" location.", + "description": "Specifies the .d.ts file to be used as the starting point for analysis. API Extractor analyzes the symbols exported by this module. The file extension must be \".d.ts\" and not \".ts\". The path is resolved relative to the folder of the config file that contains the setting; to change this, prepend a folder token such as \"\".", "type": "string" }, @@ -22,12 +27,8 @@ "description": "Determines how the TypeScript compiler engine will be invoked by API Extractor.", "type": "object", "properties": { - "rootFolder": { - "description": "The root folder for the project. This folder typically contains the tsconfig.json and package.json config files. The rootFolder path is resolved relative to the folder containing api-extractor.json. The default value for rootFolder is the token \"\", which means the folder is determined by traversing parent folders, starting from the folder containing api-extractor.json, and stopping at the first folder that contains a tsconfig.json file. If a tsconfig.json file cannot be found in this way, then an error will be reported.", - "type": "string" - }, "overrideTsconfig": { - "description": "Provides already parsed tsconfig.json contents conforming to the TypeScript tsconfig schema: http://json.schemastore.org/tsconfig If omitted, then the tsconfig.json file will be read from the rootFolder.", + "description": "Provides already parsed tsconfig.json contents conforming to the TypeScript tsconfig schema: http://json.schemastore.org/tsconfig If omitted, then the tsconfig.json file will be read from the \"projectFolder\".", "type": "object" }, "skipLibCheck": { @@ -48,17 +49,17 @@ }, "reportFileName": { - "description": "The filename for the API report files. It will be combined with \"reportFolder\" or \"reportTempFolder\" to produce a full output filename. The file extension should be \".api.md\", and the string should not contain a path separator such as \"\\\" or \"/\".", + "description": "The filename for the API report files. It will be combined with \"reportFolder\" or \"reportTempFolder\" to produce a full file path. The file extension should be \".api.md\", and the string should not contain a path separator such as \"\\\" or \"/\".", "type": "string" }, "reportFolder": { - "description": "Specifies the folder where the API report file is written. The file name portion is determined by the \"reportFileName\" setting. The API report file is normally tracked by Git. Changes to it can be used to trigger a branch policy, e.g. for an API review. The path is resolved relative to the \"rootFolder\" location.", + "description": "Specifies the folder where the API report file is written. The file name portion is determined by the \"reportFileName\" setting. The API report file is normally tracked by Git. Changes to it can be used to trigger a branch policy, e.g. for an API review. The path is resolved relative to the folder of the config file that contains the setting; to change this, prepend a folder token such as \"\".", "type": "string" }, "reportTempFolder": { - "description": "Specifies the folder where the temporary report file is written. The file name portion is determined by the \"reportFileName\" setting. fter the temporary file is written to disk, it is compared with the file in the \"reportFolder\". If they are different, a production build will fail. The path is resolved relative to the \"rootFolder\" location.", + "description": "Specifies the folder where the temporary report file is written. The file name portion is determined by the \"reportFileName\" setting. After the temporary file is written to disk, it is compared with the file in the \"reportFolder\". If they are different, a production build will fail. The path is resolved relative to the folder of the config file that contains the setting; to change this, prepend a folder token such as \"\".", "type": "string" } @@ -76,7 +77,7 @@ "type": "boolean" }, "apiJsonFilePath": { - "description": "The output path for the doc model file. The file extension should be \".api.json\". The path is resolved relative to the \"rootFolder\" location.", + "description": "The output path for the doc model file. The file extension should be \".api.json\". The path is resolved relative to the folder of the config file that contains the setting; to change this, prepend a folder token such as \"\".", "type": "string" } }, @@ -93,15 +94,15 @@ "type": "boolean" }, "untrimmedFilePath": { - "description": "Specifies the output path for a .d.ts rollup file to be generated without any trimming. This file will include all declarations that are exported by the main entry point. If the path is an empty string, then this file will not be written. The path is resolved relative to the \"rootFolder\" location.", + "description": "Specifies the output path for a .d.ts rollup file to be generated without any trimming. This file will include all declarations that are exported by the main entry point. If the path is an empty string, then this file will not be written. The path is resolved relative to the folder of the config file that contains the setting; to change this, prepend a folder token such as \"\".", "type": "string" }, "betaTrimmedFilePath": { - "description": "Specifies the output path for a .d.ts rollup file to be generated with trimming for a \"beta\" release. This file will include only declarations that are marked as \"@public\" or \"@beta\". If the path is an empty string, then this file will not be written. The path is resolved relative to the \"rootFolder\" location.", + "description": "Specifies the output path for a .d.ts rollup file to be generated with trimming for a \"beta\" release. This file will include only declarations that are marked as \"@public\" or \"@beta\". The path is resolved relative to the folder of the config file that contains the setting; to change this, prepend a folder token such as \"\".", "type": "string" }, "publicTrimmedFilePath": { - "description": "Specifies the output path for a .d.ts rollup file to be generated with trimming for a \"public\" release. This file will include only declarations that are marked as \"@public\". If the path is an empty string, then this file will not be written. The path is resolved relative to the \"rootFolder\" location.", + "description": "Specifies the output path for a .d.ts rollup file to be generated with trimming for a \"public\" release. This file will include only declarations that are marked as \"@public\". If the path is an empty string, then this file will not be written. The path is resolved relative to the folder of the config file that contains the setting; to change this, prepend a folder token such as \"\".", "type": "string" } }, @@ -118,7 +119,7 @@ "type": "boolean" }, "tsdocMetadataFilePath": { - "description": "Specifies where the TSDoc metadata file should be written. The default value is \"\", which causes the path to be automatically inferred from the \"tsdocMetadata\", \"typings\" or \"main\" fields of the project's package.json. If none of these fields are set, the lookup falls back to \"tsdoc-metadata.json\" in the package folder.", + "description": "Specifies where the TSDoc metadata file should be written. The path is resolved relative to the folder of the config file that contains the setting; to change this, prepend a folder token such as \"\". The default value is \"\", which causes the path to be automatically inferred from the \"tsdocMetadata\", \"typings\" or \"main\" fields of the project's package.json. If none of these fields are set, the lookup falls back to \"tsdoc-metadata.json\" in the package folder.", "type": "string" } }, diff --git a/apps/rush-lib/config/api-extractor.json b/apps/rush-lib/config/api-extractor.json index 1a5e8c0cf2a..f821577765b 100644 --- a/apps/rush-lib/config/api-extractor.json +++ b/apps/rush-lib/config/api-extractor.json @@ -1,11 +1,11 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, - "reportFolder": "../../common/reviews/api" + "reportFolder": "../../../common/reviews/api" }, "docModel": { diff --git a/build-tests/api-documenter-test/config/api-extractor.json b/build-tests/api-documenter-test/config/api-extractor.json index 7c860a6a8e3..899686dc842 100644 --- a/build-tests/api-documenter-test/config/api-extractor.json +++ b/build-tests/api-documenter-test/config/api-extractor.json @@ -1,7 +1,7 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, @@ -9,7 +9,7 @@ "docModel": { "enabled": true, - "apiJsonFilePath": "./etc/.api.json" + "apiJsonFilePath": "/etc/.api.json" }, "dtsRollup": { diff --git a/build-tests/api-extractor-lib1-test/config/api-extractor.json b/build-tests/api-extractor-lib1-test/config/api-extractor.json index 74390add79c..cb0b5b51fa7 100644 --- a/build-tests/api-extractor-lib1-test/config/api-extractor.json +++ b/build-tests/api-extractor-lib1-test/config/api-extractor.json @@ -1,7 +1,7 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, diff --git a/build-tests/api-extractor-lib2-test/config/api-extractor.json b/build-tests/api-extractor-lib2-test/config/api-extractor.json index 74390add79c..cb0b5b51fa7 100644 --- a/build-tests/api-extractor-lib2-test/config/api-extractor.json +++ b/build-tests/api-extractor-lib2-test/config/api-extractor.json @@ -1,7 +1,7 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, diff --git a/build-tests/api-extractor-lib3-test/config/api-extractor.json b/build-tests/api-extractor-lib3-test/config/api-extractor.json index 74390add79c..cb0b5b51fa7 100644 --- a/build-tests/api-extractor-lib3-test/config/api-extractor.json +++ b/build-tests/api-extractor-lib3-test/config/api-extractor.json @@ -1,7 +1,7 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, diff --git a/build-tests/api-extractor-scenarios/src/runScenarios.ts b/build-tests/api-extractor-scenarios/src/runScenarios.ts index 7dcd26e8103..e46fdf908d1 100644 --- a/build-tests/api-extractor-scenarios/src/runScenarios.ts +++ b/build-tests/api-extractor-scenarios/src/runScenarios.ts @@ -21,8 +21,8 @@ export function runScenarios(buildConfigPath: string): void { // TODO: Eliminate this workaround // See GitHub issue https://github.com/Microsoft/web-build-tools/issues/1017 for (const scenarioFolderName of buildConfig.scenarioFolderNames) { - const entryPoint: string = `./lib/${scenarioFolderName}/index.d.ts`; - entryPoints.push(path.resolve(entryPoint)); + const entryPoint: string = path.resolve(`./lib/${scenarioFolderName}/index.d.ts`); + entryPoints.push(entryPoint); const apiExtractorJson = { '$schema': 'https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json', @@ -31,17 +31,17 @@ export function runScenarios(buildConfigPath: string): void { 'apiReport': { 'enabled': true, - 'reportFolder': `./etc/test-outputs/${scenarioFolderName}` + 'reportFolder': `/etc/test-outputs/${scenarioFolderName}` }, 'dtsRollup': { 'enabled': true, - 'untrimmedFilePath': `./etc/test-outputs/${scenarioFolderName}/rollup.d.ts` + 'untrimmedFilePath': `/etc/test-outputs/${scenarioFolderName}/rollup.d.ts` }, 'docModel': { 'enabled': true, - 'apiJsonFilePath': `./etc/test-outputs/${scenarioFolderName}/.api.json` + 'apiJsonFilePath': `/etc/test-outputs/${scenarioFolderName}/.api.json` }, 'messages': { diff --git a/build-tests/api-extractor-test-01/config/api-extractor.json b/build-tests/api-extractor-test-01/config/api-extractor.json index 11ed7d28dff..44d95e33321 100644 --- a/build-tests/api-extractor-test-01/config/api-extractor.json +++ b/build-tests/api-extractor-test-01/config/api-extractor.json @@ -1,7 +1,7 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, @@ -14,8 +14,8 @@ "dtsRollup": { "enabled": true, - "betaTrimmedFilePath": "./dist/-beta.d.ts", - "publicTrimmedFilePath": "./dist/-public.d.ts" + "betaTrimmedFilePath": "/dist/-beta.d.ts", + "publicTrimmedFilePath": "/dist/-public.d.ts" }, "testMode": true diff --git a/build-tests/api-extractor-test-02/config/api-extractor.json b/build-tests/api-extractor-test-02/config/api-extractor.json index 11ed7d28dff..44d95e33321 100644 --- a/build-tests/api-extractor-test-02/config/api-extractor.json +++ b/build-tests/api-extractor-test-02/config/api-extractor.json @@ -1,7 +1,7 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, @@ -14,8 +14,8 @@ "dtsRollup": { "enabled": true, - "betaTrimmedFilePath": "./dist/-beta.d.ts", - "publicTrimmedFilePath": "./dist/-public.d.ts" + "betaTrimmedFilePath": "/dist/-beta.d.ts", + "publicTrimmedFilePath": "/dist/-public.d.ts" }, "testMode": true diff --git a/build-tests/api-extractor-test-04/config/api-extractor.json b/build-tests/api-extractor-test-04/config/api-extractor.json index 11ed7d28dff..44d95e33321 100644 --- a/build-tests/api-extractor-test-04/config/api-extractor.json +++ b/build-tests/api-extractor-test-04/config/api-extractor.json @@ -1,7 +1,7 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, @@ -14,8 +14,8 @@ "dtsRollup": { "enabled": true, - "betaTrimmedFilePath": "./dist/-beta.d.ts", - "publicTrimmedFilePath": "./dist/-public.d.ts" + "betaTrimmedFilePath": "/dist/-beta.d.ts", + "publicTrimmedFilePath": "/dist/-public.d.ts" }, "testMode": true diff --git a/build-tests/web-library-build-test/config/api-extractor.json b/build-tests/web-library-build-test/config/api-extractor.json index 43498d75cd6..ae9326656a7 100644 --- a/build-tests/web-library-build-test/config/api-extractor.json +++ b/build-tests/web-library-build-test/config/api-extractor.json @@ -1,11 +1,11 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/test.d.ts", + "mainEntryPointFile": "/lib/test.d.ts", "apiReport": { "enabled": true, - "reportFolder": "../../common/reviews/api" + "reportFolder": "../../../common/reviews/api" }, "docModel": { diff --git a/common/changes/@microsoft/api-documenter/octogonz-ae-relative-paths_2019-04-11-04-21.json b/common/changes/@microsoft/api-documenter/octogonz-ae-relative-paths_2019-04-11-04-21.json new file mode 100644 index 00000000000..cddc05c5a56 --- /dev/null +++ b/common/changes/@microsoft/api-documenter/octogonz-ae-relative-paths_2019-04-11-04-21.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "packageName": "@microsoft/api-documenter", + "type": "none" + } + ], + "packageName": "@microsoft/api-documenter", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@microsoft/api-extractor-model/octogonz-ae-relative-paths_2019-04-11-04-21.json b/common/changes/@microsoft/api-extractor-model/octogonz-ae-relative-paths_2019-04-11-04-21.json new file mode 100644 index 00000000000..eef35956723 --- /dev/null +++ b/common/changes/@microsoft/api-extractor-model/octogonz-ae-relative-paths_2019-04-11-04-21.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "packageName": "@microsoft/api-extractor-model", + "type": "none" + } + ], + "packageName": "@microsoft/api-extractor-model", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@microsoft/api-extractor/octogonz-ae-relative-paths_2019-04-09-17-22.json b/common/changes/@microsoft/api-extractor/octogonz-ae-relative-paths_2019-04-09-17-22.json new file mode 100644 index 00000000000..114202a86cf --- /dev/null +++ b/common/changes/@microsoft/api-extractor/octogonz-ae-relative-paths_2019-04-09-17-22.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@microsoft/api-extractor", + "comment": "(Breaking change) Paths that appear in api-extractor.json are now resolved relative to the config file unless prefixed with the \"\" token", + "type": "patch" + } + ], + "packageName": "@microsoft/api-extractor", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@microsoft/api-extractor/octogonz-ae-relative-paths_2019-04-11-04-12.json b/common/changes/@microsoft/api-extractor/octogonz-ae-relative-paths_2019-04-11-04-12.json new file mode 100644 index 00000000000..e58418ca42c --- /dev/null +++ b/common/changes/@microsoft/api-extractor/octogonz-ae-relative-paths_2019-04-11-04-12.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "@microsoft/api-extractor", + "comment": "THIS IS A RELEASE CANDIDATE FOR API-EXTRACTOR 7", + "type": "patch" + } + ], + "packageName": "@microsoft/api-extractor", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@microsoft/gulp-core-build-sass/octogonz-ae-relative-paths_2019-04-11-04-12.json b/common/changes/@microsoft/gulp-core-build-sass/octogonz-ae-relative-paths_2019-04-11-04-12.json new file mode 100644 index 00000000000..a52d79536a1 --- /dev/null +++ b/common/changes/@microsoft/gulp-core-build-sass/octogonz-ae-relative-paths_2019-04-11-04-12.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "packageName": "@microsoft/gulp-core-build-sass", + "type": "none" + } + ], + "packageName": "@microsoft/gulp-core-build-sass", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@microsoft/gulp-core-build-serve/octogonz-ae-relative-paths_2019-04-11-04-12.json b/common/changes/@microsoft/gulp-core-build-serve/octogonz-ae-relative-paths_2019-04-11-04-12.json new file mode 100644 index 00000000000..52914f2d77c --- /dev/null +++ b/common/changes/@microsoft/gulp-core-build-serve/octogonz-ae-relative-paths_2019-04-11-04-12.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "packageName": "@microsoft/gulp-core-build-serve", + "type": "none" + } + ], + "packageName": "@microsoft/gulp-core-build-serve", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@microsoft/gulp-core-build-webpack/octogonz-ae-relative-paths_2019-04-11-04-12.json b/common/changes/@microsoft/gulp-core-build-webpack/octogonz-ae-relative-paths_2019-04-11-04-12.json new file mode 100644 index 00000000000..da1260b77b1 --- /dev/null +++ b/common/changes/@microsoft/gulp-core-build-webpack/octogonz-ae-relative-paths_2019-04-11-04-12.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "packageName": "@microsoft/gulp-core-build-webpack", + "type": "none" + } + ], + "packageName": "@microsoft/gulp-core-build-webpack", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@microsoft/loader-load-themed-styles/octogonz-ae-relative-paths_2019-04-11-04-12.json b/common/changes/@microsoft/loader-load-themed-styles/octogonz-ae-relative-paths_2019-04-11-04-12.json new file mode 100644 index 00000000000..7c2390defd2 --- /dev/null +++ b/common/changes/@microsoft/loader-load-themed-styles/octogonz-ae-relative-paths_2019-04-11-04-12.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "packageName": "@microsoft/loader-load-themed-styles", + "type": "none" + } + ], + "packageName": "@microsoft/loader-load-themed-styles", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@microsoft/node-library-build/octogonz-ae-relative-paths_2019-04-11-04-12.json b/common/changes/@microsoft/node-library-build/octogonz-ae-relative-paths_2019-04-11-04-12.json new file mode 100644 index 00000000000..8ee8be44c73 --- /dev/null +++ b/common/changes/@microsoft/node-library-build/octogonz-ae-relative-paths_2019-04-11-04-12.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "packageName": "@microsoft/node-library-build", + "type": "none" + } + ], + "packageName": "@microsoft/node-library-build", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@microsoft/package-deps-hash/octogonz-ae-relative-paths_2019-04-11-04-12.json b/common/changes/@microsoft/package-deps-hash/octogonz-ae-relative-paths_2019-04-11-04-12.json new file mode 100644 index 00000000000..4c13de4ab8d --- /dev/null +++ b/common/changes/@microsoft/package-deps-hash/octogonz-ae-relative-paths_2019-04-11-04-12.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "packageName": "@microsoft/package-deps-hash", + "type": "none" + } + ], + "packageName": "@microsoft/package-deps-hash", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@microsoft/resolve-chunk-plugin/octogonz-ae-relative-paths_2019-04-11-04-12.json b/common/changes/@microsoft/resolve-chunk-plugin/octogonz-ae-relative-paths_2019-04-11-04-12.json new file mode 100644 index 00000000000..bab4770e0e1 --- /dev/null +++ b/common/changes/@microsoft/resolve-chunk-plugin/octogonz-ae-relative-paths_2019-04-11-04-12.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "packageName": "@microsoft/resolve-chunk-plugin", + "type": "none" + } + ], + "packageName": "@microsoft/resolve-chunk-plugin", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@microsoft/rush/octogonz-ae-relative-paths_2019-04-11-04-12.json b/common/changes/@microsoft/rush/octogonz-ae-relative-paths_2019-04-11-04-12.json new file mode 100644 index 00000000000..adfb27a1ff3 --- /dev/null +++ b/common/changes/@microsoft/rush/octogonz-ae-relative-paths_2019-04-11-04-12.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "packageName": "@microsoft/rush", + "type": "none" + } + ], + "packageName": "@microsoft/rush", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@microsoft/set-webpack-public-path-plugin/octogonz-ae-relative-paths_2019-04-11-04-12.json b/common/changes/@microsoft/set-webpack-public-path-plugin/octogonz-ae-relative-paths_2019-04-11-04-12.json new file mode 100644 index 00000000000..dc65dd06bb9 --- /dev/null +++ b/common/changes/@microsoft/set-webpack-public-path-plugin/octogonz-ae-relative-paths_2019-04-11-04-12.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "packageName": "@microsoft/set-webpack-public-path-plugin", + "type": "none" + } + ], + "packageName": "@microsoft/set-webpack-public-path-plugin", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@microsoft/stream-collator/octogonz-ae-relative-paths_2019-04-11-04-12.json b/common/changes/@microsoft/stream-collator/octogonz-ae-relative-paths_2019-04-11-04-12.json new file mode 100644 index 00000000000..59b3589e324 --- /dev/null +++ b/common/changes/@microsoft/stream-collator/octogonz-ae-relative-paths_2019-04-11-04-12.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "packageName": "@microsoft/stream-collator", + "type": "none" + } + ], + "packageName": "@microsoft/stream-collator", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/changes/@microsoft/web-library-build/octogonz-ae-relative-paths_2019-04-11-04-12.json b/common/changes/@microsoft/web-library-build/octogonz-ae-relative-paths_2019-04-11-04-12.json new file mode 100644 index 00000000000..c3ab6917223 --- /dev/null +++ b/common/changes/@microsoft/web-library-build/octogonz-ae-relative-paths_2019-04-11-04-12.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "", + "packageName": "@microsoft/web-library-build", + "type": "none" + } + ], + "packageName": "@microsoft/web-library-build", + "email": "4673363+octogonz@users.noreply.github.com" +} \ No newline at end of file diff --git a/common/config/rush/shrinkwrap.yaml b/common/config/rush/shrinkwrap.yaml index dd9e11ad4a8..8035927834b 100644 --- a/common/config/rush/shrinkwrap.yaml +++ b/common/config/rush/shrinkwrap.yaml @@ -2,7 +2,7 @@ dependencies: '@microsoft/node-library-build': 6.0.51 '@microsoft/rush-stack-compiler-3.2': 0.3.3 '@microsoft/teams-js': 1.3.0-beta.4 - '@microsoft/tsdoc': 0.12.8 + '@microsoft/tsdoc': 0.12.9 '@pnpm/link-bins': 1.0.3 '@pnpm/logger': 1.0.2 '@rush-temp/api-documenter': 'file:projects/api-documenter.tgz' @@ -324,6 +324,10 @@ packages: dev: false resolution: integrity: sha512-0smzAmVIUCsssAqDSPn9AfOPKUobq2WXMygbzC5JNswAJOs4uJK6DTZgfnHC8QLE2q374sPNwWU5D5LuoAJQSA== + /@microsoft/tsdoc/0.12.9: + dev: false + resolution: + integrity: sha512-sDhulvuVk65eMppYOE6fr6mMI6RUqs53KUg9deYzNCBpP+2FhR0OFB5innEfdtSedk0LK+1Ppu6MxkfiNjS/Cw== /@pnpm/link-bins/1.0.3: dependencies: '@pnpm/package-bins': 1.0.0 @@ -9048,12 +9052,12 @@ packages: dev: false name: '@rush-temp/api-documenter-test' resolution: - integrity: sha512-oRfJtW21q1F10ZgL7Hp6Ke0kn3a66e4m2Kfv1UuTBr+g1zuS3r3wehGaJZDv8wISuGo44oVIiRlF0fZV/t300g== + integrity: sha512-4SO12luUVuuQdZrUJ8F6wtrOPvldwgGc/E5WrIhLo+GzYQhsL57ixwlwilyWMWCgadCbgjPV4VyrvXxEF+XjwQ== tarball: 'file:projects/api-documenter-test.tgz' version: 0.0.0 'file:projects/api-documenter.tgz': dependencies: - '@microsoft/tsdoc': 0.12.8 + '@microsoft/tsdoc': 0.12.9 '@types/jest': 23.3.11 '@types/js-yaml': 3.9.1 '@types/node': 8.5.8 @@ -9064,7 +9068,7 @@ packages: dev: false name: '@rush-temp/api-documenter' resolution: - integrity: sha512-y5MPxvswEAe2p9Lv1yN0V1w3iWw38uhoPict5QcqBW2ZCT/zSFR+mn638D0sT7pcIEwodzXPViYZenf14IJgKA== + integrity: sha512-oFC1HVAUC7U7+zuzMtIk7Q5XspGbyvMlJOMbh/dmBrHV0qtK2mnE/00K7uxWdKCNMsZ1PV6f/beJsWcapQydyQ== tarball: 'file:projects/api-documenter.tgz' version: 0.0.0 'file:projects/api-extractor-lib1-test.tgz': @@ -9076,7 +9080,7 @@ packages: dev: false name: '@rush-temp/api-extractor-lib1-test' resolution: - integrity: sha512-UbaLWj3hZLZKENuRbrIo9lXLp0Z2nBFxAHCJheM+2itQW+qoILarHXmSOPCkC+jpTqF4bHBAydF3tRRvcsfg5g== + integrity: sha512-wjMO7nXO9mjIZ/pHlbjmJke9aOlta0AOhr/RsXKenIH7TFRZPXUnLrSQvJJyGOwMAuBgf8Wy5f2SwGKh27yr7w== tarball: 'file:projects/api-extractor-lib1-test.tgz' version: 0.0.0 'file:projects/api-extractor-lib2-test.tgz': @@ -9088,7 +9092,7 @@ packages: dev: false name: '@rush-temp/api-extractor-lib2-test' resolution: - integrity: sha512-YaZjLm81fATCjgNmZFZAjZkEmnrcmGfo7KyaP/G4GCDfQRyMusacLEB/Lf5liDq9j3bsuMVHXwEbLXYrsvzAkg== + integrity: sha512-rgxaxuy9oPu12dF5io/7r1d965eF0kjer1MFdni1wvBG99VP+m+20k75Ux5H1GfKFr36GRPcpErEyrto3xxURQ== tarball: 'file:projects/api-extractor-lib2-test.tgz' version: 0.0.0 'file:projects/api-extractor-lib3-test.tgz': @@ -9100,14 +9104,14 @@ packages: dev: false name: '@rush-temp/api-extractor-lib3-test' resolution: - integrity: sha512-ZoDXspC+EMfxLZMKySPcVLroWfvU0J9mHSX8epf8WugSi28zUi9PPKYXDjkgEl0HAUrwyG7sx1pkwZp8FVscWA== + integrity: sha512-cpMo+wnq1M+RdlPbYy1U9gVU3o4tNnGguJsp9AH+YK+Lx7w7M/9DR/K8tp+Y4k5MdJqRijKpqgWHAi2gFKqByQ== tarball: 'file:projects/api-extractor-lib3-test.tgz' version: 0.0.0 'file:projects/api-extractor-model.tgz': dependencies: '@microsoft/node-library-build': 6.0.51 '@microsoft/rush-stack-compiler-3.2': 0.3.3 - '@microsoft/tsdoc': 0.12.8 + '@microsoft/tsdoc': 0.12.9 '@types/jest': 23.3.11 '@types/node': 8.5.8 gulp: 3.9.1 @@ -9115,7 +9119,7 @@ packages: dev: false name: '@rush-temp/api-extractor-model' resolution: - integrity: sha512-X5CsgE6yTyDYsbm3Ygxx5JzZ/9uut+cf1uNZwARYTI4hYC6NRlxDhpoCP/lnjAByEOoGJkx2dHPhClle8yjg/w== + integrity: sha512-Bvy0XrUvB0YlmABEHj+tcfU+oPyRH8PdSDK22hjCJwk70TPvUeZIT7E4UEIgDc4Y2Guz4pV8KUZnFQ4yyoSQrQ== tarball: 'file:projects/api-extractor-model.tgz' version: 0.0.0 'file:projects/api-extractor-scenarios.tgz': @@ -9129,7 +9133,7 @@ packages: dev: false name: '@rush-temp/api-extractor-scenarios' resolution: - integrity: sha512-WBVa5/jECMEAMnvyQmpNj/FV0SnFhMFakF45+6uAHyMbdH7KWMaFRsOSKhgk2xofXx7ND7CtW2DECcQWxbq16g== + integrity: sha512-ThNFyuzGSriByZuRveKovppS4NZv1zh9sk80zVAoi89ZMw+0dUtZ2MGmWD1BWlYI6gIHm7W+c3dEuc1By0DnhQ== tarball: 'file:projects/api-extractor-scenarios.tgz' version: 0.0.0 'file:projects/api-extractor-test-01.tgz': @@ -9141,7 +9145,7 @@ packages: dev: false name: '@rush-temp/api-extractor-test-01' resolution: - integrity: sha512-n/UNfkDDDYoBWohgt5Nle+RW9xpkm1oaiyCkRZuuvoXkTwbdQ90wfGC2859ZGUvoxsXdkQvNe8YvESL41sAgtw== + integrity: sha512-qorRmL/P40NeembSgyO159D/3VLbUxjVUEEvrEYyAh56DBNN2kr0DOsAp7PAHqnAeu2nqmimRoWra8DxZhK2aw== tarball: 'file:projects/api-extractor-test-01.tgz' version: 0.0.0 'file:projects/api-extractor-test-02.tgz': @@ -9154,7 +9158,7 @@ packages: dev: false name: '@rush-temp/api-extractor-test-02' resolution: - integrity: sha512-2PxvOmt56iLOVSQTC7ZtUngeH0t/wNNA2l18xVmX5H9kdex29Xis9HjW0N37qnR2hCajsTrRPcUGHIaIShlmAA== + integrity: sha512-nYW4+5r68w5BIWJo3g715Vk3FUpbhbRwCBliBElve+SIWd2Hf+a/6Jv3BpKtx+QBqu6sQdLkyYFBYH0mfJ+jmg== tarball: 'file:projects/api-extractor-test-02.tgz' version: 0.0.0 'file:projects/api-extractor-test-03.tgz': @@ -9176,14 +9180,14 @@ packages: dev: false name: '@rush-temp/api-extractor-test-04' resolution: - integrity: sha512-9C5+cd9lWP+sUiCQ+9SUm3saGw9H0JO88s+PEI/KrjLtwxzLyYpnxW9nopp1g8K+DcYTu9PaMdNZdtGQJNqKdQ== + integrity: sha512-w8fJuJffTQfKDNmxWP63t2njEwQpS2+/E7Zq7BPFmZNaImSGbvuaX99/tXLcuQjXxkSvJJy/7HrTG0bmE4uQRA== tarball: 'file:projects/api-extractor-test-04.tgz' version: 0.0.0 'file:projects/api-extractor.tgz': dependencies: '@microsoft/node-library-build': 6.0.51 '@microsoft/rush-stack-compiler-3.2': 0.3.3 - '@microsoft/tsdoc': 0.12.8 + '@microsoft/tsdoc': 0.12.9 '@types/jest': 23.3.11 '@types/lodash': 4.14.116 '@types/node': 8.5.8 @@ -9197,7 +9201,7 @@ packages: dev: false name: '@rush-temp/api-extractor' resolution: - integrity: sha512-HR2ugV3T6n+qdp2XwGM9qXxTb5WuiR3rIOLAabH/nS3nVHFhUrtUktPf8iVM1PsDEN1P9mVyyvJAfu9tceLWWw== + integrity: sha512-Pbw/nerU1SyiEdTy6trOiUDyZPMWZwhN+bQtfptE0/cOdURAgAciw9arZTgtwkGvdx51vLCyFYEjAZK0UpJxew== tarball: 'file:projects/api-extractor.tgz' version: 0.0.0 'file:projects/gulp-core-build-mocha.tgz': @@ -9239,7 +9243,7 @@ packages: dev: false name: '@rush-temp/gulp-core-build-sass' resolution: - integrity: sha512-lbJoY0Z+g+r4RVp2P8P4cgDlrBnVDSqGyQsetfKPzJss5NEG6qem+qVhLCucAnLod8s1Lgij5dLT8L+tEn1SdQ== + integrity: sha512-0KKaRnENQy/V6rMBVEDjmrW7DbxmpQKiCOO1OvPPdJ1/xz/uh3rB/ldail9Ne26ZFo0DFI4UZLX/gknLrKQuaA== tarball: 'file:projects/gulp-core-build-sass.tgz' version: 0.0.0 'file:projects/gulp-core-build-serve.tgz': @@ -9266,7 +9270,7 @@ packages: dev: false name: '@rush-temp/gulp-core-build-serve' resolution: - integrity: sha512-0UPMXhH5qLreYmiGL526ds4VBAIjh4mM8sya6k9+FmWsfIjsN4khnpr76asvD2Njl7NCgR1cUD8rCl7DOd4Orw== + integrity: sha512-9OXuJOxu4c2Oe6w5QLH5p/WC5pWyRIg4k1SYyibQGIsRFtqykYTyT3oVLcjmwXnlESXwo/D9Rx9QrVF9uG60VQ== tarball: 'file:projects/gulp-core-build-serve.tgz' version: 0.0.0 'file:projects/gulp-core-build-typescript.tgz': @@ -9286,7 +9290,7 @@ packages: dev: false name: '@rush-temp/gulp-core-build-typescript' resolution: - integrity: sha512-eab2HGHVCyCLHFJcY6zWO0kVUB5MliZei5/+TcabcIZTPWH+KM0cOoyVSkfIeqG83AOD7La5Q+1z1ZzJhjadiQ== + integrity: sha512-IkBYXConAwfsplKZIDxxLP1xbx3D74MPdrow3owo1bNV3WNuPrmTJuVYIQw1jUK2EC9tji/CZXdcMWmAJIeNwg== tarball: 'file:projects/gulp-core-build-typescript.tgz' version: 0.0.0 'file:projects/gulp-core-build-webpack.tgz': @@ -9304,7 +9308,7 @@ packages: dev: false name: '@rush-temp/gulp-core-build-webpack' resolution: - integrity: sha512-wzopCGZtUk3asRFHI+ASCOxz2C9OqvzgXln5qkIAWoYVMbW37orKS8o8jgceaoLxh6US6GSBNOTG2xYwa4T3pA== + integrity: sha512-ycfKf8hspQCHF8uQA6GTLcNB418runD4nG3DmgkMxhnmajMTFmstRKs9YfOyqQUpmWzi7qPXcwyOWBJFcLSI+Q== tarball: 'file:projects/gulp-core-build-webpack.tgz' version: 0.0.0 'file:projects/gulp-core-build.tgz': @@ -9366,7 +9370,7 @@ packages: dev: false name: '@rush-temp/load-themed-styles' resolution: - integrity: sha512-u9JUAqFwzIGIn4BWaaab0V+pNykedycdD3yl5/Fh6hhYkWCO+RJx/bdKRX7nffWDpMdOlGybnWQ2cfE0KHskoQ== + integrity: sha512-A6Gkik7g8LHTXkaHWLgk0Z1nFpW7aX+CLdyllM/Zp04qLVs9CjFBrNmTpeLWIXJsjdQi+uI8Jrd1fFLIwlqXWQ== tarball: 'file:projects/load-themed-styles.tgz' version: 0.0.0 'file:projects/loader-load-themed-styles.tgz': @@ -9381,7 +9385,7 @@ packages: dev: false name: '@rush-temp/loader-load-themed-styles' resolution: - integrity: sha512-7XT9Z3KX2GKXmthz6YRdbgjcSL/wxPSonLq5uTP9uYBQa1noxYmkHp+5EoCN7TfrDKC+APoDcY3+jXCbGt34UQ== + integrity: sha512-3eNFTCvq9g50mEBnWkHpdDxd6dk0JfRKOa+hPZJRuFjkXe5luc5wVbQIOu9HxfEGF2pE3+JSCJC5W8P7cwsLwQ== tarball: 'file:projects/loader-load-themed-styles.tgz' version: 0.0.0 'file:projects/loader-raw-script.tgz': @@ -9395,7 +9399,7 @@ packages: dev: false name: '@rush-temp/loader-raw-script' resolution: - integrity: sha512-fBZSh7lQnXhsXfYwi5w032/h0RxirSIInDwZB784Sf0DyPdoXq4olIido/yC0QceOEaDGUnaybO52f5dr2aubg== + integrity: sha512-7ajUjyyIUNetZaPpxXMjJNvOBXxdRUj2pOP3dMrvpmz0/itPhbMsACl2Xcyz64JQmaj1GhJ8HNF91sP6VL3lRQ== tarball: 'file:projects/loader-raw-script.tgz' version: 0.0.0 'file:projects/loader-set-webpack-public-path.tgz': @@ -9411,7 +9415,7 @@ packages: dev: false name: '@rush-temp/loader-set-webpack-public-path' resolution: - integrity: sha512-9duM58z3L0fo9y3pCNjYx3nPqVqLBrG/u2xMkBa+bcifAWKHuM5qsR4elZLT4ZQ/lDgi+iJMeKhLNcoLpurpRA== + integrity: sha512-r2rDl8M420dygJlIKW4iMsP9SxL4R7dSSLR84SlAJvqKvJBNofVQW3Y98PcdnSSzf26yxEUz5TVdmr8NlGouHA== tarball: 'file:projects/loader-set-webpack-public-path.tgz' version: 0.0.0 'file:projects/node-core-library.tgz': @@ -9445,7 +9449,7 @@ packages: dev: false name: '@rush-temp/node-library-build-test' resolution: - integrity: sha512-vp5xLDw5MO2XAbr2fva6uRgPF3aP2wrkVr7mJKtmz9ZqFkwMxhPOHrfIQu5mwb6BWV1XAZJmXFIW7T9QOFe2eQ== + integrity: sha512-OPGwXwUcNdg/M53fZ1TiXkqEsPdZ9iFXt1lHXI6yBqmvoUGRwPje6fwrB/mEp/Q5fxccm3flJj/PUZ+lZ3K6Ow== tarball: 'file:projects/node-library-build-test.tgz' version: 0.0.0 'file:projects/node-library-build.tgz': @@ -9456,7 +9460,7 @@ packages: dev: false name: '@rush-temp/node-library-build' resolution: - integrity: sha512-1vKKkYWZihCxRmURIFmaUvQzG/hnt5VGKcWZjUebGgMJHOvE4mokoKsfcdjcLDAyuoDvTdSUvn+2r99q3COFxw== + integrity: sha512-g27bKBVXI5jutCaS7QD6WcDNvEcHAtxGNULhzDpwtdP3xtfveQn0dpgZSyM4uY8nA/12HcDHlcUjo070J3OQKA== tarball: 'file:projects/node-library-build.tgz' version: 0.0.0 'file:projects/package-deps-hash.tgz': @@ -9469,7 +9473,7 @@ packages: dev: false name: '@rush-temp/package-deps-hash' resolution: - integrity: sha512-Yl9NNSv8dMQ/ld4li72jJ8bF3jyEA1BC4ttmKDqbSQou0MM08T+DRmo3LZ879CsChLuaPNndJpnPJWtg9KzTUA== + integrity: sha512-sFEyTwBHDHhC+C2YtcP+qe2KUNyQNQFSFq6XLMOCKi/G98ZcivVZw3c1ZmQMSVl72f8CEyUYil0TyJGFjhu9Pg== tarball: 'file:projects/package-deps-hash.tgz' version: 0.0.0 'file:projects/resolve-chunk-plugin.tgz': @@ -9482,7 +9486,7 @@ packages: dev: false name: '@rush-temp/resolve-chunk-plugin' resolution: - integrity: sha512-kbkcaMw0bis7HEHSLdmnrI/24ZNzTu9/2YUCraoTmxky/n4cSQcHMAnbGl9RlkbO2WFfwQY8lhxb22fiA/VACg== + integrity: sha512-3+7iBzh4mIKMouIT7tci++DHn67fcCmOm3lmKT4w2jQj4M6js3UL58OZiDu1ngz3c2/pOKHVw8QYBTzXFT+6dA== tarball: 'file:projects/resolve-chunk-plugin.tgz' version: 0.0.0 'file:projects/rush-lib.tgz': @@ -9523,7 +9527,7 @@ packages: dev: false name: '@rush-temp/rush-lib' resolution: - integrity: sha512-rDpPsyGk0gjPIavn44ClEYx+rprj45cSk7Q/ADmuWvLu/p08y0DgG5wSvIarSrKKYAM3U4s6y0W/a9YqDAgxrg== + integrity: sha512-7a58/wsfSUWsqAP4GXPykF71nyXyIrVLjMXdr34Bwv+VHNamPSNYk7CvWM5KzacxcRoYXRGH48hk2s9g+ZsbkA== tarball: 'file:projects/rush-lib.tgz' version: 0.0.0 'file:projects/rush-stack-compiler-2.4-library-test.tgz': @@ -9533,7 +9537,7 @@ packages: dev: false name: '@rush-temp/rush-stack-compiler-2.4-library-test' resolution: - integrity: sha512-nsi3rzZWG25PE4B6rbc3eYLsAX3dvmm2A7f48dSr3ZqhphsMXEl2XwSKa2+YC2F3udYkJP1FE5PaG8yB8noeVA== + integrity: sha512-Px6HE4vc/AJoXjlmttCLktm4Z5YlLqhM4dZQddKWRdl/hq4p4jsjvA1ncU20qFbooFC+gccSr14E4BQ6GAghIA== tarball: 'file:projects/rush-stack-compiler-2.4-library-test.tgz' version: 0.0.0 'file:projects/rush-stack-compiler-2.4.tgz': @@ -9548,7 +9552,7 @@ packages: dev: false name: '@rush-temp/rush-stack-compiler-2.4' resolution: - integrity: sha512-qZAiGExXyfjh3EO+aUhg7EV89WuPMSC1bc8C0gXvM5Pl35U95gc4L/oL2fgAVnpdsrlQZf1opVR1SAuaDgPUsA== + integrity: sha512-nkrRxoehdqP1ZwID7UQH7JyJccIC0cqxlhQ9WmNjqxW/OuteYy2YWzFb0C+FJwOzI4XkFhtdPNWKrlwUtsupow== tarball: 'file:projects/rush-stack-compiler-2.4.tgz' version: 0.0.0 'file:projects/rush-stack-compiler-2.7-library-test.tgz': @@ -9558,7 +9562,7 @@ packages: dev: false name: '@rush-temp/rush-stack-compiler-2.7-library-test' resolution: - integrity: sha512-uzGMThebbpBK1sWv2Wdx3LSeMhDwT/vqq34v/ULUSNpvyesW+5s60UQaIlsa8tcrQ8G2VePDyuWyz0UMo04irw== + integrity: sha512-6l5pF46/F2ngO5+aswO43uLE2jEAosqzZ5b4jKeuoi9Z04/+CjeeufEY7AVKpXmOHc7C7BafgMER5lFTaPQuBQ== tarball: 'file:projects/rush-stack-compiler-2.7-library-test.tgz' version: 0.0.0 'file:projects/rush-stack-compiler-2.7.tgz': @@ -9573,7 +9577,7 @@ packages: dev: false name: '@rush-temp/rush-stack-compiler-2.7' resolution: - integrity: sha512-/TWBkd+5yt0TZ3BRiK1gjlOp2Yr3vdCY9TqvStszTQXOHFheXoOIuEXYbMqrTdgVXFYnZZxUluFq2fqcrTkcDQ== + integrity: sha512-5ED+yWEnECRtkP1efs6u44i/dSi4nLv1fzaHACIbfALcXg6wLSKvTFBQ0eMX1Dgd5Dw4Hw0PO/3o5Xi2YCbKNA== tarball: 'file:projects/rush-stack-compiler-2.7.tgz' version: 0.0.0 'file:projects/rush-stack-compiler-2.9-library-test.tgz': @@ -9583,7 +9587,7 @@ packages: dev: false name: '@rush-temp/rush-stack-compiler-2.9-library-test' resolution: - integrity: sha512-Cqshfmlu83WiujaNnbtplDT/x6Mnb5V2zzOhwzeJqbEwayaJcJ7cCYeBLrUYdpVSEpWSovSUuCkcgfXDJtIbPA== + integrity: sha512-QIn4xzWJ4+qD8PejUe6TieA2ZU9ULgab0oETUjlvL/Lpvu7UQEsG/7g0gicdGQLuVZEC1bQrx3CvrBeFMPK5Vw== tarball: 'file:projects/rush-stack-compiler-2.9-library-test.tgz' version: 0.0.0 'file:projects/rush-stack-compiler-2.9.tgz': @@ -9598,7 +9602,7 @@ packages: dev: false name: '@rush-temp/rush-stack-compiler-2.9' resolution: - integrity: sha512-ovcOtosIvRIFoOqrhDw1l14+zaRTq/wEtixJ5Q8WxL5NFqlX0JdP04XUTx9D7f/EGqN94hBPqxcbnTbLviD2Yw== + integrity: sha512-zcEBUMTtrZ9F5m9gtrZ5n8tsUbyOtCigcyZ9841bTZx2C9VQJu1FCl2JUIEfytIJNAsb2HevnzMecz9i2Sf6NA== tarball: 'file:projects/rush-stack-compiler-2.9.tgz' version: 0.0.0 'file:projects/rush-stack-compiler-3.0-library-test.tgz': @@ -9608,7 +9612,7 @@ packages: dev: false name: '@rush-temp/rush-stack-compiler-3.0-library-test' resolution: - integrity: sha512-VgQ1SXfQRxANfod+jK9NJDWzcz+cRH49r5A8CtIInI7wIAFGa7RBy+uAXPCa3MWKB0TVFaOqSwJtp9CANswh3g== + integrity: sha512-mdRRhLHY4CzAx9O1MaimCpxEWS0u3QqOfCpIPjYfwnwFGg3+cWhsjlwdzONzxd8+2GI85tfnakS+jzahMcrHxQ== tarball: 'file:projects/rush-stack-compiler-3.0-library-test.tgz' version: 0.0.0 'file:projects/rush-stack-compiler-3.0.tgz': @@ -9623,7 +9627,7 @@ packages: dev: false name: '@rush-temp/rush-stack-compiler-3.0' resolution: - integrity: sha512-5fsBRcnGXRfBnflCtCi0avpnAKa07TEAuCo8JA46821Xz+G8yj13BEN9VW0IRrWY89YwUQqv619vl4uYZvpSSQ== + integrity: sha512-hYUVadWT+7FhBiut9OOwk9VtALDTkoomQuh1hi/OpJKRLmZ+unmJb8X0s6yo3yZ7wM1xq8vrVwi1A0RX827QCw== tarball: 'file:projects/rush-stack-compiler-3.0.tgz' version: 0.0.0 'file:projects/rush-stack-compiler-3.1-library-test.tgz': @@ -9633,7 +9637,7 @@ packages: dev: false name: '@rush-temp/rush-stack-compiler-3.1-library-test' resolution: - integrity: sha512-km5kiyR/fu3ywKWcNDWnvuXhVaSnp577wJh4/NI+hDWRPIvgw1G9qCPyyCBDphb5V/t95ikKDBVzzYfW/yXQEA== + integrity: sha512-91trRI9el0Oyucdh07NWkI0EnBlm1iK5sgxCj9v7fEp/IbV4+CNa/C9vf929VXuFbCJDw9o81nsrqPC7cnamOQ== tarball: 'file:projects/rush-stack-compiler-3.1-library-test.tgz' version: 0.0.0 'file:projects/rush-stack-compiler-3.1.tgz': @@ -9648,7 +9652,7 @@ packages: dev: false name: '@rush-temp/rush-stack-compiler-3.1' resolution: - integrity: sha512-0pGLhAIdAZA4XRLGRAeSpxyYwQTb2ETF2L+FPdwHaYMSLOZJamp9RAJzlUasQu7i8WDvskcLOLLhil50Pu3F8Q== + integrity: sha512-y67c7xa8F3khxXXtU94eA+SNF0kKvkmk0RuH0ag0dzD+HZtlGQXSQOJbNoh0dJo45lRj6OLgLjCEG/qoOTRhaw== tarball: 'file:projects/rush-stack-compiler-3.1.tgz' version: 0.0.0 'file:projects/rush-stack-compiler-3.2-library-test.tgz': @@ -9658,7 +9662,7 @@ packages: dev: false name: '@rush-temp/rush-stack-compiler-3.2-library-test' resolution: - integrity: sha512-ToiusxDyhRK/BHtG78Uf2SLPDyB8aIhdnh/bDEaWAUVMRVHO8rfGxKsObIc+l531N8f5K9k7bswzBLxvAaO+tg== + integrity: sha512-AqojBP2zGvWPkB5hQQBHUVyRqWZdqvDZtnUM0vdqEcX5hWZDRMirefRLMPdO8TnhfYd+MvTrx2xG+zYGARbxqQ== tarball: 'file:projects/rush-stack-compiler-3.2-library-test.tgz' version: 0.0.0 'file:projects/rush-stack-compiler-3.2.tgz': @@ -9673,7 +9677,7 @@ packages: dev: false name: '@rush-temp/rush-stack-compiler-3.2' resolution: - integrity: sha512-WC/3fOtBMb6cMMqbZ+8v5sVgEn3gqHQYJpCY0x4Pgm9FEJC+/rjttzI1nupxken3KFOgpSeOeCQ3a+2eLbnX7A== + integrity: sha512-thhU67eLk2OoAq4NghvmpfccDxKeoRqBnrTM+YeP3i3hhiS28MngPH9IsFDMaOmPRkZOZz0e8CtBnqI0NTR7aQ== tarball: 'file:projects/rush-stack-compiler-3.2.tgz' version: 0.0.0 'file:projects/rush-stack-compiler-3.3-library-test.tgz': @@ -9683,7 +9687,7 @@ packages: dev: false name: '@rush-temp/rush-stack-compiler-3.3-library-test' resolution: - integrity: sha512-F7n/GH3/TjswOB/vQ/SyuqBPtiLZn/f+4X0ktYcDvBASUCqa4RAOjdlFO21vyuqNspzqyMIY4N5ott+p//BOGQ== + integrity: sha512-U0x5KO2/oiKKyGmGKTsUsswmb5dZ3fMR5AreG4R397mIHNSw5dqjElPzlWzQnIesAw/e/uOyI9Cy8MWrRn1iCQ== tarball: 'file:projects/rush-stack-compiler-3.3-library-test.tgz' version: 0.0.0 'file:projects/rush-stack-compiler-3.3.tgz': @@ -9698,7 +9702,7 @@ packages: dev: false name: '@rush-temp/rush-stack-compiler-3.3' resolution: - integrity: sha512-OLwYQhY6Dfart9MeuiXv8P/ESzpCAXfQbYhttkOVamNzzZPGucLKlmGkku67i7fkZYIH3rhUL8tHBA7RH58wfQ== + integrity: sha512-aacQg8rviPuqCegd+rKF+MCccTy1Je+0RekSRQi4zPni1mKxscTyGbbcPiSw5mf7fW69YOQhnz3heL2xed677Q== tarball: 'file:projects/rush-stack-compiler-3.3.tgz' version: 0.0.0 'file:projects/rush-stack-compiler-shared.tgz': @@ -9712,7 +9716,7 @@ packages: dev: false name: '@rush-temp/rush-stack-library-test' resolution: - integrity: sha512-0XzdSx1k6uUkB36GpCT7qW17C+doMc2RxO7C0DWjGpgcuWubrB2FJZb+06iYGLPuzve0rpoQ5X3IZkvnFaX4XQ== + integrity: sha512-rRHIKapxqxrvGmaiI3xckJ31E/7XAxjb790NzySzulg5nEtN4tXXfoMZIwKrXC5rVHdethXnt+b9b2/qCyX+oA== tarball: 'file:projects/rush-stack-library-test.tgz' version: 0.0.0 'file:projects/rush-stack.tgz': @@ -9723,7 +9727,7 @@ packages: dev: false name: '@rush-temp/rush-stack' resolution: - integrity: sha512-dHvpwRz9TiEjZt6zwKjdaAcOO/fetl6E9fqkwcYQF6q0J9eNnJ1tnVjZyEL+oxE0hvT8XPdCmsCEdl9OBl6DSg== + integrity: sha512-IWe6dPzOpDS2edEweP2EAQFyODhoBzblCC3MIl1OoyGrW3i2Eu+J7RKTiS0U5AD+ARjLOhiy2xgffMcqwOGsAg== tarball: 'file:projects/rush-stack.tgz' version: 0.0.0 'file:projects/rush.tgz': @@ -9741,7 +9745,7 @@ packages: dev: false name: '@rush-temp/rush' resolution: - integrity: sha512-zQHMsoBdjCqsSp0tQwt0xtUXS2QSUw8PIFjVOnrCR/00D8IVzXLQTP3GEC38ZEHoRVxj6jSKMu36rhdj3QMskQ== + integrity: sha512-Le4gqRA/GNb1RKmSG4euuw2+Fe5cEjmGcqjUkkQp8XpkYyLwmCYp29TTlEUvGHkNXASIA+VHYBEgES+BMHQU+A== tarball: 'file:projects/rush.tgz' version: 0.0.0 'file:projects/rushell.tgz': @@ -9754,7 +9758,7 @@ packages: dev: false name: '@rush-temp/rushell' resolution: - integrity: sha512-OZczBVm93H9mN9yFWDyiwWXseXo9+58EMDD8yOQC6Y4+z3lCPqvoyljQFcil+j950ZeRPhM9odsdCZuu34EA/A== + integrity: sha512-T9ZRYuRmE0boQB57o/r8pf/FQ0HA0B9Me2rACMIe9dxGX12IxBgRNEnEDh7sfRx+3NRPz5OwgvTS7Lnhc/iH4w== tarball: 'file:projects/rushell.tgz' version: 0.0.0 'file:projects/set-webpack-public-path-plugin.tgz': @@ -9773,7 +9777,7 @@ packages: dev: false name: '@rush-temp/set-webpack-public-path-plugin' resolution: - integrity: sha512-WFq8ABT220JsmfNl5CRDdiUUn17e0phf+RJ6sCkXZt3zUDg3hM9fKgFZdpbsQSkdBtC0JwMzWAXB/wozs2ZL+w== + integrity: sha512-qk0z2yN1TGYU5xiVPUBICS9H8tbbUi01HEu0COclKDJAK/vTK8s6gKofQ3qsvdduHy7Ff0hGZCzfpoyv+sinAg== tarball: 'file:projects/set-webpack-public-path-plugin.tgz' version: 0.0.0 'file:projects/stream-collator.tgz': @@ -9788,7 +9792,7 @@ packages: dev: false name: '@rush-temp/stream-collator' resolution: - integrity: sha512-GCASAU5pM2vRXNhWonpZT49684cV+PE6UGBXnvSVvEpeTrQXNonwUmpO0wHJJDhRHTYOBw09qN0sT7dD4ijAcA== + integrity: sha512-J0yNnn6r6v2vujK/W3TvkuV/XVnI98fY5sXZdf713YEV38fCZ+imcubfv8cIo8EHxdMMpm5+OowJEg3Chdsp5g== tarball: 'file:projects/stream-collator.tgz' version: 0.0.0 'file:projects/ts-command-line.tgz': @@ -9816,7 +9820,7 @@ packages: dev: false name: '@rush-temp/web-library-build-test' resolution: - integrity: sha512-jC0ZGw/EnlI85ru+cao+t8XoJlyLJknUHe3RzFkU5XNx7mVJ4pJJUwi0Y510dxJaZRLKT4pU5o+Jl6TWSte3Cg== + integrity: sha512-1EqRTAoYf4Q1ccrWKf/NhsE3elWFV0qGfEX3XQutCIGoG3RUqOchfMgDr5gEO9NqvTiP8Bh4LeNq7fvLK2fnhg== tarball: 'file:projects/web-library-build-test.tgz' version: 0.0.0 'file:projects/web-library-build.tgz': @@ -9828,7 +9832,7 @@ packages: dev: false name: '@rush-temp/web-library-build' resolution: - integrity: sha512-xt8shcKvcGelUYGfJ1fY2zEVPbttcXJeY1yvzz7ovhYl2znJ2aAdUAMyhQCB5yTBB/Pq4m7/++3gXcscGf9CDQ== + integrity: sha512-MKc2BiOWUIw8rKuPOeubmCYaT9ed3UbRP9voHB97Q2x5ioIRu+qsKfecOUdNHVm0avg1abg3SRVRvptrOSw1zw== tarball: 'file:projects/web-library-build.tgz' version: 0.0.0 registry: 'https://registry.npmjs.org/' @@ -9838,7 +9842,7 @@ specifiers: '@microsoft/node-library-build': 6.0.51 '@microsoft/rush-stack-compiler-3.2': 0.3.3 '@microsoft/teams-js': 1.3.0-beta.4 - '@microsoft/tsdoc': 0.12.8 + '@microsoft/tsdoc': 0.12.9 '@pnpm/link-bins': ~1.0.1 '@pnpm/logger': ~1.0.1 '@rush-temp/api-documenter': 'file:./projects/api-documenter.tgz' diff --git a/common/reviews/api/api-extractor.api.md b/common/reviews/api/api-extractor.api.md index 88f34a7e868..a035efff3ca 100644 --- a/common/reviews/api/api-extractor.api.md +++ b/common/reviews/api/api-extractor.api.md @@ -54,11 +54,11 @@ export class ExtractorConfig { readonly packageJson: INodePackageJson | undefined; readonly packageJsonFullPath: string | undefined; static prepare(options: IExtractorConfigPrepareOptions): ExtractorConfig; + readonly projectFolder: string; readonly publicTrimmedFilePath: string; readonly reportFilePath: string; readonly reportTempFilePath: string; readonly rollupEnabled: boolean; - readonly rootFolder: string; readonly skipLibCheck: boolean; readonly testMode: boolean; readonly tsdocMetadataEnabled: boolean; @@ -149,7 +149,6 @@ export interface IConfigApiReport { // @public export interface IConfigCompiler { overrideTsconfig?: {}; - rootFolder: string; skipLibCheck?: boolean; } @@ -177,6 +176,7 @@ export interface IConfigFile { extends?: string; mainEntryPointFile: string; messages?: IExtractorMessagesConfig; + projectFolder?: string; testMode?: boolean; // @beta tsdocMetadata?: IConfigTsdocMetadata; diff --git a/core-build/gulp-core-build-sass/config/api-extractor.json b/core-build/gulp-core-build-sass/config/api-extractor.json index 8111fb359b3..4ea4e2ffcb0 100644 --- a/core-build/gulp-core-build-sass/config/api-extractor.json +++ b/core-build/gulp-core-build-sass/config/api-extractor.json @@ -1,11 +1,11 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, - "reportFolder": "../../common/reviews/api" + "reportFolder": "../../../common/reviews/api" }, "docModel": { diff --git a/core-build/gulp-core-build-serve/config/api-extractor.json b/core-build/gulp-core-build-serve/config/api-extractor.json index 8111fb359b3..4ea4e2ffcb0 100644 --- a/core-build/gulp-core-build-serve/config/api-extractor.json +++ b/core-build/gulp-core-build-serve/config/api-extractor.json @@ -1,11 +1,11 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, - "reportFolder": "../../common/reviews/api" + "reportFolder": "../../../common/reviews/api" }, "docModel": { diff --git a/core-build/gulp-core-build-webpack/config/api-extractor.json b/core-build/gulp-core-build-webpack/config/api-extractor.json index 8111fb359b3..4ea4e2ffcb0 100644 --- a/core-build/gulp-core-build-webpack/config/api-extractor.json +++ b/core-build/gulp-core-build-webpack/config/api-extractor.json @@ -1,11 +1,11 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, - "reportFolder": "../../common/reviews/api" + "reportFolder": "../../../common/reviews/api" }, "docModel": { diff --git a/core-build/node-library-build/config/api-extractor.json b/core-build/node-library-build/config/api-extractor.json index 8111fb359b3..4ea4e2ffcb0 100644 --- a/core-build/node-library-build/config/api-extractor.json +++ b/core-build/node-library-build/config/api-extractor.json @@ -1,11 +1,11 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, - "reportFolder": "../../common/reviews/api" + "reportFolder": "../../../common/reviews/api" }, "docModel": { diff --git a/core-build/web-library-build/config/api-extractor.json b/core-build/web-library-build/config/api-extractor.json index 8111fb359b3..4ea4e2ffcb0 100644 --- a/core-build/web-library-build/config/api-extractor.json +++ b/core-build/web-library-build/config/api-extractor.json @@ -1,11 +1,11 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, - "reportFolder": "../../common/reviews/api" + "reportFolder": "../../../common/reviews/api" }, "docModel": { diff --git a/libraries/package-deps-hash/config/api-extractor.json b/libraries/package-deps-hash/config/api-extractor.json index 1a5e8c0cf2a..f821577765b 100644 --- a/libraries/package-deps-hash/config/api-extractor.json +++ b/libraries/package-deps-hash/config/api-extractor.json @@ -1,11 +1,11 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, - "reportFolder": "../../common/reviews/api" + "reportFolder": "../../../common/reviews/api" }, "docModel": { diff --git a/libraries/rushell/config/api-extractor.json b/libraries/rushell/config/api-extractor.json index 1a5e8c0cf2a..f821577765b 100644 --- a/libraries/rushell/config/api-extractor.json +++ b/libraries/rushell/config/api-extractor.json @@ -1,11 +1,11 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, - "reportFolder": "../../common/reviews/api" + "reportFolder": "../../../common/reviews/api" }, "docModel": { diff --git a/libraries/stream-collator/config/api-extractor.json b/libraries/stream-collator/config/api-extractor.json index 1a5e8c0cf2a..f821577765b 100644 --- a/libraries/stream-collator/config/api-extractor.json +++ b/libraries/stream-collator/config/api-extractor.json @@ -1,11 +1,11 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, - "reportFolder": "../../common/reviews/api" + "reportFolder": "../../../common/reviews/api" }, "docModel": { diff --git a/webpack/loader-load-themed-styles/config/api-extractor.json b/webpack/loader-load-themed-styles/config/api-extractor.json index 8111fb359b3..4ea4e2ffcb0 100644 --- a/webpack/loader-load-themed-styles/config/api-extractor.json +++ b/webpack/loader-load-themed-styles/config/api-extractor.json @@ -1,11 +1,11 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, - "reportFolder": "../../common/reviews/api" + "reportFolder": "../../../common/reviews/api" }, "docModel": { diff --git a/webpack/resolve-chunk-plugin/config/api-extractor.json b/webpack/resolve-chunk-plugin/config/api-extractor.json index 8111fb359b3..4ea4e2ffcb0 100644 --- a/webpack/resolve-chunk-plugin/config/api-extractor.json +++ b/webpack/resolve-chunk-plugin/config/api-extractor.json @@ -1,11 +1,11 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, - "reportFolder": "../../common/reviews/api" + "reportFolder": "../../../common/reviews/api" }, "docModel": { diff --git a/webpack/set-webpack-public-path-plugin/config/api-extractor.json b/webpack/set-webpack-public-path-plugin/config/api-extractor.json index 8111fb359b3..4ea4e2ffcb0 100644 --- a/webpack/set-webpack-public-path-plugin/config/api-extractor.json +++ b/webpack/set-webpack-public-path-plugin/config/api-extractor.json @@ -1,11 +1,11 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFile": "lib/index.d.ts", + "mainEntryPointFile": "/lib/index.d.ts", "apiReport": { "enabled": true, - "reportFolder": "../../common/reviews/api" + "reportFolder": "../../../common/reviews/api" }, "docModel": {