first commit

This commit is contained in:
2025-10-26 23:10:15 +08:00
commit 8f0345b7be
14961 changed files with 2356381 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
{
"github": {
"release": true
}
}

View File

@@ -0,0 +1 @@
foo=bar

View File

@@ -0,0 +1,2 @@
foo
bar\baz

View File

@@ -0,0 +1,5 @@
{
"github": {
"release": true
}
}

View File

@@ -0,0 +1,7 @@
{
"release-it": {
"git": {
"push": false
}
}
}

View File

@@ -0,0 +1,5 @@
{
"git": {
"commitMessage": "Released version ${version}"
}
}

View File

@@ -0,0 +1,5 @@
{
"git": {
"commitMessage": "Released with version ${version}"
}
}

View File

@@ -0,0 +1,2 @@
[foo]
bar=1

View File

@@ -0,0 +1,2 @@
foo:
bar: 1

View File

@@ -0,0 +1,2 @@
foo:
bar: 1

150
node_modules/release-it/test/stub/github.js generated vendored Normal file
View File

@@ -0,0 +1,150 @@
export const interceptAuthentication = (server, { username = 'john' } = {}) => {
server.get('/user', { status: 200, body: { login: username } });
};
export const interceptCollaborator = (server, { owner = 'user', project = 'repo', username = 'john' } = {}) => {
server.get(`/repos/${owner}/${project}/collaborators/${username}`, { status: 204 });
};
export const interceptListReleases = (
server,
{ host = 'github.com', owner = 'user', project = 'repo', tag_name } = {}
) => {
server.get(`/repos/${owner}/${project}/releases?per_page=1&page=1`, {
status: 200,
body: [
{
id: 1,
upload_url: `https://uploads.${host}/repos/${owner}/${project}/releases/1/assets{?name,label}`,
html_url: `https://${host}/${owner}/${project}/releases/tag/${tag_name}`,
tag_name,
target_commitish: 'main',
name: `Release ${tag_name}`,
body: 'Description of the release',
draft: false,
prerelease: false
}
]
});
};
export const interceptCreate = (
server,
{
api = 'https://api.github.com',
host = 'github.com',
owner = 'user',
project = 'repo',
body: {
tag_name,
name = '',
body = null,
prerelease = false,
draft = false,
generate_release_notes = false,
make_latest = 'true',
discussion_category_name = undefined
}
} = {}
) => {
const id = 1;
server.post(
{
url: `/repos/${owner}/${project}/releases`,
body: { tag_name, name, body, prerelease, draft, generate_release_notes, make_latest, discussion_category_name }
},
{
status: 200,
body: {
id,
tag_name,
name,
body,
prerelease,
draft,
generate_release_notes,
upload_url: `https://uploads.${host}/repos/${owner}/${project}/releases/${id}/assets{?name,label}`,
html_url: `https://${host}/${owner}/${project}/releases/tag/${tag_name}`,
discussion_url: discussion_category_name ? `https://${host}/${owner}/${project}/discussions/${id}` : undefined
},
headers: { location: `${api}/repos/${owner}/${project}/releases/${id}` }
}
);
};
export const interceptUpdate = (
server,
{
host = 'github.com',
owner = 'user',
project = 'repo',
body: {
tag_name,
name = '',
body = null,
prerelease = false,
draft = false,
generate_release_notes = false,
make_latest = 'true',
discussion_category_name = undefined
}
} = {}
) => {
server.patch(
{
url: `/repos/${owner}/${project}/releases/1`,
body: {
tag_name,
name,
body,
draft,
prerelease,
generate_release_notes,
make_latest,
discussion_category_name
}
},
{
status: 200,
body: {
id: 1,
tag_name,
name,
body,
prerelease,
draft,
generate_release_notes,
upload_url: `https://uploads.${host}/repos/${owner}/${project}/releases/1/assets{?name,label}`,
html_url: `https://${host}/${owner}/${project}/releases/tag/${tag_name}`
}
}
);
};
export const interceptAsset = (
server,
{ api = 'https://api.github.com', host = 'github.com', owner = 'user', project = 'repo', tagName } = {}
) => {
server.post(
{
url: `/repos/${owner}/${project}/releases/1/assets`
},
request => {
const id = 1;
const url = new URL(request.url);
const name = url.searchParams.get('name');
return {
status: 200,
body: {
id,
url: `${api}/repos/${owner}/${project}/releases/assets/${id}`,
name,
label: '',
state: 'uploaded',
size: request.headers['content-length'],
browser_download_url: `https://${host}/${owner}/${project}/releases/download/${tagName}/${name}`
}
};
}
);
};

87
node_modules/release-it/test/stub/gitlab.js generated vendored Normal file
View File

@@ -0,0 +1,87 @@
export const interceptMembers = (server, { owner = 'emma' } = {}) => {
server.get(`/projects/john%2Frepo/members/all/1`, { status: 200, username: owner });
};
export const interceptUser = (server, { owner = 'user' } = {}, options = {}) => {
server.get({ url: '/user', ...options }, { status: 200, body: { id: 1, username: owner } });
};
export const interceptCollaborator = (
server,
{ owner = 'user', project = 'repo', group, userId = 1 } = {},
options = {}
) =>
server.get(
{
url: `/projects/${group ? `${group}%2F` : ''}${owner}%2F${project}/members/all/${userId}`,
...options
},
{
status: 200,
body: { id: userId, username: owner, access_level: 30 }
}
);
export const interceptPublish = (server, { owner = 'user', project = 'repo', body } = {}) =>
server.post(
{ url: `/projects/${owner}%2F${project}/releases`, body },
{
status: 200,
body: {
_links: {
self: `https://gitlab.com/${owner}/${project}/-/releases/${body?.tag_name ?? '1.0.0'}`
}
}
}
);
export const interceptMilestones = (server, { owner = 'user', project = 'repo', query = {}, milestones = [] } = {}) =>
server.get(
{
url: `/projects/${owner}%2F${project}/milestones`,
query: {
include_parent_milestones: 'true',
...query
}
},
{
status: 200,
body: milestones
}
);
export const interceptAsset = (server, { owner = 'user', project = 'repo' } = {}) =>
server.post(
{
url: `/projects/${owner}%2F${project}/uploads`
},
async request => {
const formData = await request.formData();
const { name } = formData.get('file');
return {
status: 200,
body: {
alt: name,
url: `/uploads/7e8bec1fe27cc46a4bc6a91b9e82a07c/${name}`,
full_path: `/-/project/1234/uploads/7e8bec1fe27cc46a4bc6a91b9e82a07c/${name}`,
markdown: `[${name}](/uploads/7e8bec1fe27cc46a4bc6a91b9e82a07c/${name})`,
_links: {
self: `https://gitlab.com/${owner}/${project}/-/releases/${name}`
}
}
};
}
);
export const interceptAssetGeneric = (server, { owner = 'user', project = 'repo' } = {}) =>
server.put(
{
url: `/projects/${owner}%2F${project}/packages/generic/release-it/2.0.1/file-v2.0.1.txt`
},
{
status: 200,
body: {
message: '201 Created'
}
}
);

36
node_modules/release-it/test/stub/plugin-context.js generated vendored Normal file
View File

@@ -0,0 +1,36 @@
import Plugin from '../../lib/plugin/Plugin.js';
class ContextPlugin extends Plugin {
init() {
const context = this.config.getContext();
this.exec(`echo ${context.version.isPreRelease}`);
this.exec('echo ${version.isPreRelease}');
}
beforeBump() {
const context = this.config.getContext();
this.exec(`echo ${context.name} ${context.repo.owner} ${context.latestVersion} ${context.version}`);
this.exec('echo ${name} ${repo.owner} ${latestVersion} ${version}');
}
bump(version) {
const repo = this.config.getContext('repo');
this.exec(`echo ${repo.owner} ${repo.project} ${repo.repository} ${version}`);
this.exec('echo ${repo.owner} ${repo.project} ${repo.repository} ${version}');
}
beforeRelease() {
const { repo, tagName } = this.config.getContext();
this.exec(`echo ${repo.owner} ${repo.project} ${repo.repository} ${tagName}`);
this.exec('echo ${repo.owner} ${repo.project} ${repo.repository} ${tagName}');
}
release() {
const { repo, latestVersion, version, tagName } = this.config.getContext();
this.exec(`echo ${repo.project} ${latestVersion} ${version} ${tagName}`);
this.exec('echo ${repo.project} ${latestVersion} ${version} ${tagName}');
}
afterRelease() {
const { repo, latestVersion, version, tagName } = this.config.getContext();
this.exec(`echo ${repo.project} ${latestVersion} ${version} ${tagName}`);
this.exec('echo ${repo.project} ${latestVersion} ${version} ${tagName}');
}
}
export default ContextPlugin;

9
node_modules/release-it/test/stub/plugin-replace.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
import Plugin from '../../lib/plugin/Plugin.js';
class ReplacePlugin extends Plugin {
static disablePlugin() {
return ['version', 'git', 'npm'];
}
}
export default ReplacePlugin;

39
node_modules/release-it/test/stub/plugin.js generated vendored Normal file
View File

@@ -0,0 +1,39 @@
import Plugin from '../../lib/plugin/Plugin.js';
class MyPlugin extends Plugin {
init() {
this.log.info(`${this.namespace}:${this.getContext('name')}:init`);
}
getName() {
this.log.info(`${this.namespace}:${this.getContext('name')}:getName`);
return 'new-project-name';
}
getLatestVersion() {
this.log.info(`${this.namespace}:${this.getContext('name')}:getLatestVersion`);
return '1.2.3';
}
getIncrement() {
this.log.info(`${this.namespace}:${this.getContext('name')}:getIncrement`);
return 'minor';
}
getIncrementedVersionCI() {
this.log.info(`${this.namespace}:${this.getContext('name')}:getIncrementedVersionCI`);
}
beforeBump() {
this.log.info(`${this.namespace}:${this.getContext('name')}:beforeBump`);
}
bump(version) {
this.log.info(`${this.namespace}:${this.getContext('name')}:bump:${version}`);
}
beforeRelease() {
this.log.info(`${this.namespace}:${this.getContext('name')}:beforeRelease`);
}
release() {
this.log.info(`${this.namespace}:${this.getContext('name')}:release`);
}
afterRelease() {
this.log.info(`${this.namespace}:${this.getContext('name')}:afterRelease`);
}
}
export default MyPlugin;

24
node_modules/release-it/test/stub/shell.js generated vendored Normal file
View File

@@ -0,0 +1,24 @@
import util from 'node:util';
import Shell from '../../lib/shell.js';
const debug = util.debug('release-it:shell-stub');
class ShellStub extends Shell {
exec(command) {
if (/^(npm (ping|publish|show)|git fetch)/.test(command)) {
debug(command);
return Promise.resolve();
}
if (/^npm whoami/.test(command)) {
debug(command);
return Promise.resolve('john');
}
if (/^npm access/.test(command)) {
debug(command);
return Promise.resolve(JSON.stringify({ john: ['write'] }));
}
return super.exec(...arguments);
}
}
export default ShellStub;