Skip to content

Commit 96ed2b7

Browse files
author
Guillaume MOCQUET
committed
check in prod dependencies
1 parent 7bce760 commit 96ed2b7

File tree

8,235 files changed

+2082628
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

8,235 files changed

+2082628
-2
lines changed

.gitignore

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
__tests__/runner/*
22

33
# comment out in distribution branches
4-
node_modules/
5-
lib/
4+
#node_modules/
5+
#lib/
66

77
# Rest pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
88
# Logs

lib/action.js

+210
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,210 @@
1+
"use strict";
2+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3+
if (k2 === undefined) k2 = k;
4+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5+
}) : (function(o, m, k, k2) {
6+
if (k2 === undefined) k2 = k;
7+
o[k2] = m[k];
8+
}));
9+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10+
Object.defineProperty(o, "default", { enumerable: true, value: v });
11+
}) : function(o, v) {
12+
o["default"] = v;
13+
});
14+
var __importStar = (this && this.__importStar) || function (mod) {
15+
if (mod && mod.__esModule) return mod;
16+
var result = {};
17+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18+
__setModuleDefault(result, mod);
19+
return result;
20+
};
21+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23+
return new (P || (P = Promise))(function (resolve, reject) {
24+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27+
step((generator = generator.apply(thisArg, _arguments || [])).next());
28+
});
29+
};
30+
var __rest = (this && this.__rest) || function (s, e) {
31+
var t = {};
32+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
33+
t[p] = s[p];
34+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
35+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
36+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
37+
t[p[i]] = s[p[i]];
38+
}
39+
return t;
40+
};
41+
Object.defineProperty(exports, "__esModule", { value: true });
42+
const core = __importStar(require("@actions/core"));
43+
const semver_1 = require("semver");
44+
const commit_analyzer_1 = require("@semantic-release/commit-analyzer");
45+
const release_notes_generator_1 = require("@semantic-release/release-notes-generator");
46+
const utils_1 = require("./utils");
47+
const github_1 = require("./github");
48+
function main() {
49+
return __awaiter(this, void 0, void 0, function* () {
50+
const defaultBump = core.getInput('default_bump');
51+
const defaultPreReleaseBump = core.getInput('default_prerelease_bump');
52+
const tagPrefix = core.getInput('tag_prefix');
53+
const prefixMatchTag = core.getInput('prefix_match_tag');
54+
const customTag = core.getInput('custom_tag');
55+
const releaseBranches = core.getInput('release_branches');
56+
const preReleaseBranches = core.getInput('pre_release_branches');
57+
const appendToPreReleaseTag = core.getInput('append_to_pre_release_tag');
58+
const createAnnotatedTag = !!core.getInput('create_annotated_tag');
59+
const dryRun = core.getInput('dry_run');
60+
const customReleaseRules = core.getInput('custom_release_rules');
61+
const shouldFetchAllTags = core.getInput('fetch_all_tags');
62+
const commitSha = core.getInput('commit_sha');
63+
let mappedReleaseRules;
64+
if (customReleaseRules) {
65+
mappedReleaseRules = (0, utils_1.mapCustomReleaseRules)(customReleaseRules);
66+
}
67+
const { GITHUB_REF, GITHUB_SHA } = process.env;
68+
if (!GITHUB_REF) {
69+
core.setFailed('Missing GITHUB_REF.');
70+
return;
71+
}
72+
const commitRef = commitSha || GITHUB_SHA;
73+
if (!commitRef) {
74+
core.setFailed('Missing commit_sha or GITHUB_SHA.');
75+
return;
76+
}
77+
const currentBranch = (0, utils_1.getBranchFromRef)(GITHUB_REF);
78+
const isReleaseBranch = releaseBranches
79+
.split(',')
80+
.some((branch) => currentBranch.match(branch));
81+
const isPreReleaseBranch = preReleaseBranches
82+
.split(',')
83+
.some((branch) => currentBranch.match(branch));
84+
const isPullRequest = (0, utils_1.isPr)(GITHUB_REF);
85+
const isPrerelease = !isReleaseBranch && !isPullRequest && isPreReleaseBranch;
86+
// Sanitize identifier according to
87+
// https://semver.org/#backusnaur-form-grammar-for-valid-semver-versions
88+
const identifier = (appendToPreReleaseTag ? appendToPreReleaseTag : currentBranch).replace(/[^a-zA-Z0-9-]/g, '-');
89+
const prefixRegex = new RegExp(`^${tagPrefix}`);
90+
const validTags = yield (0, utils_1.getValidTags)(prefixRegex, /true/i.test(shouldFetchAllTags), /true/i.test(prefixMatchTag));
91+
const latestTag = (0, utils_1.getLatestTag)(validTags, prefixRegex, tagPrefix);
92+
const latestPrereleaseTag = (0, utils_1.getLatestPrereleaseTag)(validTags, identifier, prefixRegex);
93+
let commits;
94+
let newVersion;
95+
if (customTag) {
96+
commits = yield (0, utils_1.getCommits)(latestTag.commit.sha, commitRef);
97+
core.setOutput('release_type', 'custom');
98+
newVersion = customTag;
99+
}
100+
else {
101+
let previousTag;
102+
let previousVersion;
103+
if (!latestPrereleaseTag) {
104+
previousTag = latestTag;
105+
}
106+
else {
107+
previousTag = (0, semver_1.gte)(latestTag.name.replace(prefixRegex, ''), latestPrereleaseTag.name.replace(prefixRegex, ''))
108+
? latestTag
109+
: latestPrereleaseTag;
110+
}
111+
if (!previousTag) {
112+
core.setFailed('Could not find previous tag.');
113+
return;
114+
}
115+
previousVersion = (0, semver_1.parse)(previousTag.name.replace(prefixRegex, ''));
116+
if (!previousVersion) {
117+
core.setFailed('Could not parse previous tag.');
118+
return;
119+
}
120+
core.info(`Previous tag was ${previousTag.name}, previous version was ${previousVersion.version}.`);
121+
core.setOutput('previous_version', previousVersion.version);
122+
core.setOutput('previous_tag', previousTag.name);
123+
commits = yield (0, utils_1.getCommits)(previousTag.commit.sha, commitRef);
124+
let bump = yield (0, commit_analyzer_1.analyzeCommits)({
125+
releaseRules: mappedReleaseRules
126+
? // analyzeCommits doesn't appreciate rules with a section /shrug
127+
mappedReleaseRules.map((_a) => {
128+
var { section } = _a, rest = __rest(_a, ["section"]);
129+
return (Object.assign({}, rest));
130+
})
131+
: undefined,
132+
}, { commits, logger: { log: console.info.bind(console) } });
133+
// Determine if we should continue with tag creation based on main vs prerelease branch
134+
let shouldContinue = true;
135+
if (isPrerelease) {
136+
if (!bump && defaultPreReleaseBump === 'false') {
137+
shouldContinue = false;
138+
}
139+
}
140+
else {
141+
if (!bump && defaultBump === 'false') {
142+
shouldContinue = false;
143+
}
144+
}
145+
// Default bump is set to false and we did not find an automatic bump
146+
if (!shouldContinue) {
147+
core.debug('No commit specifies the version bump. Skipping the tag creation.');
148+
return;
149+
}
150+
// If we don't have an automatic bump for the prerelease, just set our bump as the default
151+
if (isPrerelease && !bump) {
152+
bump = defaultPreReleaseBump;
153+
}
154+
// If somebody uses custom release rules on a prerelease branch they might create a 'preprepatch' bump.
155+
const preReg = /^pre/;
156+
if (isPrerelease && preReg.test(bump)) {
157+
bump = bump.replace(preReg, '');
158+
}
159+
const releaseType = isPrerelease
160+
? `pre${bump}`
161+
: bump || defaultBump;
162+
core.setOutput('release_type', releaseType);
163+
const incrementedVersion = (0, semver_1.inc)(previousVersion, releaseType, identifier);
164+
if (!incrementedVersion) {
165+
core.setFailed('Could not increment version.');
166+
return;
167+
}
168+
if (!(0, semver_1.valid)(incrementedVersion)) {
169+
core.setFailed(`${incrementedVersion} is not a valid semver.`);
170+
return;
171+
}
172+
newVersion = incrementedVersion;
173+
}
174+
core.info(`New version is ${newVersion}.`);
175+
core.setOutput('new_version', newVersion);
176+
const newTag = `${tagPrefix}${newVersion}`;
177+
core.info(`New tag after applying prefix is ${newTag}.`);
178+
core.setOutput('new_tag', newTag);
179+
const changelog = yield (0, release_notes_generator_1.generateNotes)({
180+
preset: 'conventionalcommits',
181+
presetConfig: {
182+
types: (0, utils_1.mergeWithDefaultChangelogRules)(mappedReleaseRules),
183+
},
184+
}, {
185+
commits,
186+
logger: { log: console.info.bind(console) },
187+
options: {
188+
repositoryUrl: `${process.env.GITHUB_SERVER_URL}/${process.env.GITHUB_REPOSITORY}`,
189+
},
190+
lastRelease: { gitTag: latestTag.name },
191+
nextRelease: { gitTag: newTag, version: newVersion },
192+
});
193+
core.info(`Changelog is ${changelog}.`);
194+
core.setOutput('changelog', changelog);
195+
if (!isReleaseBranch && !isPreReleaseBranch) {
196+
core.info('This branch is neither a release nor a pre-release branch. Skipping the tag creation.');
197+
return;
198+
}
199+
if (validTags.map((tag) => tag.name).includes(newTag)) {
200+
core.info('This tag already exists. Skipping the tag creation.');
201+
return;
202+
}
203+
if (/true/i.test(dryRun)) {
204+
core.info('Dry run: not performing tag action.');
205+
return;
206+
}
207+
yield (0, github_1.createTag)(newTag, createAnnotatedTag, commitRef);
208+
});
209+
}
210+
exports.default = main;

lib/defaults.js

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
"use strict";
2+
Object.defineProperty(exports, "__esModule", { value: true });
3+
exports.defaultChangelogRules = void 0;
4+
/**
5+
* Default sections & changelog rules mentioned in `conventional-changelog-angular` & `conventional-changelog-conventionalcommits`.
6+
* References:
7+
* https://github.com/conventional-changelog/conventional-changelog/blob/master/packages/conventional-changelog-angular/writer-opts.js
8+
* https://github.com/conventional-changelog/conventional-changelog/blob/master/packages/conventional-changelog-conventionalcommits/writer-opts.js
9+
*/
10+
exports.defaultChangelogRules = Object.freeze({
11+
feat: { type: 'feat', section: 'Features' },
12+
fix: { type: 'fix', section: 'Bug Fixes' },
13+
perf: { type: 'perf', section: 'Performance Improvements' },
14+
revert: { type: 'revert', section: 'Reverts' },
15+
docs: { type: 'docs', section: 'Documentation' },
16+
style: { type: 'style', section: 'Styles' },
17+
refactor: { type: 'refactor', section: 'Code Refactoring' },
18+
test: { type: 'test', section: 'Tests' },
19+
build: { type: 'build', section: 'Build Systems' },
20+
ci: { type: 'ci', section: 'Continuous Integration' },
21+
});

lib/github.js

+84
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
"use strict";
2+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3+
if (k2 === undefined) k2 = k;
4+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5+
}) : (function(o, m, k, k2) {
6+
if (k2 === undefined) k2 = k;
7+
o[k2] = m[k];
8+
}));
9+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10+
Object.defineProperty(o, "default", { enumerable: true, value: v });
11+
}) : function(o, v) {
12+
o["default"] = v;
13+
});
14+
var __importStar = (this && this.__importStar) || function (mod) {
15+
if (mod && mod.__esModule) return mod;
16+
var result = {};
17+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18+
__setModuleDefault(result, mod);
19+
return result;
20+
};
21+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23+
return new (P || (P = Promise))(function (resolve, reject) {
24+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27+
step((generator = generator.apply(thisArg, _arguments || [])).next());
28+
});
29+
};
30+
Object.defineProperty(exports, "__esModule", { value: true });
31+
exports.createTag = exports.compareCommits = exports.listTags = exports.getOctokitSingleton = void 0;
32+
const github_1 = require("@actions/github");
33+
const core = __importStar(require("@actions/core"));
34+
let octokitSingleton;
35+
function getOctokitSingleton() {
36+
if (octokitSingleton) {
37+
return octokitSingleton;
38+
}
39+
const githubToken = core.getInput('github_token');
40+
octokitSingleton = (0, github_1.getOctokit)(githubToken);
41+
return octokitSingleton;
42+
}
43+
exports.getOctokitSingleton = getOctokitSingleton;
44+
/**
45+
* Fetch all tags for a given repository recursively
46+
*/
47+
function listTags(shouldFetchAllTags = false, fetchedTags = [], page = 1) {
48+
return __awaiter(this, void 0, void 0, function* () {
49+
const octokit = getOctokitSingleton();
50+
const tags = yield octokit.repos.listTags(Object.assign(Object.assign({}, github_1.context.repo), { per_page: 100, page }));
51+
if (tags.data.length < 100 || shouldFetchAllTags === false) {
52+
return [...fetchedTags, ...tags.data];
53+
}
54+
return listTags(shouldFetchAllTags, [...fetchedTags, ...tags.data], page + 1);
55+
});
56+
}
57+
exports.listTags = listTags;
58+
/**
59+
* Compare `headRef` to `baseRef` (i.e. baseRef...headRef)
60+
* @param baseRef - old commit
61+
* @param headRef - new commit
62+
*/
63+
function compareCommits(baseRef, headRef) {
64+
return __awaiter(this, void 0, void 0, function* () {
65+
const octokit = getOctokitSingleton();
66+
core.debug(`Comparing commits (${baseRef}...${headRef})`);
67+
const commits = yield octokit.repos.compareCommits(Object.assign(Object.assign({}, github_1.context.repo), { base: baseRef, head: headRef }));
68+
return commits.data.commits;
69+
});
70+
}
71+
exports.compareCommits = compareCommits;
72+
function createTag(newTag, createAnnotatedTag, GITHUB_SHA) {
73+
return __awaiter(this, void 0, void 0, function* () {
74+
const octokit = getOctokitSingleton();
75+
let annotatedTag = undefined;
76+
if (createAnnotatedTag) {
77+
core.debug(`Creating annotated tag.`);
78+
annotatedTag = yield octokit.git.createTag(Object.assign(Object.assign({}, github_1.context.repo), { tag: newTag, message: newTag, object: GITHUB_SHA, type: 'commit' }));
79+
}
80+
core.debug(`Pushing new tag to the repo.`);
81+
yield octokit.git.createRef(Object.assign(Object.assign({}, github_1.context.repo), { ref: `refs/tags/${newTag}`, sha: annotatedTag ? annotatedTag.data.sha : GITHUB_SHA }));
82+
});
83+
}
84+
exports.createTag = createTag;

lib/main.js

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
"use strict";
2+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3+
if (k2 === undefined) k2 = k;
4+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5+
}) : (function(o, m, k, k2) {
6+
if (k2 === undefined) k2 = k;
7+
o[k2] = m[k];
8+
}));
9+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10+
Object.defineProperty(o, "default", { enumerable: true, value: v });
11+
}) : function(o, v) {
12+
o["default"] = v;
13+
});
14+
var __importStar = (this && this.__importStar) || function (mod) {
15+
if (mod && mod.__esModule) return mod;
16+
var result = {};
17+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18+
__setModuleDefault(result, mod);
19+
return result;
20+
};
21+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23+
return new (P || (P = Promise))(function (resolve, reject) {
24+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27+
step((generator = generator.apply(thisArg, _arguments || [])).next());
28+
});
29+
};
30+
var __importDefault = (this && this.__importDefault) || function (mod) {
31+
return (mod && mod.__esModule) ? mod : { "default": mod };
32+
};
33+
Object.defineProperty(exports, "__esModule", { value: true });
34+
const core = __importStar(require("@actions/core"));
35+
const action_1 = __importDefault(require("./action"));
36+
function run() {
37+
return __awaiter(this, void 0, void 0, function* () {
38+
try {
39+
yield (0, action_1.default)();
40+
}
41+
catch (error) {
42+
core.setFailed(error.message);
43+
}
44+
});
45+
}
46+
run();

lib/ts.js

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
"use strict";
2+
Object.defineProperty(exports, "__esModule", { value: true });

0 commit comments

Comments
 (0)