Skip to content

Commit 5cbf4e4

Browse files
committed
feat(schema): move git head into githubRepo
1 parent 67142c4 commit 5cbf4e4

File tree

3 files changed

+20
-20
lines changed

3 files changed

+20
-20
lines changed

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ For every single NPM package, we create a record in the Algolia index. The resul
5858
"githubRepo": {
5959
"user": "babel",
6060
"project": "babel",
61-
"path": "/tree/master/packages/babel-core"
61+
"path": "/tree/master/packages/babel-core",
62+
"head": "f6ad789eba27db50d25cc7eac062bbb0dde19c16"
6263
},
6364
"readme": "# babel-core\n> Babel compiler core.\n```javascript\nvar babel = require(\"babel-core\");\nimport { transform } from 'babel-core';\nimport * as babel from 'babel-core';\n```\nAll transformations will use your local configuration files (.babelrc or in package.json). See [options](#options) to disable it.\n## babel.transform(code: string, [options?](#options): Object)\nTransforms the passed in `code`. Returning an object with the generated code,\nsource map, and AST.\n```js\nbabel.transform(code, options)", //truncated at 200kb with **TRUNCATED**
6465
"owner": {

formatPkg.js

+15-16
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,17 @@ export default function formatPkg(pkg) {
1616
return undefined;
1717
}
1818

19-
const githubRepo = cleaned.repository
20-
? getGitHubRepoInfo(cleaned.repository)
21-
: null;
2219
const lastPublisher = cleaned.lastPublisher
2320
? formatUser(cleaned.lastPublisher)
2421
: null;
2522
const author = getAuthor(cleaned);
2623
const license = getLicense(cleaned);
2724

2825
const version = cleaned.version ? cleaned.version : '0.0.0';
29-
30-
const gitHead = getGitHead(pkg, version);
26+
const versions = getVersions(cleaned);
27+
const githubRepo = cleaned.repository
28+
? getGitHubRepoInfo({ repository: cleaned.repository, versions, version })
29+
: null;
3130

3231
if (!githubRepo && !lastPublisher && !author) {
3332
return undefined; // ignore this package, we cannot link it to anyone
@@ -40,8 +39,6 @@ export default function formatPkg(pkg) {
4039
const devDependencies = cleaned.devDependencies || {};
4140
const concatenatedName = cleaned.name.replace(/[-/@_.]+/g, '');
4241

43-
const versions = getVersions(cleaned);
44-
4542
const rawPkg = {
4643
objectID: cleaned.name,
4744
name: cleaned.name,
@@ -57,7 +54,6 @@ export default function formatPkg(pkg) {
5754
devDependencies,
5855
originalAuthor: cleaned.author,
5956
githubRepo,
60-
gitHead,
6157
readme: pkg.readme,
6258
owner,
6359
deprecated: cleaned.deprecated !== undefined ? cleaned.deprecated : false,
@@ -139,13 +135,6 @@ function getGravatar(obj) {
139135
return gravatarUrl(obj.email);
140136
}
141137

142-
function getGitHead(pkg, version) {
143-
if (pkg.versions && pkg.versions[version] && pkg.versions[version].gitHead) {
144-
return pkg.versions[version].gitHead;
145-
}
146-
return 'master';
147-
}
148-
149138
function getVersions(cleaned) {
150139
if (cleaned.other && cleaned.other.time) {
151140
return Object.keys(cleaned.other.time)
@@ -170,7 +159,14 @@ function getKeywords(cleaned) {
170159
return [];
171160
}
172161

173-
function getGitHubRepoInfo(repository) {
162+
function getGitHead({ versions, version }) {
163+
if (versions[version] && versions[version].gitHead) {
164+
return versions[version].gitHead;
165+
}
166+
return 'master';
167+
}
168+
169+
function getGitHubRepoInfo({ repository, versions, version }) {
174170
if (!repository || typeof repository !== 'string') return null;
175171

176172
const result = repository.match(
@@ -185,10 +181,13 @@ function getGitHubRepoInfo(repository) {
185181
return null;
186182
}
187183

184+
const head = getGitHead({ versions, version });
185+
188186
return {
189187
user: result[1],
190188
project: result[2],
191189
path: result[3] || '',
190+
head,
192191
};
193192
}
194193

github.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
import got from 'got';
22
import race from 'promise-rat-race';
33

4-
function getChangelog({ githubRepo, gitHead }) {
4+
function getChangelog(githubRepo) {
55
if (githubRepo === null) {
66
return { changelogFilename: null };
77
}
88

9-
const { user, project, path } = githubRepo;
9+
const { user, project, path, head } = githubRepo;
1010
if (user.length < 1 || project.length < 1) {
1111
return { changelogFilename: null };
1212
}
1313

14-
const baseGithubURL = `https://raw.githubusercontent.com/${user}/${project}/${gitHead}/${`${path.replace('/tree/', '')}`}`;
14+
const baseGithubURL = `https://raw.githubusercontent.com/${user}/${project}/${head}/${`${path.replace('/tree/', '')}`}`;
1515
const files = [
1616
'CHANGELOG.md',
1717
'ChangeLog.md',

0 commit comments

Comments
 (0)