Vico gold prices
Your component is published, but its preview could not be generated.
…
ltcG9ydCBhbmRyb2lkeC5jb21wb3NlLnVpLnRleHQuc3R5bGUuVGV4dEFsaWduCmltcG9ydCBhbmRyb2lkeC5jb21wb3NlLnVpLnVuaXQuZHAKaW1wb3J0IGFuZHJvaWR4LmNvbXBvc2UudWkudW5pdC5zcAppbXBvcnQgY29tLnBhdHJ5a2FuZHBhdHJpY2sudmljby5jb21wb3NlLmNhcnRlc2lhbi5heGlzLnJlbWVtYmVyQXhpc0d1aWRlbGluZUNvbXBvbmVudAppbXBvcnQgY29tLnBhdHJ5a2FuZHBhdHJpY2sudmljby5jb21wb3NlLmNhcnRlc2lhbi5tYXJrZXIuQ2FydGVzaWFuTWFya2VyCmltcG9ydCBjb20ucGF0cnlrYW5kcGF0cmljay52aWNvLmNvbXBvc2UuY2FydGVzaWFuLm1hcmtlci5yZW1lbWJlckRlZmF1bHRDYXJ0ZXNpYW5NYXJrZXIKaW1wb3J0IGNvbS5wYXRyeWthbmRwYXRyaWNrLnZpY28uY29tcG9zZS5jb21tb24uRmlsbAppbXBvcnQgY29tLnBhdHJ5a2FuZHBhdHJpY2sudmljby5jb21wb3NlLmNvbW1vbi5JbnNldHMKaW1wb3J0IGNvbS5wYXRyeWthbmRwYXRyaWNrLnZpY28uY29tcG9zZS5jb21tb24uTGF5ZXJlZENvbXBvbmVudAppbXBvcnQgY29tLnBhdHJ5a2FuZHBhdHJpY2sudmljby5jb21wb3NlLmNvbW1vbi5NYXJrZXJDb3JuZXJCYXNlZFNoYXBlCmltcG9ydCBjb20ucGF0cnlrYW5kcGF0cmljay52aWNvLmNvbXBvc2UuY29tbW9uLmNvbXBvbmVudC5TaGFwZUNvbXBvbmVudAppbXBvcnQgY29tLnBhdHJ5a2FuZHBhdHJpY2sudmljby5jb21wb3NlLmNvbW1vbi5jb21wb25lbnQuVGV4dENvbXBvbmVudAppbXBvcnQgY29tLnBhdHJ5a2FuZHBhdHJpY2sudmljby5jb21wb3NlLmNvbW1vbi5jb21wb25lbnQucmVtZW1iZXJTaGFwZUNvbXBvbmVudAppbXBvcnQgY29tLnBhdHJ5a2FuZHBhdHJpY2sudmljby5jb21wb3NlLmNvbW1vbi5jb21wb25lbnQucmVtZW1iZXJUZXh0Q29tcG9uZW50CgovKgogKiBDb3B5cmlnaHQgMjAyNiBieSBQYXRyeWsgR293b3Jvd3NraSBhbmQgUGF0cmljayBNaWNoYWxpay4KICoKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqCiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICoKICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICovCgoKCnByaXZhdGUgY29uc3QgdmFsIFlfU1RFUCA9IDEwLjAKCnByaXZhdGUgdmFsIFJhbmdlUHJvdmlkZXIgPQogIG9iamVjdCA6IENhcnRlc2lhbkxheWVyUmFuZ2VQcm92aWRlciB7CiAgICBvdmVycmlkZSBmdW4gZ2V0TWluWShtaW5ZOiBEb3VibGUsIG1heFk6IERvdWJsZSwgZXh0cmFTdG9yZTogRXh0cmFTdG9yZSkgPQogICAgICBZX1NURVAgKiBmbG9vcihtaW5ZIC8gWV9TVEVQKQoKICAgIG92ZXJyaWRlIGZ1biBnZXRNYXhZKG1pblk6IERvdWJsZSwgbWF4WTogRG91YmxlLCBleHRyYVN0b3JlOiBFeHRyYVN0b3JlKSA9CiAgICAgIFlfU1RFUCAqIGNlaWwobWF4WSAvIFlfU1RFUCkKICB9Cgpwcml2YXRlIHZhbCBTdGFydEF4aXNWYWx1ZUZvcm1hdHRlciA9CiAgQ2FydGVzaWFuVmFsdWVGb3JtYXR0ZXIuZGVjaW1hbCh0aG91c2FuZHNTZXBhcmF0b3IgPSAiLCIsIHByZWZpeCA9ICIkIikKCnByaXZhdGUgdmFsIFN0YXJ0QXhpc0l0ZW1QbGFjZXIgPSBWZXJ0aWNhbEF4aXMuSXRlbVBsYWNlci5zdGVwKHsgWV9TVEVQIH0pCgpwcml2YXRlIHZhbCBCb3R0b21BeGlzVmFsdWVGb3JtYXR0ZXIgPQogIG9iamVjdCA6IENhcnRlc2lhblZhbHVlRm9ybWF0dGVyIHsKICAgIHByaXZhdGUgdmFsIGRhdGVUaW1lRm9ybWF0ID0gTG9jYWxUaW1lLkZvcm1hdCB7CiAgICAgIGFtUG1Ib3VyKFBhZGRpbmcuU1BBQ0UpCiAgICAgIGFtUG1NYXJrZXIoIiBBTSIsICIgUE0iKQogICAgfQoKICAgIG92ZXJyaWRlIGZ1biBmb3JtYXQoCiAgICAgIGNvbnRleHQ6IENhcnRlc2lhbk1lYXN1cmluZ0NvbnRleHQsCiAgICAgIHZhbHVlOiBEb3VibGUsCiAgICAgIHZlcnRpY2FsQXhpc1Bvc2l0aW9uOiBBeGlzLlBvc2l0aW9uLlZlcnRpY2FsPywKICAgICkgPSBkYXRlVGltZUZvcm1hdC5mb3JtYXQoTG9jYWxUaW1lKHZhbHVlLnRvSW50KCksIDApKQogIH0KCnByaXZhdGUgdmFsIE1hcmtlclZhbHVlRm9ybWF0dGVyID0gRGVmYXVsdENhcnRlc2lhbk1hcmtlci5WYWx1ZUZvcm1hdHRlci5kZWZhdWx0KHByZWZpeCA9ICIkIikKCkBDb21wb3NhYmxlCnByaXZhdGUgZnVuIENvbXBvc2VHb2xkUHJpY2VzKAogIG1vZGVsUHJvZHVjZXI6IENhcnRlc2lhbkNoYXJ0TW9kZWxQcm9kdWNlciwKICBtb2RpZmllcjogTW9kaWZpZXIgPSBNb2RpZmllciwKKSB7CiAgQ2FydGVzaWFuQ2hhcnRIb3N0KAogICAgcmVtZW1iZXJDYXJ0ZXNpYW5DaGFydCgKICAgICAgcmVtZW1iZXJDYW5kbGVzdGlja0NhcnRlc2lhbkxheWVyKHJhbmdlUHJvdmlkZXIgPSBSYW5nZVByb3ZpZGVyKSwKICAgICAgc3RhcnRBeGlzID0KICAgICAgICBWZXJ0aWNhbEF4aXMucmVtZW1iZXJTdGFydCgKICAgICAgICAgIHZhbHVlRm9ybWF0dGVyID0gU3RhcnRBeGlzVmFsdWVGb3JtYXR0ZXIsCiAgICAgICAgICBpdGVtUGxhY2VyID0gU3RhcnRBeGlzSXRlbVBsYWNlciwKICAgICAgICApLAogICAgICBib3R0b21BeGlzID0KICAgICAgICBIb3Jpem9udGFsQXhpcy5yZW1lbWJlckJvdHRvbShndWlkZWxpbmUgPSBudWxsLCB2YWx1ZUZvcm1hdHRlciA9IEJvdHRvbUF4aXNWYWx1ZUZvcm1hdHRlciksCiAgICAgIG1hcmtlciA9IHJlbWVtYmVyTWFya2VyKHZhbHVlRm9ybWF0dGVyID0gTWFya2VyVmFsdWVGb3JtYXR0ZXIsIHNob3dJbmRpY2F0b3IgPSBmYWxzZSksCiAgICApLAogICAgbW9kZWxQcm9kdWNlciwKICAgIG1vZGlmaWVyLAogICkKfQoKQENvbXBvc2FibGUKZnVuIENvbXBvc2VHb2xkUHJpY2VzKG1vZGlmaWVyOiBNb2RpZmllciA9IE1vZGlmaWVyKSB7CiAgdmFsIG1vZGVsUHJvZHVjZXIgPSByZW1lbWJlciB7IENhcnRlc2lhbkNoYXJ0TW9kZWxQcm9kdWNlcigpIH0KICBMYXVuY2hlZEVmZmVjdChVbml0KSB7CiAgICBtb2RlbFByb2R1Y2VyLnJ1blRyYW5zYWN0aW9uIHsKICAgICAgLy8gTGVhcm4gbW9yZTogaHR0cHM6Ly9wYXRyeWthbmRwYXRyaWNrLmNvbS9yOGQyMHYuCiAgICAgIGNhbmRsZXN0aWNrTW9kZWwoeCwgb3BlbmluZywgY2xvc2luZywgbG93LCBoaWdoKQogICAgfQogIH0KICBDb21wb3NlR29sZFByaWNlcyhtb2RlbFByb2R1Y2VyLCBtb2RpZmllcikKfQoKLyoKICogQ29weXJpZ2h0IDIwMjYgYnkgUGF0cnlrIEdvd29yb3dza2kgYW5kIFBhdHJpY2sgTWljaGFsaWsuCiAqCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwogKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAogKgogKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCiAqCiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAqLwoKCgppbnRlcm5hbCB2YWwgTG9jYWxNYXJrZXJzRW5hYmxlZCA9IHN0YXRpY0NvbXBvc2l0aW9uTG9jYWxPZiB7IHRydWUgfQoKQENvbXBvc2FibGUKaW50ZXJuYWwgZnVuIHJlbWVtYmVyTWFya2VyKAogIHZhbHVlRm9ybWF0dGVyOiBEZWZhdWx0Q2FydGVzaWFuTWFya2VyLlZhbHVlRm9ybWF0dGVyID0KICAgIERlZmF1bHRDYXJ0ZXNpYW5NYXJrZXIuVmFsdWVGb3JtYXR0ZXIuZGVmYXVsdCgpLAogIHNob3dJbmRpY2F0b3I6IEJvb2xlYW4gPSB0cnVlLAopOiBDYXJ0ZXNpYW5NYXJrZXI/IHsKICBpZiAoIUxvY2FsTWFya2Vyc0VuYWJsZWQuY3VycmVudCkgcmV0dXJuIG51bGwKICB2YWwgbGFiZWxCYWNrZ3JvdW5kU2hhcGUgPSBNYXJrZXJDb3JuZXJCYXNlZFNoYXBlKENpcmNsZVNoYXBlKQogIHZhbCBsYWJlbEJhY2tncm91bmQgPQogICAgcmVtZW1iZXJTaGFwZUNvbXBvbmVudCgKICAgICAgZmlsbCA9IEZpbGwoTWF0ZXJpYWxUaGVtZS5jb2xvclNjaGVtZS5iYWNrZ3JvdW5kKSwKICAgICAgc2hhcGUgPSBsYWJlbEJhY2tncm91bmRTaGFwZSwKICAgICAgc3Ryb2tlRmlsbCA9IEZpbGwoTWF0ZXJpYWxUaGVtZS5jb2xvclNjaGVtZS5vdXRsaW5lKSwKICAgICAgc3Ryb2tlVGhpY2tuZXNzID0gMS5kcCwKICAgICkKICB2YWwgbGFiZWwgPQogICAgcmVtZW1iZXJUZXh0Q29tcG9uZW50KAogICAgICBzdHlsZSA9CiAgICAgICAgVGV4dFN0eWxlKAogICAgICAgICAgY29sb3IgPSBNYXRlcmlhbFRoZW1lLmNvbG9yU2NoZW1lLm9uU3VyZmFjZSwKICAgICAgICAgIHRleHRBbGlnbiA9IFRleHRBbGlnbi5DZW50ZXIsCiAgICAgICAgICBmb250U2l6ZSA9IDEyLnNwLAogICAgICAgICksCiAgICAgIHBhZGRpbmcgPSBJbnNldHMoOC5kcCwgNC5kcCksCiAgICAgIGJhY2tncm91bmQgPSBsYWJlbEJhY2tncm91bmQsCiAgICAgIG1pbldpZHRoID0gVGV4dENvbXBvbmVudC5NaW5XaWR0aC5maXhlZCg0MC5kcCksCiAgICApCiAgdmFsIGluZGljYXRvckZyb250Q29tcG9uZW50ID0KICAgIHJlbWVtYmVyU2hhcGVDb21wb25lbnQoRmlsbChNYXRlcmlhbFRoZW1lLmNvbG9yU2NoZW1lLnN1cmZhY2UpLCBDaXJjbGVTaGFwZSkKICB2YWwgZ3VpZGVsaW5lID0gcmVtZW1iZXJBeGlzR3VpZGVsaW5lQ29tcG9uZW50KCkKICByZXR1cm4gcmVtZW1iZXJEZWZhdWx0Q2FydGVzaWFuTWFya2VyKAogICAgbGFiZWwgPSBsYWJlbCwKICAgIHZhbHVlRm9ybWF0dGVyID0gdmFsdWVGb3JtYXR0ZXIsCiAgICBpbmRpY2F0b3IgPQogICAgICBpZiAoc2hvd0luZGljYXRvcikgewogICAgICAgIHsgY29sb3IgLT4KICAgICAgICAgIExheWVyZWRDb21wb25lbnQoCiAgICAgICAgICAgIGJhY2sgPSBTaGFwZUNvbXBvbmVudChGaWxsKGNvbG9yLmNvcHkoYWxwaGEgPSAwLjE1ZikpLCBDaXJjbGVTaGFwZSksCiAgICAgICAgICAgIGZyb250ID0KICAgICAgICAgICAgICBMYXllcmVkQ29tcG9uZW50KAogICAgICAgICAgICAgICAgYmFjayA9IFNoYXBlQ29tcG9uZW50KGZpbGwgPSBGaWxsKGNvbG9yKSwgc2hhcGUgPSBDaXJjbGVTaGFwZSksCiAgICAgICAgICAgICAgICBmcm9udCA9IGluZGljYXRvckZyb250Q29tcG9uZW50LAogICAgICAgICAgICAgICAgcGFkZGluZyA9IEluc2V0cyg1LmRwKSwKICAgICAgICAgICAgICApLAogICAgICAgICAgICBwYWRkaW5nID0gSW5zZXRzKDEwLmRwKSwKICAgICAgICAgICkKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgbnVsbAogICAgICB9LAogICAgaW5kaWNhdG9yU2l6ZSA9IDM2LmRwLAogICAgZ3VpZGVsaW5lID0gZ3VpZGVsaW5lLAogICkKfQoKQFByZXZpZXcobmFtZSA9ICJWaWNvIGdvbGQgcHJpY2VzIikKQENvbXBvc2FibGUKZnVuIENvbW11bml0eUNvbXBvc2VHb2xkUHJpY2VzUHJldmlldygpIHsKICAgIENvbXBvc2VHb2xkUHJpY2VzKCkKfQ==
2026-09-11T05:52:27.0729814Z DEPENDENCIES_BASE64: Y29tLnBhdHJ5a2FuZHBhdHJpY2sudmljbzpjb21wb3NlOjMuMy4xCm9yZy5qZXRicmFpbnMuY29tcG9zZS5ydW50aW1lOnJ1bnRpbWU6MS4xMi4wCm9yZy5qZXRicmFpbnMuY29tcG9zZS5mb3VuZGF0aW9uOmZvdW5kYXRpb246MS4xMi4wCm9yZy5qZXRicmFpbnMuY29tcG9zZS51aTp1aToxLjEyLjAKb3JnLmpldGJyYWlucy5jb21wb3NlLm1hdGVyaWFsMzptYXRlcmlhbDM6MS45LjAKb3JnLmpldGJyYWlucy5rb3RsaW54OmtvdGxpbngtZGF0ZXRpbWU6MC44LjAtMC42LngtY29tcGF0
2026-09-11T05:52:27.0732043Z ##[endgroup]
2026-09-11T05:52:27.5753991Z {"entryPoint":"CommunityComposeGoldPricesPreview","title":"Vico gold prices"}
2026-09-11T05:52:27.5878129Z ##[group]Run ./gradlew -p preview-builder :create-preview:wasmJsBrowserDevelopmentExecutableDistribution --console=plain --warning-mode=none -Pkotlin.js.yarn.lock.mismatch.report=warning
2026-09-11T05:52:27.5880157Z [36;1m./gradlew -p preview-builder :create-preview:wasmJsBrowserDevelopmentExecutableDistribution --console=plain --warning-mode=none -Pkotlin.js.yarn.lock.mismatch.report=warning[0m
2026-09-11T05:52:27.5924124Z shell: /usr/bin/bash -e {0}
2026-09-11T05:52:27.5924407Z env:
2026-09-11T05:52:27.5924649Z APP_TMP_DIR: /tmp/composables-preview
2026-09-11T05:52:27.5924983Z GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx4g
2026-09-11T05:52:27.5925297Z R2_BUCKET: composables-static
2026-09-11T05:52:27.5925582Z R2_PREFIX: community/review-previews
2026-09-11T05:52:27.5925963Z JAVA_HOME: /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/21.0.12-1/x64
2026-09-11T05:52:27.5926408Z JAVA_HOME_21_X64: /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/21.0.12-1/x64
2026-09-11T05:52:27.5926847Z GRADLE_ACTION_ID: gradle/actions/setup-gradle
2026-09-11T05:52:27.5927165Z GRADLE_USER_HOME: /home/runner/.gradle
2026-09-11T05:52:27.5927457Z GRADLE_BUILD_ACTION_SETUP_COMPLETED: true
2026-09-11T05:52:27.5927760Z GRADLE_BUILD_ACTION_CACHE_RESTORED: true
2026-09-11T05:52:27.5928374Z DEVELOCITY_INJECTION_INIT_SCRIPT_NAME: gradle-actions.inject-develocity.init.gradle
2026-09-11T05:52:27.5928824Z DEVELOCITY_INJECTION_CUSTOM_VALUE: gradle-actions
2026-09-11T05:52:27.5929131Z GITHUB_DEPENDENCY_GRAPH_ENABLED: false
2026-09-11T05:52:27.5929410Z ##[endgroup]
2026-09-11T05:52:29.7451210Z Starting a Gradle Daemon (subsequent builds will be faster)
2026-09-11T05:52:43.8660180Z > Task :kotlinWasmKotlinNpmCachesSetup
2026-09-11T05:52:46.8447727Z > Task :kotlinWasmNodeJsSetup
2026-09-11T05:52:46.8478745Z > Task :kotlinWasmRestoreYarnLock
2026-09-11T05:52:46.9447643Z > Task :kotlinWasmYarnSetup
2026-09-11T05:52:47.8479297Z > Task :preview-host:wasmJsPackageJson
2026-09-11T05:52:48.1472818Z > Task :create-preview:wasmJsPackageJson
2026-09-11T05:52:48.1473597Z > Task :create-preview:wasmJsTestPackageJson
2026-09-11T05:52:48.1499654Z > Task :preview-host:wasmJsTestPackageJson
2026-09-11T05:52:48.1528548Z > Task :create-preview:wasmJsPublicPackageJson
2026-09-11T05:52:48.1548662Z > Task :create-preview:wasmJsTestPublicPackageJson
2026-09-11T05:52:48.1564299Z > Task :preview-host:wasmJsPublicPackageJson
2026-09-11T05:52:48.1565238Z > Task :preview-host:wasmJsTestPublicPackageJson
2026-09-11T05:52:48.1566083Z > Task :kotlinWasmPackageJsonUmbrella
2026-09-11T05:52:48.2446737Z > Task :wasmRootPackageJson
2026-09-11T05:52:48.9476667Z (node:2199) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
2026-09-11T05:52:48.9478402Z
2026-09-11T05:52:48.9478969Z (Use `node --trace-deprecation ...` to show where the warning was created)
2026-09-11T05:52:48.9501040Z > Task :kotlinWasmNpmInstall
2026-09-11T05:52:48.9518821Z warning Ignored scripts due to flag.
2026-09-11T05:52:48.9519152Z
2026-09-11T05:52:48.9538421Z > Task :kotlinWasmStoreYarnLock
2026-09-11T05:52:48.9545210Z Lock file was changed. Run the `kotlinWasmUpgradeYarnLock` task to actualize lock file
2026-09-11T05:52:50.9444586Z
2026-09-11T05:52:50.9445675Z > Task :kotlinWasmToolingSetup
2026-09-11T05:52:50.9448074Z (node:2214) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
2026-09-11T05:52:50.9449652Z (Use `node --trace-deprecation ...` to show where the warning was created)
2026-09-11T05:53:05.7452748Z warning "webpack-dev-server > webpack-dev-middleware > [email protected]" has unmet peer dependency "tslib@2".
2026-09-11T05:53:10.0452580Z warning Ignored scripts due to flag.
2026-09-11T05:53:11.5474888Z
2026-09-11T05:53:11.5519927Z > Task :create-preview:kmpPartiallyResolvedDependenciesChecker
2026-09-11T05:53:11.5558743Z > Task :create-preview:checkKotlinGradlePluginConfigurationErrors SKIPPED
2026-09-11T05:53:11.6469611Z > Task :create-preview:checkWasmJsMainComposeLibrariesCompatibility
2026-09-11T05:53:11.6470546Z > Task :create-preview:convertXmlValueResourcesForCommonMain NO-SOURCE
2026-09-11T05:53:11.6471330Z > Task :create-preview:copyNonXmlValueResourcesForCommonMain NO-SOURCE
2026-09-11T05:53:11.6472083Z > Task :create-preview:prepareComposeResourcesTaskForCommonMain NO-SOURCE
2026-09-11T05:53:11.6472860Z > Task :create-preview:generateResourceAccessorsForCommonMain SKIPPED
2026-09-11T05:53:11.6493248Z > Task :create-preview:convertXmlValueResourcesForWasmJsMain NO-SOURCE
2026-09-11T05:53:11.6506597Z > Task :create-preview:copyNonXmlValueResourcesForWasmJsMain NO-SOURCE
2026-09-11T05:53:11.6507647Z > Task :create-preview:prepareComposeResourcesTaskForWasmJsMain NO-SOURCE
2026-09-11T05:53:11.6540303Z > Task :create-preview:generateResourceAccessorsForWasmJsMain SKIPPED
2026-09-11T05:53:11.6560050Z > Task :create-preview:convertXmlValueResourcesForWebMain NO-SOURCE
2026-09-11T05:53:11.6560962Z > Task :create-preview:copyNonXmlValueResourcesForWebMain NO-SOURCE
2026-09-11T05:53:11.6561957Z > Task :create-preview:prepareComposeResourcesTaskForWebMain NO-SOURCE
2026-09-11T05:53:11.6571915Z > Task :create-preview:generateResourceAccessorsForWebMain SKIPPED
2026-09-11T05:53:11.6572951Z > Task :create-preview:generateActualResourceCollectorsForWasmJsMain SKIPPED
2026-09-11T05:53:11.6573814Z > Task :create-preview:generateComposeResClass SKIPPED
2026-09-11T05:53:11.6574683Z > Task :create-preview:generateExpectResourceCollectorsForCommonMain SKIPPED
2026-09-11T05:53:11.6575602Z > Task :preview-host:kmpPartiallyResolvedDependenciesChecker
2026-09-11T05:53:11.6576462Z > Task :preview-host:checkKotlinGradlePluginConfigurationErrors SKIPPED
2026-09-11T05:53:11.7469457Z > Task :preview-host:checkWasmJsMainComposeLibrariesCompatibility
2026-09-11T05:53:11.7509829Z > Task :preview-host:convertXmlValueResourcesForCommonMain NO-SOURCE
2026-09-11T05:53:11.7568951Z > Task :preview-host:copyNonXmlValueResourcesForCommonMain NO-SOURCE
2026-09-11T05:53:11.7581056Z > Task :preview-host:prepareComposeResourcesTaskForCommonMain NO-SOURCE
2026-09-11T05:53:11.7598641Z > Task :preview-host:generateResourceAccessorsForCommonMain SKIPPED
2026-09-11T05:53:11.7608686Z > Task :preview-host:convertXmlValueResourcesForWasmJsMain NO-SOURCE
2026-09-11T05:53:11.7633485Z > Task :preview-host:copyNonXmlValueResourcesForWasmJsMain NO-SOURCE
2026-09-11T05:53:11.7648773Z > Task :preview-host:prepareComposeResourcesTaskForWasmJsMain NO-SOURCE
2026-09-11T05:53:11.7658734Z > Task :preview-host:generateResourceAccessorsForWasmJsMain SKIPPED
2026-09-11T05:53:11.7678702Z > Task :preview-host:convertXmlValueResourcesForWebMain NO-SOURCE
2026-09-11T05:53:11.7694231Z > Task :preview-host:copyNonXmlValueResourcesForWebMain NO-SOURCE
2026-09-11T05:53:11.7708764Z > Task :preview-host:prepareComposeResourcesTaskForWebMain NO-SOURCE
2026-09-11T05:53:11.7718613Z > Task :preview-host:generateResourceAccessorsForWebMain SKIPPED
2026-09-11T05:53:11.7738701Z > Task :preview-host:generateActualResourceCollectorsForWasmJsMain SKIPPED
2026-09-11T05:53:11.7758535Z > Task :preview-host:generateComposeResClass SKIPPED
2026-09-11T05:53:11.7778630Z > Task :preview-host:generateExpectResourceCollectorsForCommonMain SKIPPED
2026-09-11T05:53:12.3448473Z > Task :preview-host:assembleWasmJsMainResources
2026-09-11T05:53:12.3458753Z > Task :preview-host:wasmJsCopyHierarchicalMultiplatformResources
2026-09-11T05:53:12.3538625Z > Task :preview-host:wasmJsZipMultiplatformResourcesForPublication
2026-09-11T05:53:12.3539595Z > Task :create-preview:wasmJsResolveResourcesFromDependencies
2026-09-11T05:53:12.3598740Z > Task :create-preview:assembleWasmJsMainResources
2026-09-11T05:53:12.3624421Z > Task :create-preview:wasmJsResolveSelfResourcesCopyHierarchicalMultiplatformResources
2026-09-11T05:53:12.3679318Z > Task :create-preview:wasmJsAggregateResources
2026-09-11T05:53:12.3749137Z > Task :create-preview:wasmJsProcessResources
2026-09-11T05:53:12.5445520Z > Task :create-preview:unpackSkikoWasmRuntime
2026-09-11T05:53:12.6450170Z > Task :create-preview:processSkikoRuntimeForKWasm
2026-09-11T05:53:17.2445946Z > Task :preview-host:compileKotlinWasmJs
2026-09-11T05:53:18.4469795Z e: file:///tmp/composables-preview/create-preview/SubmittedPreview.kt:121:24 Unresolved reference 'x'.
2026-09-11T05:53:18.4470533Z
2026-09-11T05:53:18.4475002Z e: file:///tmp/composables-preview/create-preview/SubmittedPreview.kt:121:27 Unresolved reference 'opening'.
2026-09-11T05:53:18.4476041Z > Task :create-preview:compileKotlinWasmJs FAILED
2026-09-11T05:53:18.4482098Z e: file:///tmp/composables-preview/create-preview/SubmittedPreview.kt:121:36 Unresolved reference 'closing'.
2026-09-11T05:53:18.4499115Z e: file:///tmp/composables-preview/create-preview/SubmittedPreview.kt:121:45 Unresolved reference 'low'.
2026-09-11T05:53:18.4519151Z e: file:///tmp/composables-preview/create-preview/SubmittedPreview.kt:121:50 Unresolved reference 'high'.
2026-09-11T05:53:18.5483160Z
2026-09-11T05:53:18.5484513Z gradle/actions: Writing build results to /home/runner/work/_temp/.gradle-actions/build-results/__run_3-1789105954762.json
2026-09-11T05:53:18.5528559Z FAILURE: Build failed with an exception.
2026-09-11T05:53:18.5529150Z 32 actionable tasks: 32 executed
2026-09-11T05:53:18.5558053Z
2026-09-11T05:53:18.5561143Z * What went wrong:
2026-09-11T05:53:18.5568624Z Execution failed for task ':create-preview:compileKotlinWasmJs'.
2026-09-11T05:53:18.5584728Z > A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
2026-09-11T05:53:18.5586065Z > Compilation error. See log for more details
2026-09-11T05:53:18.5586565Z
2026-09-11T05:53:18.5586823Z * Try:
2026-09-11T05:53:18.5590410Z > Run with --stacktrace option to get the stack trace.
2026-09-11T05:53:18.5591325Z > Run with --info or --debug option to get more log output.
2026-09-11T05:53:18.5592310Z > Run with --scan to get full insights from a Build Scan (powered by Develocity).
2026-09-11T05:53:18.5593197Z > Get more help at https://help.gradle.org.
2026-09-11T05:53:18.5593659Z
2026-09-11T05:53:18.5593974Z BUILD FAILED in 50s
2026-09-11T05:53:18.9838762Z ##[error]Process completed with exit code 1.
2026-09-11T05:53:18.9986580Z Node 20 is being deprecated. This workflow is running with Node 24 by default. If you need to temporarily use Node 20, you can set the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true environment variable. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
2026-09-11T05:53:18.9988020Z Post job cleanup.
2026-09-11T05:53:19.1924542Z In post-action step
2026-09-11T05:53:19.1935460Z ##[group]Stopping Gradle daemons
2026-09-11T05:53:19.1936802Z Stopping Gradle daemons for /home/runner/.gradle/wrapper/dists/gradle-9.4.1-bin/arn2x92ynaizyzdaamcbpbhtj/gradle-9.4.1
2026-09-11T05:53:19.1951392Z [command]/home/runner/.gradle/wrapper/dists/gradle-9.4.1-bin/arn2x92ynaizyzdaamcbpbhtj/gradle-9.4.1/bin/gradle --stop
2026-09-11T05:53:19.9463267Z Stopping Daemon(s)
2026-09-11T05:53:19.9488930Z 1 Daemon stopped
2026-09-11T05:53:19.9969334Z ##[endgroup]
2026-09-11T05:53:19.9978887Z Not performing cache-cleanup due to build failure
2026-09-11T05:53:19.9980084Z ##[group]Caching Gradle state
2026-09-11T05:53:19.9981596Z Cache hit occurred on the cache key gradle-home-v1|Linux-X64|build[cab32b19fda66fe0c63fec65878a8d0b]-17bf0f266a66032a57468093cebf42e3f42fd077, not saving cache.
2026-09-11T05:53:19.9983048Z ##[endgroup]
2026-09-11T05:53:19.9985400Z Generating Job Summary
2026-09-11T05:53:20.0023083Z Completed post-action step
2026-09-11T05:53:20.0247352Z Node 20 is being deprecated. This workflow is running with Node 24 by default. If you need to temporarily use Node 20, you can set the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true environment variable. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
2026-09-11T05:53:20.0248573Z Post job cleanup.
2026-09-11T05:53:20.1376321Z (node:2322) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
2026-09-11T05:53:20.1377951Z (Use `node --trace-deprecation ...` to show where the warning was created)
2026-09-11T05:53:20.1620086Z Node 20 is being deprecated. This workflow is running with Node 24 by default. If you need to temporarily use Node 20, you can set the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true environment variable. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
2026-09-11T05:53:20.1621815Z Post job cleanup.
2026-09-11T05:53:20.2558894Z [command]/usr/bin/git version
2026-09-11T05:53:20.2609709Z git version 2.55.0
2026-09-11T05:53:20.2663339Z Temporarily overriding HOME='/home/runner/work/_temp/b6c5dca0-9ff6-4a72-84d5-ee5f1bdfe731' before making global git config changes
2026-09-11T05:53:20.2664715Z Adding repository directory to the temporary git global config as a safe directory
2026-09-11T05:53:20.2665989Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/composables.com/composables.com
2026-09-11T05:53:20.2710058Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-09-11T05:53:20.2769843Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2026-09-11T05:53:20.3071772Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-09-11T05:53:20.3108675Z http.https://github.com/.extraheader
2026-09-11T05:53:20.3118817Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-09-11T05:53:20.3159771Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
2026-09-11T05:53:20.3862655Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-09-11T05:53:20.3974422Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-09-11T05:53:20.4493481Z Cleaning up orphan processes
2026-09-11T05:53:20.4738316Z Terminate orphan process: pid (2232) (java)
2026-09-11T05:53:20.4750520Z ##[warning]Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-java@v4, actions/setup-node@v4, gradle/actions/setup-gradle@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import com.patrykandpatrick.vico.compose.cartesian.CartesianChartHost
import com.patrykandpatrick.vico.compose.cartesian.CartesianMeasuringContext
import com.patrykandpatrick.vico.compose.cartesian.axis.Axis
import com.patrykandpatrick.vico.compose.cartesian.axis.HorizontalAxis
import com.patrykandpatrick.vico.compose.cartesian.axis.VerticalAxis
import com.patrykandpatrick.vico.compose.cartesian.data.CartesianChartModelProducer
import com.patrykandpatrick.vico.compose.cartesian.data.CartesianLayerRangeProvider
import com.patrykandpatrick.vico.compose.cartesian.data.CartesianValueFormatter
import com.patrykandpatrick.vico.compose.cartesian.data.candlestickModel
import com.patrykandpatrick.vico.compose.cartesian.layer.rememberCandlestickCartesianLayer
import com.patrykandpatrick.vico.compose.cartesian.marker.DefaultCartesianMarker
import com.patrykandpatrick.vico.compose.cartesian.rememberCartesianChart
import com.patrykandpatrick.vico.compose.common.data.ExtraStore
import kotlin.math.ceil
import kotlin.math.floor
import kotlinx.datetime.LocalTime
import kotlinx.datetime.format.Padding
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.staticCompositionLocalOf
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.patrykandpatrick.vico.compose.cartesian.axis.rememberAxisGuidelineComponent
import com.patrykandpatrick.vico.compose.cartesian.marker.CartesianMarker
import com.patrykandpatrick.vico.compose.cartesian.marker.rememberDefaultCartesianMarker
import com.patrykandpatrick.vico.compose.common.Fill
import com.patrykandpatrick.vico.compose.common.Insets
import com.patrykandpatrick.vico.compose.common.LayeredComponent
import com.patrykandpatrick.vico.compose.common.MarkerCornerBasedShape
import com.patrykandpatrick.vico.compose.common.component.ShapeComponent
import com.patrykandpatrick.vico.compose.common.component.TextComponent
import com.patrykandpatrick.vico.compose.common.component.rememberShapeComponent
import com.patrykandpatrick.vico.compose.common.component.rememberTextComponent
/*
* Copyright 2026 by Patryk Goworowski and Patrick Michalik.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
private const val Y_STEP = 10.0
private val RangeProvider =
object : CartesianLayerRangeProvider {
override fun getMinY(minY: Double, maxY: Double, extraStore: ExtraStore) =
Y_STEP * floor(minY / Y_STEP)
override fun getMaxY(minY: Double, maxY: Double, extraStore: ExtraStore) =
Y_STEP * ceil(maxY / Y_STEP)
}
private val StartAxisValueFormatter =
CartesianValueFormatter.decimal(thousandsSeparator = ",", prefix = "$")
private val StartAxisItemPlacer = VerticalAxis.ItemPlacer.step({ Y_STEP })
private val BottomAxisValueFormatter =
object : CartesianValueFormatter {
private val dateTimeFormat = LocalTime.Format {
amPmHour(Padding.SPACE)
amPmMarker(" AM", " PM")
}
override fun format(
context: CartesianMeasuringContext,
value: Double,
verticalAxisPosition: Axis.Position.Vertical?,
) = dateTimeFormat.format(LocalTime(value.toInt(), 0))
}
private val MarkerValueFormatter = DefaultCartesianMarker.ValueFormatter.default(prefix = "$")
@Composable
private fun ComposeGoldPrices(
modelProducer: CartesianChartModelProducer,
modifier: Modifier = Modifier,
) {
CartesianChartHost(
rememberCartesianChart(
rememberCandlestickCartesianLayer(rangeProvider = RangeProvider),
startAxis =
VerticalAxis.rememberStart(
valueFormatter = StartAxisValueFormatter,
itemPlacer = StartAxisItemPlacer,
),
bottomAxis =
HorizontalAxis.rememberBottom(guideline = null, valueFormatter = BottomAxisValueFormatter),
marker = rememberMarker(valueFormatter = MarkerValueFormatter, showIndicator = false),
),
modelProducer,
modifier,
)
}
@Composable
fun ComposeGoldPrices(modifier: Modifier = Modifier) {
val modelProducer = remember { CartesianChartModelProducer() }
LaunchedEffect(Unit) {
modelProducer.runTransaction {
// Learn more: https://patrykandpatrick.com/r8d20v.
candlestickModel(x, opening, closing, low, high)
}
}
ComposeGoldPrices(modelProducer, modifier)
}
/*
* Copyright 2026 by Patryk Goworowski and Patrick Michalik.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
internal val LocalMarkersEnabled = staticCompositionLocalOf { true }
@Composable
internal fun rememberMarker(
valueFormatter: DefaultCartesianMarker.ValueFormatter =
DefaultCartesianMarker.ValueFormatter.default(),
showIndicator: Boolean = true,
): CartesianMarker? {
if (!LocalMarkersEnabled.current) return null
val labelBackgroundShape = MarkerCornerBasedShape(CircleShape)
val labelBackground =
rememberShapeComponent(
fill = Fill(MaterialTheme.colorScheme.background),
shape = labelBackgroundShape,
strokeFill = Fill(MaterialTheme.colorScheme.outline),
strokeThickness = 1.dp,
)
val label =
rememberTextComponent(
style =
TextStyle(
color = MaterialTheme.colorScheme.onSurface,
textAlign = TextAlign.Center,
fontSize = 12.sp,
),
padding = Insets(8.dp, 4.dp),
background = labelBackground,
minWidth = TextComponent.MinWidth.fixed(40.dp),
)
val indicatorFrontComponent =
rememberShapeComponent(Fill(MaterialTheme.colorScheme.surface), CircleShape)
val guideline = rememberAxisGuidelineComponent()
return rememberDefaultCartesianMarker(
label = label,
valueFormatter = valueFormatter,
indicator =
if (showIndicator) {
{ color ->
LayeredComponent(
back = ShapeComponent(Fill(color.copy(alpha = 0.15f)), CircleShape),
front =
LayeredComponent(
back = ShapeComponent(fill = Fill(color), shape = CircleShape),
front = indicatorFrontComponent,
padding = Insets(5.dp),
),
padding = Insets(10.dp),
)
}
} else {
null
},
indicatorSize = 36.dp,
guideline = guideline,
)
}
@Preview(name = "Vico gold prices")
@Composable
fun CommunityComposeGoldPricesPreview() {
ComposeGoldPrices()
}
build.gradle.kts
dependencies {
implementation("com.patrykandpatrick.vico:compose:3.3.1")
implementation("org.jetbrains.compose.runtime:runtime:1.12.0")
implementation("org.jetbrains.compose.foundation:foundation:1.12.0")
implementation("org.jetbrains.compose.ui:ui:1.12.0")
implementation("org.jetbrains.compose.material3:material3:1.9.0")
implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.8.0-0.6.x-compat")
}