Feature: add configuration to allow custom TypeScript transformers to be added.

This issue has been tracked since 2023-01-15.

Which scope/s are relevant/related to the feature request?

vite-plugin-angular

Information

Because Angular wraps the TypeScript compiler, being able to transform source code is usually done through transformers. One example is replacing the bootstrapping call in the main.ts. This feature would add a configuration option to allow custom transformers to be included before Angular compilation starts.

Existing transformers are here: https://github.com/analogjs/analog/blob/main/packages/vite-plugin-angular/src/lib/angular-vite-plugin.ts#L446

Proposed:

import { defineConfig } from 'vite';
import analog from '@analogjs/platform';

// https://vitejs.dev/config/
export default defineConfig(() => {
  return {
    plugins: [
      analog({
        advanced: {
          tsTransformers: [customTransformer]
        }
      })
    ]
  };
});

Provided transformers would be added to the before array.

Describe any alternatives/workarounds you're currently using

No response

I would be willing to submit a PR to fix this issue

  • Yes
  • No
marcus-sa wrote this answer on 2023-01-18

+1, would be great to use Deepkit runtime types with Analog

brandonroberts wrote this answer on 2023-01-18

@marcus-sa how would this enable that?

marcus-sa wrote this answer on 2023-01-18

@marcus-sa how would this enable that?

Deepkit needs a custom transformer for it to work.
https://docs.deepkit.io/deepkit-book-english.html under section 2.1.x

ch1ffa wrote this answer on 2023-01-18

Then, I think, we need to change interface a tad as Deepkit requires afterDeclaration transformer

marcus-sa wrote this answer on 2023-01-18

Then, I think, we need to change interface a tad as Deepkit requires afterDeclaration transformer

Yeah the API for custom transformers needs to be a bit more flexible.

More Details About Repo
Owner Name analogjs
Repo Name analog
Full Name analogjs/analog
Language TypeScript
Created Date 2022-07-06
Updated Date 2023-03-28
Star Count 885
Watcher Count 18
Fork Count 67
Issue Count 33

YOU MAY BE INTERESTED

Issue Title Created Date Updated Date