Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const shasum = createHash('sha1').update(buffer).digest('hex');
const integrity = ssri.fromData(buffer).toString();
if (typeof access === `undefined`) {
if (workspace.manifest.publishConfig && typeof workspace.manifest.publishConfig.access === `string`) {
access = workspace.manifest.publishConfig.access;
} else if (configuration.get(`npmPublishAccess`) !== null) {
access = configuration.get(`npmPublishAccess`);
} else if (ident.scope) {
access = `restricted`;
} else {
access = `public`;
}
}
const raw = await packUtils.genPackageManifest(workspace);
return {
_id: name,
_attachments: {
[`${name}-${version}.tgz`]: {
[`content_type`]: `application/octet-stream`,
data: buffer.toString(`base64`),
length: buffer.length,
},
},
name,
access,
[`dist-tags`]: {
[tag]: version,
await packUtils.prepareForPack(workspace, {report}, async () => {
const files = await packUtils.genPackList(workspace);
for (const file of files)
report.reportInfo(null, file);
const pack = await packUtils.genPackStream(workspace, files);
const buffer = await miscUtils.bufferStream(pack);
const body = await makePublishBody(workspace, buffer, {
access: this.access,
tag: this.tag,
});
try {
await npmHttpUtils.put(npmHttpUtils.getIdentUrl(ident), body, {
configuration,
registry,
await packUtils.prepareForPack(workspace, {report}, async () => {
const files = await packUtils.genPackList(workspace);
for (const file of files)
report.reportInfo(null, file);
const pack = await packUtils.genPackStream(workspace, files);
const buffer = await miscUtils.bufferStream(pack);
const body = await makePublishBody(workspace, buffer, {
access: this.access,
tag: this.tag,
});
try {
await npmHttpUtils.put(npmHttpUtils.getIdentUrl(ident), body, {
configuration,
registry,
json: true,
});
} catch (error) {
if (error.name !== `HTTPError`) {
throw error;
throw new ReportError(MessageName.REMOTE_INVALID, `Registry returned invalid data for - missing "versions" field`);
if (Object.prototype.hasOwnProperty.call(registryData.versions, version)) {
report.reportWarning(MessageName.UNNAMED, `Registry already knows about version ${version}; skipping.`);
return;
}
} catch (error) {
if (error.name !== `HTTPError`) {
throw error;
} else if (error.response.statusCode !== 404) {
throw new ReportError(MessageName.NETWORK_ERROR, `The remote server answered with HTTP ${error.response.statusCode} ${error.response.statusMessage}`);
}
}
}
await packUtils.prepareForPack(workspace, {report}, async () => {
const files = await packUtils.genPackList(workspace);
for (const file of files)
report.reportInfo(null, file);
const pack = await packUtils.genPackStream(workspace, files);
const buffer = await miscUtils.bufferStream(pack);
const body = await makePublishBody(workspace, buffer, {
access: this.access,
tag: this.tag,
});
try {
await npmHttpUtils.put(npmHttpUtils.getIdentUrl(ident), body, {
configuration,