Skip to content

Commit d0bb082

Browse files
committed
feat: 🎸 add support for default build es15
1 parent 8ad2c8b commit d0bb082

13 files changed

Lines changed: 89 additions & 26 deletions

File tree

docs/docs/merkur-config.md

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ The full merkur config can be look like:
1616
export default function ({ cliConfig, emitter, }) {
1717
return {
1818
extends: [ '@merkur/preact/cli' ], // Merkur predefined extender
19-
task: { // defined tasks to building your widget, default are node, es13 and es9
19+
task: { // defined tasks to building your widget, default are node, es15 and es9
2020
node: {
2121
name: 'node',
2222
build: ESBuildConfiguration, // https://esbuild.github.io/api/#build
2323
}
24-
es13: {
25-
name: 'es13',
26-
folder: 'es13',
24+
es15: {
25+
name: 'es15',
26+
folder: 'es15',
2727
build: ESBuildConfiguration, // https://esbuild.github.io/api/#build
2828
}
2929
es9: {
@@ -132,13 +132,26 @@ export default function () {
132132
onMerkurConfig({ cliConfig, merkurConfig }) {
133133
const { projectFolder, isProduction, staticFolder } = cliConfig;
134134

135+
merkurConfig.task.es15Asset = {
136+
name: 'es15Asset',
137+
folder: 'es15',
138+
build: {
139+
entryPoints: [`${projectFolder}/src/customAsset.js`],
140+
entryNames: !isProduction ? 'customAsset' : 'customAsset.[hash]',
141+
platform: 'browser',
142+
outdir: `${staticFolder}/es15`,
143+
plugins: merkurConfig.task['es15'].build.plugins,
144+
},
145+
};
146+
135147
merkurConfig.task.es13Asset = {
136148
name: 'es13Asset',
137149
folder: 'es13',
138150
build: {
139151
entryPoints: [`${projectFolder}/src/customAsset.js`],
140152
entryNames: !isProduction ? 'customAsset' : 'customAsset.[hash]',
141153
platform: 'browser',
154+
target: 'es2022',
142155
outdir: `${staticFolder}/es13`,
143156
plugins: merkurConfig.task['es13'].build.plugins,
144157
},
@@ -162,7 +175,7 @@ export default function () {
162175
onCliConfig({ cliConfig }) {
163176
// add es13Asset task to be run for `merkur dev`
164177
if (cliConfig.command === 'dev') {
165-
cliConfig.runTasks.push('es13Asset');
178+
cliConfig.runTasks.push('es15Asset');
166179
}
167180
},
168181
};

packages/cli/bin/merkur.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ program.command(COMMAND_NAME.DEV)
5858
...{
5959
writeToDisk: false,
6060
watch: true,
61-
runTasks: ['node', 'es13'],
61+
runTasks: ['node', 'es15'],
6262
hasRunDevServer: true,
6363
hasRunWidgetServer: true,
6464
},

packages/cli/src/merkurConfig.mjs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,13 +104,22 @@ emitter.on(
104104
metafile: false,
105105
},
106106
},
107+
es15: {
108+
name: 'es15',
109+
folder: 'es15',
110+
build: {
111+
platform: 'browser',
112+
outdir: path.resolve(`${staticFolder}/es15`),
113+
plugins: [devPlugin],
114+
},
115+
},
107116
es13: {
108117
name: 'es13',
109118
folder: 'es13',
110119
build: {
111120
platform: 'browser',
112121
outdir: path.resolve(`${staticFolder}/es13`),
113-
plugins: [devPlugin],
122+
target: 'es2022',
114123
},
115124
},
116125
es9: {

packages/cli/src/runBuild.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export async function runBuild({ cliConfig, build, config }) {
77
const logger = createLogger(undefined, cliConfig);
88
const { watch } = cliConfig;
99

10-
//es6 === es2015, es9 === es2018, es11 === es2020 es13 ===es2022
10+
//es6 === es2015, es9 === es2018, es11 === es2020, es13 ===es2022, es15 === es2024
1111
try {
1212
const result = await (watch
1313
? esbuild.context(build)

packages/cli/src/templates/head.ejs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<script src='<%= asset.source %>' <%- asset.module ? 'type="module"' : 'defer="true"' %> data-merkur-asset-name="<%= asset.name %>"></script>
2121
<% } %>
2222
<%if (typeof asset.source==='object' ) { %>
23-
<script src='<%= asset.source.es13 %>' <%- asset.module ? 'type="module"' : 'defer="true"' %> data-merkur-asset-name="<%= asset.name %>"></script>
23+
<script src='<%= asset.source.es15 %>' <%- asset.module ? 'type="module"' : 'defer="true"' %> data-merkur-asset-name="<%= asset.name %>"></script>
2424
<% } %>
2525
<% } %>
2626

packages/cli/types.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ export type Extend =
3030
| undefined;
3131

3232
export interface Task {
33-
name: 'es13' | 'es9' | 'node' | string;
34-
folder: 'es13' | 'es9' | string;
33+
name: 'es15' | 'es13' | 'es9' | 'node' | string;
34+
folder: 'es15' | 'es13' | 'es9' | string;
3535
build: BuildOptions;
3636
[key: string]: any;
3737
}

packages/create-widget/views/preact/template.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"dependencies": {
3-
"@merkur/preact": "0.38.0"
3+
"@merkur/preact": "0.39.0"
44
},
55
"devDependencies": {
66
"@testing-library/jest-dom": "^6.5.0",
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"dependencies": {
3-
"@merkur/svelte": "0.38.0"
3+
"@merkur/svelte": "0.39.0"
44
},
55
"devDependencies": {}
66
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"dependencies": {
3-
"@merkur/uhtml": "0.38.0"
3+
"@merkur/uhtml": "0.39.0"
44
},
55
"devDependencies": {}
66
}

packages/integration-custom-element/cli/index.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ export default function ({ emitter, EMITTER_EVENTS }) {
109109

110110
emitter.on(EMITTER_EVENTS.CLI_CONFIG, function removeNodeTask({ cliConfig }) {
111111
if (cliConfig.runTasks.length === 0) {
112-
cliConfig.runTasks = ['es13', 'es9'];
112+
cliConfig.runTasks = ['es15', 'es9'];
113113
}
114114

115115
cliConfig.runTasks = cliConfig.runTasks.filter((task) => task !== 'node');

0 commit comments

Comments
 (0)