Ampersand icon indicating copy to clipboard operation
Ampersand copied to clipboard

Prepare compiling interfaces to new Angular components

Open Michiel-s opened this issue 2 years ago • 0 comments

Purpose The current prototypes generated by Ampersand are generated using AngularJS. This is old technology with a lot of limitations. For that reason we want to use more modern technology: Angular. This requires that the Ampersand generator generates different output for the prototype. This ticket is for the work to be done at the side of the Ampersand generator.

Relates to epic https://github.com/AmpersandTarski/prototype/issues/69 (Benefits are explained there in more detail)

TODOs

  • [x] Design template for project.module.ts -> see https://gist.github.com/Michiel-s/fcc18549275c80459be55fca76118256
  • [x] Implement function in compiler to generate project.module.ts
  • [x] Generate files in root folder of provided outputDir. Currently in subfolder public/app/project, must be .
  • [x] Design template for <Interface>.component.ts
  • [x] Design template for <Interface>.interfaces.ts (sounds cryptic, but this is what it is: a typescript interface specification of the ampersand INTERFACE data structure`)
  • [x] Design templates for all BOX and Atomic components (based on work of A-team)
  • [x] Implement function in compiler to generate 3 files for each INTERFACE, using the templates mentioned above
  • [x] The .timestamp file used in AngularJS generator is not needed anymore. Keep it for the AngularJS generator only

Michiel-s avatar Dec 27 '22 19:12 Michiel-s