Skip to content

Finish up TypeScript support in charts #547

@ilya-lesikov

Description

@ilya-lesikov

Before proceeding

  • I didn't find a similar issue

Problem

There a few bugs and things that need to be done before announcing the feature:

  • Support werf giterminism
  • Maybe enable all shims from goja nodejs compatibility library
  • werf chart init --ts command
  • ChartPack() for bundles in werf must do the same thing that nelm chart pack does
  • Add documentation to nelm/werf
  • nelm chart pack should show info about packing ts/vendor/libs.js by default, without --debug flag
  • Test if cdk8s can be used
  • Nelm SDK npm package name is wrong both in package.json and src files generated by nelm chart init --ts
  • If values.yaml already exist in the chart the moment we call nelm chart init --ts, then there are no values.yaml generated and an image in the deployment becomes undefined:undefined. Fallback needed. Probably this: image: ($.Values.image?.repository ?? 'nginx') + ':' + ($.Values.image?.tag ?? 'latest'),
  • --noEmit in scripts in package.json? Probably these scripts need revision
  • no libs.js built even if node_modules aren't empty and there are deps used in ts files (probably something with options for esbuild, maybe because of the recent refactoring)
  • Chart{} object can contain a lot of stuff from node_modules, both in Raw and RuntimeDepsFiles fields. And when we do copystructure.Copy (deep copy) of the Chart{}, its just hangs — the struct is too big for deep copy. We will be fine with not deep copying Raw and RuntimeDepsFiles fields. To do this we can add a tag copy:"shallow" to each field in Chart{} that has the json:"-" tag.

Solution (if you have one)

No response

Additional information

No response

Metadata

Metadata

Assignees

No one assigned
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions