Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug: building project fails after the first build #5957

Open
3 tasks done
lucafoscili opened this issue Aug 28, 2024 · 3 comments
Open
3 tasks done

bug: building project fails after the first build #5957

lucafoscili opened this issue Aug 28, 2024 · 3 comments
Labels
Bug: Validated This PR or Issue is verified to be a bug within Stencil

Comments

@lucafoscili
Copy link

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:

  • clean install
  • build
  • build

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

@ionitron-bot ionitron-bot bot added the triage label Aug 28, 2024
@christian-bromann christian-bromann added Bug: Validated This PR or Issue is verified to be a bug within Stencil and removed triage labels Aug 28, 2024
@christian-bromann
Copy link
Member

@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
Copy link
Author

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 :)

@lucafoscili
Copy link
Author

Hi, I'm updating this issue to share a workaround that solved the compilation problem.
Instead of importing the interfaces directly in the component's file, I improrted them through the declarations.

Before (no bueno):

//kul-chart.tsx
  /**
    * Customization options for the x Axis.
    * @default null
    */
   @Prop() kulXAxis: XAXisComponentOption = null;
   /**
    * Customization options for the y Axis.
    * @default null
    */
   @Prop() kulYAxis: YAXisComponentOption = null;

After (bueno):

//kul-chart-declarations.ts
import { XAXisComponentOption, YAXisComponentOption } from 'echarts';

export type KulEchartXAxis = XAXisComponentOption;
export type KulEchartYAxis = YAXisComponentOption;
//kul-chart.tsx
import {
    KulEchartXAxis,
    KulEchartYAxis,
} from './kul-chart-declarations';

     /**
     * Customization options for the x Axis.
     * @default null
     */
    @Prop() kulXAxis: KulEchartXAxis= null;
    /**
     * Customization options for the y Axis.
     * @default null
     */
    @Prop() kulYAxis: KulEchartYAxis= null;

Feel free to close it as the workaround seems reasonable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug: Validated This PR or Issue is verified to be a bug within Stencil
Projects
None yet
Development

No branches or pull requests

2 participants