Skip to content

Commit 8504aef

Browse files
author
Ives van Hoorne
committed
Open src/index.js by default for parcel
1 parent 05cbf4b commit 8504aef

File tree

4 files changed

+41
-4
lines changed

4 files changed

+41
-4
lines changed

packages/app/src/app/store/actions.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import axios from 'axios';
33
import { generateFileFromSandbox } from 'common/templates/configuration/package-json';
44

55
import { parseConfigurations } from './utils/parse-configurations';
6-
import { mainModule } from './utils/main-module';
6+
import { mainModule, defaultOpenedModule } from './utils/main-module';
77

88
export function getSandbox({ props, api, path }) {
99
return api
@@ -124,7 +124,7 @@ export function setCurrentModuleShortid({ props, state }) {
124124
sandbox.modules.map(m => m.shortid).indexOf(currentModuleShortid) === -1
125125
) {
126126
const parsedConfigs = parseConfigurations(sandbox);
127-
const module = mainModule(sandbox, parsedConfigs);
127+
const module = defaultOpenedModule(sandbox, parsedConfigs);
128128

129129
state.set('editor.currentModuleShortid', module.shortid);
130130
}

packages/app/src/app/store/utils/main-module.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,19 @@ export function mainModule(sandbox: Sandbox, parsedConfigurations: Object) {
1616

1717
return module || sandbox.modules[0];
1818
}
19+
20+
export function defaultOpenedModule(
21+
sandbox: Sandbox,
22+
parsedConfigurations: Object
23+
) {
24+
const templateDefinition = getDefinition(sandbox.template);
25+
26+
const resolve = resolveModuleWrapped(sandbox);
27+
28+
const module = templateDefinition
29+
.getDefaultOpenedFiles(parsedConfigurations)
30+
.map(p => resolve(p))
31+
.find(m => m);
32+
33+
return module || sandbox.modules[0];
34+
}

packages/common/templates/parcel.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
// @flow
2+
import { absolute } from 'common/utils/path';
23

34
import Template from './template';
45
import { decorateSelector } from '../theme';
56
import configurations from './configuration';
67

7-
import { absolute } from 'common/utils/path';
8-
98
class ParcelTemplate extends Template {
109
getEntries(configurationFiles: { [type: string]: Object }) {
1110
const entries = [];
@@ -28,6 +27,19 @@ class ParcelTemplate extends Template {
2827

2928
return entries.filter(Boolean);
3029
}
30+
31+
/**
32+
* The file to open by the editor
33+
*/
34+
getDefaultOpenedFiles(configFiles) {
35+
const entries = [];
36+
37+
entries.push('/index.js');
38+
entries.push('/src/index.js');
39+
entries.concat(this.getEntries(configFiles));
40+
41+
return entries;
42+
}
3143
}
3244

3345
export default new ParcelTemplate(

packages/common/templates/template.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,15 @@ export default class Template {
8282
].filter(x => x);
8383
}
8484

85+
/**
86+
* Files to be opened by default by the editor when opening the editor
87+
*/
88+
getDefaultOpenedFiles(configurationFiles: {
89+
[type: string]: Object,
90+
}): Array<string> {
91+
return this.getEntries(configurationFiles);
92+
}
93+
8594
// eslint-disable-next-line no-unused-vars
8695
getHTMLEntries(configurationFiles: {
8796
[type: string]: Object,

0 commit comments

Comments
 (0)