diff --git a/.eslintrc.json b/.eslintrc.json
index 55166492cc..f7dc38e494 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -10,7 +10,7 @@
"error",
{
"enforceBuildableLibDependency": false,
- "allow": [],
+ "allow": ["^@abgov/web-components$", "^@abgov/style$"],
"depConstraints": [
{
"sourceTag": "*",
diff --git a/.github/workflows/release-ci.yml b/.github/workflows/release-ci.yml
index 7fd49e7c4b..50815d5013 100644
--- a/.github/workflows/release-ci.yml
+++ b/.github/workflows/release-ci.yml
@@ -10,10 +10,15 @@ on:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
+permissions:
+ id-token: write # Required for OIDC
+ contents: read
+
jobs:
build:
runs-on: ubuntu-latest
-
+ permissions:
+ contents: write
steps:
- uses: actions/checkout@v2
with:
diff --git a/.gitignore b/.gitignore
index 3a1a5d1105..f554e8d291 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,8 +2,9 @@
# Custom
.nx
-playground
-.playgrounds
+apps/dev/angular
+apps/dev/react
+apps/dev/web
NOTES.md
/test-results
__screenshots__
@@ -67,4 +68,4 @@ devenv.local.nix
vite.config.*.timestamp*
vitest.config.*.timestamp*
.cursor/rules/nx-rules.mdc
-.github/instructions/nx.instructions.md
\ No newline at end of file
+.github/instructions/nx.instructions.md
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000000..521a9f7c07
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1 @@
+legacy-peer-deps=true
diff --git a/.nxignore b/.nxignore
index a60609e6c6..7706a47b69 100644
--- a/.nxignore
+++ b/.nxignore
@@ -1,2 +1,4 @@
-!playground
**/.*/
+!apps/dev/web
+!apps/dev/react
+!apps/dev/angular
diff --git a/.templates/angular/.eslintrc.json b/.templates/angular/.eslintrc.json
index 98a83993d8..96b5a50035 100644
--- a/.templates/angular/.eslintrc.json
+++ b/.templates/angular/.eslintrc.json
@@ -1,5 +1,5 @@
{
- "extends": ["../../.eslintrc.json"],
+ "extends": ["../../../.eslintrc.json"],
"ignorePatterns": ["!**/*"],
"overrides": [
{
diff --git a/.templates/angular/project.json b/.templates/angular/project.json
index 4e3b1309ab..f7a039a435 100644
--- a/.templates/angular/project.json
+++ b/.templates/angular/project.json
@@ -1,25 +1,25 @@
{
- "name": "angular",
- "$schema": "../../node_modules/nx/schemas/project-schema.json",
+ "name": "angular-dev",
+ "$schema": "../../../node_modules/nx/schemas/project-schema.json",
"projectType": "application",
"prefix": "abgov",
- "sourceRoot": "playground/angular/src",
+ "sourceRoot": "apps/dev/angular/src",
"tags": [],
"targets": {
"build": {
"executor": "@angular-devkit/build-angular:application",
"outputs": ["{options.outputPath}"],
"options": {
- "outputPath": "dist/playground/angular",
- "index": "playground/angular/src/index.html",
- "browser": "playground/angular/src/main.ts",
+ "outputPath": "dist/apps/dev/angular",
+ "index": "apps/dev/angular/src/index.html",
+ "browser": "apps/dev/angular/src/main.ts",
"polyfills": ["zone.js"],
- "tsConfig": "playground/angular/tsconfig.app.json",
+ "tsConfig": "apps/dev/angular/tsconfig.app.json",
"assets": [
- "playground/angular/src/favicon.ico",
- "playground/angular/src/assets"
+ "apps/dev/angular/src/favicon.ico",
+ "apps/dev/angular/src/assets"
],
- "styles": ["playground/angular/src/styles.css"],
+ "styles": ["apps/dev/angular/src/styles.css"],
"scripts": []
},
"configurations": {
@@ -27,8 +27,8 @@
"budgets": [
{
"type": "initial",
- "maximumWarning": "500kb",
- "maximumError": "1mb"
+ "maximumWarning": "2mb",
+ "maximumError": "3mb"
},
{
"type": "anyComponentStyle",
@@ -50,10 +50,10 @@
"executor": "@angular-devkit/build-angular:dev-server",
"configurations": {
"production": {
- "buildTarget": "angular:build:production"
+ "buildTarget": "angular-dev:build:production"
},
"development": {
- "buildTarget": "angular:build:development"
+ "buildTarget": "angular-dev:build:development"
}
},
"defaultConfiguration": "development"
@@ -61,7 +61,7 @@
"extract-i18n": {
"executor": "@angular-devkit/build-angular:extract-i18n",
"options": {
- "buildTarget": "angular:build"
+ "buildTarget": "angular-dev:build"
}
},
"lint": {
diff --git a/.templates/angular/src/app/app-routing.module.ts b/.templates/angular/src/app/app-routing.module.ts
index 75dcd69f94..4819a90925 100644
--- a/.templates/angular/src/app/app-routing.module.ts
+++ b/.templates/angular/src/app/app-routing.module.ts
@@ -1,13 +1,11 @@
import { NgModule } from "@angular/core";
import { RouterModule, Routes } from "@angular/router";
-import { ComponentWrapperPageComponent } from "./component-wrapper";
+import { PlaygroundComponent } from "./playground";
-const routes: Routes = [
- { path: "/", component: ComponentWrapperPageComponent },
-];
+const routes: Routes = [{ path: "", component: PlaygroundComponent }];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule],
})
-export class AppRoutingModule { }
+export class AppRoutingModule {}
diff --git a/.templates/angular/src/app/app.component.ts b/.templates/angular/src/app/app.component.ts
index 570983ee54..4195567bae 100644
--- a/.templates/angular/src/app/app.component.ts
+++ b/.templates/angular/src/app/app.component.ts
@@ -1,8 +1,11 @@
-import {Component, OnInit} from "@angular/core";
+import { Component, OnInit } from "@angular/core";
+import { RouterOutlet } from "@angular/router";
@Component({
- selector: "goab-root",
- template: "