Utiliser esnext avec kotlin/js

Salut ! Je commence un projet avec kotlin/js et je ne trouve pas comme lui faire générer du code pour les versions récentes, là il me fait tout ca pour juste un hello world
(function (root, factory) {
if (typeof define === 'function' && define.amd)
define(['exports', './kotlin-kotlin-stdlib-js-ir.js'], factory);
else if (typeof exports === 'object')
factory(module.exports, require('./kotlin-kotlin-stdlib-js-ir.js'));
else {
if (typeof this['kotlin-kotlin-stdlib-js-ir'] === 'undefined') {
throw new Error("Error loading module 'AntoineAI'. Its dependency 'kotlin-kotlin-stdlib-js-ir' was not found. Please, check whether 'kotlin-kotlin-stdlib-js-ir' is loaded prior to 'AntoineAI'.");
}
root.AntoineAI = factory(typeof AntoineAI === 'undefined' ? {} : AntoineAI, this['kotlin-kotlin-stdlib-js-ir']);
}
}(this, function (_, kotlin_kotlin) {
'use strict';
//region block: imports
var println = kotlin_kotlin.$_$.a;
//endregion
//region block: pre-declaration
//endregion
function main() {
println('Hello, world!!!');
}
main();
return _;
}));

//# sourceMappingURL=AntoineAI.js.map
(function (root, factory) {
if (typeof define === 'function' && define.amd)
define(['exports', './kotlin-kotlin-stdlib-js-ir.js'], factory);
else if (typeof exports === 'object')
factory(module.exports, require('./kotlin-kotlin-stdlib-js-ir.js'));
else {
if (typeof this['kotlin-kotlin-stdlib-js-ir'] === 'undefined') {
throw new Error("Error loading module 'AntoineAI'. Its dependency 'kotlin-kotlin-stdlib-js-ir' was not found. Please, check whether 'kotlin-kotlin-stdlib-js-ir' is loaded prior to 'AntoineAI'.");
}
root.AntoineAI = factory(typeof AntoineAI === 'undefined' ? {} : AntoineAI, this['kotlin-kotlin-stdlib-js-ir']);
}
}(this, function (_, kotlin_kotlin) {
'use strict';
//region block: imports
var println = kotlin_kotlin.$_$.a;
//endregion
//region block: pre-declaration
//endregion
function main() {
println('Hello, world!!!');
}
main();
return _;
}));

//# sourceMappingURL=AntoineAI.js.map
Merci d'avance
6 Replies
Xibalba
Xibalba13mo ago
Et mon build.gradle :
plugins {
kotlin("multiplatform") version "1.9.10"
}

group = "fr.xibalba"
version = "1.0-SNAPSHOT"

repositories {
mavenCentral()
}

dependencies {

}

kotlin {
js(IR) {
nodejs()
binaries.executable()

}
}

rootProject.plugins.withType<org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin> {
rootProject.the<org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension>().download = false
rootProject.the<org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension>().nodeVersion = "18.15.0"
}
plugins {
kotlin("multiplatform") version "1.9.10"
}

group = "fr.xibalba"
version = "1.0-SNAPSHOT"

repositories {
mavenCentral()
}

dependencies {

}

kotlin {
js(IR) {
nodejs()
binaries.executable()

}
}

rootProject.plugins.withType<org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin> {
rootProject.the<org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension>().download = false
rootProject.the<org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension>().nodeVersion = "18.15.0"
}
Ayfri
Ayfri13mo ago
Pour l'instant c'est pas trop trop possible, fin ça dépend ce que t'utilises T'as plusieurs options Déjà t'as useEsModules() dans le bloc js(IR) {, mais perso ça marche pas sur un projet (mais je crois que c'est à cause de Compose) Puis t'as aussi
tasks.withType<KotlinJsCompile> {
kotlinOptions.useEsClasses = true
}
tasks.withType<KotlinJsCompile> {
kotlinOptions.useEsClasses = true
}
En fait je crois que c'est cette option qui buguait D'ailleurs tes trucs là org.jetbrains.kotlin..., tu peux juste écrire le nom de la classe et l'importer hein x) Sur la doc ils le font pas pour montrer laquelle c'est et garder le snippet court je pense
Xibalba
Xibalba13mo ago
Merci c'est beaucoup mieux
import { a as println } from './kotlin-kotlin-stdlib-js-ir.mjs';
//region block: imports
//endregion
//region block: pre-declaration
//endregion
function main() {
println('Hello, world!!!');
}
main();

//# sourceMappingURL=AntoineAI.mjs.map
import { a as println } from './kotlin-kotlin-stdlib-js-ir.mjs';
//region block: imports
//endregion
//region block: pre-declaration
//endregion
function main() {
println('Hello, world!!!');
}
main();

//# sourceMappingURL=AntoineAI.mjs.map
Ayfri
Ayfri13mo ago
Niice
Xibalba
Xibalba13mo ago
Par contre la tâche jsNodeRun est skippée a chaque fois je comprends pas pourquoi
Ayfri
Ayfri13mo ago
aucune idée
Want results from more Discord servers?
Add your server