init
This commit is contained in:
287
node_modules/@microsoft/tsdoc-config/CHANGELOG.json
generated
vendored
Normal file
287
node_modules/@microsoft/tsdoc-config/CHANGELOG.json
generated
vendored
Normal file
@ -0,0 +1,287 @@
|
||||
{
|
||||
"name": "@microsoft/tsdoc-config",
|
||||
"entries": [
|
||||
{
|
||||
"version": "0.16.2",
|
||||
"tag": "@microsoft/tsdoc-config_v0.16.2",
|
||||
"date": "Wed, 14 Sep 2022 02:55:06 GMT",
|
||||
"comments": {
|
||||
"dependency": [
|
||||
{
|
||||
"comment": "Updating dependency \"@microsoft/tsdoc\" from `0.14.1` to `0.14.2`"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "0.16.1",
|
||||
"tag": "@microsoft/tsdoc-config_v0.16.1",
|
||||
"date": "Sat, 09 Apr 2022 02:28:41 GMT",
|
||||
"comments": {
|
||||
"patch": [
|
||||
{
|
||||
"comment": "Rename the \"master\" branch to \"main.\""
|
||||
}
|
||||
],
|
||||
"dependency": [
|
||||
{
|
||||
"comment": "Updating dependency \"@microsoft/tsdoc\" from `0.14.0` to `0.14.1`"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "0.16.0",
|
||||
"tag": "@microsoft/tsdoc-config_v0.16.0",
|
||||
"date": "Thu, 07 Apr 2022 22:51:07 GMT",
|
||||
"comments": {
|
||||
"minor": [
|
||||
{
|
||||
"comment": "Add `supportedHtmlElements` and `reportUnsupportedHtmlElements` configuration options"
|
||||
}
|
||||
],
|
||||
"dependency": [
|
||||
{
|
||||
"comment": "Updating dependency \"@microsoft/tsdoc\" from `0.13.2` to `0.14.0`"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "0.15.2",
|
||||
"tag": "@microsoft/tsdoc-config_v0.15.2",
|
||||
"date": "Tue, 20 Apr 2021 04:25:13 GMT",
|
||||
"comments": {
|
||||
"patch": [
|
||||
{
|
||||
"comment": "Improve reporting of tsdoc-config-unresolved-extends"
|
||||
},
|
||||
{
|
||||
"comment": "Fix some issues with the logic for TSDocConfigFile.hasErrors and TSDocConfigFile.fileNotFound"
|
||||
}
|
||||
],
|
||||
"dependency": [
|
||||
{
|
||||
"comment": "Updating dependency \"@microsoft/tsdoc\" from `0.13.1` to `0.13.2`"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "0.15.1",
|
||||
"tag": "@microsoft/tsdoc-config_v0.15.1",
|
||||
"date": "Mon, 19 Apr 2021 21:22:32 GMT",
|
||||
"comments": {
|
||||
"patch": [
|
||||
{
|
||||
"comment": "Improve reporting of error messages when loading tsdoc.json"
|
||||
}
|
||||
],
|
||||
"dependency": [
|
||||
{
|
||||
"comment": "Updating dependency \"@microsoft/tsdoc\" from `0.13.0` to `0.13.1`"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "0.15.0",
|
||||
"tag": "@microsoft/tsdoc-config_v0.15.0",
|
||||
"date": "Fri, 16 Apr 2021 23:22:26 GMT",
|
||||
"comments": {
|
||||
"minor": [
|
||||
{
|
||||
"comment": "Add a new API TSDocConfigFile.loadFromObject()"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "0.14.0",
|
||||
"tag": "@microsoft/tsdoc-config_v0.14.0",
|
||||
"date": "Fri, 22 Jan 2021 18:07:19 GMT",
|
||||
"comments": {
|
||||
"minor": [
|
||||
{
|
||||
"comment": "Update tsdoc.json schema to add a new field \"noStandardTags\""
|
||||
},
|
||||
{
|
||||
"comment": "TSDocConfigFile.configureParser() now clears any previous state, and it only defines standard tags if \"noStandardTags\" is not true."
|
||||
},
|
||||
{
|
||||
"comment": "Added new API TSDocConfigFile.updateParser() which preserves the previous configuration state"
|
||||
},
|
||||
{
|
||||
"comment": "Add new \"supportForTags\" field to tsdoc.json schema"
|
||||
},
|
||||
{
|
||||
"comment": "Add new APIs: TSDocConfigFile.supportForTags, .clearTagDefinitions(), .addTagDefinition(), .clearSupportForTags(), .setSupportForTag(), .loadFromParser(), .saveFile(), .saveToObject()"
|
||||
}
|
||||
],
|
||||
"dependency": [
|
||||
{
|
||||
"comment": "Updating dependency \"@microsoft/tsdoc\" from `0.12.24` to `0.13.0`"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "0.13.9",
|
||||
"tag": "@microsoft/tsdoc-config_v0.13.9",
|
||||
"date": "Thu, 03 Dec 2020 08:07:55 GMT",
|
||||
"comments": {
|
||||
"dependency": [
|
||||
{
|
||||
"comment": "Updating dependency \"@microsoft/tsdoc\" from `0.12.23` to `0.12.24`"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "0.13.8",
|
||||
"tag": "@microsoft/tsdoc-config_v0.13.8",
|
||||
"date": "Thu, 03 Dec 2020 04:31:52 GMT",
|
||||
"comments": {
|
||||
"dependency": [
|
||||
{
|
||||
"comment": "Updating dependency \"@microsoft/tsdoc\" from `0.12.22` to `0.12.23`"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "0.13.7",
|
||||
"tag": "@microsoft/tsdoc-config_v0.13.7",
|
||||
"date": "Mon, 30 Nov 2020 06:16:21 GMT",
|
||||
"comments": {
|
||||
"patch": [
|
||||
{
|
||||
"comment": "Update documentation to reference the new website URL"
|
||||
},
|
||||
{
|
||||
"comment": "Upgrade build tools and configuration"
|
||||
}
|
||||
],
|
||||
"dependency": [
|
||||
{
|
||||
"comment": "Updating dependency \"@microsoft/tsdoc\" from `0.12.21` to `0.12.22`"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "0.13.6",
|
||||
"tag": "@microsoft/tsdoc-config_v0.13.6",
|
||||
"date": "Fri, 04 Sep 2020 15:53:27 GMT",
|
||||
"comments": {
|
||||
"patch": [
|
||||
{
|
||||
"comment": "Update build system"
|
||||
}
|
||||
],
|
||||
"dependency": [
|
||||
{
|
||||
"comment": "Updating dependency \"@microsoft/tsdoc\" from `0.12.20` to `0.12.21`"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "0.13.5",
|
||||
"tag": "@microsoft/tsdoc-config_v0.13.5",
|
||||
"date": "Sun, 19 Jul 2020 01:22:35 GMT",
|
||||
"comments": {
|
||||
"patch": [
|
||||
{
|
||||
"comment": "Bump ajv dependency to ~6.12.3"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "0.13.4",
|
||||
"tag": "@microsoft/tsdoc-config_v0.13.4",
|
||||
"date": "Wed, 20 May 2020 22:33:27 GMT",
|
||||
"comments": {
|
||||
"patch": [
|
||||
{
|
||||
"comment": "Fix typo"
|
||||
}
|
||||
],
|
||||
"dependency": [
|
||||
{
|
||||
"comment": "Updating dependency \"@microsoft/tsdoc\" from `0.12.19` to `0.12.20`"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "0.13.3",
|
||||
"tag": "@microsoft/tsdoc-config_v0.13.3",
|
||||
"date": "Fri, 27 Mar 2020 23:14:53 GMT",
|
||||
"comments": {
|
||||
"dependency": [
|
||||
{
|
||||
"comment": "Updating dependency \"@microsoft/tsdoc\" from `0.12.18` to `0.12.19`"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "0.13.2",
|
||||
"tag": "@microsoft/tsdoc-config_v0.13.2",
|
||||
"date": "Sat, 22 Feb 2020 20:44:16 GMT",
|
||||
"comments": {
|
||||
"dependency": [
|
||||
{
|
||||
"comment": "Updating dependency \"@microsoft/tsdoc\" from `0.12.17` to `0.12.18`"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "0.13.1",
|
||||
"tag": "@microsoft/tsdoc-config_v0.13.1",
|
||||
"date": "Sat, 22 Feb 2020 02:55:07 GMT",
|
||||
"comments": {
|
||||
"dependency": [
|
||||
{
|
||||
"comment": "Updating dependency \"@microsoft/tsdoc\" from `0.12.16` to `0.12.17`"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "0.13.0",
|
||||
"tag": "@microsoft/tsdoc-config_v0.13.0",
|
||||
"date": "Tue, 21 Jan 2020 21:26:36 GMT",
|
||||
"comments": {
|
||||
"minor": [
|
||||
{
|
||||
"comment": "Improve tsdoc.json parser to allow JSON comments"
|
||||
},
|
||||
{
|
||||
"comment": "Add a new API TSDocConfigFile.checkForModifiedFiles() to facilitate caching"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"version": "0.12.16",
|
||||
"tag": "@microsoft/tsdoc-config_v0.12.16",
|
||||
"date": "Tue, 19 Nov 2019 22:01:56 GMT",
|
||||
"comments": {
|
||||
"patch": [
|
||||
{
|
||||
"comment": "Initial release"
|
||||
}
|
||||
],
|
||||
"dependency": [
|
||||
{
|
||||
"comment": "Updating dependency \"@microsoft/tsdoc\" from `0.12.15` to `0.12.16`"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
125
node_modules/@microsoft/tsdoc-config/CHANGELOG.md
generated
vendored
Normal file
125
node_modules/@microsoft/tsdoc-config/CHANGELOG.md
generated
vendored
Normal file
@ -0,0 +1,125 @@
|
||||
# Change Log - @microsoft/tsdoc-config
|
||||
|
||||
This log was last generated on Wed, 14 Sep 2022 02:55:06 GMT and should not be manually modified.
|
||||
|
||||
## 0.16.2
|
||||
Wed, 14 Sep 2022 02:55:06 GMT
|
||||
|
||||
_Version update only_
|
||||
|
||||
## 0.16.1
|
||||
Sat, 09 Apr 2022 02:28:41 GMT
|
||||
|
||||
### Patches
|
||||
|
||||
- Rename the "master" branch to "main."
|
||||
|
||||
## 0.16.0
|
||||
Thu, 07 Apr 2022 22:51:07 GMT
|
||||
|
||||
### Minor changes
|
||||
|
||||
- Add `supportedHtmlElements` and `reportUnsupportedHtmlElements` configuration options
|
||||
|
||||
## 0.15.2
|
||||
Tue, 20 Apr 2021 04:25:13 GMT
|
||||
|
||||
### Patches
|
||||
|
||||
- Improve reporting of tsdoc-config-unresolved-extends
|
||||
- Fix some issues with the logic for TSDocConfigFile.hasErrors and TSDocConfigFile.fileNotFound
|
||||
|
||||
## 0.15.1
|
||||
Mon, 19 Apr 2021 21:22:32 GMT
|
||||
|
||||
### Patches
|
||||
|
||||
- Improve reporting of error messages when loading tsdoc.json
|
||||
|
||||
## 0.15.0
|
||||
Fri, 16 Apr 2021 23:22:26 GMT
|
||||
|
||||
### Minor changes
|
||||
|
||||
- Add a new API TSDocConfigFile.loadFromObject()
|
||||
|
||||
## 0.14.0
|
||||
Fri, 22 Jan 2021 18:07:19 GMT
|
||||
|
||||
### Minor changes
|
||||
|
||||
- Update tsdoc.json schema to add a new field "noStandardTags"
|
||||
- TSDocConfigFile.configureParser() now clears any previous state, and it only defines standard tags if "noStandardTags" is not true.
|
||||
- Added new API TSDocConfigFile.updateParser() which preserves the previous configuration state
|
||||
- Add new "supportForTags" field to tsdoc.json schema
|
||||
- Add new APIs: TSDocConfigFile.supportForTags, .clearTagDefinitions(), .addTagDefinition(), .clearSupportForTags(), .setSupportForTag(), .loadFromParser(), .saveFile(), .saveToObject()
|
||||
|
||||
## 0.13.9
|
||||
Thu, 03 Dec 2020 08:07:55 GMT
|
||||
|
||||
_Version update only_
|
||||
|
||||
## 0.13.8
|
||||
Thu, 03 Dec 2020 04:31:52 GMT
|
||||
|
||||
_Version update only_
|
||||
|
||||
## 0.13.7
|
||||
Mon, 30 Nov 2020 06:16:21 GMT
|
||||
|
||||
### Patches
|
||||
|
||||
- Update documentation to reference the new website URL
|
||||
- Upgrade build tools and configuration
|
||||
|
||||
## 0.13.6
|
||||
Fri, 04 Sep 2020 15:53:27 GMT
|
||||
|
||||
### Patches
|
||||
|
||||
- Update build system
|
||||
|
||||
## 0.13.5
|
||||
Sun, 19 Jul 2020 01:22:35 GMT
|
||||
|
||||
### Patches
|
||||
|
||||
- Bump ajv dependency to ~6.12.3
|
||||
|
||||
## 0.13.4
|
||||
Wed, 20 May 2020 22:33:27 GMT
|
||||
|
||||
### Patches
|
||||
|
||||
- Fix typo
|
||||
|
||||
## 0.13.3
|
||||
Fri, 27 Mar 2020 23:14:53 GMT
|
||||
|
||||
_Version update only_
|
||||
|
||||
## 0.13.2
|
||||
Sat, 22 Feb 2020 20:44:16 GMT
|
||||
|
||||
_Version update only_
|
||||
|
||||
## 0.13.1
|
||||
Sat, 22 Feb 2020 02:55:07 GMT
|
||||
|
||||
_Version update only_
|
||||
|
||||
## 0.13.0
|
||||
Tue, 21 Jan 2020 21:26:36 GMT
|
||||
|
||||
### Minor changes
|
||||
|
||||
- Improve tsdoc.json parser to allow JSON comments
|
||||
- Add a new API TSDocConfigFile.checkForModifiedFiles() to facilitate caching
|
||||
|
||||
## 0.12.16
|
||||
Tue, 19 Nov 2019 22:01:56 GMT
|
||||
|
||||
### Patches
|
||||
|
||||
- Initial release
|
||||
|
22
node_modules/@microsoft/tsdoc-config/LICENSE
generated
vendored
Normal file
22
node_modules/@microsoft/tsdoc-config/LICENSE
generated
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
|
||||
MIT License
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
85
node_modules/@microsoft/tsdoc-config/README.md
generated
vendored
Normal file
85
node_modules/@microsoft/tsdoc-config/README.md
generated
vendored
Normal file
@ -0,0 +1,85 @@
|
||||
# @microsoft/tsdoc-config
|
||||
|
||||
**TSDoc** is a proposal to standardize the doc comments used in [TypeScript](http://www.typescriptlang.org/)
|
||||
source files. The main package [`@microsoft/tsdoc`](https://www.npmjs.com/package/@microsoft/tsdoc) implements
|
||||
the TSDoc parser. The `@microsoft/tsdoc-config` package is an optional add-on for loading the **tsdoc.json**
|
||||
file format that enables users to define custom TSDoc tags. (This functionality was moved to its own package
|
||||
because it requires external dependencies such as NodeJS and `ajv`, whereas the main package is fully self-contained.)
|
||||
|
||||
For more information about TSDoc, please visit the project website:
|
||||
|
||||
https://tsdoc.org
|
||||
|
||||
|
||||
## Creating config files
|
||||
|
||||
The **tsdoc.json** file is optional. When used, it is expected to be found in the same folder as
|
||||
the **tsconfig.json** file for a project. The loader looks for it by walking upwards in the directory tree
|
||||
until it finds a folder containing **tsconfig.json** or **package.json**, and then it attempts to load
|
||||
**tsdoc.json** from that location.
|
||||
|
||||
The **tsdoc.json** file conforms to the [tsdoc.schema.json](
|
||||
https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json) JSON schema. It defines tags using
|
||||
similar fields as the
|
||||
[TSDocTagDefinition](https://github.com/microsoft/tsdoc/blob/main/tsdoc/src/configuration/TSDocTagDefinition.ts)
|
||||
API used by `TSDocParser` from `@microsoft/tsdoc`.
|
||||
|
||||
Here's a simple example:
|
||||
|
||||
**tsdoc.json**
|
||||
```js
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"tagDefinitions": [
|
||||
{
|
||||
"tagName": "@myTag",
|
||||
"syntaxKind": "modifier"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
If you want to define custom tags in one place and share them across multiple projects, the `extends` field specifies
|
||||
a list of paths that will be mixed in with the current file:
|
||||
|
||||
**tsdoc.json**
|
||||
```js
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"extends": [
|
||||
"my-package/dist/tsdoc-base.json",
|
||||
"./path/to/local/file/tsdoc-local.json"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
> NOTE: The `extends` paths are resolved using NodeJS module resolution, so local paths must begin with `./` to avoid
|
||||
> being interpreted as an NPM package name.
|
||||
|
||||
|
||||
## API Usage
|
||||
|
||||
The code sample below illustrates how to invoke the `@microsoft/tsdoc-config` API to load a
|
||||
**tsdoc.json** file:
|
||||
|
||||
```ts
|
||||
import * as path from 'path';
|
||||
import { TSDocParser, TSDocConfiguration } from '@microsoft/tsdoc';
|
||||
import { TSDocConfigFile } from '@microsoft/tsdoc-config';
|
||||
|
||||
// Sample source file to be parsed
|
||||
const mySourceFile: string = 'my-project/src/example.ts';
|
||||
|
||||
// Load the nearest config file, for example `my-project/tsdoc.json`
|
||||
const tsdocConfigFile: TSDocConfigFile = TSDocConfigFile.loadForFolder(path.dirname(mySourceFile));
|
||||
if (tsdocConfigFile.hasErrors) {
|
||||
// Report any errors
|
||||
console.log(tsdocConfigFile.getErrorSummary());
|
||||
}
|
||||
|
||||
// Use the TSDocConfigFile to configure the parser
|
||||
const tsdocConfiguration: TSDocConfiguration = new TSDocConfiguration();
|
||||
tsdocConfigFile.configureParser(tsdocConfiguration);
|
||||
const tsdocParser: TSDocParser = new TSDocParser(tsdocConfiguration);
|
||||
```
|
||||
|
216
node_modules/@microsoft/tsdoc-config/lib/TSDocConfigFile.d.ts
generated
vendored
Normal file
216
node_modules/@microsoft/tsdoc-config/lib/TSDocConfigFile.d.ts
generated
vendored
Normal file
@ -0,0 +1,216 @@
|
||||
import { TSDocTagDefinition, TSDocConfiguration, ParserMessageLog, ITSDocTagDefinitionParameters } from '@microsoft/tsdoc';
|
||||
/**
|
||||
* Represents an individual `tsdoc.json` file.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
export declare class TSDocConfigFile {
|
||||
static readonly FILENAME: string;
|
||||
static readonly CURRENT_SCHEMA_URL: string;
|
||||
/**
|
||||
* A queryable log that reports warnings and error messages that occurred during parsing.
|
||||
*/
|
||||
readonly log: ParserMessageLog;
|
||||
private readonly _extendsFiles;
|
||||
private _filePath;
|
||||
private _fileNotFound;
|
||||
private _fileMTime;
|
||||
private _hasErrors;
|
||||
private _tsdocSchema;
|
||||
private readonly _extendsPaths;
|
||||
private _noStandardTags;
|
||||
private readonly _tagDefinitions;
|
||||
private readonly _tagDefinitionNames;
|
||||
private readonly _supportForTags;
|
||||
private _supportedHtmlElements;
|
||||
private _reportUnsupportedHtmlElements;
|
||||
private constructor();
|
||||
/**
|
||||
* Other config files that this file extends from.
|
||||
*/
|
||||
get extendsFiles(): ReadonlyArray<TSDocConfigFile>;
|
||||
/**
|
||||
* The full path of the file that was attempted to load, or an empty string if the configuration was
|
||||
* loaded from a source that is not a file.
|
||||
*/
|
||||
get filePath(): string;
|
||||
/**
|
||||
* If true, then the TSDocConfigFile object contains an empty state, because the `tsdoc.json` file
|
||||
* was not found by the loader.
|
||||
*
|
||||
* @remarks
|
||||
* A missing "tsdoc.json" file is not considered an error. It simply means that the defaults will be used.
|
||||
*/
|
||||
get fileNotFound(): boolean;
|
||||
/**
|
||||
* If true, then at least one error was encountered while loading this file or one of its "extends" files.
|
||||
*
|
||||
* @remarks
|
||||
* You can use {@link TSDocConfigFile.getErrorSummary} to report these errors.
|
||||
*
|
||||
* The individual messages can be retrieved from the {@link TSDocConfigFile.log} property of each `TSDocConfigFile`
|
||||
* object (including the {@link TSDocConfigFile.extendsFiles} tree).
|
||||
*/
|
||||
get hasErrors(): boolean;
|
||||
/**
|
||||
* The `$schema` field from the `tsdoc.json` file.
|
||||
*/
|
||||
get tsdocSchema(): string;
|
||||
/**
|
||||
* The `extends` field from the `tsdoc.json` file. For the parsed file contents,
|
||||
* use the `extendsFiles` property instead.
|
||||
*/
|
||||
get extendsPaths(): ReadonlyArray<string>;
|
||||
/**
|
||||
* By default, the config file loader will predefine all of the standardized TSDoc tags. To disable this and
|
||||
* start with a completely empty configuration, set `noStandardTags` to true.
|
||||
*
|
||||
* @remarks
|
||||
* If a config file uses `"extends"` to include settings from base config files, then its setting will
|
||||
* override any settings from the base config files. If `"noStandardTags"` is not specified, then this
|
||||
* property will be `undefined`. The config files are applied in the order they are processed (a depth-first
|
||||
* traversal of the `"extends"` references), and files processed later can override earlier files.
|
||||
* If no config file specifies `noStandardTags` then the default value is `false`.
|
||||
*/
|
||||
get noStandardTags(): boolean | undefined;
|
||||
set noStandardTags(value: boolean | undefined);
|
||||
get tagDefinitions(): ReadonlyArray<TSDocTagDefinition>;
|
||||
get supportForTags(): ReadonlyMap<string, boolean>;
|
||||
get supportedHtmlElements(): ReadonlyArray<string> | undefined;
|
||||
get reportUnsupportedHtmlElements(): boolean | undefined;
|
||||
set reportUnsupportedHtmlElements(value: boolean | undefined);
|
||||
/**
|
||||
* Removes all items from the `tagDefinitions` array.
|
||||
*/
|
||||
clearTagDefinitions(): void;
|
||||
/**
|
||||
* Adds a new item to the `tagDefinitions` array.
|
||||
*/
|
||||
addTagDefinition(parameters: ITSDocTagDefinitionParameters): void;
|
||||
private _addTagDefinitionForLoad;
|
||||
/**
|
||||
* Adds a new item to the `supportedHtmlElements` array.
|
||||
*/
|
||||
addSupportedHtmlElement(htmlElement: string): void;
|
||||
/**
|
||||
* Removes the explicit list of allowed html elements.
|
||||
*/
|
||||
clearSupportedHtmlElements(): void;
|
||||
/**
|
||||
* Removes all entries from the "supportForTags" map.
|
||||
*/
|
||||
clearSupportForTags(): void;
|
||||
/**
|
||||
* Sets an entry in the "supportForTags" map.
|
||||
*/
|
||||
setSupportForTag(tagName: string, supported: boolean): void;
|
||||
/**
|
||||
* This can be used for cache eviction. It returns true if the modification timestamp has changed for
|
||||
* any of the files that were read when loading this `TSDocConfigFile`, which indicates that the file should be
|
||||
* reloaded. It does not consider cases where `TSDocConfigFile.fileNotFound` was `true`.
|
||||
*
|
||||
* @remarks
|
||||
* This can be used for cache eviction. An example eviction strategy might be like this:
|
||||
*
|
||||
* - call `checkForModifiedFiles()` once per second, and reload the configuration if it returns true
|
||||
*
|
||||
* - otherwise, reload the configuration when it is more than 10 seconds old (to handle less common cases such
|
||||
* as creation of a missing file, or creation of a file at an earlier location in the search path).
|
||||
*/
|
||||
checkForModifiedFiles(): boolean;
|
||||
/**
|
||||
* Checks the last modification time for `TSDocConfigFile.filePath` and returns `true` if it has changed
|
||||
* since the file was loaded. If the file is missing, this returns `false`. If the timestamp cannot be read,
|
||||
* then this returns `true`.
|
||||
*/
|
||||
private _checkForModifiedFile;
|
||||
private _reportError;
|
||||
private _loadJsonObject;
|
||||
private _loadWithExtends;
|
||||
/**
|
||||
* For the given folder, look for the relevant tsdoc.json file (if any), and return its path.
|
||||
*
|
||||
* @param folderPath - the path to a folder where the search should start
|
||||
* @returns the (possibly relative) path to tsdoc.json, or an empty string if not found
|
||||
*/
|
||||
static findConfigPathForFolder(folderPath: string): string;
|
||||
/**
|
||||
* Calls `TSDocConfigFile.findConfigPathForFolder()` to find the relevant tsdoc.json config file, if one exists.
|
||||
* Then calls `TSDocConfigFile.findConfigPathForFolder()` to return the loaded result.
|
||||
*
|
||||
* @remarks
|
||||
* This API does not report loading errors by throwing exceptions. Instead, the caller is expected to check
|
||||
* for errors using {@link TSDocConfigFile.hasErrors}, {@link TSDocConfigFile.log},
|
||||
* or {@link TSDocConfigFile.getErrorSummary}.
|
||||
*
|
||||
* @param folderPath - the path to a folder where the search should start
|
||||
*/
|
||||
static loadForFolder(folderPath: string): TSDocConfigFile;
|
||||
/**
|
||||
* Loads the specified tsdoc.json and any base files that it refers to using the "extends" option.
|
||||
*
|
||||
* @remarks
|
||||
* This API does not report loading errors by throwing exceptions. Instead, the caller is expected to check
|
||||
* for errors using {@link TSDocConfigFile.hasErrors}, {@link TSDocConfigFile.log},
|
||||
* or {@link TSDocConfigFile.getErrorSummary}.
|
||||
*
|
||||
* @param tsdocJsonFilePath - the path to the tsdoc.json config file
|
||||
*/
|
||||
static loadFile(tsdocJsonFilePath: string): TSDocConfigFile;
|
||||
/**
|
||||
* Loads the object state from a JSON-serializable object as produced by {@link TSDocConfigFile.saveToObject}.
|
||||
*
|
||||
* @remarks
|
||||
* The serialized object has the same structure as `tsdoc.json`; however the `"extends"` field is not allowed.
|
||||
*
|
||||
* This API does not report loading errors by throwing exceptions. Instead, the caller is expected to check
|
||||
* for errors using {@link TSDocConfigFile.hasErrors}, {@link TSDocConfigFile.log},
|
||||
* or {@link TSDocConfigFile.getErrorSummary}.
|
||||
*/
|
||||
static loadFromObject(jsonObject: unknown): TSDocConfigFile;
|
||||
/**
|
||||
* Initializes a TSDocConfigFile object using the state from the provided `TSDocConfiguration` object.
|
||||
*
|
||||
* @remarks
|
||||
* This API does not report loading errors by throwing exceptions. Instead, the caller is expected to check
|
||||
* for errors using {@link TSDocConfigFile.hasErrors}, {@link TSDocConfigFile.log},
|
||||
* or {@link TSDocConfigFile.getErrorSummary}.
|
||||
*/
|
||||
static loadFromParser(configuration: TSDocConfiguration): TSDocConfigFile;
|
||||
/**
|
||||
* Writes the config file content to a JSON file with the specified file path.
|
||||
*/
|
||||
saveFile(jsonFilePath: string): void;
|
||||
/**
|
||||
* Writes the object state into a JSON-serializable object.
|
||||
*/
|
||||
saveToObject(): unknown;
|
||||
private static _serializeTagDefinition;
|
||||
/**
|
||||
* Returns a report of any errors that occurred while attempting to load this file or any files
|
||||
* referenced via the "extends" field.
|
||||
*
|
||||
* @remarks
|
||||
* Use {@link TSDocConfigFile.hasErrors} to determine whether any errors occurred.
|
||||
*/
|
||||
getErrorSummary(): string;
|
||||
/**
|
||||
* Applies the settings from this config file to a TSDoc parser configuration.
|
||||
* Any `extendsFile` settings will also applied.
|
||||
*
|
||||
* @remarks
|
||||
* Additional validation is performed during this operation. The caller is expected to check for errors
|
||||
* using {@link TSDocConfigFile.hasErrors}, {@link TSDocConfigFile.log}, or {@link TSDocConfigFile.getErrorSummary}.
|
||||
*/
|
||||
configureParser(configuration: TSDocConfiguration): void;
|
||||
/**
|
||||
* This is the same as {@link configureParser}, but it preserves any previous state.
|
||||
*
|
||||
* @remarks
|
||||
* Additional validation is performed during this operation. The caller is expected to check for errors
|
||||
* using {@link TSDocConfigFile.hasErrors}, {@link TSDocConfigFile.log}, or {@link TSDocConfigFile.getErrorSummary}.
|
||||
*/
|
||||
updateParser(configuration: TSDocConfiguration): void;
|
||||
private _getNoStandardTagsWithExtends;
|
||||
}
|
||||
//# sourceMappingURL=TSDocConfigFile.d.ts.map
|
1
node_modules/@microsoft/tsdoc-config/lib/TSDocConfigFile.d.ts.map
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/TSDocConfigFile.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"TSDocConfigFile.d.ts","sourceRoot":"","sources":["../src/TSDocConfigFile.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAElB,kBAAkB,EAClB,gBAAgB,EAKhB,6BAA6B,EAC9B,MAAM,kBAAkB,CAAC;AAqC1B;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,gBAAuB,QAAQ,EAAE,MAAM,CAAgB;IACvD,gBAAuB,kBAAkB,EAAE,MAAM,CAC2B;IAE5E;;OAEG;IACH,SAAgB,GAAG,EAAE,gBAAgB,CAAC;IAEtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAW;IACzC,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuB;IACvD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAc;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuB;IACvD,OAAO,CAAC,sBAAsB,CAA0B;IACxD,OAAO,CAAC,8BAA8B,CAAsB;IAE5D,OAAO;IAgBP;;OAEG;IACH,IAAW,YAAY,IAAI,aAAa,CAAC,eAAe,CAAC,CAExD;IAED;;;OAGG;IACH,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED;;;;;;OAMG;IACH,IAAW,YAAY,IAAI,OAAO,CAEjC;IAED;;;;;;;;OAQG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED;;;OAGG;IACH,IAAW,YAAY,IAAI,aAAa,CAAC,MAAM,CAAC,CAE/C;IAED;;;;;;;;;;OAUG;IACH,IAAW,cAAc,IAAI,OAAO,GAAG,SAAS,CAE/C;IAED,IAAW,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAEnD;IAED,IAAW,cAAc,IAAI,aAAa,CAAC,kBAAkB,CAAC,CAE7D;IAED,IAAW,cAAc,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAExD;IAED,IAAW,qBAAqB,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAEpE;IAED,IAAW,6BAA6B,IAAI,OAAO,GAAG,SAAS,CAE9D;IAED,IAAW,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAElE;IAED;;OAEG;IACI,mBAAmB,IAAI,IAAI;IAKlC;;OAEG;IACI,gBAAgB,CAAC,UAAU,EAAE,6BAA6B,GAAG,IAAI;IAaxE,OAAO,CAAC,wBAAwB;IA0BhC;;OAEG;IACI,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAOzD;;OAEG;IACI,0BAA0B,IAAI,IAAI;IAIzC;;OAEG;IACI,mBAAmB,IAAI,IAAI;IAIlC;;OAEG;IACI,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAKlE;;;;;;;;;;;;OAYG;IACI,qBAAqB,IAAI,OAAO;IAYvC;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,eAAe;IAwEvB,OAAO,CAAC,gBAAgB;IA+FxB;;;;;OAKG;WACW,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IA2BjE;;;;;;;;;;OAUG;WACW,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe;IAKhE;;;;;;;;;OASG;WACW,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,eAAe;IAOlE;;;;;;;;;OASG;WACW,cAAc,CAAC,UAAU,EAAE,OAAO,GAAG,eAAe;IAYlE;;;;;;;OAOG;WACW,cAAc,CAAC,aAAa,EAAE,kBAAkB,GAAG,eAAe;IA4BhF;;OAEG;IACI,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAM3C;;OAEG;IACI,YAAY,IAAI,OAAO;IAkC9B,OAAO,CAAC,MAAM,CAAC,uBAAuB;IA0BtC;;;;;;OAMG;IACI,eAAe,IAAI,MAAM;IAgChC;;;;;;;OAOG;IACI,eAAe,CAAC,aAAa,EAAE,kBAAkB,GAAG,IAAI;IAY/D;;;;;;OAMG;IACI,YAAY,CAAC,aAAa,EAAE,kBAAkB,GAAG,IAAI;IAsC5D,OAAO,CAAC,6BAA6B;CAqBtC"}
|
683
node_modules/@microsoft/tsdoc-config/lib/TSDocConfigFile.js
generated
vendored
Normal file
683
node_modules/@microsoft/tsdoc-config/lib/TSDocConfigFile.js
generated
vendored
Normal file
@ -0,0 +1,683 @@
|
||||
"use strict";
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
var __importStar = (this && this.__importStar) || function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.TSDocConfigFile = void 0;
|
||||
const tsdoc_1 = require("@microsoft/tsdoc");
|
||||
const fs = __importStar(require("fs"));
|
||||
const resolve = __importStar(require("resolve"));
|
||||
const path = __importStar(require("path"));
|
||||
const ajv_1 = __importDefault(require("ajv"));
|
||||
const jju = __importStar(require("jju"));
|
||||
const ajv = new ajv_1.default({ verbose: true });
|
||||
function initializeSchemaValidator() {
|
||||
const jsonSchemaPath = resolve.sync('@microsoft/tsdoc/schemas/tsdoc.schema.json', { basedir: __dirname });
|
||||
const jsonSchemaContent = fs.readFileSync(jsonSchemaPath).toString();
|
||||
const jsonSchema = jju.parse(jsonSchemaContent, { mode: 'cjson' });
|
||||
return ajv.compile(jsonSchema);
|
||||
}
|
||||
// Warning: AJV has a fairly strange API. Each time this function is called, the function object's
|
||||
// properties get overwritten with the results of the latest validation. Thus we need to be careful
|
||||
// to read the properties before a subsequent call may occur.
|
||||
const tsdocSchemaValidator = initializeSchemaValidator();
|
||||
/**
|
||||
* Represents an individual `tsdoc.json` file.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
class TSDocConfigFile {
|
||||
constructor() {
|
||||
this.log = new tsdoc_1.ParserMessageLog();
|
||||
this._extendsFiles = [];
|
||||
this._filePath = '';
|
||||
this._fileNotFound = false;
|
||||
this._hasErrors = false;
|
||||
this._fileMTime = 0;
|
||||
this._tsdocSchema = '';
|
||||
this._extendsPaths = [];
|
||||
this._noStandardTags = undefined;
|
||||
this._tagDefinitions = [];
|
||||
this._tagDefinitionNames = new Set();
|
||||
this._supportForTags = new Map();
|
||||
}
|
||||
/**
|
||||
* Other config files that this file extends from.
|
||||
*/
|
||||
get extendsFiles() {
|
||||
return this._extendsFiles;
|
||||
}
|
||||
/**
|
||||
* The full path of the file that was attempted to load, or an empty string if the configuration was
|
||||
* loaded from a source that is not a file.
|
||||
*/
|
||||
get filePath() {
|
||||
return this._filePath;
|
||||
}
|
||||
/**
|
||||
* If true, then the TSDocConfigFile object contains an empty state, because the `tsdoc.json` file
|
||||
* was not found by the loader.
|
||||
*
|
||||
* @remarks
|
||||
* A missing "tsdoc.json" file is not considered an error. It simply means that the defaults will be used.
|
||||
*/
|
||||
get fileNotFound() {
|
||||
return this._fileNotFound;
|
||||
}
|
||||
/**
|
||||
* If true, then at least one error was encountered while loading this file or one of its "extends" files.
|
||||
*
|
||||
* @remarks
|
||||
* You can use {@link TSDocConfigFile.getErrorSummary} to report these errors.
|
||||
*
|
||||
* The individual messages can be retrieved from the {@link TSDocConfigFile.log} property of each `TSDocConfigFile`
|
||||
* object (including the {@link TSDocConfigFile.extendsFiles} tree).
|
||||
*/
|
||||
get hasErrors() {
|
||||
return this._hasErrors;
|
||||
}
|
||||
/**
|
||||
* The `$schema` field from the `tsdoc.json` file.
|
||||
*/
|
||||
get tsdocSchema() {
|
||||
return this._tsdocSchema;
|
||||
}
|
||||
/**
|
||||
* The `extends` field from the `tsdoc.json` file. For the parsed file contents,
|
||||
* use the `extendsFiles` property instead.
|
||||
*/
|
||||
get extendsPaths() {
|
||||
return this._extendsPaths;
|
||||
}
|
||||
/**
|
||||
* By default, the config file loader will predefine all of the standardized TSDoc tags. To disable this and
|
||||
* start with a completely empty configuration, set `noStandardTags` to true.
|
||||
*
|
||||
* @remarks
|
||||
* If a config file uses `"extends"` to include settings from base config files, then its setting will
|
||||
* override any settings from the base config files. If `"noStandardTags"` is not specified, then this
|
||||
* property will be `undefined`. The config files are applied in the order they are processed (a depth-first
|
||||
* traversal of the `"extends"` references), and files processed later can override earlier files.
|
||||
* If no config file specifies `noStandardTags` then the default value is `false`.
|
||||
*/
|
||||
get noStandardTags() {
|
||||
return this._noStandardTags;
|
||||
}
|
||||
set noStandardTags(value) {
|
||||
this._noStandardTags = value;
|
||||
}
|
||||
get tagDefinitions() {
|
||||
return this._tagDefinitions;
|
||||
}
|
||||
get supportForTags() {
|
||||
return this._supportForTags;
|
||||
}
|
||||
get supportedHtmlElements() {
|
||||
return this._supportedHtmlElements && Array.from(this._supportedHtmlElements);
|
||||
}
|
||||
get reportUnsupportedHtmlElements() {
|
||||
return this._reportUnsupportedHtmlElements;
|
||||
}
|
||||
set reportUnsupportedHtmlElements(value) {
|
||||
this._reportUnsupportedHtmlElements = value;
|
||||
}
|
||||
/**
|
||||
* Removes all items from the `tagDefinitions` array.
|
||||
*/
|
||||
clearTagDefinitions() {
|
||||
this._tagDefinitions.length = 0;
|
||||
this._tagDefinitionNames.clear();
|
||||
}
|
||||
/**
|
||||
* Adds a new item to the `tagDefinitions` array.
|
||||
*/
|
||||
addTagDefinition(parameters) {
|
||||
// This validates the tag name
|
||||
const tagDefinition = new tsdoc_1.TSDocTagDefinition(parameters);
|
||||
if (this._tagDefinitionNames.has(tagDefinition.tagNameWithUpperCase)) {
|
||||
throw new Error(`A tag definition was already added with the tag name "${parameters.tagName}"`);
|
||||
}
|
||||
this._tagDefinitionNames.add(tagDefinition.tagName);
|
||||
this._tagDefinitions.push(tagDefinition);
|
||||
}
|
||||
// Similar to addTagDefinition() but reports errors using _reportError()
|
||||
_addTagDefinitionForLoad(parameters) {
|
||||
let tagDefinition;
|
||||
try {
|
||||
// This validates the tag name
|
||||
tagDefinition = new tsdoc_1.TSDocTagDefinition(parameters);
|
||||
}
|
||||
catch (error) {
|
||||
this._reportError({
|
||||
messageId: tsdoc_1.TSDocMessageId.ConfigFileInvalidTagName,
|
||||
messageText: error.message,
|
||||
textRange: tsdoc_1.TextRange.empty,
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (this._tagDefinitionNames.has(tagDefinition.tagNameWithUpperCase)) {
|
||||
this._reportError({
|
||||
messageId: tsdoc_1.TSDocMessageId.ConfigFileDuplicateTagName,
|
||||
messageText: `The "tagDefinitions" field specifies more than one tag with the name "${parameters.tagName}"`,
|
||||
textRange: tsdoc_1.TextRange.empty,
|
||||
});
|
||||
}
|
||||
this._tagDefinitionNames.add(tagDefinition.tagNameWithUpperCase);
|
||||
this._tagDefinitions.push(tagDefinition);
|
||||
}
|
||||
/**
|
||||
* Adds a new item to the `supportedHtmlElements` array.
|
||||
*/
|
||||
addSupportedHtmlElement(htmlElement) {
|
||||
if (!this._supportedHtmlElements) {
|
||||
this._supportedHtmlElements = new Set();
|
||||
}
|
||||
this._supportedHtmlElements.add(htmlElement);
|
||||
}
|
||||
/**
|
||||
* Removes the explicit list of allowed html elements.
|
||||
*/
|
||||
clearSupportedHtmlElements() {
|
||||
this._supportedHtmlElements = undefined;
|
||||
}
|
||||
/**
|
||||
* Removes all entries from the "supportForTags" map.
|
||||
*/
|
||||
clearSupportForTags() {
|
||||
this._supportForTags.clear();
|
||||
}
|
||||
/**
|
||||
* Sets an entry in the "supportForTags" map.
|
||||
*/
|
||||
setSupportForTag(tagName, supported) {
|
||||
tsdoc_1.TSDocTagDefinition.validateTSDocTagName(tagName);
|
||||
this._supportForTags.set(tagName, supported);
|
||||
}
|
||||
/**
|
||||
* This can be used for cache eviction. It returns true if the modification timestamp has changed for
|
||||
* any of the files that were read when loading this `TSDocConfigFile`, which indicates that the file should be
|
||||
* reloaded. It does not consider cases where `TSDocConfigFile.fileNotFound` was `true`.
|
||||
*
|
||||
* @remarks
|
||||
* This can be used for cache eviction. An example eviction strategy might be like this:
|
||||
*
|
||||
* - call `checkForModifiedFiles()` once per second, and reload the configuration if it returns true
|
||||
*
|
||||
* - otherwise, reload the configuration when it is more than 10 seconds old (to handle less common cases such
|
||||
* as creation of a missing file, or creation of a file at an earlier location in the search path).
|
||||
*/
|
||||
checkForModifiedFiles() {
|
||||
if (this._checkForModifiedFile()) {
|
||||
return true;
|
||||
}
|
||||
for (const extendsFile of this.extendsFiles) {
|
||||
if (extendsFile.checkForModifiedFiles()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/**
|
||||
* Checks the last modification time for `TSDocConfigFile.filePath` and returns `true` if it has changed
|
||||
* since the file was loaded. If the file is missing, this returns `false`. If the timestamp cannot be read,
|
||||
* then this returns `true`.
|
||||
*/
|
||||
_checkForModifiedFile() {
|
||||
if (this._fileNotFound || !this._filePath) {
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
const mtimeMs = fs.statSync(this._filePath).mtimeMs;
|
||||
return mtimeMs !== this._fileMTime;
|
||||
}
|
||||
catch (error) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
_reportError(parserMessageParameters) {
|
||||
this.log.addMessage(new tsdoc_1.ParserMessage(parserMessageParameters));
|
||||
this._hasErrors = true;
|
||||
}
|
||||
_loadJsonObject(configJson) {
|
||||
if (configJson.$schema !== TSDocConfigFile.CURRENT_SCHEMA_URL) {
|
||||
this._reportError({
|
||||
messageId: tsdoc_1.TSDocMessageId.ConfigFileUnsupportedSchema,
|
||||
messageText: `Unsupported JSON "$schema" value; expecting "${TSDocConfigFile.CURRENT_SCHEMA_URL}"`,
|
||||
textRange: tsdoc_1.TextRange.empty,
|
||||
});
|
||||
return;
|
||||
}
|
||||
const success = tsdocSchemaValidator(configJson);
|
||||
if (!success) {
|
||||
const description = ajv.errorsText(tsdocSchemaValidator.errors);
|
||||
this._reportError({
|
||||
messageId: tsdoc_1.TSDocMessageId.ConfigFileSchemaError,
|
||||
messageText: 'Error loading config file: ' + description,
|
||||
textRange: tsdoc_1.TextRange.empty,
|
||||
});
|
||||
return;
|
||||
}
|
||||
this._tsdocSchema = configJson.$schema;
|
||||
if (configJson.extends) {
|
||||
this._extendsPaths.push(...configJson.extends);
|
||||
}
|
||||
this.noStandardTags = configJson.noStandardTags;
|
||||
for (const jsonTagDefinition of configJson.tagDefinitions || []) {
|
||||
let syntaxKind;
|
||||
switch (jsonTagDefinition.syntaxKind) {
|
||||
case 'inline':
|
||||
syntaxKind = tsdoc_1.TSDocTagSyntaxKind.InlineTag;
|
||||
break;
|
||||
case 'block':
|
||||
syntaxKind = tsdoc_1.TSDocTagSyntaxKind.BlockTag;
|
||||
break;
|
||||
case 'modifier':
|
||||
syntaxKind = tsdoc_1.TSDocTagSyntaxKind.ModifierTag;
|
||||
break;
|
||||
default:
|
||||
// The JSON schema should have caught this error
|
||||
throw new Error('Unexpected tag kind');
|
||||
}
|
||||
this._addTagDefinitionForLoad({
|
||||
tagName: jsonTagDefinition.tagName,
|
||||
syntaxKind: syntaxKind,
|
||||
allowMultiple: jsonTagDefinition.allowMultiple,
|
||||
});
|
||||
}
|
||||
if (configJson.supportedHtmlElements) {
|
||||
this._supportedHtmlElements = new Set();
|
||||
for (const htmlElement of configJson.supportedHtmlElements) {
|
||||
this.addSupportedHtmlElement(htmlElement);
|
||||
}
|
||||
}
|
||||
this._reportUnsupportedHtmlElements = configJson.reportUnsupportedHtmlElements;
|
||||
if (configJson.supportForTags) {
|
||||
for (const tagName of Object.keys(configJson.supportForTags)) {
|
||||
const supported = configJson.supportForTags[tagName];
|
||||
this._supportForTags.set(tagName, supported);
|
||||
}
|
||||
}
|
||||
}
|
||||
_loadWithExtends(configFilePath, referencingConfigFile, alreadyVisitedPaths) {
|
||||
// In case an exception is thrown, start by assuming that the file was not found; we'll revise
|
||||
// this later upon success
|
||||
this._fileNotFound = true;
|
||||
if (!configFilePath) {
|
||||
this._reportError({
|
||||
messageId: tsdoc_1.TSDocMessageId.ConfigFileNotFound,
|
||||
messageText: 'File not found',
|
||||
textRange: tsdoc_1.TextRange.empty,
|
||||
});
|
||||
return;
|
||||
}
|
||||
this._filePath = path.resolve(configFilePath);
|
||||
if (!fs.existsSync(this._filePath)) {
|
||||
this._reportError({
|
||||
messageId: tsdoc_1.TSDocMessageId.ConfigFileNotFound,
|
||||
messageText: 'File not found',
|
||||
textRange: tsdoc_1.TextRange.empty,
|
||||
});
|
||||
return;
|
||||
}
|
||||
const configJsonContent = fs.readFileSync(this._filePath).toString();
|
||||
this._fileMTime = fs.statSync(this._filePath).mtimeMs;
|
||||
this._fileNotFound = false;
|
||||
const hashKey = fs.realpathSync(this._filePath);
|
||||
if (referencingConfigFile && alreadyVisitedPaths.has(hashKey)) {
|
||||
this._reportError({
|
||||
messageId: tsdoc_1.TSDocMessageId.ConfigFileCyclicExtends,
|
||||
messageText: `Circular reference encountered for "extends" field of "${referencingConfigFile.filePath}"`,
|
||||
textRange: tsdoc_1.TextRange.empty,
|
||||
});
|
||||
return;
|
||||
}
|
||||
alreadyVisitedPaths.add(hashKey);
|
||||
let configJson;
|
||||
try {
|
||||
configJson = jju.parse(configJsonContent, { mode: 'cjson' });
|
||||
}
|
||||
catch (e) {
|
||||
this._reportError({
|
||||
messageId: tsdoc_1.TSDocMessageId.ConfigInvalidJson,
|
||||
messageText: 'Error parsing JSON input: ' + e.message,
|
||||
textRange: tsdoc_1.TextRange.empty,
|
||||
});
|
||||
return;
|
||||
}
|
||||
this._loadJsonObject(configJson);
|
||||
const configFileFolder = path.dirname(this.filePath);
|
||||
for (const extendsField of this.extendsPaths) {
|
||||
let resolvedExtendsPath;
|
||||
try {
|
||||
resolvedExtendsPath = resolve.sync(extendsField, { basedir: configFileFolder });
|
||||
}
|
||||
catch (e) {
|
||||
this._reportError({
|
||||
messageId: tsdoc_1.TSDocMessageId.ConfigFileUnresolvedExtends,
|
||||
messageText: `Unable to resolve "extends" reference to "${extendsField}": ` + e.message,
|
||||
textRange: tsdoc_1.TextRange.empty,
|
||||
});
|
||||
return;
|
||||
}
|
||||
const baseConfigFile = new TSDocConfigFile();
|
||||
baseConfigFile._loadWithExtends(resolvedExtendsPath, this, alreadyVisitedPaths);
|
||||
if (baseConfigFile.fileNotFound) {
|
||||
this._reportError({
|
||||
messageId: tsdoc_1.TSDocMessageId.ConfigFileUnresolvedExtends,
|
||||
messageText: `Unable to resolve "extends" reference to "${extendsField}"`,
|
||||
textRange: tsdoc_1.TextRange.empty,
|
||||
});
|
||||
}
|
||||
this._extendsFiles.push(baseConfigFile);
|
||||
if (baseConfigFile.hasErrors) {
|
||||
this._hasErrors = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* For the given folder, look for the relevant tsdoc.json file (if any), and return its path.
|
||||
*
|
||||
* @param folderPath - the path to a folder where the search should start
|
||||
* @returns the (possibly relative) path to tsdoc.json, or an empty string if not found
|
||||
*/
|
||||
static findConfigPathForFolder(folderPath) {
|
||||
if (folderPath) {
|
||||
let foundFolder = folderPath;
|
||||
for (;;) {
|
||||
const tsconfigJsonPath = path.join(foundFolder, 'tsconfig.json');
|
||||
if (fs.existsSync(tsconfigJsonPath)) {
|
||||
// Stop when we reach a folder containing tsconfig.json
|
||||
return path.join(foundFolder, TSDocConfigFile.FILENAME);
|
||||
}
|
||||
const packageJsonPath = path.join(foundFolder, 'package.json');
|
||||
if (fs.existsSync(packageJsonPath)) {
|
||||
// Stop when we reach a folder containing package.json; this avoids crawling out of the current package
|
||||
return path.join(foundFolder, TSDocConfigFile.FILENAME);
|
||||
}
|
||||
const previousFolder = foundFolder;
|
||||
foundFolder = path.dirname(foundFolder);
|
||||
if (!foundFolder || foundFolder === previousFolder) {
|
||||
// Give up if we reach the filesystem root directory
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return '';
|
||||
}
|
||||
/**
|
||||
* Calls `TSDocConfigFile.findConfigPathForFolder()` to find the relevant tsdoc.json config file, if one exists.
|
||||
* Then calls `TSDocConfigFile.findConfigPathForFolder()` to return the loaded result.
|
||||
*
|
||||
* @remarks
|
||||
* This API does not report loading errors by throwing exceptions. Instead, the caller is expected to check
|
||||
* for errors using {@link TSDocConfigFile.hasErrors}, {@link TSDocConfigFile.log},
|
||||
* or {@link TSDocConfigFile.getErrorSummary}.
|
||||
*
|
||||
* @param folderPath - the path to a folder where the search should start
|
||||
*/
|
||||
static loadForFolder(folderPath) {
|
||||
const rootConfigPath = TSDocConfigFile.findConfigPathForFolder(folderPath);
|
||||
return TSDocConfigFile.loadFile(rootConfigPath);
|
||||
}
|
||||
/**
|
||||
* Loads the specified tsdoc.json and any base files that it refers to using the "extends" option.
|
||||
*
|
||||
* @remarks
|
||||
* This API does not report loading errors by throwing exceptions. Instead, the caller is expected to check
|
||||
* for errors using {@link TSDocConfigFile.hasErrors}, {@link TSDocConfigFile.log},
|
||||
* or {@link TSDocConfigFile.getErrorSummary}.
|
||||
*
|
||||
* @param tsdocJsonFilePath - the path to the tsdoc.json config file
|
||||
*/
|
||||
static loadFile(tsdocJsonFilePath) {
|
||||
const configFile = new TSDocConfigFile();
|
||||
const alreadyVisitedPaths = new Set();
|
||||
configFile._loadWithExtends(tsdocJsonFilePath, undefined, alreadyVisitedPaths);
|
||||
return configFile;
|
||||
}
|
||||
/**
|
||||
* Loads the object state from a JSON-serializable object as produced by {@link TSDocConfigFile.saveToObject}.
|
||||
*
|
||||
* @remarks
|
||||
* The serialized object has the same structure as `tsdoc.json`; however the `"extends"` field is not allowed.
|
||||
*
|
||||
* This API does not report loading errors by throwing exceptions. Instead, the caller is expected to check
|
||||
* for errors using {@link TSDocConfigFile.hasErrors}, {@link TSDocConfigFile.log},
|
||||
* or {@link TSDocConfigFile.getErrorSummary}.
|
||||
*/
|
||||
static loadFromObject(jsonObject) {
|
||||
const configFile = new TSDocConfigFile();
|
||||
configFile._loadJsonObject(jsonObject);
|
||||
if (configFile.extendsPaths.length > 0) {
|
||||
throw new Error('The "extends" field cannot be used with TSDocConfigFile.loadFromObject()');
|
||||
}
|
||||
return configFile;
|
||||
}
|
||||
/**
|
||||
* Initializes a TSDocConfigFile object using the state from the provided `TSDocConfiguration` object.
|
||||
*
|
||||
* @remarks
|
||||
* This API does not report loading errors by throwing exceptions. Instead, the caller is expected to check
|
||||
* for errors using {@link TSDocConfigFile.hasErrors}, {@link TSDocConfigFile.log},
|
||||
* or {@link TSDocConfigFile.getErrorSummary}.
|
||||
*/
|
||||
static loadFromParser(configuration) {
|
||||
const configFile = new TSDocConfigFile();
|
||||
// The standard tags will be mixed together with custom definitions,
|
||||
// so set noStandardTags=true to avoid defining them twice.
|
||||
configFile.noStandardTags = true;
|
||||
for (const tagDefinition of configuration.tagDefinitions) {
|
||||
configFile.addTagDefinition({
|
||||
syntaxKind: tagDefinition.syntaxKind,
|
||||
tagName: tagDefinition.tagName,
|
||||
allowMultiple: tagDefinition.allowMultiple,
|
||||
});
|
||||
}
|
||||
for (const tagDefinition of configuration.supportedTagDefinitions) {
|
||||
configFile.setSupportForTag(tagDefinition.tagName, true);
|
||||
}
|
||||
for (const htmlElement of configuration.supportedHtmlElements) {
|
||||
configFile.addSupportedHtmlElement(htmlElement);
|
||||
}
|
||||
configFile.reportUnsupportedHtmlElements = configuration.validation.reportUnsupportedHtmlElements;
|
||||
return configFile;
|
||||
}
|
||||
/**
|
||||
* Writes the config file content to a JSON file with the specified file path.
|
||||
*/
|
||||
saveFile(jsonFilePath) {
|
||||
const jsonObject = this.saveToObject();
|
||||
const jsonContent = JSON.stringify(jsonObject, undefined, 2);
|
||||
fs.writeFileSync(jsonFilePath, jsonContent);
|
||||
}
|
||||
/**
|
||||
* Writes the object state into a JSON-serializable object.
|
||||
*/
|
||||
saveToObject() {
|
||||
const configJson = {
|
||||
$schema: TSDocConfigFile.CURRENT_SCHEMA_URL,
|
||||
};
|
||||
if (this.noStandardTags !== undefined) {
|
||||
configJson.noStandardTags = this.noStandardTags;
|
||||
}
|
||||
if (this.tagDefinitions.length > 0) {
|
||||
configJson.tagDefinitions = [];
|
||||
for (const tagDefinition of this.tagDefinitions) {
|
||||
configJson.tagDefinitions.push(TSDocConfigFile._serializeTagDefinition(tagDefinition));
|
||||
}
|
||||
}
|
||||
if (this.supportForTags.size > 0) {
|
||||
configJson.supportForTags = {};
|
||||
this.supportForTags.forEach((supported, tagName) => {
|
||||
configJson.supportForTags[tagName] = supported;
|
||||
});
|
||||
}
|
||||
if (this.supportedHtmlElements) {
|
||||
configJson.supportedHtmlElements = [...this.supportedHtmlElements];
|
||||
}
|
||||
if (this._reportUnsupportedHtmlElements !== undefined) {
|
||||
configJson.reportUnsupportedHtmlElements = this._reportUnsupportedHtmlElements;
|
||||
}
|
||||
return configJson;
|
||||
}
|
||||
static _serializeTagDefinition(tagDefinition) {
|
||||
let syntaxKind;
|
||||
switch (tagDefinition.syntaxKind) {
|
||||
case tsdoc_1.TSDocTagSyntaxKind.InlineTag:
|
||||
syntaxKind = 'inline';
|
||||
break;
|
||||
case tsdoc_1.TSDocTagSyntaxKind.BlockTag:
|
||||
syntaxKind = 'block';
|
||||
break;
|
||||
case tsdoc_1.TSDocTagSyntaxKind.ModifierTag:
|
||||
syntaxKind = 'modifier';
|
||||
break;
|
||||
default:
|
||||
throw new Error('Unimplemented TSDocTagSyntaxKind');
|
||||
}
|
||||
const tagConfigJson = {
|
||||
tagName: tagDefinition.tagName,
|
||||
syntaxKind,
|
||||
};
|
||||
if (tagDefinition.allowMultiple) {
|
||||
tagConfigJson.allowMultiple = true;
|
||||
}
|
||||
return tagConfigJson;
|
||||
}
|
||||
/**
|
||||
* Returns a report of any errors that occurred while attempting to load this file or any files
|
||||
* referenced via the "extends" field.
|
||||
*
|
||||
* @remarks
|
||||
* Use {@link TSDocConfigFile.hasErrors} to determine whether any errors occurred.
|
||||
*/
|
||||
getErrorSummary() {
|
||||
if (!this._hasErrors) {
|
||||
return 'No errors.';
|
||||
}
|
||||
let result = '';
|
||||
if (this.log.messages.length > 0) {
|
||||
const errorNoun = this.log.messages.length > 1 ? 'Errors' : 'Error';
|
||||
if (this.filePath) {
|
||||
result += `${errorNoun} encountered for ${this.filePath}:\n`;
|
||||
}
|
||||
else {
|
||||
result += `${errorNoun} encountered when loading TSDoc configuration:\n`;
|
||||
}
|
||||
for (const message of this.log.messages) {
|
||||
result += ` ${message.text}\n`;
|
||||
}
|
||||
}
|
||||
for (const extendsFile of this.extendsFiles) {
|
||||
if (extendsFile.hasErrors) {
|
||||
if (result !== '') {
|
||||
result += '\n';
|
||||
}
|
||||
result += extendsFile.getErrorSummary();
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
/**
|
||||
* Applies the settings from this config file to a TSDoc parser configuration.
|
||||
* Any `extendsFile` settings will also applied.
|
||||
*
|
||||
* @remarks
|
||||
* Additional validation is performed during this operation. The caller is expected to check for errors
|
||||
* using {@link TSDocConfigFile.hasErrors}, {@link TSDocConfigFile.log}, or {@link TSDocConfigFile.getErrorSummary}.
|
||||
*/
|
||||
configureParser(configuration) {
|
||||
if (this._getNoStandardTagsWithExtends()) {
|
||||
// Do not define standard tags
|
||||
configuration.clear(true);
|
||||
}
|
||||
else {
|
||||
// Define standard tags (the default behavior)
|
||||
configuration.clear(false);
|
||||
}
|
||||
this.updateParser(configuration);
|
||||
}
|
||||
/**
|
||||
* This is the same as {@link configureParser}, but it preserves any previous state.
|
||||
*
|
||||
* @remarks
|
||||
* Additional validation is performed during this operation. The caller is expected to check for errors
|
||||
* using {@link TSDocConfigFile.hasErrors}, {@link TSDocConfigFile.log}, or {@link TSDocConfigFile.getErrorSummary}.
|
||||
*/
|
||||
updateParser(configuration) {
|
||||
// First apply the base config files
|
||||
for (const extendsFile of this.extendsFiles) {
|
||||
extendsFile.updateParser(configuration);
|
||||
}
|
||||
// Then apply this one
|
||||
for (const tagDefinition of this.tagDefinitions) {
|
||||
configuration.addTagDefinition(tagDefinition);
|
||||
}
|
||||
this.supportForTags.forEach((supported, tagName) => {
|
||||
const tagDefinition = configuration.tryGetTagDefinition(tagName);
|
||||
if (tagDefinition) {
|
||||
// Note that setSupportForTag() automatically enables configuration.validation.reportUnsupportedTags
|
||||
configuration.setSupportForTag(tagDefinition, supported);
|
||||
}
|
||||
else {
|
||||
// Note that this validation may depend partially on the preexisting state of the TSDocConfiguration
|
||||
// object, so it cannot be performed during the TSConfigFile.loadFile() stage.
|
||||
this._reportError({
|
||||
messageId: tsdoc_1.TSDocMessageId.ConfigFileUndefinedTag,
|
||||
messageText: `The "supportForTags" field refers to an undefined tag ${JSON.stringify(tagName)}.`,
|
||||
textRange: tsdoc_1.TextRange.empty,
|
||||
});
|
||||
}
|
||||
});
|
||||
if (this.supportedHtmlElements) {
|
||||
configuration.setSupportedHtmlElements([...this.supportedHtmlElements]);
|
||||
}
|
||||
if (this._reportUnsupportedHtmlElements === false) {
|
||||
configuration.validation.reportUnsupportedHtmlElements = false;
|
||||
}
|
||||
else if (this._reportUnsupportedHtmlElements === true) {
|
||||
configuration.validation.reportUnsupportedHtmlElements = true;
|
||||
}
|
||||
}
|
||||
_getNoStandardTagsWithExtends() {
|
||||
if (this.noStandardTags !== undefined) {
|
||||
return this.noStandardTags;
|
||||
}
|
||||
// This config file does not specify "noStandardTags", so consider any base files referenced using "extends"
|
||||
let result = undefined;
|
||||
for (const extendsFile of this.extendsFiles) {
|
||||
const extendedValue = extendsFile._getNoStandardTagsWithExtends();
|
||||
if (extendedValue !== undefined) {
|
||||
result = extendedValue;
|
||||
}
|
||||
}
|
||||
if (result === undefined) {
|
||||
// If no config file specifies noStandardTags, then it defaults to false
|
||||
result = false;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
exports.TSDocConfigFile = TSDocConfigFile;
|
||||
TSDocConfigFile.FILENAME = 'tsdoc.json';
|
||||
TSDocConfigFile.CURRENT_SCHEMA_URL = 'https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json';
|
||||
//# sourceMappingURL=TSDocConfigFile.js.map
|
1
node_modules/@microsoft/tsdoc-config/lib/TSDocConfigFile.js.map
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/TSDocConfigFile.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
2
node_modules/@microsoft/tsdoc-config/lib/__tests__/ErrorHandling.test.d.ts
generated
vendored
Normal file
2
node_modules/@microsoft/tsdoc-config/lib/__tests__/ErrorHandling.test.d.ts
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export {};
|
||||
//# sourceMappingURL=ErrorHandling.test.d.ts.map
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/ErrorHandling.test.d.ts.map
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/ErrorHandling.test.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"ErrorHandling.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/ErrorHandling.test.ts"],"names":[],"mappings":""}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/ErrorHandling.test.js.map
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/ErrorHandling.test.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
2
node_modules/@microsoft/tsdoc-config/lib/__tests__/TSDocConfigFile.test.d.ts
generated
vendored
Normal file
2
node_modules/@microsoft/tsdoc-config/lib/__tests__/TSDocConfigFile.test.d.ts
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export {};
|
||||
//# sourceMappingURL=TSDocConfigFile.test.d.ts.map
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/TSDocConfigFile.test.d.ts.map
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/TSDocConfigFile.test.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"TSDocConfigFile.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/TSDocConfigFile.test.ts"],"names":[],"mappings":""}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/TSDocConfigFile.test.js.map
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/TSDocConfigFile.test.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e1/package.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e1/package.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e1/tsdoc.json
generated
vendored
Normal file
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e1/tsdoc.json
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"invalidSetting": false
|
||||
}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e2/package.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e2/package.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
3
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e2/tsdoc.json
generated
vendored
Normal file
3
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e2/tsdoc.json
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"invalid
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e3/package.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e3/package.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
3
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e3/tsdoc.json
generated
vendored
Normal file
3
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e3/tsdoc.json
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/invalid.json"
|
||||
}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e4/package.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e4/package.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
18
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e4/tsdoc.json
generated
vendored
Normal file
18
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e4/tsdoc.json
generated
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
|
||||
"tagDefinitions": [
|
||||
{
|
||||
"tagName": "@dupe",
|
||||
"syntaxKind": "modifier"
|
||||
},
|
||||
{
|
||||
"tagName": "@dupe",
|
||||
"syntaxKind": "modifier"
|
||||
}
|
||||
],
|
||||
|
||||
"supportForTags": {
|
||||
"@undefinedTag": true
|
||||
}
|
||||
}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e5/package.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e5/package.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e5/tsdoc-a.json
generated
vendored
Normal file
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e5/tsdoc-a.json
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"extends": [ "./tsdoc-b.json", "./tsdoc-c.json" ]
|
||||
}
|
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e5/tsdoc-b.json
generated
vendored
Normal file
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e5/tsdoc-b.json
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"extends": [ "./tsdoc-a.json" ]
|
||||
}
|
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e5/tsdoc-c.json
generated
vendored
Normal file
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e5/tsdoc-c.json
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"unknownSetting": 123
|
||||
}
|
5
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e5/tsdoc.json
generated
vendored
Normal file
5
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e5/tsdoc.json
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"extends": [ "./tsdoc-a.json" ]
|
||||
|
||||
}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e6/package.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e6/package.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e6/tsdoc.json
generated
vendored
Normal file
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e6/tsdoc.json
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"extends": [ "@rushstack/nonexistent-package/tsdoc.json" ]
|
||||
}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e7/package.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e7/package.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
7
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e7/tsdoc.json
generated
vendored
Normal file
7
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/e7/tsdoc.json
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
|
||||
"supportForTags": {
|
||||
"@nonExistentTag": true
|
||||
}
|
||||
}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p1/tsconfig.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p1/tsconfig.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
3
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p1/tsdoc.json
generated
vendored
Normal file
3
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p1/tsdoc.json
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json"
|
||||
}
|
5
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p10/base1/tsdoc-base1.json
generated
vendored
Normal file
5
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p10/base1/tsdoc-base1.json
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"supportedHtmlElements": ["span", "p"],
|
||||
"reportUnsupportedHtmlElements": false
|
||||
}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p10/tsconfig.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p10/tsconfig.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
5
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p10/tsdoc.json
generated
vendored
Normal file
5
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p10/tsdoc.json
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"extends": ["./base1/tsdoc-base1.json"],
|
||||
"reportUnsupportedHtmlElements": true
|
||||
}
|
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p11/base1/tsdoc-base1.json
generated
vendored
Normal file
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p11/base1/tsdoc-base1.json
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"reportUnsupportedHtmlElements": false
|
||||
}
|
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p11/base2/tsdoc-base2.json
generated
vendored
Normal file
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p11/base2/tsdoc-base2.json
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"supportedHtmlElements": []
|
||||
}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p11/tsconfig.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p11/tsconfig.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
5
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p11/tsdoc.json
generated
vendored
Normal file
5
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p11/tsdoc.json
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"extends": ["./base1/tsdoc-base1.json"],
|
||||
"reportUnsupportedHtmlElements": true
|
||||
}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p12/tsconfig.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p12/tsconfig.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
5
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p12/tsdoc.json
generated
vendored
Normal file
5
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p12/tsdoc.json
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"supportedHtmlElements": [],
|
||||
"reportUnsupportedHtmlElements": false
|
||||
}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p2/tsconfig.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p2/tsconfig.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
12
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p3/base1/tsdoc-base1.json
generated
vendored
Normal file
12
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p3/base1/tsdoc-base1.json
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"tagDefinitions": [
|
||||
{
|
||||
"tagName": "@base1",
|
||||
"syntaxKind": "modifier"
|
||||
}
|
||||
],
|
||||
"supportForTags": {
|
||||
"@base1": true
|
||||
}
|
||||
}
|
12
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p3/base2/tsdoc-base2.json
generated
vendored
Normal file
12
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p3/base2/tsdoc-base2.json
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"tagDefinitions": [
|
||||
{
|
||||
"tagName": "@base2",
|
||||
"syntaxKind": "modifier"
|
||||
}
|
||||
],
|
||||
"supportForTags": {
|
||||
"@base2": false
|
||||
}
|
||||
}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p3/tsconfig.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p3/tsconfig.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
13
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p3/tsdoc.json
generated
vendored
Normal file
13
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p3/tsdoc.json
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"extends": ["./base1/tsdoc-base1.json", "./base2/tsdoc-base2.json"],
|
||||
"tagDefinitions": [
|
||||
{
|
||||
"tagName": "@root",
|
||||
"syntaxKind": "modifier"
|
||||
}
|
||||
],
|
||||
"supportForTags": {
|
||||
"@base2": true
|
||||
}
|
||||
}
|
9
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p4/node_modules/example-lib/dist/tsdoc-example.json
generated
vendored
Normal file
9
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p4/node_modules/example-lib/dist/tsdoc-example.json
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"tagDefinitions": [
|
||||
{
|
||||
"tagName": "@example",
|
||||
"syntaxKind": "modifier"
|
||||
}
|
||||
]
|
||||
}
|
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p4/node_modules/example-lib/package.json
generated
vendored
Normal file
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p4/node_modules/example-lib/package.json
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "example-lib",
|
||||
"version": "1.0.0"
|
||||
}
|
7
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p4/package.json
generated
vendored
Normal file
7
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p4/package.json
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "p4",
|
||||
"version": "1.0.0",
|
||||
"dependencies": {
|
||||
"example-lib": "1.0.0"
|
||||
}
|
||||
}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p4/tsconfig.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p4/tsconfig.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
10
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p4/tsdoc.json
generated
vendored
Normal file
10
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p4/tsdoc.json
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"extends": ["example-lib/dist/tsdoc-example.json"],
|
||||
"tagDefinitions": [
|
||||
{
|
||||
"tagName": "@root",
|
||||
"syntaxKind": "modifier"
|
||||
}
|
||||
]
|
||||
}
|
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p5/base1/tsdoc-base1.json
generated
vendored
Normal file
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p5/base1/tsdoc-base1.json
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"noStandardTags": false
|
||||
}
|
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p5/base2/tsdoc-base2.json
generated
vendored
Normal file
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p5/base2/tsdoc-base2.json
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"noStandardTags": true
|
||||
}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p5/tsconfig.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p5/tsconfig.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p5/tsdoc.json
generated
vendored
Normal file
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p5/tsdoc.json
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"extends": ["./base1/tsdoc-base1.json", "./base2/tsdoc-base2.json"]
|
||||
}
|
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p6/base1/tsdoc-base1.json
generated
vendored
Normal file
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p6/base1/tsdoc-base1.json
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"noStandardTags": true
|
||||
}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p6/tsconfig.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p6/tsconfig.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
5
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p6/tsdoc.json
generated
vendored
Normal file
5
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p6/tsdoc.json
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"extends": ["./base1/tsdoc-base1.json"],
|
||||
"noStandardTags": false
|
||||
}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p7/tsconfig.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p7/tsconfig.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p7/tsdoc.json
generated
vendored
Normal file
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p7/tsdoc.json
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"supportedHtmlElements": ["b", "u"]
|
||||
}
|
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p8/base1/tsdoc-base1.json
generated
vendored
Normal file
4
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p8/base1/tsdoc-base1.json
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"supportedHtmlElements": ["span", "p"]
|
||||
}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p8/tsconfig.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p8/tsconfig.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
5
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p8/tsdoc.json
generated
vendored
Normal file
5
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p8/tsdoc.json
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"extends": ["./base1/tsdoc-base1.json"],
|
||||
"supportedHtmlElements": []
|
||||
}
|
5
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p9/base1/tsdoc-base1.json
generated
vendored
Normal file
5
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p9/base1/tsdoc-base1.json
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"supportedHtmlElements": ["span", "p"],
|
||||
"reportUnsupportedHtmlElements": true
|
||||
}
|
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p9/tsconfig.json
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p9/tsconfig.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
5
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p9/tsdoc.json
generated
vendored
Normal file
5
node_modules/@microsoft/tsdoc-config/lib/__tests__/assets/p9/tsdoc.json
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
|
||||
"extends": ["./base1/tsdoc-base1.json"],
|
||||
"reportUnsupportedHtmlElements": false
|
||||
}
|
2
node_modules/@microsoft/tsdoc-config/lib/index.d.ts
generated
vendored
Normal file
2
node_modules/@microsoft/tsdoc-config/lib/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export { TSDocConfigFile } from './TSDocConfigFile';
|
||||
//# sourceMappingURL=index.d.ts.map
|
1
node_modules/@microsoft/tsdoc-config/lib/index.d.ts.map
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/index.d.ts.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
5
node_modules/@microsoft/tsdoc-config/lib/index.js
generated
vendored
Normal file
5
node_modules/@microsoft/tsdoc-config/lib/index.js
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var TSDocConfigFile_1 = require("./TSDocConfigFile");
|
||||
Object.defineProperty(exports, "TSDocConfigFile", { enumerable: true, get: function () { return TSDocConfigFile_1.TSDocConfigFile; } });
|
||||
//# sourceMappingURL=index.js.map
|
1
node_modules/@microsoft/tsdoc-config/lib/index.js.map
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/lib/index.js.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,qDAAoD;AAA3C,kHAAA,eAAe,OAAA","sourcesContent":["export { TSDocConfigFile } from './TSDocConfigFile';\r\n"]}
|
34
node_modules/@microsoft/tsdoc-config/node_modules/resolve/.editorconfig
generated
vendored
Normal file
34
node_modules/@microsoft/tsdoc-config/node_modules/resolve/.editorconfig
generated
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
max_line_length = 200
|
||||
|
||||
[*.js]
|
||||
block_comment_start = /*
|
||||
block_comment = *
|
||||
block_comment_end = */
|
||||
|
||||
[*.yml]
|
||||
indent_size = 1
|
||||
|
||||
[package.json]
|
||||
indent_style = tab
|
||||
|
||||
[CHANGELOG.md]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[{*.json,Makefile}]
|
||||
max_line_length = off
|
||||
|
||||
[test/{dotdot,resolver,module_dir,multirepo,node_path,pathfilter,precedence}/**/*]
|
||||
indent_style = off
|
||||
indent_size = off
|
||||
max_line_length = off
|
||||
insert_final_newline = off
|
1
node_modules/@microsoft/tsdoc-config/node_modules/resolve/.eslintignore
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/node_modules/resolve/.eslintignore
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
node_modules
|
39
node_modules/@microsoft/tsdoc-config/node_modules/resolve/.eslintrc
generated
vendored
Normal file
39
node_modules/@microsoft/tsdoc-config/node_modules/resolve/.eslintrc
generated
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
{
|
||||
"extends": "@ljharb",
|
||||
"root": true,
|
||||
"rules": {
|
||||
"array-bracket-newline": 0,
|
||||
"array-element-newline": 0,
|
||||
"indent": [2, 4],
|
||||
"strict": 0,
|
||||
"complexity": 0,
|
||||
"consistent-return": 0,
|
||||
"curly": 0,
|
||||
"dot-notation": [2, { "allowKeywords": true }],
|
||||
"func-name-matching": 0,
|
||||
"func-style": 0,
|
||||
"global-require": 0,
|
||||
"id-length": [2, { "min": 1, "max": 30 }],
|
||||
"max-lines-per-function": 0,
|
||||
"max-nested-callbacks": 0,
|
||||
"max-params": 0,
|
||||
"max-statements-per-line": [2, { "max": 2 }],
|
||||
"max-statements": 0,
|
||||
"no-magic-numbers": 0,
|
||||
"no-console": 0,
|
||||
"no-shadow": 0,
|
||||
"no-unused-vars": [2, { "vars": "all", "args": "none" }],
|
||||
"no-use-before-define": 0,
|
||||
"object-curly-newline": 0,
|
||||
"operator-linebreak": [2, "before"],
|
||||
"sort-keys": 0,
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"files": "test/resolver/nested_symlinks/mylib/*.js",
|
||||
"rules": {
|
||||
"no-throw-literal": 0,
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
54
node_modules/@microsoft/tsdoc-config/node_modules/resolve/.github/workflows/node-4+.yml
generated
vendored
Normal file
54
node_modules/@microsoft/tsdoc-config/node_modules/resolve/.github/workflows/node-4+.yml
generated
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
name: 'Tests: node.js'
|
||||
|
||||
on: [pull_request, push]
|
||||
|
||||
jobs:
|
||||
matrix:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
latest: ${{ steps.set-matrix.outputs.requireds }}
|
||||
minors: ${{ steps.set-matrix.outputs.optionals }}
|
||||
steps:
|
||||
- uses: ljharb/actions/node/matrix@main
|
||||
id: set-matrix
|
||||
with:
|
||||
preset: '>=4'
|
||||
|
||||
latest:
|
||||
needs: [matrix]
|
||||
name: 'latest minors'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.matrix.outputs.latest) }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: ljharb/actions/node/run@main
|
||||
name: 'npm install && npm run tests-only'
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
command: 'tests-only'
|
||||
minors:
|
||||
needs: [matrix, latest]
|
||||
name: 'non-latest minors'
|
||||
continue-on-error: true
|
||||
if: ${{ !github.head_ref || !startsWith(github.head_ref, 'renovate') }}
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.matrix.outputs.minors) }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: ljharb/actions/node/run@main
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
command: 'tests-only'
|
||||
|
||||
node:
|
||||
name: 'node 4+'
|
||||
needs: [latest, minors]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- run: 'echo tests completed'
|
55
node_modules/@microsoft/tsdoc-config/node_modules/resolve/.github/workflows/node-iojs.yml
generated
vendored
Normal file
55
node_modules/@microsoft/tsdoc-config/node_modules/resolve/.github/workflows/node-iojs.yml
generated
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
name: 'Tests: node.js (io.js)'
|
||||
|
||||
on: [pull_request, push]
|
||||
|
||||
jobs:
|
||||
matrix:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
latest: ${{ steps.set-matrix.outputs.requireds }}
|
||||
minors: ${{ steps.set-matrix.outputs.optionals }}
|
||||
steps:
|
||||
- uses: ljharb/actions/node/matrix@main
|
||||
id: set-matrix
|
||||
with:
|
||||
preset: 'iojs'
|
||||
|
||||
latest:
|
||||
needs: [matrix]
|
||||
name: 'latest minors'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.matrix.outputs.latest) }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: ljharb/actions/node/run@main
|
||||
name: 'npm install && npm run tests-only'
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
command: 'tests-only'
|
||||
minors:
|
||||
needs: [matrix, latest]
|
||||
name: 'non-latest minors'
|
||||
continue-on-error: true
|
||||
if: ${{ !github.head_ref || !startsWith(github.head_ref, 'renovate') }}
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.matrix.outputs.minors) }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: ljharb/actions/node/run@main
|
||||
name: 'npm install && npm run tests-only'
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
command: 'tests-only'
|
||||
|
||||
node:
|
||||
name: 'io.js'
|
||||
needs: [latest, minors]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- run: 'echo tests completed'
|
27
node_modules/@microsoft/tsdoc-config/node_modules/resolve/.github/workflows/node-pretest.yml
generated
vendored
Normal file
27
node_modules/@microsoft/tsdoc-config/node_modules/resolve/.github/workflows/node-pretest.yml
generated
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
name: 'Tests: pretest/posttest'
|
||||
|
||||
on: [pull_request, push]
|
||||
|
||||
jobs:
|
||||
pretest:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: ljharb/actions/node/run@main
|
||||
name: 'npm install && npm run pretest'
|
||||
with:
|
||||
node-version: 'lts/*'
|
||||
command: 'pretest'
|
||||
|
||||
posttest:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: ljharb/actions/node/run@main
|
||||
name: 'npm install && npm run posttest'
|
||||
with:
|
||||
node-version: 'lts/*'
|
||||
command: 'posttest'
|
55
node_modules/@microsoft/tsdoc-config/node_modules/resolve/.github/workflows/node-zero.yml
generated
vendored
Normal file
55
node_modules/@microsoft/tsdoc-config/node_modules/resolve/.github/workflows/node-zero.yml
generated
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
name: 'Tests: node.js (0.x)'
|
||||
|
||||
on: [pull_request, push]
|
||||
|
||||
jobs:
|
||||
matrix:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
stable: ${{ steps.set-matrix.outputs.requireds }}
|
||||
unstable: ${{ steps.set-matrix.outputs.optionals }}
|
||||
steps:
|
||||
- uses: ljharb/actions/node/matrix@main
|
||||
id: set-matrix
|
||||
with:
|
||||
preset: '0.x'
|
||||
|
||||
stable:
|
||||
needs: [matrix]
|
||||
name: 'stable minors'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.matrix.outputs.stable) }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: ljharb/actions/node/run@main
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
command: 'tests-only'
|
||||
cache-node-modules-key: node_modules-${{ github.workflow }}-${{ github.action }}-${{ github.run_id }}
|
||||
unstable:
|
||||
needs: [matrix, stable]
|
||||
name: 'unstable minors'
|
||||
continue-on-error: true
|
||||
if: ${{ !github.head_ref || !startsWith(github.head_ref, 'renovate') }}
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix: ${{ fromJson(needs.matrix.outputs.unstable) }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: ljharb/actions/node/run@main
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
command: 'tests-only'
|
||||
cache-node-modules-key: node_modules-${{ github.workflow }}-${{ github.action }}-${{ github.run_id }}
|
||||
|
||||
node:
|
||||
name: 'node 0.x'
|
||||
needs: [stable, unstable]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- run: 'echo tests completed'
|
15
node_modules/@microsoft/tsdoc-config/node_modules/resolve/.github/workflows/rebase.yml
generated
vendored
Normal file
15
node_modules/@microsoft/tsdoc-config/node_modules/resolve/.github/workflows/rebase.yml
generated
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
name: Automatic Rebase
|
||||
|
||||
on: [pull_request_target]
|
||||
|
||||
jobs:
|
||||
_:
|
||||
name: "Automatic Rebase"
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: ljharb/rebase@master
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
14
node_modules/@microsoft/tsdoc-config/node_modules/resolve/.github/workflows/require-allow-edits.yml
generated
vendored
Normal file
14
node_modules/@microsoft/tsdoc-config/node_modules/resolve/.github/workflows/require-allow-edits.yml
generated
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
name: Require “Allow Edits”
|
||||
|
||||
on: [pull_request_target]
|
||||
|
||||
jobs:
|
||||
_:
|
||||
name: "Require “Allow Edits”"
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: ljharb/require-allow-edits@main
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
21
node_modules/@microsoft/tsdoc-config/node_modules/resolve/LICENSE
generated
vendored
Normal file
21
node_modules/@microsoft/tsdoc-config/node_modules/resolve/LICENSE
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2012 James Halliday
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
74
node_modules/@microsoft/tsdoc-config/node_modules/resolve/appveyor.yml
generated
vendored
Normal file
74
node_modules/@microsoft/tsdoc-config/node_modules/resolve/appveyor.yml
generated
vendored
Normal file
@ -0,0 +1,74 @@
|
||||
version: 1.0.{build}
|
||||
skip_branch_with_pr: true
|
||||
build: off
|
||||
|
||||
environment:
|
||||
matrix:
|
||||
#- nodejs_version: "15"
|
||||
- nodejs_version: "14"
|
||||
- nodejs_version: "13"
|
||||
- nodejs_version: "12"
|
||||
- nodejs_version: "11"
|
||||
- nodejs_version: "10"
|
||||
- nodejs_version: "9"
|
||||
- nodejs_version: "8"
|
||||
- nodejs_version: "7"
|
||||
- nodejs_version: "6"
|
||||
- nodejs_version: "5"
|
||||
- nodejs_version: "4"
|
||||
- nodejs_version: "3"
|
||||
- nodejs_version: "2"
|
||||
- nodejs_version: "1"
|
||||
- nodejs_version: "0.12"
|
||||
- nodejs_version: "0.10"
|
||||
- nodejs_version: "0.8"
|
||||
- nodejs_version: "0.6"
|
||||
matrix:
|
||||
# fast_finish: true
|
||||
allow_failures:
|
||||
- nodejs_version: "5" # due to windows npm bug, registry-side
|
||||
- nodejs_version: "0.8"
|
||||
# platform: x86 # x64 has started failing on the registry side, around early November 2020
|
||||
- nodejs_version: "0.6"
|
||||
|
||||
platform:
|
||||
- x86
|
||||
- x64
|
||||
|
||||
# Install scripts. (runs after repo cloning)
|
||||
install:
|
||||
# Fix symlinks in working copy (see https://github.com/appveyor/ci/issues/650#issuecomment-186592582) / https://github.com/charleskorn/batect/commit/d08986802ec43086902958c4ee7e57ff3e71dbef
|
||||
- git config core.symlinks true
|
||||
- git reset --hard
|
||||
# Get the latest stable version of Node.js or io.js
|
||||
- ps: if ($env:nodejs_version -ne '0.6') { Install-Product node $env:nodejs_version $env:platform }
|
||||
- ps: Update-NodeJsInstallation (Get-NodeJsLatestBuild $env:nodejs_version) $env:platform
|
||||
- IF %nodejs_version% EQU 0.6 npm config set strict-ssl false && npm -g install npm@1.3
|
||||
- IF %nodejs_version% EQU 0.8 npm config set strict-ssl false && npm -g install npm@1.4.28 && npm install -g npm@4.5
|
||||
- IF %nodejs_version% EQU 1 npm -g install npm@2.9
|
||||
- IF %nodejs_version% EQU 2 npm -g install npm@4
|
||||
- IF %nodejs_version% EQU 3 npm -g install npm@4
|
||||
- IF %nodejs_version% EQU 4 npm -g install npm@5.3
|
||||
- IF %nodejs_version% EQU 5 npm -g install npm@5.3
|
||||
- IF %nodejs_version% EQU 6 npm -g install npm@6.9
|
||||
- IF %nodejs_version% EQU 7 npm -g install npm@6
|
||||
- IF %nodejs_version% EQU 8 npm -g install npm@6
|
||||
- IF %nodejs_version% EQU 9 npm -g install npm@6.9
|
||||
- IF %nodejs_version% EQU 10 npm -g install npm@7
|
||||
- IF %nodejs_version% EQU 11 npm -g install npm@7
|
||||
- IF %nodejs_version% EQU 12 npm -g install npm@7
|
||||
- IF %nodejs_version% EQU 13 npm -g install npm@7
|
||||
- IF %nodejs_version% EQU 14 npm -g install npm@7
|
||||
- IF %nodejs_version% EQU 15 npm -g install npm@7
|
||||
- set PATH=%APPDATA%\npm;%PATH%
|
||||
#- IF %nodejs_version% NEQ 0.6 AND %nodejs_version% NEQ 0.8 npm -g install npm
|
||||
# install modules
|
||||
- npm install
|
||||
|
||||
# Post-install test scripts.
|
||||
test_script:
|
||||
# Output useful info for debugging.
|
||||
- node --version
|
||||
- npm --version
|
||||
# run tests
|
||||
- npm run tests-only
|
5
node_modules/@microsoft/tsdoc-config/node_modules/resolve/example/async.js
generated
vendored
Normal file
5
node_modules/@microsoft/tsdoc-config/node_modules/resolve/example/async.js
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
var resolve = require('../');
|
||||
resolve('tap', { basedir: __dirname }, function (err, res) {
|
||||
if (err) console.error(err);
|
||||
else console.log(res);
|
||||
});
|
3
node_modules/@microsoft/tsdoc-config/node_modules/resolve/example/sync.js
generated
vendored
Normal file
3
node_modules/@microsoft/tsdoc-config/node_modules/resolve/example/sync.js
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
var resolve = require('../');
|
||||
var res = resolve.sync('tap', { basedir: __dirname });
|
||||
console.log(res);
|
6
node_modules/@microsoft/tsdoc-config/node_modules/resolve/index.js
generated
vendored
Normal file
6
node_modules/@microsoft/tsdoc-config/node_modules/resolve/index.js
generated
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
var async = require('./lib/async');
|
||||
async.core = require('./lib/core');
|
||||
async.isCore = require('./lib/is-core');
|
||||
async.sync = require('./lib/sync');
|
||||
|
||||
module.exports = async;
|
299
node_modules/@microsoft/tsdoc-config/node_modules/resolve/lib/async.js
generated
vendored
Normal file
299
node_modules/@microsoft/tsdoc-config/node_modules/resolve/lib/async.js
generated
vendored
Normal file
@ -0,0 +1,299 @@
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
var caller = require('./caller');
|
||||
var nodeModulesPaths = require('./node-modules-paths');
|
||||
var normalizeOptions = require('./normalize-options');
|
||||
var isCore = require('is-core-module');
|
||||
|
||||
var realpathFS = fs.realpath && typeof fs.realpath.native === 'function' ? fs.realpath.native : fs.realpath;
|
||||
|
||||
var defaultIsFile = function isFile(file, cb) {
|
||||
fs.stat(file, function (err, stat) {
|
||||
if (!err) {
|
||||
return cb(null, stat.isFile() || stat.isFIFO());
|
||||
}
|
||||
if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false);
|
||||
return cb(err);
|
||||
});
|
||||
};
|
||||
|
||||
var defaultIsDir = function isDirectory(dir, cb) {
|
||||
fs.stat(dir, function (err, stat) {
|
||||
if (!err) {
|
||||
return cb(null, stat.isDirectory());
|
||||
}
|
||||
if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false);
|
||||
return cb(err);
|
||||
});
|
||||
};
|
||||
|
||||
var defaultRealpath = function realpath(x, cb) {
|
||||
realpathFS(x, function (realpathErr, realPath) {
|
||||
if (realpathErr && realpathErr.code !== 'ENOENT') cb(realpathErr);
|
||||
else cb(null, realpathErr ? x : realPath);
|
||||
});
|
||||
};
|
||||
|
||||
var maybeRealpath = function maybeRealpath(realpath, x, opts, cb) {
|
||||
if (opts && opts.preserveSymlinks === false) {
|
||||
realpath(x, cb);
|
||||
} else {
|
||||
cb(null, x);
|
||||
}
|
||||
};
|
||||
|
||||
var getPackageCandidates = function getPackageCandidates(x, start, opts) {
|
||||
var dirs = nodeModulesPaths(start, opts, x);
|
||||
for (var i = 0; i < dirs.length; i++) {
|
||||
dirs[i] = path.join(dirs[i], x);
|
||||
}
|
||||
return dirs;
|
||||
};
|
||||
|
||||
module.exports = function resolve(x, options, callback) {
|
||||
var cb = callback;
|
||||
var opts = options;
|
||||
if (typeof options === 'function') {
|
||||
cb = opts;
|
||||
opts = {};
|
||||
}
|
||||
if (typeof x !== 'string') {
|
||||
var err = new TypeError('Path must be a string.');
|
||||
return process.nextTick(function () {
|
||||
cb(err);
|
||||
});
|
||||
}
|
||||
|
||||
opts = normalizeOptions(x, opts);
|
||||
|
||||
var isFile = opts.isFile || defaultIsFile;
|
||||
var isDirectory = opts.isDirectory || defaultIsDir;
|
||||
var readFile = opts.readFile || fs.readFile;
|
||||
var realpath = opts.realpath || defaultRealpath;
|
||||
var packageIterator = opts.packageIterator;
|
||||
|
||||
var extensions = opts.extensions || ['.js'];
|
||||
var includeCoreModules = opts.includeCoreModules !== false;
|
||||
var basedir = opts.basedir || path.dirname(caller());
|
||||
var parent = opts.filename || basedir;
|
||||
|
||||
opts.paths = opts.paths || [];
|
||||
|
||||
// ensure that `basedir` is an absolute path at this point, resolving against the process' current working directory
|
||||
var absoluteStart = path.resolve(basedir);
|
||||
|
||||
maybeRealpath(
|
||||
realpath,
|
||||
absoluteStart,
|
||||
opts,
|
||||
function (err, realStart) {
|
||||
if (err) cb(err);
|
||||
else init(realStart);
|
||||
}
|
||||
);
|
||||
|
||||
var res;
|
||||
function init(basedir) {
|
||||
if ((/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/).test(x)) {
|
||||
res = path.resolve(basedir, x);
|
||||
if (x === '.' || x === '..' || x.slice(-1) === '/') res += '/';
|
||||
if ((/\/$/).test(x) && res === basedir) {
|
||||
loadAsDirectory(res, opts.package, onfile);
|
||||
} else loadAsFile(res, opts.package, onfile);
|
||||
} else if (includeCoreModules && isCore(x)) {
|
||||
return cb(null, x);
|
||||
} else loadNodeModules(x, basedir, function (err, n, pkg) {
|
||||
if (err) cb(err);
|
||||
else if (n) {
|
||||
return maybeRealpath(realpath, n, opts, function (err, realN) {
|
||||
if (err) {
|
||||
cb(err);
|
||||
} else {
|
||||
cb(null, realN, pkg);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
var moduleError = new Error("Cannot find module '" + x + "' from '" + parent + "'");
|
||||
moduleError.code = 'MODULE_NOT_FOUND';
|
||||
cb(moduleError);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function onfile(err, m, pkg) {
|
||||
if (err) cb(err);
|
||||
else if (m) cb(null, m, pkg);
|
||||
else loadAsDirectory(res, function (err, d, pkg) {
|
||||
if (err) cb(err);
|
||||
else if (d) {
|
||||
maybeRealpath(realpath, d, opts, function (err, realD) {
|
||||
if (err) {
|
||||
cb(err);
|
||||
} else {
|
||||
cb(null, realD, pkg);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
var moduleError = new Error("Cannot find module '" + x + "' from '" + parent + "'");
|
||||
moduleError.code = 'MODULE_NOT_FOUND';
|
||||
cb(moduleError);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function loadAsFile(x, thePackage, callback) {
|
||||
var loadAsFilePackage = thePackage;
|
||||
var cb = callback;
|
||||
if (typeof loadAsFilePackage === 'function') {
|
||||
cb = loadAsFilePackage;
|
||||
loadAsFilePackage = undefined;
|
||||
}
|
||||
|
||||
var exts = [''].concat(extensions);
|
||||
load(exts, x, loadAsFilePackage);
|
||||
|
||||
function load(exts, x, loadPackage) {
|
||||
if (exts.length === 0) return cb(null, undefined, loadPackage);
|
||||
var file = x + exts[0];
|
||||
|
||||
var pkg = loadPackage;
|
||||
if (pkg) onpkg(null, pkg);
|
||||
else loadpkg(path.dirname(file), onpkg);
|
||||
|
||||
function onpkg(err, pkg_, dir) {
|
||||
pkg = pkg_;
|
||||
if (err) return cb(err);
|
||||
if (dir && pkg && opts.pathFilter) {
|
||||
var rfile = path.relative(dir, file);
|
||||
var rel = rfile.slice(0, rfile.length - exts[0].length);
|
||||
var r = opts.pathFilter(pkg, x, rel);
|
||||
if (r) return load(
|
||||
[''].concat(extensions.slice()),
|
||||
path.resolve(dir, r),
|
||||
pkg
|
||||
);
|
||||
}
|
||||
isFile(file, onex);
|
||||
}
|
||||
function onex(err, ex) {
|
||||
if (err) return cb(err);
|
||||
if (ex) return cb(null, file, pkg);
|
||||
load(exts.slice(1), x, pkg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function loadpkg(dir, cb) {
|
||||
if (dir === '' || dir === '/') return cb(null);
|
||||
if (process.platform === 'win32' && (/^\w:[/\\]*$/).test(dir)) {
|
||||
return cb(null);
|
||||
}
|
||||
if ((/[/\\]node_modules[/\\]*$/).test(dir)) return cb(null);
|
||||
|
||||
maybeRealpath(realpath, dir, opts, function (unwrapErr, pkgdir) {
|
||||
if (unwrapErr) return loadpkg(path.dirname(dir), cb);
|
||||
var pkgfile = path.join(pkgdir, 'package.json');
|
||||
isFile(pkgfile, function (err, ex) {
|
||||
// on err, ex is false
|
||||
if (!ex) return loadpkg(path.dirname(dir), cb);
|
||||
|
||||
readFile(pkgfile, function (err, body) {
|
||||
if (err) cb(err);
|
||||
try { var pkg = JSON.parse(body); } catch (jsonErr) {}
|
||||
|
||||
if (pkg && opts.packageFilter) {
|
||||
pkg = opts.packageFilter(pkg, pkgfile);
|
||||
}
|
||||
cb(null, pkg, dir);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function loadAsDirectory(x, loadAsDirectoryPackage, callback) {
|
||||
var cb = callback;
|
||||
var fpkg = loadAsDirectoryPackage;
|
||||
if (typeof fpkg === 'function') {
|
||||
cb = fpkg;
|
||||
fpkg = opts.package;
|
||||
}
|
||||
|
||||
maybeRealpath(realpath, x, opts, function (unwrapErr, pkgdir) {
|
||||
if (unwrapErr) return cb(unwrapErr);
|
||||
var pkgfile = path.join(pkgdir, 'package.json');
|
||||
isFile(pkgfile, function (err, ex) {
|
||||
if (err) return cb(err);
|
||||
if (!ex) return loadAsFile(path.join(x, 'index'), fpkg, cb);
|
||||
|
||||
readFile(pkgfile, function (err, body) {
|
||||
if (err) return cb(err);
|
||||
try {
|
||||
var pkg = JSON.parse(body);
|
||||
} catch (jsonErr) {}
|
||||
|
||||
if (pkg && opts.packageFilter) {
|
||||
pkg = opts.packageFilter(pkg, pkgfile);
|
||||
}
|
||||
|
||||
if (pkg && pkg.main) {
|
||||
if (typeof pkg.main !== 'string') {
|
||||
var mainError = new TypeError('package “' + pkg.name + '” `main` must be a string');
|
||||
mainError.code = 'INVALID_PACKAGE_MAIN';
|
||||
return cb(mainError);
|
||||
}
|
||||
if (pkg.main === '.' || pkg.main === './') {
|
||||
pkg.main = 'index';
|
||||
}
|
||||
loadAsFile(path.resolve(x, pkg.main), pkg, function (err, m, pkg) {
|
||||
if (err) return cb(err);
|
||||
if (m) return cb(null, m, pkg);
|
||||
if (!pkg) return loadAsFile(path.join(x, 'index'), pkg, cb);
|
||||
|
||||
var dir = path.resolve(x, pkg.main);
|
||||
loadAsDirectory(dir, pkg, function (err, n, pkg) {
|
||||
if (err) return cb(err);
|
||||
if (n) return cb(null, n, pkg);
|
||||
loadAsFile(path.join(x, 'index'), pkg, cb);
|
||||
});
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
loadAsFile(path.join(x, '/index'), pkg, cb);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function processDirs(cb, dirs) {
|
||||
if (dirs.length === 0) return cb(null, undefined);
|
||||
var dir = dirs[0];
|
||||
|
||||
isDirectory(path.dirname(dir), isdir);
|
||||
|
||||
function isdir(err, isdir) {
|
||||
if (err) return cb(err);
|
||||
if (!isdir) return processDirs(cb, dirs.slice(1));
|
||||
loadAsFile(dir, opts.package, onfile);
|
||||
}
|
||||
|
||||
function onfile(err, m, pkg) {
|
||||
if (err) return cb(err);
|
||||
if (m) return cb(null, m, pkg);
|
||||
loadAsDirectory(dir, opts.package, ondir);
|
||||
}
|
||||
|
||||
function ondir(err, n, pkg) {
|
||||
if (err) return cb(err);
|
||||
if (n) return cb(null, n, pkg);
|
||||
processDirs(cb, dirs.slice(1));
|
||||
}
|
||||
}
|
||||
function loadNodeModules(x, start, cb) {
|
||||
var thunk = function () { return getPackageCandidates(x, start, opts); };
|
||||
processDirs(
|
||||
cb,
|
||||
packageIterator ? packageIterator(x, start, thunk, opts) : thunk()
|
||||
);
|
||||
}
|
||||
};
|
8
node_modules/@microsoft/tsdoc-config/node_modules/resolve/lib/caller.js
generated
vendored
Normal file
8
node_modules/@microsoft/tsdoc-config/node_modules/resolve/lib/caller.js
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
module.exports = function () {
|
||||
// see https://code.google.com/p/v8/wiki/JavaScriptStackTraceApi
|
||||
var origPrepareStackTrace = Error.prepareStackTrace;
|
||||
Error.prepareStackTrace = function (_, stack) { return stack; };
|
||||
var stack = (new Error()).stack;
|
||||
Error.prepareStackTrace = origPrepareStackTrace;
|
||||
return stack[2].getFileName();
|
||||
};
|
53
node_modules/@microsoft/tsdoc-config/node_modules/resolve/lib/core.js
generated
vendored
Normal file
53
node_modules/@microsoft/tsdoc-config/node_modules/resolve/lib/core.js
generated
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
var current = (process.versions && process.versions.node && process.versions.node.split('.')) || [];
|
||||
|
||||
function specifierIncluded(specifier) {
|
||||
var parts = specifier.split(' ');
|
||||
var op = parts.length > 1 ? parts[0] : '=';
|
||||
var versionParts = (parts.length > 1 ? parts[1] : parts[0]).split('.');
|
||||
|
||||
for (var i = 0; i < 3; ++i) {
|
||||
var cur = parseInt(current[i] || 0, 10);
|
||||
var ver = parseInt(versionParts[i] || 0, 10);
|
||||
if (cur === ver) {
|
||||
continue; // eslint-disable-line no-restricted-syntax, no-continue
|
||||
}
|
||||
if (op === '<') {
|
||||
return cur < ver;
|
||||
} else if (op === '>=') {
|
||||
return cur >= ver;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return op === '>=';
|
||||
}
|
||||
|
||||
function matchesRange(range) {
|
||||
var specifiers = range.split(/ ?&& ?/);
|
||||
if (specifiers.length === 0) { return false; }
|
||||
for (var i = 0; i < specifiers.length; ++i) {
|
||||
if (!specifierIncluded(specifiers[i])) { return false; }
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function versionIncluded(specifierValue) {
|
||||
if (typeof specifierValue === 'boolean') { return specifierValue; }
|
||||
if (specifierValue && typeof specifierValue === 'object') {
|
||||
for (var i = 0; i < specifierValue.length; ++i) {
|
||||
if (matchesRange(specifierValue[i])) { return true; }
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return matchesRange(specifierValue);
|
||||
}
|
||||
|
||||
var data = require('./core.json');
|
||||
|
||||
var core = {};
|
||||
for (var mod in data) { // eslint-disable-line no-restricted-syntax
|
||||
if (Object.prototype.hasOwnProperty.call(data, mod)) {
|
||||
core[mod] = versionIncluded(data[mod]);
|
||||
}
|
||||
}
|
||||
module.exports = core;
|
80
node_modules/@microsoft/tsdoc-config/node_modules/resolve/lib/core.json
generated
vendored
Normal file
80
node_modules/@microsoft/tsdoc-config/node_modules/resolve/lib/core.json
generated
vendored
Normal file
@ -0,0 +1,80 @@
|
||||
{
|
||||
"assert": true,
|
||||
"assert/strict": ">= 15",
|
||||
"async_hooks": ">= 8",
|
||||
"buffer_ieee754": "< 0.9.7",
|
||||
"buffer": true,
|
||||
"child_process": true,
|
||||
"cluster": true,
|
||||
"console": true,
|
||||
"constants": true,
|
||||
"crypto": true,
|
||||
"_debug_agent": ">= 1 && < 8",
|
||||
"_debugger": "< 8",
|
||||
"dgram": true,
|
||||
"diagnostics_channel": ">= 15.1",
|
||||
"dns": true,
|
||||
"dns/promises": ">= 15",
|
||||
"domain": ">= 0.7.12",
|
||||
"events": true,
|
||||
"freelist": "< 6",
|
||||
"fs": true,
|
||||
"fs/promises": [">= 10 && < 10.1", ">= 14"],
|
||||
"_http_agent": ">= 0.11.1",
|
||||
"_http_client": ">= 0.11.1",
|
||||
"_http_common": ">= 0.11.1",
|
||||
"_http_incoming": ">= 0.11.1",
|
||||
"_http_outgoing": ">= 0.11.1",
|
||||
"_http_server": ">= 0.11.1",
|
||||
"http": true,
|
||||
"http2": ">= 8.8",
|
||||
"https": true,
|
||||
"inspector": ">= 8.0.0",
|
||||
"_linklist": "< 8",
|
||||
"module": true,
|
||||
"net": true,
|
||||
"node-inspect/lib/_inspect": ">= 7.6.0 && < 12",
|
||||
"node-inspect/lib/internal/inspect_client": ">= 7.6.0 && < 12",
|
||||
"node-inspect/lib/internal/inspect_repl": ">= 7.6.0 && < 12",
|
||||
"os": true,
|
||||
"path": true,
|
||||
"perf_hooks": ">= 8.5",
|
||||
"process": ">= 1",
|
||||
"punycode": true,
|
||||
"querystring": true,
|
||||
"readline": true,
|
||||
"repl": true,
|
||||
"smalloc": ">= 0.11.5 && < 3",
|
||||
"_stream_duplex": ">= 0.9.4",
|
||||
"_stream_transform": ">= 0.9.4",
|
||||
"_stream_wrap": ">= 1.4.1",
|
||||
"_stream_passthrough": ">= 0.9.4",
|
||||
"_stream_readable": ">= 0.9.4",
|
||||
"_stream_writable": ">= 0.9.4",
|
||||
"stream": true,
|
||||
"stream/promises": ">= 15",
|
||||
"string_decoder": true,
|
||||
"sys": [">= 0.6 && < 0.7", ">= 0.8"],
|
||||
"timers": true,
|
||||
"timers/promises": ">= 15",
|
||||
"_tls_common": ">= 0.11.13",
|
||||
"_tls_legacy": ">= 0.11.3 && < 10",
|
||||
"_tls_wrap": ">= 0.11.3",
|
||||
"tls": true,
|
||||
"trace_events": ">= 10",
|
||||
"tty": true,
|
||||
"url": true,
|
||||
"util": true,
|
||||
"v8/tools/arguments": ">= 10 && < 12",
|
||||
"v8/tools/codemap": [">= 4.4.0 && < 5", ">= 5.2.0 && < 12"],
|
||||
"v8/tools/consarray": [">= 4.4.0 && < 5", ">= 5.2.0 && < 12"],
|
||||
"v8/tools/csvparser": [">= 4.4.0 && < 5", ">= 5.2.0 && < 12"],
|
||||
"v8/tools/logreader": [">= 4.4.0 && < 5", ">= 5.2.0 && < 12"],
|
||||
"v8/tools/profile_view": [">= 4.4.0 && < 5", ">= 5.2.0 && < 12"],
|
||||
"v8/tools/splaytree": [">= 4.4.0 && < 5", ">= 5.2.0 && < 12"],
|
||||
"v8": ">= 1",
|
||||
"vm": true,
|
||||
"wasi": ">= 13.4 && < 13.5",
|
||||
"worker_threads": ">= 11.7",
|
||||
"zlib": true
|
||||
}
|
5
node_modules/@microsoft/tsdoc-config/node_modules/resolve/lib/is-core.js
generated
vendored
Normal file
5
node_modules/@microsoft/tsdoc-config/node_modules/resolve/lib/is-core.js
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
var isCoreModule = require('is-core-module');
|
||||
|
||||
module.exports = function isCore(x) {
|
||||
return isCoreModule(x);
|
||||
};
|
42
node_modules/@microsoft/tsdoc-config/node_modules/resolve/lib/node-modules-paths.js
generated
vendored
Normal file
42
node_modules/@microsoft/tsdoc-config/node_modules/resolve/lib/node-modules-paths.js
generated
vendored
Normal file
@ -0,0 +1,42 @@
|
||||
var path = require('path');
|
||||
var parse = path.parse || require('path-parse');
|
||||
|
||||
var getNodeModulesDirs = function getNodeModulesDirs(absoluteStart, modules) {
|
||||
var prefix = '/';
|
||||
if ((/^([A-Za-z]:)/).test(absoluteStart)) {
|
||||
prefix = '';
|
||||
} else if ((/^\\\\/).test(absoluteStart)) {
|
||||
prefix = '\\\\';
|
||||
}
|
||||
|
||||
var paths = [absoluteStart];
|
||||
var parsed = parse(absoluteStart);
|
||||
while (parsed.dir !== paths[paths.length - 1]) {
|
||||
paths.push(parsed.dir);
|
||||
parsed = parse(parsed.dir);
|
||||
}
|
||||
|
||||
return paths.reduce(function (dirs, aPath) {
|
||||
return dirs.concat(modules.map(function (moduleDir) {
|
||||
return path.resolve(prefix, aPath, moduleDir);
|
||||
}));
|
||||
}, []);
|
||||
};
|
||||
|
||||
module.exports = function nodeModulesPaths(start, opts, request) {
|
||||
var modules = opts && opts.moduleDirectory
|
||||
? [].concat(opts.moduleDirectory)
|
||||
: ['node_modules'];
|
||||
|
||||
if (opts && typeof opts.paths === 'function') {
|
||||
return opts.paths(
|
||||
request,
|
||||
start,
|
||||
function () { return getNodeModulesDirs(start, modules); },
|
||||
opts
|
||||
);
|
||||
}
|
||||
|
||||
var dirs = getNodeModulesDirs(start, modules);
|
||||
return opts && opts.paths ? dirs.concat(opts.paths) : dirs;
|
||||
};
|
10
node_modules/@microsoft/tsdoc-config/node_modules/resolve/lib/normalize-options.js
generated
vendored
Normal file
10
node_modules/@microsoft/tsdoc-config/node_modules/resolve/lib/normalize-options.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
module.exports = function (x, opts) {
|
||||
/**
|
||||
* This file is purposefully a passthrough. It's expected that third-party
|
||||
* environments will override it at runtime in order to inject special logic
|
||||
* into `resolve` (by manipulating the options). One such example is the PnP
|
||||
* code path in Yarn.
|
||||
*/
|
||||
|
||||
return opts || {};
|
||||
};
|
192
node_modules/@microsoft/tsdoc-config/node_modules/resolve/lib/sync.js
generated
vendored
Normal file
192
node_modules/@microsoft/tsdoc-config/node_modules/resolve/lib/sync.js
generated
vendored
Normal file
@ -0,0 +1,192 @@
|
||||
var isCore = require('is-core-module');
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
var caller = require('./caller');
|
||||
var nodeModulesPaths = require('./node-modules-paths');
|
||||
var normalizeOptions = require('./normalize-options');
|
||||
|
||||
var realpathFS = fs.realpathSync && typeof fs.realpathSync.native === 'function' ? fs.realpathSync.native : fs.realpathSync;
|
||||
|
||||
var defaultIsFile = function isFile(file) {
|
||||
try {
|
||||
var stat = fs.statSync(file);
|
||||
} catch (e) {
|
||||
if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false;
|
||||
throw e;
|
||||
}
|
||||
return stat.isFile() || stat.isFIFO();
|
||||
};
|
||||
|
||||
var defaultIsDir = function isDirectory(dir) {
|
||||
try {
|
||||
var stat = fs.statSync(dir);
|
||||
} catch (e) {
|
||||
if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false;
|
||||
throw e;
|
||||
}
|
||||
return stat.isDirectory();
|
||||
};
|
||||
|
||||
var defaultRealpathSync = function realpathSync(x) {
|
||||
try {
|
||||
return realpathFS(x);
|
||||
} catch (realpathErr) {
|
||||
if (realpathErr.code !== 'ENOENT') {
|
||||
throw realpathErr;
|
||||
}
|
||||
}
|
||||
return x;
|
||||
};
|
||||
|
||||
var maybeRealpathSync = function maybeRealpathSync(realpathSync, x, opts) {
|
||||
if (opts && opts.preserveSymlinks === false) {
|
||||
return realpathSync(x);
|
||||
}
|
||||
return x;
|
||||
};
|
||||
|
||||
var getPackageCandidates = function getPackageCandidates(x, start, opts) {
|
||||
var dirs = nodeModulesPaths(start, opts, x);
|
||||
for (var i = 0; i < dirs.length; i++) {
|
||||
dirs[i] = path.join(dirs[i], x);
|
||||
}
|
||||
return dirs;
|
||||
};
|
||||
|
||||
module.exports = function resolveSync(x, options) {
|
||||
if (typeof x !== 'string') {
|
||||
throw new TypeError('Path must be a string.');
|
||||
}
|
||||
var opts = normalizeOptions(x, options);
|
||||
|
||||
var isFile = opts.isFile || defaultIsFile;
|
||||
var readFileSync = opts.readFileSync || fs.readFileSync;
|
||||
var isDirectory = opts.isDirectory || defaultIsDir;
|
||||
var realpathSync = opts.realpathSync || defaultRealpathSync;
|
||||
var packageIterator = opts.packageIterator;
|
||||
|
||||
var extensions = opts.extensions || ['.js'];
|
||||
var includeCoreModules = opts.includeCoreModules !== false;
|
||||
var basedir = opts.basedir || path.dirname(caller());
|
||||
var parent = opts.filename || basedir;
|
||||
|
||||
opts.paths = opts.paths || [];
|
||||
|
||||
// ensure that `basedir` is an absolute path at this point, resolving against the process' current working directory
|
||||
var absoluteStart = maybeRealpathSync(realpathSync, path.resolve(basedir), opts);
|
||||
|
||||
if ((/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/).test(x)) {
|
||||
var res = path.resolve(absoluteStart, x);
|
||||
if (x === '.' || x === '..' || x.slice(-1) === '/') res += '/';
|
||||
var m = loadAsFileSync(res) || loadAsDirectorySync(res);
|
||||
if (m) return maybeRealpathSync(realpathSync, m, opts);
|
||||
} else if (includeCoreModules && isCore(x)) {
|
||||
return x;
|
||||
} else {
|
||||
var n = loadNodeModulesSync(x, absoluteStart);
|
||||
if (n) return maybeRealpathSync(realpathSync, n, opts);
|
||||
}
|
||||
|
||||
var err = new Error("Cannot find module '" + x + "' from '" + parent + "'");
|
||||
err.code = 'MODULE_NOT_FOUND';
|
||||
throw err;
|
||||
|
||||
function loadAsFileSync(x) {
|
||||
var pkg = loadpkg(path.dirname(x));
|
||||
|
||||
if (pkg && pkg.dir && pkg.pkg && opts.pathFilter) {
|
||||
var rfile = path.relative(pkg.dir, x);
|
||||
var r = opts.pathFilter(pkg.pkg, x, rfile);
|
||||
if (r) {
|
||||
x = path.resolve(pkg.dir, r); // eslint-disable-line no-param-reassign
|
||||
}
|
||||
}
|
||||
|
||||
if (isFile(x)) {
|
||||
return x;
|
||||
}
|
||||
|
||||
for (var i = 0; i < extensions.length; i++) {
|
||||
var file = x + extensions[i];
|
||||
if (isFile(file)) {
|
||||
return file;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function loadpkg(dir) {
|
||||
if (dir === '' || dir === '/') return;
|
||||
if (process.platform === 'win32' && (/^\w:[/\\]*$/).test(dir)) {
|
||||
return;
|
||||
}
|
||||
if ((/[/\\]node_modules[/\\]*$/).test(dir)) return;
|
||||
|
||||
var pkgfile = path.join(maybeRealpathSync(realpathSync, dir, opts), 'package.json');
|
||||
|
||||
if (!isFile(pkgfile)) {
|
||||
return loadpkg(path.dirname(dir));
|
||||
}
|
||||
|
||||
var body = readFileSync(pkgfile);
|
||||
|
||||
try {
|
||||
var pkg = JSON.parse(body);
|
||||
} catch (jsonErr) {}
|
||||
|
||||
if (pkg && opts.packageFilter) {
|
||||
// v2 will pass pkgfile
|
||||
pkg = opts.packageFilter(pkg, /*pkgfile,*/ dir); // eslint-disable-line spaced-comment
|
||||
}
|
||||
|
||||
return { pkg: pkg, dir: dir };
|
||||
}
|
||||
|
||||
function loadAsDirectorySync(x) {
|
||||
var pkgfile = path.join(maybeRealpathSync(realpathSync, x, opts), '/package.json');
|
||||
if (isFile(pkgfile)) {
|
||||
try {
|
||||
var body = readFileSync(pkgfile, 'UTF8');
|
||||
var pkg = JSON.parse(body);
|
||||
} catch (e) {}
|
||||
|
||||
if (pkg && opts.packageFilter) {
|
||||
// v2 will pass pkgfile
|
||||
pkg = opts.packageFilter(pkg, /*pkgfile,*/ x); // eslint-disable-line spaced-comment
|
||||
}
|
||||
|
||||
if (pkg && pkg.main) {
|
||||
if (typeof pkg.main !== 'string') {
|
||||
var mainError = new TypeError('package “' + pkg.name + '” `main` must be a string');
|
||||
mainError.code = 'INVALID_PACKAGE_MAIN';
|
||||
throw mainError;
|
||||
}
|
||||
if (pkg.main === '.' || pkg.main === './') {
|
||||
pkg.main = 'index';
|
||||
}
|
||||
try {
|
||||
var m = loadAsFileSync(path.resolve(x, pkg.main));
|
||||
if (m) return m;
|
||||
var n = loadAsDirectorySync(path.resolve(x, pkg.main));
|
||||
if (n) return n;
|
||||
} catch (e) {}
|
||||
}
|
||||
}
|
||||
|
||||
return loadAsFileSync(path.join(x, '/index'));
|
||||
}
|
||||
|
||||
function loadNodeModulesSync(x, start) {
|
||||
var thunk = function () { return getPackageCandidates(x, start, opts); };
|
||||
var dirs = packageIterator ? packageIterator(x, start, thunk, opts) : thunk();
|
||||
|
||||
for (var i = 0; i < dirs.length; i++) {
|
||||
var dir = dirs[i];
|
||||
if (isDirectory(path.dirname(dir))) {
|
||||
var m = loadAsFileSync(dir);
|
||||
if (m) return m;
|
||||
var n = loadAsDirectorySync(dir);
|
||||
if (n) return n;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
51
node_modules/@microsoft/tsdoc-config/node_modules/resolve/package.json
generated
vendored
Normal file
51
node_modules/@microsoft/tsdoc-config/node_modules/resolve/package.json
generated
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
{
|
||||
"name": "resolve",
|
||||
"description": "resolve like require.resolve() on behalf of files asynchronously and synchronously",
|
||||
"version": "1.19.0",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/browserify/resolve.git"
|
||||
},
|
||||
"main": "index.js",
|
||||
"keywords": [
|
||||
"resolve",
|
||||
"require",
|
||||
"node",
|
||||
"module"
|
||||
],
|
||||
"scripts": {
|
||||
"prepublish": "safe-publish-latest && cp node_modules/is-core-module/core.json ./lib/",
|
||||
"prelint": "eclint check '**/*'",
|
||||
"lint": "eslint --ext=js,mjs .",
|
||||
"pretests-only": "cd ./test/resolver/nested_symlinks && node mylib/sync && node mylib/async",
|
||||
"tests-only": "tape test/*.js",
|
||||
"pretest": "npm run lint",
|
||||
"test": "npm run --silent tests-only",
|
||||
"posttest": "npm run test:multirepo && aud --production",
|
||||
"test:multirepo": "cd ./test/resolver/multirepo && npm install && npm test"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@ljharb/eslint-config": "^17.2.0",
|
||||
"array.prototype.map": "^1.0.2",
|
||||
"aud": "^1.1.3",
|
||||
"eclint": "^2.8.1",
|
||||
"eslint": "^7.13.0",
|
||||
"object-keys": "^1.1.1",
|
||||
"safe-publish-latest": "^1.1.4",
|
||||
"tap": "0.4.13",
|
||||
"tape": "^5.0.1"
|
||||
},
|
||||
"license": "MIT",
|
||||
"author": {
|
||||
"name": "James Halliday",
|
||||
"email": "mail@substack.net",
|
||||
"url": "http://substack.net"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
},
|
||||
"dependencies": {
|
||||
"is-core-module": "^2.1.0",
|
||||
"path-parse": "^1.0.6"
|
||||
}
|
||||
}
|
250
node_modules/@microsoft/tsdoc-config/node_modules/resolve/readme.markdown
generated
vendored
Normal file
250
node_modules/@microsoft/tsdoc-config/node_modules/resolve/readme.markdown
generated
vendored
Normal file
@ -0,0 +1,250 @@
|
||||
# resolve
|
||||
|
||||
implements the [node `require.resolve()`
|
||||
algorithm](https://nodejs.org/api/modules.html#modules_all_together)
|
||||
such that you can `require.resolve()` on behalf of a file asynchronously and
|
||||
synchronously
|
||||
|
||||
[](http://travis-ci.org/browserify/resolve)
|
||||
|
||||
# example
|
||||
|
||||
asynchronously resolve:
|
||||
|
||||
```js
|
||||
var resolve = require('resolve');
|
||||
resolve('tap', { basedir: __dirname }, function (err, res) {
|
||||
if (err) console.error(err);
|
||||
else console.log(res);
|
||||
});
|
||||
```
|
||||
|
||||
```
|
||||
$ node example/async.js
|
||||
/home/substack/projects/node-resolve/node_modules/tap/lib/main.js
|
||||
```
|
||||
|
||||
synchronously resolve:
|
||||
|
||||
```js
|
||||
var resolve = require('resolve');
|
||||
var res = resolve.sync('tap', { basedir: __dirname });
|
||||
console.log(res);
|
||||
```
|
||||
|
||||
```
|
||||
$ node example/sync.js
|
||||
/home/substack/projects/node-resolve/node_modules/tap/lib/main.js
|
||||
```
|
||||
|
||||
# methods
|
||||
|
||||
```js
|
||||
var resolve = require('resolve');
|
||||
```
|
||||
|
||||
For both the synchronous and asynchronous methods, errors may have any of the following `err.code` values:
|
||||
|
||||
- `MODULE_NOT_FOUND`: the given path string (`id`) could not be resolved to a module
|
||||
- `INVALID_BASEDIR`: the specified `opts.basedir` doesn't exist, or is not a directory
|
||||
- `INVALID_PACKAGE_MAIN`: a `package.json` was encountered with an invalid `main` property (eg. not a string)
|
||||
|
||||
## resolve(id, opts={}, cb)
|
||||
|
||||
Asynchronously resolve the module path string `id` into `cb(err, res [, pkg])`, where `pkg` (if defined) is the data from `package.json`.
|
||||
|
||||
options are:
|
||||
|
||||
* opts.basedir - directory to begin resolving from
|
||||
|
||||
* opts.package - `package.json` data applicable to the module being loaded
|
||||
|
||||
* opts.extensions - array of file extensions to search in order
|
||||
|
||||
* opts.includeCoreModules - set to `false` to exclude node core modules (e.g. `fs`) from the search
|
||||
|
||||
* opts.readFile - how to read files asynchronously
|
||||
|
||||
* opts.isFile - function to asynchronously test whether a file exists
|
||||
|
||||
* opts.isDirectory - function to asynchronously test whether a directory exists
|
||||
|
||||
* opts.realpath - function to asynchronously resolve a potential symlink to its real path
|
||||
|
||||
* `opts.packageFilter(pkg, pkgfile, dir)` - transform the parsed package.json contents before looking at the "main" field
|
||||
* pkg - package data
|
||||
* pkgfile - path to package.json
|
||||
* dir - directory for package.json
|
||||
|
||||
* `opts.pathFilter(pkg, path, relativePath)` - transform a path within a package
|
||||
* pkg - package data
|
||||
* path - the path being resolved
|
||||
* relativePath - the path relative from the package.json location
|
||||
* returns - a relative path that will be joined from the package.json location
|
||||
|
||||
* opts.paths - require.paths array to use if nothing is found on the normal `node_modules` recursive walk (probably don't use this)
|
||||
|
||||
For advanced users, `paths` can also be a `opts.paths(request, start, opts)` function
|
||||
* request - the import specifier being resolved
|
||||
* start - lookup path
|
||||
* getNodeModulesDirs - a thunk (no-argument function) that returns the paths using standard `node_modules` resolution
|
||||
* opts - the resolution options
|
||||
|
||||
* `opts.packageIterator(request, start, opts)` - return the list of candidate paths where the packages sources may be found (probably don't use this)
|
||||
* request - the import specifier being resolved
|
||||
* start - lookup path
|
||||
* getPackageCandidates - a thunk (no-argument function) that returns the paths using standard `node_modules` resolution
|
||||
* opts - the resolution options
|
||||
|
||||
* opts.moduleDirectory - directory (or directories) in which to recursively look for modules. default: `"node_modules"`
|
||||
|
||||
* opts.preserveSymlinks - if true, doesn't resolve `basedir` to real path before resolving.
|
||||
This is the way Node resolves dependencies when executed with the [--preserve-symlinks](https://nodejs.org/api/all.html#cli_preserve_symlinks) flag.
|
||||
**Note:** this property is currently `true` by default but it will be changed to
|
||||
`false` in the next major version because *Node's resolution algorithm does not preserve symlinks by default*.
|
||||
|
||||
default `opts` values:
|
||||
|
||||
```js
|
||||
{
|
||||
paths: [],
|
||||
basedir: __dirname,
|
||||
extensions: ['.js'],
|
||||
includeCoreModules: true,
|
||||
readFile: fs.readFile,
|
||||
isFile: function isFile(file, cb) {
|
||||
fs.stat(file, function (err, stat) {
|
||||
if (!err) {
|
||||
return cb(null, stat.isFile() || stat.isFIFO());
|
||||
}
|
||||
if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false);
|
||||
return cb(err);
|
||||
});
|
||||
},
|
||||
isDirectory: function isDirectory(dir, cb) {
|
||||
fs.stat(dir, function (err, stat) {
|
||||
if (!err) {
|
||||
return cb(null, stat.isDirectory());
|
||||
}
|
||||
if (err.code === 'ENOENT' || err.code === 'ENOTDIR') return cb(null, false);
|
||||
return cb(err);
|
||||
});
|
||||
},
|
||||
realpath: function realpath(file, cb) {
|
||||
var realpath = typeof fs.realpath.native === 'function' ? fs.realpath.native : fs.realpath;
|
||||
realpath(file, function (realPathErr, realPath) {
|
||||
if (realPathErr && realPathErr.code !== 'ENOENT') cb(realPathErr);
|
||||
else cb(null, realPathErr ? file : realPath);
|
||||
});
|
||||
},
|
||||
moduleDirectory: 'node_modules',
|
||||
preserveSymlinks: true
|
||||
}
|
||||
```
|
||||
|
||||
## resolve.sync(id, opts)
|
||||
|
||||
Synchronously resolve the module path string `id`, returning the result and
|
||||
throwing an error when `id` can't be resolved.
|
||||
|
||||
options are:
|
||||
|
||||
* opts.basedir - directory to begin resolving from
|
||||
|
||||
* opts.extensions - array of file extensions to search in order
|
||||
|
||||
* opts.includeCoreModules - set to `false` to exclude node core modules (e.g. `fs`) from the search
|
||||
|
||||
* opts.readFile - how to read files synchronously
|
||||
|
||||
* opts.isFile - function to synchronously test whether a file exists
|
||||
|
||||
* opts.isDirectory - function to synchronously test whether a directory exists
|
||||
|
||||
* opts.realpathSync - function to synchronously resolve a potential symlink to its real path
|
||||
|
||||
* `opts.packageFilter(pkg, dir)` - transform the parsed package.json contents before looking at the "main" field
|
||||
* pkg - package data
|
||||
* dir - directory for package.json (Note: the second argument will change to "pkgfile" in v2)
|
||||
|
||||
* `opts.pathFilter(pkg, path, relativePath)` - transform a path within a package
|
||||
* pkg - package data
|
||||
* path - the path being resolved
|
||||
* relativePath - the path relative from the package.json location
|
||||
* returns - a relative path that will be joined from the package.json location
|
||||
|
||||
* opts.paths - require.paths array to use if nothing is found on the normal `node_modules` recursive walk (probably don't use this)
|
||||
|
||||
For advanced users, `paths` can also be a `opts.paths(request, start, opts)` function
|
||||
* request - the import specifier being resolved
|
||||
* start - lookup path
|
||||
* getNodeModulesDirs - a thunk (no-argument function) that returns the paths using standard `node_modules` resolution
|
||||
* opts - the resolution options
|
||||
|
||||
* `opts.packageIterator(request, start, opts)` - return the list of candidate paths where the packages sources may be found (probably don't use this)
|
||||
* request - the import specifier being resolved
|
||||
* start - lookup path
|
||||
* getPackageCandidates - a thunk (no-argument function) that returns the paths using standard `node_modules` resolution
|
||||
* opts - the resolution options
|
||||
|
||||
* opts.moduleDirectory - directory (or directories) in which to recursively look for modules. default: `"node_modules"`
|
||||
|
||||
* opts.preserveSymlinks - if true, doesn't resolve `basedir` to real path before resolving.
|
||||
This is the way Node resolves dependencies when executed with the [--preserve-symlinks](https://nodejs.org/api/all.html#cli_preserve_symlinks) flag.
|
||||
**Note:** this property is currently `true` by default but it will be changed to
|
||||
`false` in the next major version because *Node's resolution algorithm does not preserve symlinks by default*.
|
||||
|
||||
default `opts` values:
|
||||
|
||||
```js
|
||||
{
|
||||
paths: [],
|
||||
basedir: __dirname,
|
||||
extensions: ['.js'],
|
||||
includeCoreModules: true,
|
||||
readFileSync: fs.readFileSync,
|
||||
isFile: function isFile(file) {
|
||||
try {
|
||||
var stat = fs.statSync(file);
|
||||
} catch (e) {
|
||||
if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false;
|
||||
throw e;
|
||||
}
|
||||
return stat.isFile() || stat.isFIFO();
|
||||
},
|
||||
isDirectory: function isDirectory(dir) {
|
||||
try {
|
||||
var stat = fs.statSync(dir);
|
||||
} catch (e) {
|
||||
if (e && (e.code === 'ENOENT' || e.code === 'ENOTDIR')) return false;
|
||||
throw e;
|
||||
}
|
||||
return stat.isDirectory();
|
||||
},
|
||||
realpathSync: function realpathSync(file) {
|
||||
try {
|
||||
var realpath = typeof fs.realpathSync.native === 'function' ? fs.realpathSync.native : fs.realpathSync;
|
||||
return realpath(file);
|
||||
} catch (realPathErr) {
|
||||
if (realPathErr.code !== 'ENOENT') {
|
||||
throw realPathErr;
|
||||
}
|
||||
}
|
||||
return file;
|
||||
},
|
||||
moduleDirectory: 'node_modules',
|
||||
preserveSymlinks: true
|
||||
}
|
||||
```
|
||||
|
||||
# install
|
||||
|
||||
With [npm](https://npmjs.org) do:
|
||||
|
||||
```sh
|
||||
npm install resolve
|
||||
```
|
||||
|
||||
# license
|
||||
|
||||
MIT
|
5
node_modules/@microsoft/tsdoc-config/node_modules/resolve/test/.eslintrc
generated
vendored
Normal file
5
node_modules/@microsoft/tsdoc-config/node_modules/resolve/test/.eslintrc
generated
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"rules": {
|
||||
"max-lines": 0
|
||||
}
|
||||
}
|
81
node_modules/@microsoft/tsdoc-config/node_modules/resolve/test/core.js
generated
vendored
Normal file
81
node_modules/@microsoft/tsdoc-config/node_modules/resolve/test/core.js
generated
vendored
Normal file
@ -0,0 +1,81 @@
|
||||
var test = require('tape');
|
||||
var keys = require('object-keys');
|
||||
var resolve = require('../');
|
||||
|
||||
test('core modules', function (t) {
|
||||
t.test('isCore()', function (st) {
|
||||
st.ok(resolve.isCore('fs'));
|
||||
st.ok(resolve.isCore('net'));
|
||||
st.ok(resolve.isCore('http'));
|
||||
|
||||
st.ok(!resolve.isCore('seq'));
|
||||
st.ok(!resolve.isCore('../'));
|
||||
|
||||
st.ok(!resolve.isCore('toString'));
|
||||
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('core list', function (st) {
|
||||
var cores = keys(resolve.core);
|
||||
st.plan(cores.length);
|
||||
|
||||
for (var i = 0; i < cores.length; ++i) {
|
||||
var mod = cores[i];
|
||||
var requireFunc = function () { require(mod); }; // eslint-disable-line no-loop-func
|
||||
console.log(mod, resolve.core, resolve.core[mod]);
|
||||
if (resolve.core[mod]) {
|
||||
st.doesNotThrow(requireFunc, mod + ' supported; requiring does not throw');
|
||||
} else {
|
||||
st.throws(requireFunc, mod + ' not supported; requiring throws');
|
||||
}
|
||||
}
|
||||
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('core via repl module', { skip: !resolve.core.repl }, function (st) {
|
||||
var libs = require('repl')._builtinLibs; // eslint-disable-line no-underscore-dangle
|
||||
if (!libs) {
|
||||
st.skip('module.builtinModules does not exist');
|
||||
return st.end();
|
||||
}
|
||||
for (var i = 0; i < libs.length; ++i) {
|
||||
var mod = libs[i];
|
||||
st.ok(resolve.core[mod], mod + ' is a core module');
|
||||
st.doesNotThrow(
|
||||
function () { require(mod); }, // eslint-disable-line no-loop-func
|
||||
'requiring ' + mod + ' does not throw'
|
||||
);
|
||||
}
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.test('core via builtinModules list', { skip: !resolve.core.module }, function (st) {
|
||||
var libs = require('module').builtinModules;
|
||||
if (!libs) {
|
||||
st.skip('module.builtinModules does not exist');
|
||||
return st.end();
|
||||
}
|
||||
var blacklist = [
|
||||
'_debug_agent',
|
||||
'v8/tools/tickprocessor-driver',
|
||||
'v8/tools/SourceMap',
|
||||
'v8/tools/tickprocessor',
|
||||
'v8/tools/profile'
|
||||
];
|
||||
for (var i = 0; i < libs.length; ++i) {
|
||||
var mod = libs[i];
|
||||
if (blacklist.indexOf(mod) === -1) {
|
||||
st.ok(resolve.core[mod], mod + ' is a core module');
|
||||
st.doesNotThrow(
|
||||
function () { require(mod); }, // eslint-disable-line no-loop-func
|
||||
'requiring ' + mod + ' does not throw'
|
||||
);
|
||||
}
|
||||
}
|
||||
st.end();
|
||||
});
|
||||
|
||||
t.end();
|
||||
});
|
29
node_modules/@microsoft/tsdoc-config/node_modules/resolve/test/dotdot.js
generated
vendored
Normal file
29
node_modules/@microsoft/tsdoc-config/node_modules/resolve/test/dotdot.js
generated
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
var path = require('path');
|
||||
var test = require('tape');
|
||||
var resolve = require('../');
|
||||
|
||||
test('dotdot', function (t) {
|
||||
t.plan(4);
|
||||
var dir = path.join(__dirname, '/dotdot/abc');
|
||||
|
||||
resolve('..', { basedir: dir }, function (err, res, pkg) {
|
||||
t.ifError(err);
|
||||
t.equal(res, path.join(__dirname, 'dotdot/index.js'));
|
||||
});
|
||||
|
||||
resolve('.', { basedir: dir }, function (err, res, pkg) {
|
||||
t.ifError(err);
|
||||
t.equal(res, path.join(dir, 'index.js'));
|
||||
});
|
||||
});
|
||||
|
||||
test('dotdot sync', function (t) {
|
||||
t.plan(2);
|
||||
var dir = path.join(__dirname, '/dotdot/abc');
|
||||
|
||||
var a = resolve.sync('..', { basedir: dir });
|
||||
t.equal(a, path.join(__dirname, 'dotdot/index.js'));
|
||||
|
||||
var b = resolve.sync('.', { basedir: dir });
|
||||
t.equal(b, path.join(dir, 'index.js'));
|
||||
});
|
2
node_modules/@microsoft/tsdoc-config/node_modules/resolve/test/dotdot/abc/index.js
generated
vendored
Normal file
2
node_modules/@microsoft/tsdoc-config/node_modules/resolve/test/dotdot/abc/index.js
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
var x = require('..');
|
||||
console.log(x);
|
1
node_modules/@microsoft/tsdoc-config/node_modules/resolve/test/dotdot/index.js
generated
vendored
Normal file
1
node_modules/@microsoft/tsdoc-config/node_modules/resolve/test/dotdot/index.js
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
module.exports = 'whatever';
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user