diff --git a/packages/angular/README.md b/packages/angular/README.md index f44f9d1b56..0a1b2c488d 100644 --- a/packages/angular/README.md +++ b/packages/angular/README.md @@ -52,3 +52,23 @@ $ npx schematics @ionic/angular:ng-add You'll now be able to add ionic components to a vanilla Angular app setup. + +## Project Structure + +**common** + +This is where logic that is shared between lazy loaded and standalone components live. For example, the lazy loaded IonPopover and standalone IonPopover components extend from a base IonPopover implementation that exists in this directory. + +**Note:** This directory exposes internal APIs and is only accessed in the `standalone` and `src` submodules. Ionic developers should never import directly from `@ionic/angular/common`. Instead, they should import from `@ionic/angular` or `@ionic/angular/standalone`. + +**standalone** + +This is where the standalone component implementations live. It was added as a separate entry point to avoid any lazy loaded logic from accidentally being pulled in to the final build. Having a separate directory allows the lazy loaded implementation to remain accessible from `@ionic/angular` for backwards compatibility. + +Ionic developers can access this by importing from `@ionic/angular/standalone`. + +**src** + +This is where the lazy loaded component implementations live. + +Ionic developers can access this by importing from `@ionic/angular`. diff --git a/packages/angular/common/ng-package.json b/packages/angular/common/ng-package.json new file mode 100644 index 0000000000..b15651d6c2 --- /dev/null +++ b/packages/angular/common/ng-package.json @@ -0,0 +1,5 @@ +{ + "lib": { + "entryFile": "src/index.ts" + }, +} diff --git a/packages/angular/common/src/index.ts b/packages/angular/common/src/index.ts new file mode 100644 index 0000000000..a5a128b251 --- /dev/null +++ b/packages/angular/common/src/index.ts @@ -0,0 +1,3 @@ +// This is required to get ng-packagr to build. +// Remove this when you actually have something to export +export const placeholder = true; diff --git a/packages/angular/standalone/ng-package.json b/packages/angular/standalone/ng-package.json new file mode 100644 index 0000000000..b15651d6c2 --- /dev/null +++ b/packages/angular/standalone/ng-package.json @@ -0,0 +1,5 @@ +{ + "lib": { + "entryFile": "src/index.ts" + }, +} diff --git a/packages/angular/standalone/src/index.ts b/packages/angular/standalone/src/index.ts new file mode 100644 index 0000000000..a5a128b251 --- /dev/null +++ b/packages/angular/standalone/src/index.ts @@ -0,0 +1,3 @@ +// This is required to get ng-packagr to build. +// Remove this when you actually have something to export +export const placeholder = true;