New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

code-suggester

Package Overview
Dependencies
Maintainers
1
Versions
39
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

code-suggester - npm Package Compare versions

Comparing version 4.1.1 to 4.2.0

build/src/errors.d.ts

2

build/src/github/commit-and-push.d.ts

@@ -20,2 +20,3 @@ import { Changes, TreeObject, RepoDomain, BranchDomain } from '../types';

* @returns {Promise<string>} the GitHub tree SHA
* @throws {CommitError}
*/

@@ -44,3 +45,4 @@ export declare function createTree(octokit: Octokit, origin: RepoDomain, refHead: string, tree: TreeObject[]): Promise<string>;

* @returns {Promise<void>}
* @throws {CommitError}
*/
export declare function commitAndPush(octokit: Octokit, refHead: string, changes: Changes, originBranch: BranchDomain, commitMessage: string, force: boolean, filesPerCommit?: number): Promise<void>;

62

build/src/github/commit-and-push.js

@@ -19,2 +19,3 @@ "use strict";

const create_commit_1 = require("./create-commit");
const errors_1 = require("../errors");
const DEFAULT_FILES_PER_COMMIT = 100;

@@ -67,2 +68,3 @@ /**

* @returns {Promise<string>} the GitHub tree SHA
* @throws {CommitError}
*/

@@ -76,10 +78,15 @@ async function createTree(octokit, origin, refHead, tree) {

logger_1.logger.info('Got the latest commit tree');
const treeSha = (await octokit.git.createTree({
owner: origin.owner,
repo: origin.repo,
tree,
base_tree: oldTreeSha,
})).data.sha;
logger_1.logger.info(`Successfully created a tree with the desired changes with SHA ${treeSha}`);
return treeSha;
try {
const treeSha = (await octokit.git.createTree({
owner: origin.owner,
repo: origin.repo,
tree,
base_tree: oldTreeSha,
})).data.sha;
logger_1.logger.info(`Successfully created a tree with the desired changes with SHA ${treeSha}`);
return treeSha;
}
catch (e) {
throw new errors_1.CommitError(`Error adding to tree: ${refHead}`, e);
}
}

@@ -98,10 +105,15 @@ exports.createTree = createTree;

logger_1.logger.info(`Updating reference heads/${origin.branch} to ${newSha}`);
await octokit.git.updateRef({
owner: origin.owner,
repo: origin.repo,
ref: `heads/${origin.branch}`,
sha: newSha,
force,
});
logger_1.logger.info(`Successfully updated reference ${origin.branch} to ${newSha}`);
try {
await octokit.git.updateRef({
owner: origin.owner,
repo: origin.repo,
ref: `heads/${origin.branch}`,
sha: newSha,
force,
});
logger_1.logger.info(`Successfully updated reference ${origin.branch} to ${newSha}`);
}
catch (e) {
throw new errors_1.CommitError(`Error updating ref heads/${origin.branch} to ${newSha}`, e);
}
}

@@ -120,19 +132,13 @@ exports.updateRef = updateRef;

* @returns {Promise<void>}
* @throws {CommitError}
*/
async function commitAndPush(octokit, refHead, changes, originBranch, commitMessage, force, filesPerCommit = DEFAULT_FILES_PER_COMMIT) {
try {
const tree = generateTreeObjects(changes);
for (const treeGroup of inGroupsOf(tree, filesPerCommit)) {
const treeSha = await createTree(octokit, originBranch, refHead, treeGroup);
refHead = await (0, create_commit_1.createCommit)(octokit, originBranch, refHead, treeSha, commitMessage);
}
await updateRef(octokit, originBranch, refHead, force);
const tree = generateTreeObjects(changes);
for (const treeGroup of inGroupsOf(tree, filesPerCommit)) {
const treeSha = await createTree(octokit, originBranch, refHead, treeGroup);
refHead = await (0, create_commit_1.createCommit)(octokit, originBranch, refHead, treeSha, commitMessage);
}
catch (err) {
err.message = `Error while creating a tree and updating the ref: ${err.message}`;
logger_1.logger.error(err);
throw err;
}
await updateRef(octokit, originBranch, refHead, force);
}
exports.commitAndPush = commitAndPush;
//# sourceMappingURL=commit-and-push.js.map

@@ -18,2 +18,3 @@ "use strict";

const logger_1 = require("../logger");
const errors_1 = require("../errors");
/**

@@ -31,13 +32,18 @@ * Create a commit with a repo snapshot SHA on top of the reference HEAD

async function createCommit(octokit, origin, refHead, treeSha, message) {
const commitData = (await octokit.git.createCommit({
owner: origin.owner,
repo: origin.repo,
message,
tree: treeSha,
parents: [refHead],
})).data;
logger_1.logger.info(`Successfully created commit. See commit at ${commitData.url}`);
return commitData.sha;
try {
const { data: { sha, url }, } = await octokit.git.createCommit({
owner: origin.owner,
repo: origin.repo,
message,
tree: treeSha,
parents: [refHead],
});
logger_1.logger.info(`Successfully created commit. See commit at ${url}`);
return sha;
}
catch (e) {
throw new errors_1.CommitError(`Error creating commit for: ${treeSha}`, e);
}
}
exports.createCommit = createCommit;
//# sourceMappingURL=create-commit.js.map

@@ -5,2 +5,3 @@ import { Changes, CreatePullRequestUserOptions, FileDiffContent, CreateReviewCommentUserOptions } from './types';

export { getChanges, getDiffString } from './bin/handle-git-dir-change';
export { CommitError } from './errors';
/**

@@ -44,2 +45,3 @@ * Given a set of suggestions, make all the multiline inline review comments on a given pull request given

* @returns {Promise<number>} the pull request number. Returns 0 if unsuccessful.
* @throws {CommitError} on failure during commit process
*/

@@ -46,0 +48,0 @@ declare function createPullRequest(octokit: Octokit, changes: Changes | null | undefined, options: CreatePullRequestUserOptions): Promise<number>;

@@ -16,3 +16,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.parseTextFiles = exports.createPullRequest = exports.reviewPullRequest = exports.getDiffString = exports.getChanges = void 0;
exports.parseTextFiles = exports.createPullRequest = exports.reviewPullRequest = exports.CommitError = exports.getDiffString = exports.getChanges = void 0;
const types_1 = require("./types");

@@ -31,2 +31,4 @@ const logger_1 = require("./logger");

Object.defineProperty(exports, "getDiffString", { enumerable: true, get: function () { return handle_git_dir_change_1.getDiffString; } });
var errors_1 = require("./errors");
Object.defineProperty(exports, "CommitError", { enumerable: true, get: function () { return errors_1.CommitError; } });
/**

@@ -88,2 +90,3 @@ * Given a set of suggestions, make all the multiline inline review comments on a given pull request given

* @returns {Promise<number>} the pull request number. Returns 0 if unsuccessful.
* @throws {CommitError} on failure during commit process
*/

@@ -90,0 +93,0 @@ async function createPullRequest(octokit, changes, options) {

# Changelog
## [4.2.0](https://github.com/googleapis/code-suggester/compare/v4.1.1...v4.2.0) (2023-01-05)
### Features
* Throw new CommitError if an API error occurs during commit process ([#434](https://github.com/googleapis/code-suggester/issues/434)) ([5ee7f2a](https://github.com/googleapis/code-suggester/commit/5ee7f2ad547a6181aba0f4e8b892335700bf9571))
### Bug Fixes
* **deps:** Update dependency parse-diff to ^0.10.0 ([#430](https://github.com/googleapis/code-suggester/issues/430)) ([06638c2](https://github.com/googleapis/code-suggester/commit/06638c26298a3f948864b8fa18664b540ddc576a))
## [4.1.1](https://github.com/googleapis/code-suggester/compare/v4.1.0...v4.1.1) (2022-11-09)

@@ -4,0 +16,0 @@

{
"name": "code-suggester",
"description": "Library to propose code changes",
"version": "4.1.1",
"version": "4.2.0",
"license": "Apache-2.0",

@@ -47,3 +47,3 @@ "author": "Google LLC",

"glob": "^7.1.6",
"parse-diff": "^0.9.0",
"parse-diff": "^0.10.0",
"yargs": "^16.0.0"

@@ -60,3 +60,3 @@ },

"gts": "^3.1.0",
"jsdoc": "^3.6.4",
"jsdoc": "^4.0.0",
"jsdoc-fresh": "^2.0.0",

@@ -69,3 +69,3 @@ "jsdoc-region-tag": "^2.0.0",

"pack-n-play": "^1.0.0-2",
"sinon": "^14.0.0",
"sinon": "^15.0.0",
"ts-loader": "^8.0.0",

@@ -72,0 +72,0 @@ "typescript": "^4.6.4",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc