Add exported types as deps for just-task and set up API Extractor (#731)

This commit is contained in:
Elizabeth Craig 2023-09-11 14:57:46 -07:00 коммит произвёл GitHub
Родитель 2bc7eaec92
Коммит 5b4e7073ff
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
23 изменённых файлов: 989 добавлений и 1063 удалений

1
.gitattributes поставляемый Normal file
Просмотреть файл

@ -0,0 +1 @@
*.json linguist-language=JSON-with-Comments

2
.github/workflows/pr.yml поставляемый
Просмотреть файл

@ -27,7 +27,7 @@ jobs:
- run: yarn lint
- run: yarn lage build test
- run: yarn lage build test api
- run: yarn docs:build

1
.vscode/settings.json поставляемый
Просмотреть файл

@ -12,6 +12,7 @@
"**/package.json.hbs": "json",
"**/*.json.hbs": "jsonc",
"**/README.md.hbs": "markdown",
"**/api-extractor*.json": "jsonc",
// VS Code doesn't have json5 support, so handle .json5 files as jsonc.
// Note that Prettier must also be configured to format *.json5 as jsonc
// (since json5 allows things like unquoted keys that jsonc doesn't).

Просмотреть файл

@ -0,0 +1,32 @@
{
"changes": [
{
"type": "none",
"comment": "Set up API Extractor",
"packageName": "just-scripts-utils",
"email": "elcraig@microsoft.com",
"dependentChangeType": "none"
},
{
"type": "patch",
"comment": "Remove local copy of API Extractor types",
"packageName": "just-scripts",
"email": "elcraig@microsoft.com",
"dependentChangeType": "patch"
},
{
"type": "none",
"comment": "Set up API Extractor",
"packageName": "just-task-logger",
"email": "elcraig@microsoft.com",
"dependentChangeType": "none"
},
{
"type": "minor",
"comment": "Add `@types` referenced by exports as dependencies",
"packageName": "just-task",
"email": "elcraig@microsoft.com",
"dependentChangeType": "patch"
}
]
}

Просмотреть файл

@ -2,6 +2,8 @@ module.exports = {
pipeline: {
build: ['^build'],
test: ['build'],
api: ['build'],
'api:update': ['build'],
},
// These are relative to the git root, and affects the hash of the cache

Просмотреть файл

@ -11,6 +11,8 @@
"url": "https://github.com/microsoft/just"
},
"scripts": {
"api": "yarn lage api",
"api:update": "yarn lage api:update",
"build": "yarn lage build",
"postbuild": "node ./scripts/copyReadme.js",
"docs": "vuepress dev docs --host localhost",
@ -30,12 +32,12 @@
"node": ">=14"
},
"devDependencies": {
"@microsoft/api-extractor": "^7.36.4",
"@types/fs-extra": "^11.0.0",
"@types/jest": "^29.4.0",
"@types/mock-fs": "^4.13.1",
"@types/node": "^14.18.37",
"@types/semver": "^7.3.13",
"@types/yargs-parser": "^20.2.2",
"@typescript-eslint/eslint-plugin": "^5.54.1",
"@typescript-eslint/parser": "^5.54.1",
"beachball": "^2.31.11",
@ -61,6 +63,7 @@
"groupChanges": true,
"ignorePatterns": [
".*ignore",
"api-extractor.json",
"jest.config.js",
"**/__tests__/**",
"**/*.spec.ts",

Просмотреть файл

@ -0,0 +1,4 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
"extends": "just-task-scripts/api-extractor.base.json"
}

Просмотреть файл

@ -0,0 +1,100 @@
## API Report File for "just-scripts-utils"
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
```ts
/// <reference types="node" />
import * as cp from 'child_process';
// @public (undocumented)
export interface Dependencies {
// (undocumented)
[key: string]: string;
}
// @public
export function encodeArgs(cmdArgs: string[]): string[];
// @public
export function exec(cmd: string, opts?: cp.ExecOptions & {
stdout?: NodeJS.WritableStream;
stderr?: NodeJS.WritableStream;
}): Promise<string | undefined>;
// @public (undocumented)
export interface ExecError extends cp.ExecException {
// (undocumented)
stderr?: string;
// (undocumented)
stdout?: string;
}
// @public
export function execSync(cmd: string, cwd?: string, returnOutput?: boolean): string | undefined;
// @public
export function mergePackageJson(original: PackageJson, incoming: PackageJson): PackageJson;
// @public (undocumented)
export interface PackageJson {
// (undocumented)
[key: string]: any;
// (undocumented)
dependencies?: Dependencies;
// (undocumented)
description?: string;
// (undocumented)
devDependencies?: Dependencies;
// (undocumented)
just?: {
stack?: string;
};
// (undocumented)
keywords?: string;
// (undocumented)
name: string;
}
// @public (undocumented)
export const paths: {
projectPath: string;
tempPath(...segments: string[]): string;
};
// @public
export function readPackageJson(folderPath: string): PackageJson | undefined;
// @public (undocumented)
export interface RushJson {
// (undocumented)
projects: RushProject[];
// (undocumented)
rushVersion: string;
}
// @public (undocumented)
export interface RushProject {
// (undocumented)
packageName: string;
// (undocumented)
projectFolder: string;
// (undocumented)
shouldPublish?: boolean;
// (undocumented)
versionPolicyName?: string;
}
// @public
export function spawn(cmd: string, args?: ReadonlyArray<string>, opts?: cp.SpawnOptions & {
stdout?: NodeJS.WritableStream;
stderr?: NodeJS.WritableStream;
}): Promise<void>;
export * from "just-task-logger";
// (No @packageDocumentation comment for this package)
```

Просмотреть файл

@ -8,6 +8,8 @@
},
"main": "./lib/index.js",
"scripts": {
"api": "api-extractor run",
"api:update": "api-extractor run --local",
"build": "tsc",
"start": "tsc -w --preserveWatchOutput",
"test": "jest",

Просмотреть файл

@ -0,0 +1,4 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
"extends": "just-task-scripts/api-extractor.base.json"
}

Просмотреть файл

@ -0,0 +1,538 @@
## API Report File for "just-scripts"
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
```ts
/// <reference types="node" />
import type * as ApiExtractorTypes from '@microsoft/api-extractor';
import type { BuildOptions } from 'esbuild';
import { Configuration } from 'webpack';
import { spawn } from 'just-scripts-utils';
import { SpawnOptions } from 'child_process';
import { TaskFunction } from 'just-task';
import * as ts from 'typescript';
import * as webpackMerge from 'webpack-merge';
// @public
export interface ApiExtractorOptions extends ApiExtractorTypes.IExtractorInvokeOptions {
configJsonFilePath?: string;
// @deprecated (undocumented)
fixNewlines?: boolean;
onConfigLoaded?: (config: ApiExtractorTypes.IConfigFile) => void;
onResult?: (result: any, extractorOptions: any) => void;
projectFolder?: string;
}
// @public
export function apiExtractorUpdateTask(options: ApiExtractorOptions): TaskFunction;
// Warning: (ae-forgotten-export) The symbol "Omit_2" needs to be exported by the entry point index.d.ts
//
// @public @deprecated (undocumented)
export function apiExtractorUpdateTask(configJsonFilePath: string, extractorOptions: Omit_2<ApiExtractorOptions, 'configJsonFilePath'>): TaskFunction;
// @public (undocumented)
export function apiExtractorVerifyTask(options: ApiExtractorOptions): TaskFunction;
// @public @deprecated (undocumented)
export function apiExtractorVerifyTask(configJsonFilePath: string, extractorOptions: Omit_2<ApiExtractorOptions, 'configJsonFilePath'>): TaskFunction;
// @public (undocumented)
export const basicWebpackConfig: Configuration;
// @public (undocumented)
export const basicWebpackServeConfig: Configuration;
// @public (undocumented)
export function cleanTask(options?: CleanTaskOptions): TaskFunction;
// @public @deprecated (undocumented)
export function cleanTask(paths?: string[], limit?: number): TaskFunction;
// @public (undocumented)
export interface CleanTaskOptions {
limit?: number;
paths?: string[];
}
// @public (undocumented)
export interface CopyConfig {
// (undocumented)
copyInstructions: CopyInstruction[];
}
// @public
function copyFilesInDirectory(sourceDirectoryPath: string, outputDirectoryPath: string, filterFunction?: (file: string) => boolean, noSymlinks?: boolean): CopyInstruction[];
// @public
function copyFilesToDestinationDirectory(sourceFilePaths: string | string[], destinationDirectory: string, noSymlinks?: boolean): CopyInstruction[];
// @public
function copyFilesToDestinationDirectoryWithRename(instrs: {
sourceFilePath: string;
destinationName: string;
}[], destinationDirectory: string, noSymlinks?: boolean): CopyInstruction[];
// @public
function copyFileToDestinationDirectoryWithRename(sourceFilePath: string, destinationName: string, destinationDirectory: string, noSymlink?: boolean): CopyInstruction[];
// @public (undocumented)
export interface CopyInstruction {
destinationFilePath: string;
noSymlink?: boolean;
sourceFilePath: string | string[];
}
declare namespace copyInstructions {
export {
copyFilesToDestinationDirectory,
copyFileToDestinationDirectoryWithRename,
copyFilesToDestinationDirectoryWithRename,
copyFilesInDirectory,
mergeFiles,
CopyInstruction,
CopyConfig
}
}
export { copyInstructions }
// @public
export function copyInstructionsTask(config?: CopyConfig): TaskFunction;
// @public (undocumented)
export function copyTask(options: CopyTaskOptions): TaskFunction;
// @public @deprecated (undocumented)
export function copyTask(paths: string[] | undefined, dest: string, limit?: number): TaskFunction;
// @public (undocumented)
export interface CopyTaskOptions {
dest: string;
limit?: number;
paths?: string[];
}
// @public (undocumented)
export interface CreateOptions {
cwd?: string;
dereference?: boolean;
entries?: string[];
file: string;
filter?: (path: string, header: EntryHeader) => boolean;
gzip?: boolean | {
level?: number;
memLevel?: number;
};
map?: (header: EntryHeader) => EntryHeader;
}
// Warning: (ae-forgotten-export) The symbol "CssLoaderOptions" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export const createStylesOverlay: (options?: CssLoaderOptions) => Partial<Configuration>;
// @public
export function createTarTask(options?: CreateOptions): TaskFunction;
// @public (undocumented)
interface CssLoaderOptions {
// (undocumented)
localIdentName?: string;
// (undocumented)
modules?: boolean;
}
// @public (undocumented)
export function defaultCleanPaths(): string[];
// @public (undocumented)
export const displayBailoutOverlay: () => Partial<Configuration>;
// @public (undocumented)
export interface EntryHeader {
// (undocumented)
devmajor: number;
// (undocumented)
devminor: number;
// (undocumented)
gid: number;
// (undocumented)
gname: string;
linkname: string;
mode: number;
mtime: Date;
// (undocumented)
name: string;
// (undocumented)
size: number;
type: 'file' | 'link' | 'symlink' | 'directory' | 'block-device' | 'character-device' | 'fifo' | 'contiguous-file';
// (undocumented)
uid: number;
// (undocumented)
uname: string;
}
// @public (undocumented)
export type EsbuildBuildOptions = BuildOptions;
// @public
export function esbuildTask(options?: EsbuildBuildOptions): TaskFunction;
// @public (undocumented)
export interface EsbuildTransformOptions {
// (undocumented)
esbuildOptions: BuildOptions;
// (undocumented)
include: string[] | string;
}
// @public (undocumented)
export function eslintTask(options?: EsLintTaskOptions): TaskFunction;
// @public
export interface EsLintTaskOptions {
// (undocumented)
cache?: boolean;
// (undocumented)
cacheLocation?: string;
// (undocumented)
configPath?: string;
// (undocumented)
extensions?: string;
// (undocumented)
files?: string[];
// (undocumented)
fix?: boolean;
format?: string;
// (undocumented)
ignorePath?: string;
// (undocumented)
maxWarnings?: number;
// (undocumented)
noEslintRc?: boolean;
outputFile?: string;
quiet?: boolean;
// (undocumented)
resolvePluginsPath?: string;
timing?: boolean;
}
// @public (undocumented)
export interface ExtractOptions {
cwd?: string;
dereference?: boolean;
dmode?: number;
file: string;
filter?: (path: string, header: EntryHeader) => boolean;
fmode?: number;
gzip?: boolean;
map?: (header: EntryHeader) => EntryHeader;
readable?: boolean;
writable?: boolean;
}
// @public
export function extractTarTask(options?: ExtractOptions): TaskFunction;
// @public (undocumented)
export const fileOverlay: () => Partial<Configuration>;
// @public
export function fixApiFileNewlines(apiFilePath: string, newlineOptions: {
sampleFilePath?: string;
newline?: string;
}): void;
// @public (undocumented)
export const htmlOverlay: (options: any) => Partial<Configuration>;
// @public (undocumented)
export function jestTask(options?: JestTaskOptions): TaskFunction;
// @public (undocumented)
export interface JestTaskOptions {
// (undocumented)
_?: string[];
// (undocumented)
clearCache?: boolean;
// (undocumented)
colors?: boolean;
// (undocumented)
config?: string;
// (undocumented)
coverage?: boolean;
env?: NodeJS.ProcessEnv;
nodeArgs?: string[];
// (undocumented)
passWithNoTests?: boolean;
// (undocumented)
rootDir?: string;
// (undocumented)
runInBand?: boolean;
// (undocumented)
silent?: boolean;
// (undocumented)
testNamePattern?: string;
// (undocumented)
testPathPattern?: string;
// (undocumented)
u?: boolean;
// (undocumented)
updateSnapshot?: boolean;
// (undocumented)
watch?: boolean;
}
// @public (undocumented)
function lib(): void;
// @public
function mergeFiles(sourceFilePaths: string[], destinationFilePath: string): CopyInstruction;
// @public (undocumented)
export function nodeExecTask(options: NodeExecTaskOptions): TaskFunction;
// @public (undocumented)
export interface NodeExecTaskOptions {
args?: string[];
enableTypeScript?: boolean;
env?: NodeJS.ProcessEnv;
spawnOptions?: SpawnOptions;
transpileOnly?: boolean;
tsconfig?: string;
}
// @public (undocumented)
type Omit_2<T, K extends keyof any> = Pick<T, Exclude<keyof T, K>>;
// Warning: (ae-forgotten-export) The symbol "PrettierTaskOptions" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export function prettierCheckTask(options?: PrettierTaskOptions): TaskFunction;
// @public (undocumented)
export function prettierTask(options?: PrettierTaskOptions): TaskFunction;
// @public (undocumented)
interface PrettierTaskOptions {
// (undocumented)
configPath?: string;
// (undocumented)
files?: string[] | string;
// (undocumented)
ignorePath?: string;
}
// @public (undocumented)
export function sassTask(options: SassTaskOptions): TaskFunction;
// @public @deprecated (undocumented)
export function sassTask(createSourceModule: (fileName: string, css: string) => string, postcssPlugins?: any[]): TaskFunction;
// @public (undocumented)
export interface SassTaskOptions {
// (undocumented)
createSourceModule: (fileName: string, css: string) => string;
// (undocumented)
postcssPlugins?: any[];
}
export { spawn }
// @public (undocumented)
export const stylesOverlay: () => Partial<Configuration>;
declare namespace taskPresets {
export {
lib,
webapp
}
}
export { taskPresets }
// @public (undocumented)
export interface TsCheckerOptions {
// (undocumented)
async: boolean;
// (undocumented)
checkSyntacticErrors: boolean;
// (undocumented)
colors: boolean;
// (undocumented)
compilerOptions: object;
// (undocumented)
eslint: true | undefined;
eslintOptions: object;
// (undocumented)
ignoreDiagnostics: number[];
// (undocumented)
ignoreLints: string[];
// (undocumented)
ignoreLintWarnings: boolean;
// (undocumented)
measureCompilationTime: boolean;
// (undocumented)
memoryLimit: number;
// (undocumented)
reportFiles: string[];
// (undocumented)
resolveModuleNameModule: string;
// (undocumented)
resolveTypeReferenceDirectiveModule: string;
// (undocumented)
silent: boolean;
// (undocumented)
tsconfig: string;
// (undocumented)
tslint: string | true | undefined;
// (undocumented)
tslintAutoFix: boolean;
// (undocumented)
typescript: string;
// (undocumented)
useTypescriptIncrementalApi: boolean;
// (undocumented)
vue: boolean;
// (undocumented)
watch: string | string[];
// (undocumented)
workers: number;
}
// @public
export function tscTask(options?: TscTaskOptions): TaskFunction;
// @public (undocumented)
export type TscTaskOptions = {
[key in keyof ts.CompilerOptions]?: string | boolean | string[];
} & {
nodeArgs?: string[];
};
// @public
export function tscWatchTask(options?: TscTaskOptions): TaskFunction;
// @public (undocumented)
export function tslintTask(options?: TsLintTaskOptions): TaskFunction;
// @public (undocumented)
export interface TsLintTaskOptions {
// (undocumented)
config?: string;
// (undocumented)
fix?: boolean;
// (undocumented)
project?: string;
}
// @public (undocumented)
export interface TsLoaderOptions {
// (undocumented)
allowTsInNodeModules: boolean;
// (undocumented)
colors: boolean;
// (undocumented)
compilerOptions: ts.CompilerOptions;
// (undocumented)
configFile: string;
// (undocumented)
experimentalFileCaching: boolean;
// (undocumented)
experimentalWatchApi: boolean;
// (undocumented)
getCustomTransformers: string | ((program: ts.Program) => ts.CustomTransformers | undefined);
// (undocumented)
happyPackMode: boolean;
// (undocumented)
onlyCompileBundledFiles: boolean;
// (undocumented)
projectReferences: boolean;
// (undocumented)
transpileOnly: boolean;
}
// Warning: (ae-forgotten-export) The symbol "TsOverlayOptions" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export const tsOverlay: (overlayOptions?: TsOverlayOptions | undefined) => Partial<Configuration>;
// @public (undocumented)
interface TsOverlayOptions {
// (undocumented)
checkerOptions?: Partial<TsCheckerOptions>;
// (undocumented)
loaderOptions?: Partial<TsLoaderOptions>;
}
// @public (undocumented)
function webapp(): void;
// @public
export function webpackCliInitTask(customScaffold?: string, auto?: boolean): TaskFunction;
// @public
export function webpackCliTask(options?: WebpackCliTaskOptions): TaskFunction;
// @public (undocumented)
export interface WebpackCliTaskOptions {
env?: NodeJS.ProcessEnv;
nodeArgs?: string[];
transpileOnly?: boolean;
tsconfig?: string;
webpackCliArgs?: string[];
}
// @public (undocumented)
export const webpackConfig: (config: Partial<Configuration>) => Configuration;
// @public (undocumented)
export function webpackDevServerTask(options?: WebpackDevServerTaskOptions): TaskFunction;
// @public (undocumented)
export interface WebpackDevServerTaskOptions extends WebpackCliTaskOptions, Configuration {
config?: string;
env?: {
[key: string]: string | undefined;
};
mode?: 'production' | 'development';
nodeArgs?: string[];
open?: boolean;
transpileOnly?: boolean;
tsconfig?: string;
}
export { webpackMerge }
// @public (undocumented)
export const webpackOverlays: {
typescript: (overlayOptions?: TsOverlayOptions | undefined) => Partial<Configuration>;
html: (options: any) => Partial<Configuration>;
styles: () => Partial<Configuration>;
file: () => Partial<Configuration>;
displayBailout: () => Partial<Configuration>;
};
// @public (undocumented)
export const webpackServeConfig: (config: Partial<Configuration>) => Configuration;
// @public (undocumented)
export function webpackTask(options?: WebpackTaskOptions): TaskFunction;
// @public (undocumented)
export interface WebpackTaskOptions extends Configuration {
// (undocumented)
config?: string;
env?: NodeJS.ProcessEnv;
onCompile?: (err: Error, stats: any) => void | Promise<void>;
outputStats?: boolean | string;
transpileOnly?: boolean;
}
export * from "just-task";
// (No @packageDocumentation comment for this package)
```

Просмотреть файл

@ -15,6 +15,8 @@
"just-scripts": "bin/just-scripts.js"
},
"scripts": {
"api": "api-extractor run",
"api:update": "api-extractor run --local",
"build": "tsc",
"start": "tsc -w --preserveWatchOutput",
"start-test": "jest --watch",

Просмотреть файл

@ -59,7 +59,7 @@ export function copyFileToDestinationDirectoryWithRename(
/**
* Copies files into a destination directory with different names.
* For example copyFilesToDestinationDirectoryWithRename([{sourceFilePath:'some/path/foo.js', destinationName:'bar.js'}], 'dest/target')
* For example `copyFilesToDestinationDirectoryWithRename([{sourceFilePath:'some/path/foo.js', destinationName:'bar.js'}], 'dest/target')`
* would result in the creation of the file 'dest/target/bar.js'.
*/
export function copyFilesToDestinationDirectoryWithRename(

Просмотреть файл

@ -2,7 +2,7 @@ import { logger, TaskFunction } from 'just-task';
import * as fs from 'fs-extra';
import * as path from 'path';
import { tryRequire } from '../tryRequire';
import * as ApiExtractorTypes from './apiExtractorTypes';
import type * as ApiExtractorTypes from '@microsoft/api-extractor';
/* eslint-disable @typescript-eslint/no-non-null-assertion */

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,4 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
"extends": "just-task-scripts/api-extractor.base.json"
}

Просмотреть файл

@ -0,0 +1,25 @@
## API Report File for "just-task-logger"
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
```ts
// @public (undocumented)
export interface Logger {
enableVerbose: boolean;
error(...args: any[]): void;
info(...args: any[]): void;
perf(marker: string, ...args: any[]): void;
verbose(...args: any[]): void;
warn(...args: any[]): void;
}
// @public (undocumented)
export const logger: Logger;
// @public (undocumented)
export function mark(marker: string): void;
// (No @packageDocumentation comment for this package)
```

Просмотреть файл

@ -8,6 +8,8 @@
},
"main": "./lib/index.js",
"scripts": {
"api": "api-extractor run",
"api:update": "api-extractor run --local",
"build": "tsc",
"start": "tsc -w --preserveWatchOutput",
"test": "jest",

Просмотреть файл

@ -0,0 +1,4 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
"extends": "just-task-scripts/api-extractor.base.json"
}

Просмотреть файл

@ -0,0 +1,126 @@
## API Report File for "just-task"
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
```ts
/// <reference types="node" />
import { Arguments } from 'yargs-parser';
import { Duplex } from 'stream';
import type { FSWatcher } from 'chokidar';
import { Logger } from 'just-task-logger';
import type { Stats } from 'fs';
import { TaskFunction as TaskFunction_2 } from 'undertaker';
import { TaskFunctionParams } from 'undertaker';
import Undertaker = require('undertaker');
import type { WatchOptions } from 'chokidar';
// @public
export function addResolvePath(pathName: string): void;
// @public (undocumented)
export function argv(): Arguments;
// @public (undocumented)
export function chain(subjectTaskName: string): {
before: (taskName: string) => void;
after: (taskName: string) => void;
};
// @public (undocumented)
export function clearCache(): void;
// @public (undocumented)
export function condition(taskName: string, conditional: () => boolean): TaskFunction_2;
// Warning: (ae-forgotten-export) The symbol "OptionConfig" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export function option(key: string, options?: OptionConfig): void;
// @public (undocumented)
interface OptionConfig {
alias?: string | string[];
array?: boolean;
boolean?: boolean;
coerce?: (arg: any) => any;
count?: boolean;
default?: any;
describe?: string;
narg?: number;
normalize?: boolean;
number?: boolean;
string?: boolean;
}
// @public (undocumented)
export function parallel(...tasks: Task[]): Undertaker.TaskFunction;
// @public
export function resetResolvePaths(): void;
// Warning: (ae-forgotten-export) The symbol "ResolveOptions" needs to be exported by the entry point index.d.ts
//
// @public
export function resolve(moduleName: string, options?: ResolveOptions): string | null;
// @public @deprecated
export function resolve(moduleName: string, cwd?: string): string | null;
// @public
export function resolveCwd(moduleName: string, options?: ResolveOptions): string | null;
// @public @deprecated
export function resolveCwd(moduleName: string, cwd?: string): string | null;
// @public (undocumented)
interface ResolveOptions {
cwd?: string;
extensions?: string[];
}
// @public (undocumented)
export function series(...tasks: Task[]): Undertaker.TaskFunction;
// @public (undocumented)
export type Task = string | TaskFunction;
// @public (undocumented)
export function task(firstParam: string | TaskFunction, secondParam?: string | TaskFunction, thirdParam?: TaskFunction): TaskFunction;
// @public (undocumented)
export interface TaskContext {
// (undocumented)
argv: Arguments;
// (undocumented)
logger: Logger;
}
// @public (undocumented)
export interface TaskFunction extends TaskFunctionParams {
// (undocumented)
(this: TaskContext, done: (error?: any) => void): void | Duplex | NodeJS.Process | Promise<never> | any;
// (undocumented)
cached?: () => void;
// (undocumented)
description?: string;
}
// @public (undocumented)
export const undertaker: Undertaker;
// Warning: (ae-forgotten-export) The symbol "WatchListener" needs to be exported by the entry point index.d.ts
//
// @public (undocumented)
export function watch(globs: string | string[], optionsOrListener?: WatchListener | WatchOptions | undefined, listener?: WatchListener | undefined): FSWatcher;
// @public (undocumented)
type WatchListener = (path: string, stats?: Stats) => void;
export * from "just-task-logger";
// (No @packageDocumentation comment for this package)
```

Просмотреть файл

@ -15,6 +15,8 @@
"just": "bin/just.js"
},
"scripts": {
"api": "api-extractor run",
"api:update": "api-extractor run --local",
"build": "tsc",
"start": "tsc -w --preserveWatchOutput",
"start-test": "jest --watch",
@ -25,20 +27,21 @@
},
"dependencies": {
"@rushstack/package-deps-hash": "^4.0.0",
"@types/chokidar": "^2.1.3",
"@types/undertaker": "^1.2.8",
"@types/yargs-parser": "^20.2.2",
"bach": "^2.0.0",
"chalk": "^4.0.0",
"chokidar": "^3.5.2",
"fs-extra": "^11.0.0",
"just-task-logger": ">=1.2.1 <2.0.0",
"resolve": "^1.19.0",
"undertaker": "^1.3.0",
"undertaker-registry": "^2.0.0",
"yargs-parser": "^20.2.3",
"chokidar": "^3.5.2"
"yargs-parser": "^20.2.3"
},
"devDependencies": {
"@types/chokidar": "^2.1.3",
"@types/resolve": "^1.20.2",
"@types/undertaker": "^1.2.8",
"@types/undertaker-registry": "^1.0.1"
},
"typing": "lib/index.d.ts"

Просмотреть файл

@ -0,0 +1,39 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
"mainEntryPointFilePath": "<projectFolder>/lib/index.d.ts",
"bundledPackages": [],
"newlineKind": "lf",
"compiler": {
"tsconfigFilePath": "<projectFolder>/tsconfig.json"
},
"apiReport": {
"enabled": true,
// If any types are not explicitly exported, but are referenced by other exported types/items,
// still include them in the API file.
"includeForgottenExports": true
},
"docModel": {
"enabled": false
},
"dtsRollup": {
"enabled": false
},
"messages": {
"extractorMessageReporting": {
"ae-missing-release-tag": {
"logLevel": "none"
}
},
"tsdocMessageReporting": {
// don't require a hyphen after parameter names
// @param someParam this is valid
"tsdoc-param-tag-missing-hyphen": {
"logLevel": "none"
},
// @default isn't a built-in tsdoc tag, but is considered valid elsewhere
"tsdoc-undefined-tag": {
"logLevel": "none"
}
}
}
}

Просмотреть файл

@ -1299,6 +1299,48 @@
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
"@microsoft/api-extractor-model@7.27.6":
version "7.27.6"
resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.27.6.tgz#308e44cd595d2fb446c6357759ee0675ec37d26e"
integrity sha512-eiCnlayyum1f7fS2nA9pfIod5VCNR1G+Tq84V/ijDrKrOFVa598BLw145nCsGDMoFenV6ajNi2PR5WCwpAxW6Q==
dependencies:
"@microsoft/tsdoc" "0.14.2"
"@microsoft/tsdoc-config" "~0.16.1"
"@rushstack/node-core-library" "3.59.7"
"@microsoft/api-extractor@^7.36.4":
version "7.36.4"
resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.36.4.tgz#3bb9fbbbeacaa48eea49150351905a2677a506d9"
integrity sha512-21UECq8C/8CpHT23yiqTBQ10egKUacIpxkPyYR7hdswo/M5yTWdBvbq+77YC9uPKQJOUfOD1FImBQ1DzpsdeQQ==
dependencies:
"@microsoft/api-extractor-model" "7.27.6"
"@microsoft/tsdoc" "0.14.2"
"@microsoft/tsdoc-config" "~0.16.1"
"@rushstack/node-core-library" "3.59.7"
"@rushstack/rig-package" "0.4.1"
"@rushstack/ts-command-line" "4.15.2"
colors "~1.2.1"
lodash "~4.17.15"
resolve "~1.22.1"
semver "~7.5.4"
source-map "~0.6.1"
typescript "~5.0.4"
"@microsoft/tsdoc-config@~0.16.1":
version "0.16.2"
resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.16.2.tgz#b786bb4ead00d54f53839a458ce626c8548d3adf"
integrity sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==
dependencies:
"@microsoft/tsdoc" "0.14.2"
ajv "~6.12.6"
jju "~1.4.0"
resolve "~1.19.0"
"@microsoft/tsdoc@0.14.2":
version "0.14.2"
resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb"
integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==
"@mrmlnc/readdir-enhanced@^2.2.1":
version "2.2.1"
resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
@ -1353,6 +1395,24 @@
dependencies:
"@rushstack/node-core-library" "3.59.7"
"@rushstack/rig-package@0.4.1":
version "0.4.1"
resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.4.1.tgz#ff11bf67dad46f9b4f09db91cf45739ab411ee9f"
integrity sha512-AGRwpqlXNSp9LhUSz4HKI9xCluqQDt/obsQFdv/NYIekF3pTTPzc+HbQsIsjVjYnJ3DcmxOREVMhvrMEjpiq6g==
dependencies:
resolve "~1.22.1"
strip-json-comments "~3.1.1"
"@rushstack/ts-command-line@4.15.2":
version "4.15.2"
resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.15.2.tgz#7920e3fa2ab6af129d995ce4424c600da0bf8a93"
integrity sha512-5+C2uoJY8b+odcZD6coEe2XNC4ZjGB4vCMESbqW/8DHRWC/qIHfANdmN9F1wz/lAgxz72i7xRoVtPY2j7e4gpQ==
dependencies:
"@types/argparse" "1.0.38"
argparse "~1.0.9"
colors "~1.2.1"
string-argv "~0.3.1"
"@sinclair/typebox@^0.27.8":
version "0.27.8"
resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e"
@ -1384,6 +1444,11 @@
dependencies:
defer-to-connect "^1.0.1"
"@types/argparse@1.0.38":
version "1.0.38"
resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9"
integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==
"@types/babel__core@^7.1.14":
version "7.20.1"
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.1.tgz#916ecea274b0c776fec721e333e55762d3a9614b"
@ -2325,7 +2390,7 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2:
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4:
ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@~6.12.6:
version "6.12.6"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@ -2445,7 +2510,7 @@ arg@^4.1.0:
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
argparse@^1.0.7:
argparse@^1.0.7, argparse@~1.0.9:
version "1.0.10"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
@ -6851,7 +6916,7 @@ is-color-stop@^1.0.0:
rgb-regex "^1.0.1"
rgba-regex "^1.0.0"
is-core-module@^2.13.0:
is-core-module@^2.1.0, is-core-module@^2.13.0:
version "2.13.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db"
integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==
@ -7910,7 +7975,7 @@ lodash.uniq@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==
lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.5:
lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.5, lodash@~4.17.15:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@ -8909,7 +8974,7 @@ path-key@^3.0.0, path-key@^3.1.0:
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
path-parse@^1.0.7:
path-parse@^1.0.6, path-parse@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
@ -9861,6 +9926,14 @@ resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0, resolve@~1.2
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
resolve@~1.19.0:
version "1.19.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c"
integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==
dependencies:
is-core-module "^2.1.0"
path-parse "^1.0.6"
responselike@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7"
@ -10489,6 +10562,11 @@ strict-uri-encode@^1.0.0:
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==
string-argv@~0.3.1:
version "0.3.2"
resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6"
integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==
string-length@^4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a"
@ -10590,7 +10668,7 @@ strip-final-newline@^2.0.0:
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
strip-json-comments@^3.1.1:
strip-json-comments@^3.1.1, strip-json-comments@~3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
@ -11048,6 +11126,11 @@ typescript@~4.3.5:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4"
integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==
typescript@~5.0.4:
version "5.0.4"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b"
integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==
uc.micro@^1.0.1, uc.micro@^1.0.5:
version "1.0.6"
resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac"