first commit
This commit is contained in:
5
node_modules/release-it/test/stub/config/default/.release-it.json
generated
vendored
Normal file
5
node_modules/release-it/test/stub/config/default/.release-it.json
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"github": {
|
||||
"release": true
|
||||
}
|
||||
}
|
||||
1
node_modules/release-it/test/stub/config/invalid-config-rc
generated
vendored
Normal file
1
node_modules/release-it/test/stub/config/invalid-config-rc
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
foo=bar
|
||||
2
node_modules/release-it/test/stub/config/invalid-config-txt
generated
vendored
Normal file
2
node_modules/release-it/test/stub/config/invalid-config-txt
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
foo
|
||||
bar\baz
|
||||
5
node_modules/release-it/test/stub/config/merge/.release-it.json
generated
vendored
Normal file
5
node_modules/release-it/test/stub/config/merge/.release-it.json
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"github": {
|
||||
"release": true
|
||||
}
|
||||
}
|
||||
7
node_modules/release-it/test/stub/config/merge/package.json
generated
vendored
Normal file
7
node_modules/release-it/test/stub/config/merge/package.json
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"release-it": {
|
||||
"git": {
|
||||
"push": false
|
||||
}
|
||||
}
|
||||
}
|
||||
5
node_modules/release-it/test/stub/config/remote/.release-it.json
generated
vendored
Normal file
5
node_modules/release-it/test/stub/config/remote/.release-it.json
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"git": {
|
||||
"commitMessage": "Released version ${version}"
|
||||
}
|
||||
}
|
||||
5
node_modules/release-it/test/stub/config/remote/sub/.release-it.json
generated
vendored
Normal file
5
node_modules/release-it/test/stub/config/remote/sub/.release-it.json
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"git": {
|
||||
"commitMessage": "Released with version ${version}"
|
||||
}
|
||||
}
|
||||
2
node_modules/release-it/test/stub/config/toml/.release-it.toml
generated
vendored
Normal file
2
node_modules/release-it/test/stub/config/toml/.release-it.toml
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
[foo]
|
||||
bar=1
|
||||
2
node_modules/release-it/test/stub/config/yaml/.release-it.yaml
generated
vendored
Normal file
2
node_modules/release-it/test/stub/config/yaml/.release-it.yaml
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
foo:
|
||||
bar: 1
|
||||
2
node_modules/release-it/test/stub/config/yml/.release-it.yml
generated
vendored
Normal file
2
node_modules/release-it/test/stub/config/yml/.release-it.yml
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
foo:
|
||||
bar: 1
|
||||
150
node_modules/release-it/test/stub/github.js
generated
vendored
Normal file
150
node_modules/release-it/test/stub/github.js
generated
vendored
Normal 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
87
node_modules/release-it/test/stub/gitlab.js
generated
vendored
Normal 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
36
node_modules/release-it/test/stub/plugin-context.js
generated
vendored
Normal 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
9
node_modules/release-it/test/stub/plugin-replace.js
generated
vendored
Normal 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
39
node_modules/release-it/test/stub/plugin.js
generated
vendored
Normal 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
24
node_modules/release-it/test/stub/shell.js
generated
vendored
Normal 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;
|
||||
Reference in New Issue
Block a user