snapshot of https://github.com/RocketChat/Rocket.Chat.git (develop, 2026-09-16; blobs > 131072B omitted)
Some checks failed
Create issues from TODOs / todos (push) Failing after 3s
Close inactive issues / close-issues (push) Has been cancelled
Deploy GitHub Pages / deploy-preview (push) Has been cancelled
CI / ⚙️ Variables Setup (push) Has been cancelled
CI / ⚙️ Test Guard (push) Has been cancelled
CI / 🚀 Notify external services - draft (push) Has been cancelled
CI / 📦 Build Packages (push) Has been cancelled
CI / 📦 Meteor Build (coverage) (push) Has been cancelled
CI / 📦 Meteor Build (production) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], fips) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Publish Docker Images (ghcr.io) (push) Has been cancelled
CI / 📦 Track Image Sizes (push) Has been cancelled
CI / 🔎 Code Check - Action Lint (push) Has been cancelled
CI / 🔎 Code Check (push) Has been cancelled
CI / 🔨 Test Storybook (push) Has been cancelled
CI / 🔨 Test Unit (push) Has been cancelled
CI / 🔨 Test API (CE) (push) Has been cancelled
CI / 🔨 Test API Livechat (CE) (push) Has been cancelled
CI / 🔨 Test UI (CE) (push) Has been cancelled
CI / 🔨 Test API (EE) (push) Has been cancelled
CI / 🔨 Test API Livechat (EE) (push) Has been cancelled
CI / 🔨 Test API Apps (deno-runtime - EE) (push) Has been cancelled
CI / 🔨 Test UI (EE) (push) Has been cancelled
CI / 🔨 Test API (FIPS) (push) Has been cancelled
CI / 🔨 Test API Livechat (FIPS) (push) Has been cancelled
CI / 🔨 Test UI (FIPS) (push) Has been cancelled
CI / 🔨 Test Federation Matrix (push) Has been cancelled
CI / 📊 Report Coverage (push) Has been cancelled
CI / ✅ Tests Done (push) Has been cancelled
CI / 🚀 Publish build assets (push) Has been cancelled
CI / 🚀 Publish Docker Images (DockerHub) (push) Has been cancelled
CI / 🚀 Notify external services (push) Has been cancelled
CI / Update Version Durability (push) Has been cancelled
Release / Release (push) Has been cancelled
Auto-close duplicate issues / auto-close-duplicates (push) Failing after 1s
Code scanning - action / CodeQL-Build (push) Failing after 1s
Some checks failed
Create issues from TODOs / todos (push) Failing after 3s
Close inactive issues / close-issues (push) Has been cancelled
Deploy GitHub Pages / deploy-preview (push) Has been cancelled
CI / ⚙️ Variables Setup (push) Has been cancelled
CI / ⚙️ Test Guard (push) Has been cancelled
CI / 🚀 Notify external services - draft (push) Has been cancelled
CI / 📦 Build Packages (push) Has been cancelled
CI / 📦 Meteor Build (coverage) (push) Has been cancelled
CI / 📦 Meteor Build (production) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], fips) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Publish Docker Images (ghcr.io) (push) Has been cancelled
CI / 📦 Track Image Sizes (push) Has been cancelled
CI / 🔎 Code Check - Action Lint (push) Has been cancelled
CI / 🔎 Code Check (push) Has been cancelled
CI / 🔨 Test Storybook (push) Has been cancelled
CI / 🔨 Test Unit (push) Has been cancelled
CI / 🔨 Test API (CE) (push) Has been cancelled
CI / 🔨 Test API Livechat (CE) (push) Has been cancelled
CI / 🔨 Test UI (CE) (push) Has been cancelled
CI / 🔨 Test API (EE) (push) Has been cancelled
CI / 🔨 Test API Livechat (EE) (push) Has been cancelled
CI / 🔨 Test API Apps (deno-runtime - EE) (push) Has been cancelled
CI / 🔨 Test UI (EE) (push) Has been cancelled
CI / 🔨 Test API (FIPS) (push) Has been cancelled
CI / 🔨 Test API Livechat (FIPS) (push) Has been cancelled
CI / 🔨 Test UI (FIPS) (push) Has been cancelled
CI / 🔨 Test Federation Matrix (push) Has been cancelled
CI / 📊 Report Coverage (push) Has been cancelled
CI / ✅ Tests Done (push) Has been cancelled
CI / 🚀 Publish build assets (push) Has been cancelled
CI / 🚀 Publish Docker Images (DockerHub) (push) Has been cancelled
CI / 🚀 Notify external services (push) Has been cancelled
CI / Update Version Durability (push) Has been cancelled
Release / Release (push) Has been cancelled
Auto-close duplicate issues / auto-close-duplicates (push) Failing after 1s
Code scanning - action / CodeQL-Build (push) Failing after 1s
This commit is contained in:
13
packages/release-changelog/CHANGELOG.md
Normal file
13
packages/release-changelog/CHANGELOG.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# @rocket.chat/release-changelog
|
||||
|
||||
## 0.1.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- ([#38989](https://github.com/RocketChat/Rocket.Chat/pull/38989)) chore(eslint): Upgrades ESLint and its configuration
|
||||
|
||||
## 0.1.1-rc.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- ([#38989](https://github.com/RocketChat/Rocket.Chat/pull/38989)) chore(eslint): Upgrades ESLint and its configuration
|
||||
23
packages/release-changelog/package.json
Normal file
23
packages/release-changelog/package.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"name": "@rocket.chat/release-changelog",
|
||||
"version": "0.1.1",
|
||||
"private": true,
|
||||
"main": "dist/index.js",
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"lint": "eslint ."
|
||||
},
|
||||
"dependencies": {
|
||||
"dataloader": "^2.2.3",
|
||||
"node-fetch": "^2.7.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@changesets/types": "^6.0.0",
|
||||
"@types/node": "~24.13.2",
|
||||
"eslint": "~9.39.5",
|
||||
"typescript": "~5.9.3"
|
||||
},
|
||||
"volta": {
|
||||
"extends": "../../package.json"
|
||||
}
|
||||
}
|
||||
183
packages/release-changelog/src/getGitHubInfo.ts
Normal file
183
packages/release-changelog/src/getGitHubInfo.ts
Normal file
@@ -0,0 +1,183 @@
|
||||
import DataLoader from 'dataloader';
|
||||
import fetch from 'node-fetch';
|
||||
|
||||
const validRepoNameRegex = /^[\w.-]+\/[\w.-]+$/;
|
||||
|
||||
type RequestData = { kind: 'commit'; repo: string; commit: string } | { kind: 'pull'; repo: string; pull: number };
|
||||
type RequestDataResponse = { message: any; author: any; url: string; authorAssociation: any };
|
||||
|
||||
type ReposWithCommitsAndPRsToFetch = Record<string, ({ kind: 'commit'; commit: string } | { kind: 'pull'; pull: number })[]>;
|
||||
|
||||
function makeQuery(repos: ReposWithCommitsAndPRsToFetch) {
|
||||
return `
|
||||
query {
|
||||
${Object.keys(repos)
|
||||
.map(
|
||||
(repo, i) =>
|
||||
`a${i}: repository(
|
||||
owner: ${JSON.stringify(repo.split('/')[0])}
|
||||
name: ${JSON.stringify(repo.split('/')[1])}
|
||||
) {
|
||||
${repos[repo]
|
||||
.map((data) =>
|
||||
data.kind === 'commit'
|
||||
? `a${data.commit}: object(expression: ${JSON.stringify(data.commit)}) {
|
||||
... on Commit {
|
||||
commitUrl
|
||||
message
|
||||
associatedPullRequests(first: 50) {
|
||||
nodes {
|
||||
number
|
||||
url
|
||||
mergedAt
|
||||
authorAssociation
|
||||
author {
|
||||
login
|
||||
url
|
||||
}
|
||||
}
|
||||
}
|
||||
author {
|
||||
user {
|
||||
login
|
||||
url
|
||||
}
|
||||
}
|
||||
}}`
|
||||
: `pr__${data.pull}: pullRequest(number: ${data.pull}) {
|
||||
url
|
||||
authorAssociation
|
||||
author {
|
||||
login
|
||||
url
|
||||
}
|
||||
mergeCommit {
|
||||
commitUrl
|
||||
abbreviatedOid
|
||||
}
|
||||
}`,
|
||||
)
|
||||
.join('\n')}
|
||||
}`,
|
||||
)
|
||||
.join('\n')}
|
||||
}
|
||||
`;
|
||||
}
|
||||
|
||||
// why are we using dataloader?
|
||||
// it provides use with two things
|
||||
// 1. caching
|
||||
// since getInfo will be called inside of changeset's getReleaseLine
|
||||
// and there could be a lot of release lines for a single commit
|
||||
// caching is important so we don't do a bunch of requests for the same commit
|
||||
// 2. batching
|
||||
// getReleaseLine will be called a large number of times but it'll be called at the same time
|
||||
// so instead of doing a bunch of network requests, we can do a single one.
|
||||
const GHDataLoader = new DataLoader<RequestData, RequestDataResponse>(
|
||||
async (requests) => {
|
||||
if (!process.env.GITHUB_TOKEN) {
|
||||
throw new Error(
|
||||
'Please create a GitHub personal access token at https://github.com/settings/tokens/new with `read:user` and `repo:status` permissions and add it as the GITHUB_TOKEN environment variable',
|
||||
);
|
||||
}
|
||||
const repos: ReposWithCommitsAndPRsToFetch = {};
|
||||
requests.forEach(({ repo, ...data }) => {
|
||||
if (repos[repo] === undefined) {
|
||||
repos[repo] = [];
|
||||
}
|
||||
repos[repo].push(data);
|
||||
});
|
||||
|
||||
const data = await fetch('https://api.github.com/graphql', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
Authorization: `Token ${process.env.GITHUB_TOKEN}`,
|
||||
},
|
||||
body: JSON.stringify({ query: makeQuery(repos) }),
|
||||
}).then((x: any) => x.json());
|
||||
|
||||
if (data.errors) {
|
||||
throw new Error(`An error occurred when fetching data from GitHub\n${JSON.stringify(data.errors, null, 2)}`);
|
||||
}
|
||||
|
||||
// this is mainly for the case where there's an authentication problem
|
||||
if (!data.data) {
|
||||
throw new Error(`An error occurred when fetching data from GitHub\n${JSON.stringify(data)}`);
|
||||
}
|
||||
|
||||
const cleanedData: Record<string, { commit: Record<string, any>; pull: Record<string, any> }> = {};
|
||||
Object.keys(repos).forEach((repo, index) => {
|
||||
const output: { commit: Record<string, any>; pull: Record<string, any> } = {
|
||||
commit: {},
|
||||
pull: {},
|
||||
};
|
||||
cleanedData[repo] = output;
|
||||
Object.entries(data.data[`a${index}`]).forEach(([field, value]) => {
|
||||
// this is "a" because that's how it was when it was first written, "a" means it's a commit not a pr
|
||||
// we could change it to commit__ but then we have to get new GraphQL results from the GH API to put in the tests
|
||||
if (field[0] === 'a') {
|
||||
output.commit[field.substring(1)] = value;
|
||||
} else {
|
||||
output.pull[field.replace('pr__', '')] = value;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
return requests.map(({ repo, ...data }) => cleanedData[repo][data.kind][data.kind === 'pull' ? data.pull : data.commit]);
|
||||
},
|
||||
{
|
||||
maxBatchSize: 80,
|
||||
},
|
||||
);
|
||||
|
||||
export async function getCommitInfo(request: { commit: string; repo: string; pr?: number }): Promise<{
|
||||
pull?: {
|
||||
number: number;
|
||||
url: string;
|
||||
};
|
||||
author: {
|
||||
association: string;
|
||||
login: string;
|
||||
url: string;
|
||||
};
|
||||
}> {
|
||||
if (!request.commit) {
|
||||
throw new Error('Please pass a commit SHA to getInfo');
|
||||
}
|
||||
|
||||
if (!request.repo) {
|
||||
throw new Error('Please pass a GitHub repository in the form of userOrOrg/repoName to getInfo');
|
||||
}
|
||||
|
||||
if (!validRepoNameRegex.test(request.repo)) {
|
||||
throw new Error(
|
||||
`Please pass a valid GitHub repository in the form of userOrOrg/repoName to getInfo (it has to match the "${validRepoNameRegex.source}" pattern)`,
|
||||
);
|
||||
}
|
||||
|
||||
const data = await GHDataLoader.load({ kind: 'commit', ...request });
|
||||
|
||||
const prMatch = data.message.match(/\(#(\d+)\)$/m);
|
||||
if (!prMatch && !request.pr) {
|
||||
return {
|
||||
author: { login: data.author.login, url: data.author.url, association: 'MEMBER' },
|
||||
};
|
||||
}
|
||||
|
||||
const pr = request.pr || Number(prMatch[1]);
|
||||
|
||||
const pullRequest = await GHDataLoader.load({ kind: 'pull', pull: pr, repo: request.repo });
|
||||
|
||||
return {
|
||||
pull: {
|
||||
number: pr,
|
||||
url: pullRequest.url,
|
||||
},
|
||||
author: {
|
||||
login: pullRequest.author.login,
|
||||
url: pullRequest.author.url,
|
||||
association: pullRequest.authorAssociation,
|
||||
},
|
||||
};
|
||||
}
|
||||
90
packages/release-changelog/src/index.ts
Normal file
90
packages/release-changelog/src/index.ts
Normal file
@@ -0,0 +1,90 @@
|
||||
import type { ChangelogFunctions } from '@changesets/types';
|
||||
|
||||
import { getCommitInfo } from './getGitHubInfo';
|
||||
|
||||
const changelogFunctions: ChangelogFunctions = {
|
||||
getReleaseLine: async (changeset, _type, options) => {
|
||||
if (!options?.repo) {
|
||||
throw new Error(
|
||||
'Please provide a repo to this changelog generator like this:\n"changelog": ["@rocket.chat/release-changelog", { "repo": "org/repo" }]',
|
||||
);
|
||||
}
|
||||
|
||||
let prFromSummary: number | undefined;
|
||||
let commitFromSummary: string | undefined;
|
||||
const usersFromSummary: string[] = [];
|
||||
|
||||
const replacedChangelog = changeset.summary
|
||||
.replace(/^\s*(?:pr|pull|pull\s+request):\s*#?(\d+)/im, (_, pr) => {
|
||||
const num = Number(pr);
|
||||
if (!isNaN(num)) prFromSummary = num;
|
||||
return '';
|
||||
})
|
||||
.replace(/^\s*commit:\s*([^\s]+)/im, (_, commit) => {
|
||||
commitFromSummary = commit;
|
||||
return '';
|
||||
})
|
||||
.replace(/^\s*(?:author|user):\s*@?([^\s]+)/gim, (_, user) => {
|
||||
usersFromSummary.push(user);
|
||||
return '';
|
||||
})
|
||||
.trim();
|
||||
|
||||
const [firstLine, ...futureLines] = replacedChangelog.split('\n').map((l) => l.trimEnd());
|
||||
|
||||
const links = await (async () => {
|
||||
const commitToFetchFrom = commitFromSummary || changeset.commit;
|
||||
if (!commitToFetchFrom) {
|
||||
return;
|
||||
}
|
||||
|
||||
const { author, pull } = await getCommitInfo({
|
||||
repo: options.repo,
|
||||
commit: commitToFetchFrom,
|
||||
pr: prFromSummary,
|
||||
});
|
||||
return { pull, author };
|
||||
})();
|
||||
|
||||
const users = (() => {
|
||||
if (usersFromSummary.length) {
|
||||
return usersFromSummary.map((userFromSummary) => `[@${userFromSummary}](https://github.com/${userFromSummary})`).join(', ');
|
||||
}
|
||||
|
||||
if (links?.author?.association === 'CONTRIBUTOR') {
|
||||
return `[@${links.author.login}](https://github.com/${links.author.login})`;
|
||||
}
|
||||
})();
|
||||
|
||||
const prefix = [
|
||||
links?.pull ? `[#${links?.pull?.number}](${links?.pull?.url})` : '',
|
||||
// links.commit === null ? '' : links.commit,
|
||||
users ? `by ${users}` : '',
|
||||
]
|
||||
.filter(Boolean)
|
||||
.join(' ');
|
||||
|
||||
return `-${prefix ? ` (${prefix})` : ''} ${firstLine}\n${futureLines.map((l) => ` ${l}`).join('\n')}`;
|
||||
},
|
||||
getDependencyReleaseLine: async (changesets, dependenciesUpdated, options) => {
|
||||
if (!options.repo) {
|
||||
throw new Error(
|
||||
'Please provide a repo to this changelog generator like this:\n"changelog": ["@rocket.chat/release-changelog", { "repo": "org/repo" }]',
|
||||
);
|
||||
}
|
||||
if (dependenciesUpdated.length === 0) return '';
|
||||
|
||||
const commits = changesets
|
||||
.map((cs) => cs.commit)
|
||||
.filter((_) => _)
|
||||
.join(', ');
|
||||
|
||||
const changesetLink = `- <details><summary>Updated dependencies [${commits}]:</summary>\n`;
|
||||
|
||||
const updatedDepenenciesList = dependenciesUpdated.map((dependency) => ` - ${dependency.name}@${dependency.newVersion}`);
|
||||
|
||||
return [changesetLink, ...updatedDepenenciesList, ' </details>'].join('\n');
|
||||
},
|
||||
};
|
||||
|
||||
export default changelogFunctions;
|
||||
109
packages/release-changelog/tsconfig.json
Normal file
109
packages/release-changelog/tsconfig.json
Normal file
@@ -0,0 +1,109 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
/* Visit https://aka.ms/tsconfig to read more about this file */
|
||||
|
||||
/* Projects */
|
||||
// "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */
|
||||
// "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
|
||||
// "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */
|
||||
// "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */
|
||||
// "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
|
||||
// "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */
|
||||
|
||||
/* Language and Environment */
|
||||
"target": "esnext", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
|
||||
// "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
|
||||
// "jsx": "preserve", /* Specify what JSX code is generated. */
|
||||
// "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */
|
||||
// "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
|
||||
// "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */
|
||||
// "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */
|
||||
// "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */
|
||||
// "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */
|
||||
// "noLib": true, /* Disable including any library files, including the default lib.d.ts. */
|
||||
// "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
|
||||
// "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */
|
||||
|
||||
/* Modules */
|
||||
"module": "commonjs", /* Specify what module code is generated. */
|
||||
"rootDir": "src/", /* Specify the root folder within your source files. */
|
||||
// "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */
|
||||
// "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
|
||||
// "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
|
||||
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
|
||||
// "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
|
||||
// "types": [], /* Specify type package names to be included without being referenced in a source file. */
|
||||
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
|
||||
// "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */
|
||||
// "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */
|
||||
// "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */
|
||||
// "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */
|
||||
// "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */
|
||||
// "resolveJsonModule": true, /* Enable importing .json files. */
|
||||
// "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */
|
||||
// "noResolve": true, /* Disallow 'import's, 'require's or '<reference>'s from expanding the number of files TypeScript should add to a project. */
|
||||
|
||||
/* JavaScript Support */
|
||||
// "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */
|
||||
// "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */
|
||||
// "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */
|
||||
|
||||
/* Emit */
|
||||
// "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
|
||||
// "declarationMap": true, /* Create sourcemaps for d.ts files. */
|
||||
// "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */
|
||||
// "sourceMap": true, /* Create source map files for emitted JavaScript files. */
|
||||
// "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */
|
||||
// "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */
|
||||
"outDir": "dist/", /* Specify an output folder for all emitted files. */
|
||||
// "removeComments": true, /* Disable emitting comments. */
|
||||
// "noEmit": true, /* Disable emitting files from a compilation. */
|
||||
// "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */
|
||||
// "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */
|
||||
// "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */
|
||||
// "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */
|
||||
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */
|
||||
// "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */
|
||||
// "newLine": "crlf", /* Set the newline character for emitting files. */
|
||||
// "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */
|
||||
// "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */
|
||||
// "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */
|
||||
// "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */
|
||||
// "declarationDir": "./", /* Specify the output directory for generated declaration files. */
|
||||
// "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */
|
||||
|
||||
/* Interop Constraints */
|
||||
// "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */
|
||||
// "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */
|
||||
// "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */
|
||||
"esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */
|
||||
// "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
|
||||
"forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */
|
||||
|
||||
/* Type Checking */
|
||||
"strict": true, /* Enable all strict type-checking options. */
|
||||
// "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */
|
||||
// "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */
|
||||
// "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */
|
||||
// "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */
|
||||
// "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */
|
||||
// "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */
|
||||
// "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */
|
||||
// "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */
|
||||
// "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */
|
||||
// "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */
|
||||
// "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */
|
||||
// "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */
|
||||
// "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */
|
||||
// "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */
|
||||
// "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */
|
||||
// "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */
|
||||
// "allowUnusedLabels": true, /* Disable error reporting for unused labels. */
|
||||
// "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */
|
||||
|
||||
/* Completeness */
|
||||
// "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */
|
||||
"skipLibCheck": true /* Skip type checking all .d.ts files. */
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user