Skip to content

Commit 9704958

Browse files
move require-wrapper and dependencies handlers
1 parent ff58725 commit 9704958

9 files changed

+43
-32
lines changed

src/registry/domain/require-wrapper.js renamed to src/registry/domain/require-wrapper.ts

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,29 @@
1-
'use strict';
1+
import coreModules from 'builtin-modules';
2+
import path from 'path';
3+
import requirePackageName from 'require-package-name';
4+
import tryRequire from 'try-require';
5+
import _ from 'lodash';
26

3-
const coreModules = require('builtin-modules');
4-
const path = require('path');
5-
const requirePackageName = require('require-package-name');
6-
const tryRequire = require('try-require');
7-
const _ = require('lodash');
7+
import strings from '../../resources';
88

9-
const strings = require('../../resources').default;
10-
11-
const isCoreDependency = x => _.includes(coreModules, x);
12-
const requireCoreDependency = x =>
9+
const isCoreDependency = (x: string) => _.includes(coreModules, x);
10+
const requireCoreDependency = (x: string) =>
1311
(isCoreDependency(x) && tryRequire(x)) || undefined;
1412

15-
const requireDependency = requirePath => {
13+
const requireDependency = (requirePath: string) => {
1614
const nodeModulesPath = path.resolve('.', 'node_modules');
1715
const modulePath = path.resolve(nodeModulesPath, requirePath);
1816
return tryRequire(modulePath);
1917
};
2018

21-
const throwError = requirePath => {
19+
const throwError = (requirePath: string) => {
2220
throw {
2321
code: strings.errors.registry.DEPENDENCY_NOT_FOUND_CODE,
2422
missing: [requirePath]
2523
};
2624
};
2725

28-
module.exports = injectedDependencies => requirePath => {
26+
export default (injectedDependencies: string[]) => (requirePath: string) => {
2927
const moduleName = requirePackageName(requirePath);
3028
const isAllowed = _.includes(injectedDependencies, moduleName);
3129

src/registry/router.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const IndexRoute = require('./routes');
1010
const PublishRoute = require('./routes/publish');
1111
const StaticRedirectorRoute = require('./routes/static-redirector');
1212
const PluginsRoute = require('./routes/plugins');
13-
const DependenciesRoute = require('./routes/dependencies');
13+
const DependenciesRoute = require('./routes/dependencies').default;
1414
const settings = require('../resources/settings').default;
1515

1616
module.exports.create = function(app, conf, repository) {
Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
1-
'use strict';
1+
import { Request, Response } from 'express';
2+
import { Config } from '../../types';
3+
import getAvailableDependencies from './helpers/get-available-dependencies';
24

3-
const getAvailableDependencies = require('./helpers/get-available-dependencies');
4-
5-
module.exports = function(conf) {
6-
return function(req, res) {
5+
export default function dependencies(conf: Config) {
6+
return function(req: Request, res: Response): void {
77
if (conf.discovery) {
88
const dependencies = getAvailableDependencies(conf.dependencies).map(
99
({ core, name, version }) => {
10-
const dep = { name, core };
10+
const dep: { name: string; core: boolean; versions?: string[] } = {
11+
name,
12+
core
13+
};
1114
if (!core && version) {
1215
// In the future this could be multiple versions
1316
dep.versions = [version];
@@ -21,4 +24,4 @@ module.exports = function(conf) {
2124
res.status(401);
2225
}
2326
};
24-
};
27+
}
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
1-
'use strict';
1+
import coreModules from 'builtin-modules';
2+
import _ from 'lodash';
23

3-
const coreModules = require('builtin-modules');
4-
const _ = require('lodash');
4+
import RequireWrapper from '../../domain/require-wrapper';
55

6-
const RequireWrapper = require('../../domain/require-wrapper');
6+
interface AvailableDependency {
7+
core: boolean;
8+
name: string;
9+
version: string;
10+
link: string;
11+
}
712

8-
module.exports = dependencies =>
9-
_.map(dependencies, dependency => {
13+
export default function getAvailableDependencies(
14+
dependencies: string[]
15+
): AvailableDependency[] {
16+
return _.map(dependencies, dependency => {
1017
const requirer = RequireWrapper(dependencies);
1118
const core = _.includes(coreModules, dependency);
1219
const packageJson = !core && requirer(`${dependency}/package.json`);
@@ -17,3 +24,4 @@ module.exports = dependencies =>
1724

1825
return { core, name: dependency, version, link };
1926
});
27+
}

src/registry/routes/helpers/get-component.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ const GetComponentRetrievingInfo = require('./get-component-retrieving-info')
1515
const getComponentFallback = require('./get-component-fallback');
1616
const isTemplateLegacy = require('../../../utils/is-template-legacy').default;
1717
const NestedRenderer = require('../../domain/nested-renderer');
18-
const RequireWrapper = require('../../domain/require-wrapper');
18+
const RequireWrapper = require('../../domain/require-wrapper').default;
1919
const sanitiser = require('../../domain/sanitiser');
2020
const settings = require('../../../resources/settings').default;
2121
const strings = require('../../../resources').default;

src/registry/routes/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ const _ = require('lodash');
77
const dateStringified = require('../../utils/date-stringify').default;
88
const getComponentsHistory = require('./helpers/get-components-history')
99
.default;
10-
const getAvailableDependencies = require('./helpers/get-available-dependencies');
10+
const getAvailableDependencies = require('./helpers/get-available-dependencies')
11+
.default;
1112
const indexView = require('../views');
1213
// @ts-ignore
1314
const packageInfo = require('../../../package.json');

test/unit/registry-domain-require-wrapper.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ const expect = require('chai').expect;
44
const vm = require('vm');
55

66
describe('registry : domain : require-wrapper', () => {
7-
const RequireWrapper = require('../../dist/registry/domain/require-wrapper');
7+
const RequireWrapper = require('../../dist/registry/domain/require-wrapper')
8+
.default;
89

910
describe('when using the require wrapper in a clear context', () => {
1011
let result, error;

test/unit/registry-routes-dependencies.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ describe('registry : routes : plugins', () => {
2626
'./helpers/get-available-dependencies': list =>
2727
list.map(dep => dependencyMap[dep])
2828
}
29-
);
29+
).default;
3030

3131
const initialise = function() {
3232
resJsonStub = sinon.stub();

test/unit/registry-routes-helpers-get-available-dependencies.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ describe('registry : routes : helpers : get-available-dependencies', () => {
1313
homepage: `https://${pathToPackageJson.split('/')[0]}.com/`
1414
})
1515
}
16-
);
16+
).default;
1717

1818
describe('happy path', () => {
1919
let result;

0 commit comments

Comments
 (0)