ionic-team / stencil

A toolchain for building scalable, enterprise-ready component systems on top of TypeScript and Web Component standards. Stencil components can be distributed natively to React, Angular, Vue, and traditional web developers from a single, framework-agnostic codebase.
https://stenciljs.com
Other
12.5k stars 784 forks source link

bug: building project fails after the first build #5957

Open lucafoscili opened 2 weeks ago

lucafoscili commented 2 weeks ago

Prerequisites

Stencil Version

4.21.0

Current Behavior

After doing a clean install, the first build of the project works flawlessly. Each attempt at building after fails.

Expected Behavior

Successful build.

System Info

0 verbose cli C:\Program Files\nodejs\node.exe C:\Users\Luca\AppData\Roaming\nvm\v22.6.0\node_modules\npm\bin\npm-cli.js
1 info using npm@10.8.2
2 info using node@v22.6.0
3 silly config load:file:C:\Users\Luca\AppData\Roaming\nvm\v22.6.0\node_modules\npm\npmrc
4 silly config load:file:C:\Users\Luca\Documents\GitHub\ketchup-lite\.npmrc
5 silly config load:file:C:\Users\Luca\.npmrc
6 silly config load:file:C:\Program Files\nodejs\etc\npmrc
7 verbose title npm exec stencil info
8 verbose argv "exec" "--" "stencil" "info"
9 verbose logfile logs-max:10 dir:C:\Users\Luca\AppData\Local\npm-cache\_logs\2024-08-28T15_31_48_552Z-
10 verbose logfile C:\Users\Luca\AppData\Local\npm-cache\_logs\2024-08-28T15_31_48_552Z-debug-0.log
11 silly logfile start cleaning logs, removing 1 files
12 silly logfile done cleaning log files
13 silly packumentCache heap:4345298944 maxSize:1086324736 maxEntrySize:543162368
14 http fetch GET 200 https://registry.npmjs.org/stencil 180ms (cache revalidated)
15 verbose stack Error: could not determine executable to run
15 verbose stack     at getBinFromManifest (C:\Users\Luca\AppData\Roaming\nvm\v22.6.0\node_modules\npm\node_modules\libnpmexec\lib\get-bin-from-manifest.js:17:23)
15 verbose stack     at exec (C:\Users\Luca\AppData\Roaming\nvm\v22.6.0\node_modules\npm\node_modules\libnpmexec\lib\index.js:202:15)
15 verbose stack     at async Npm.exec (C:\Users\Luca\AppData\Roaming\nvm\v22.6.0\node_modules\npm\lib\npm.js:207:9)
15 verbose stack     at async module.exports (C:\Users\Luca\AppData\Roaming\nvm\v22.6.0\node_modules\npm\lib\cli\entry.js:74:5)
16 verbose pkgid stencil@0.0.5
17 error could not determine executable to run
18 verbose cwd C:\Users\Luca\Documents\GitHub\ketchup-lite
19 verbose os Windows_NT 10.0.22631
20 verbose node v22.6.0
21 verbose npm  v10.8.2
22 verbose exit 1
23 verbose code 1
24 error A complete log of this run can be found in: C:\Users\Luca\AppData\Local\npm-cache\_logs\2024-08-28T15_31_48_552Z-debug-0.log

chrome 128.0.6613.85

Steps to Reproduce

Below the complete log of these steps:

2 builds back to back after a clean install (only stencil/core was changed in the package.json). The first build is successful, the second build fails.

Screenshot 2024-08-28 171439

Full log:

yarn install

(venv) C:\Users\Luca\Documents\GitHub\ketchup-lite>yarn install
➤ YN0000: ┌ Resolution step
➤ YN0061: │ @types/cypress@npm:1.1.3 is deprecated: This is a stub types definition for cypress (https://cypress.io). cypress provides its own type definitions, so you don't need @types/cypress installed!
➤ YN0061: │ @humanwhocodes/config-array@npm:0.11.14 is deprecated: Use @eslint/config-array instead
➤ YN0061: │ @humanwhocodes/object-schema@npm:2.0.3 is deprecated: Use @eslint/object-schema instead
➤ YN0061: │ rimraf@npm:3.0.2 is deprecated: Rimraf versions prior to v4 are no longer supported
➤ YN0061: │ glob@npm:7.2.3 is deprecated: Glob versions prior to v9 are no longer supported
➤ YN0061: │ inflight@npm:1.0.6 is deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
➤ YN0002: │ @nrwl/devkit@npm:19.6.3 doesn't provide nx (p943e2), requested by @nx/devkit
➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code
➤ YN0000: └ Completed in 17s 903ms
➤ YN0000: ┌ Fetch step
➤ YN0019: │ validate-npm-package-name-npm-3.0.0-e44c263962-ce4c68207a.zip appears to be unused - removing
➤ YN0019: │ validate-npm-package-name-npm-5.0.0-fc061c1b84-5342a99498.zip appears to be unused - removing
➤ YN0019: │ vue-eslint-parser-npm-9.4.2-3e4e696025-67f14c8ea1.zip appears to be unused - removing
➤ YN0019: │ ws-npm-8.17.0-05fb441faf-147ef9eab0.zip appears to be unused - removing
➤ YN0019: │ zod-npm-3.22.4-2bccbc41b4-80bfd7f803.zip appears to be unused - removing
➤ YN0000: └ Completed in 1s 256ms
➤ YN0000: ┌ Link step
➤ YN0007: │ cypress@npm:13.14.0 must be built because it never has been before or the last one failed
➤ YN0007: │ puppeteer@npm:22.15.0 must be built because it never has been before or the last one failed
➤ YN0007: │ nx@npm:19.6.3 [b6dc6] must be built because it never has been before or the last one failed
➤ YN0000: └ Completed in 7s 211ms
➤ YN0000: Done with warnings in 26s 429ms

yarn build (first time)

(venv) C:\Users\Luca\Documents\GitHub\ketchup-lite>yarn build
(node:12444) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
lerna notice cli v8.1.8
lerna info versioning independent
lerna notice filter including "ketchup-lite"
lerna info filter [ 'ketchup-lite' ]

> ketchup-lite:build

(node:12444) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.
ketchup-lite: [12:13.7]  @stencil/core
ketchup-lite: [12:14.0]  v4.21.0
ketchup-lite: [12:15.1]  build, ketchup-lite, prod mode, started ...
ketchup-lite: [12:15.2]  transpile started ...
ketchup-lite: [12:17.0]  transpile finished in 1.83 s
ketchup-lite: [12:17.4]  generate custom elements + source maps started ...
ketchup-lite: [12:17.4]  generate lazy + source maps started ...
ketchup-lite: [12:28.8]  generate custom elements + source maps finished in 11.41 s
ketchup-lite: [12:31.4]  generate lazy + source maps finished in 14.05 s
ketchup-lite: [12:31.4]  copy started ...
ketchup-lite: [12:31.5]  generating react-library started ...
ketchup-lite: [12:31.5]  updated readme docs: kul-code
ketchup-lite: [12:31.7]  generate react-library finished in 178 ms
ketchup-lite: [12:32.3]  copy finished (3615 files) in 878 ms
ketchup-lite: [12:33.1]  build finished in 17.99 s

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— 

 Lerna (powered by Nx)   Successfully ran target build for project ketchup-lite

(node:19752) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
lerna notice cli v8.1.8
lerna info versioning independent
lerna notice filter including "ketchup-lite-react"
lerna info filter [ 'ketchup-lite-react' ]

> ketchup-lite-react:build

(node:19752) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.
ketchup-lite-react: > ketchup-lite-react@1.0.5 clean
ketchup-lite-react: > rimraf dist

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— 

 Lerna (powered by Nx)   Successfully ran target build for project ketchup-lite-react

> ketchup-lite-root@1.0.0 doc
> node ./packages/ketchup-lite/src/scripts/doc.js

Documentation generated successfully.
File formatted and saved successfully.

yarn build (second time)

(venv) C:\Users\Luca\Documents\GitHub\ketchup-lite>yarn build
(node:3412) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
lerna notice cli v8.1.8
lerna info versioning independent
lerna notice filter including "ketchup-lite"
lerna info filter [ 'ketchup-lite' ]

> ketchup-lite:build

(node:3412) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.
ketchup-lite: [12:46.2]  @stencil/core
ketchup-lite: [12:46.5]  v4.21.0
ketchup-lite: [12:47.6]  build, ketchup-lite, prod mode, started ...
ketchup-lite: [12:47.7]  transpile started ...
ketchup-lite: [12:49.7]  transpile finished in 2.01 s
ketchup-lite: [ ERROR ]  TypeScript: src/components.d.ts:16:10
ketchup-lite:            Module '"echarts"' has no exported member 'XAXisOption'.
ketchup-lite:      L15:  import { KulChartEventPayload, KulChartLegendPlacement, KulChartType } from "./components/kul-chart/kul-chart-declarations";       
ketchup-lite:      L16:  import { XAXisOption as XAXisComponentOption, YAXisOption as YAXisCom
ketchup-lite:      L17:  import { KulDataDataset as KulDataDataset1, KulDebugComponentInfo as KulDebugComponentInfo1 } from "./components";
ketchup-lite: [ ERROR ]  TypeScript: src/components.d.ts:16:47
ketchup-lite:            Module '"echarts"' has no exported member 'YAXisOption'.
ketchup-lite:      L15:  import { KulChartEventPayload, KulChartLegendPlacement, KulChartType } from "./components/kul-chart/kul-chart-declarations";       
ketchup-lite:      L16:   { XAXisOption as XAXisComponentOption, YAXisOption as YAXisComponent
ketchup-lite:      L17:  import { KulDataDataset as KulDataDataset1, KulDebugComponentInfo as KulDebugComponentInfo1 } from "./components";
ketchup-lite: [ ERROR ]  TypeScript: src/managers/kul-dates/kul-dates.ts:94:15
ketchup-lite:            Type 'string[]' is not assignable to type 'KulDatesLocales[]'.Type
ketchup-lite:            'string' is not assignable to type 'KulDatesLocales'.
ketchup-lite:      L93:  getLocales(): Array<KulDatesLocales> {
ketchup-lite:      L94:      const items: Array<KulDatesLocales> = Object.keys(KulDatesLocales
ketchup-lite:      L95:          .map((key) => KulDatesLocales[key])
ketchup-lite: [12:49.7]  build failed in 2.13 s

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— 

 Lerna (powered by Nx)   Running target build for project ketchup-lite failed

Failed tasks:

- ketchup-lite:build

Hint: run the command with --verbose for more details.

Code Reproduction URL

https://github.com/lucafoscili/stencil-echarts-issue

Additional Information

No response

christian-bromann commented 2 weeks ago

@lucafoscili thanks for raising the issue. Let me be clear on the expectations resolving this issue. Our team is currently facing competing priorities and we can't promise to be able to tackle this any time soon. We suggest to help us take a look at this issue and we are happy to help on any technical questions. Cheers!

lucafoscili commented 2 weeks ago

I'm quite swamped myself unfortunately - but I'll give it a go if I manage to find some free time! There is no real pressure anyway, v4.18.3 works fine as it is for now, so the priority is low :)