Skip to content

Commit 900f47f

Browse files
Merge pull request #1300 from opencomponents/dev-external-deps
allow for dev version for external dependencies
2 parents 021efd9 + 887caed commit 900f47f

File tree

4 files changed

+31
-9
lines changed

4 files changed

+31
-9
lines changed

src/registry/domain/register-templates.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@ import jadeTemplate from 'oc-template-jade';
44
import { Template, TemplateInfo } from '../../types';
55
import _ from 'lodash';
66

7-
export default function registerTemplates(extraTemplates: Template[]): {
7+
export default function registerTemplates(
8+
extraTemplates: Template[],
9+
dev = false
10+
): {
811
templatesHash: Record<string, Template>;
912
templatesInfo: TemplateInfo[];
1013
} {
@@ -21,7 +24,14 @@ export default function registerTemplates(extraTemplates: Template[]): {
2124
}, {} as Record<string, Template>);
2225

2326
const templatesInfo = templates.map(template => {
24-
return template.getInfo();
27+
const { externals, ...rest } = template.getInfo();
28+
return {
29+
...rest,
30+
externals: externals.map(({ url, devUrl, ...rest }) => ({
31+
...rest,
32+
url: dev && devUrl ? devUrl : url
33+
}))
34+
};
2535
});
2636

2737
return {

src/registry/domain/repository.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@ export default function repository(conf: Config) {
3737
const getFilePath = (component: string, version: string, filePath: string) =>
3838
`${options!.componentsDir}/${component}/${version}/${filePath}`;
3939

40-
const { templatesHash, templatesInfo } = registerTemplates(conf.templates);
40+
const { templatesHash, templatesInfo } = registerTemplates(
41+
conf.templates,
42+
conf.local
43+
);
4144

4245
const local = {
4346
getCompiledView(componentName: string): string {

src/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export interface TemplateInfo {
2424
name: string;
2525
global: string | string[];
2626
url: string;
27+
devUrl?: string;
2728
}>;
2829
type: string;
2930
version: string;

test/unit/registry-domain-register-templates.js

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,33 +24,41 @@ describe('registry : domain : register-templates', () => {
2424
});
2525

2626
describe('when templates get registered with additional templates', () => {
27-
const templateMock = {
27+
const getTemplateMock = dev => ({
2828
getInfo() {
2929
return {
3030
type: 'new-tpl',
3131
version: '6.6.6',
32-
externals: {}
32+
externals: [{ url: 'produrl', ...(dev && { devUrl: 'devurl' }) }]
3333
};
3434
}
35-
};
35+
});
36+
const templateMock = getTemplateMock();
37+
const devTemplateMock = getTemplateMock(true);
3638

37-
const registerd = registerTemplates([templateMock]);
39+
const registered = registerTemplates([templateMock]);
3840

3941
it('should correctly register core-templates & extra templates', () => {
40-
expect(registerd.templatesHash).to.deep.eql({
42+
expect(registered.templatesHash).to.deep.eql({
4143
'oc-template-es6': require('oc-template-es6'),
4244
'oc-template-jade': require('oc-template-jade'),
4345
'oc-template-handlebars': require('oc-template-handlebars'),
4446
'new-tpl': templateMock
4547
});
46-
expect(registerd.templatesInfo).to.deep.eql([
48+
expect(registered.templatesInfo).to.deep.eql([
4749
require('oc-template-es6').getInfo(),
4850
require('oc-template-jade').getInfo(),
4951
require('oc-template-handlebars').getInfo(),
5052
templateMock.getInfo()
5153
]);
5254
});
5355

56+
const devRegistered = registerTemplates([devTemplateMock], true);
57+
58+
it('should replace the devurl for the url field', () => {
59+
expect(devRegistered.templatesInfo[3].externals[0].url).to.eql('devurl');
60+
});
61+
5462
describe('and additional template is already part of core-templates', () => {
5563
const registered = registerTemplates([require('oc-template-jade')]);
5664

0 commit comments

Comments
 (0)