Skip to content

Commit

Permalink
Merge pull request #1241 from AmadeusITGroup/fix/remove-o3r-schematic…
Browse files Browse the repository at this point in the history
…s-dep

fix: remove o3r/schematics dependency
  • Loading branch information
vscaiceanu-1a committed Feb 20, 2024
2 parents d918265 + 7905cf8 commit 018c67a
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 59 deletions.
26 changes: 13 additions & 13 deletions examples/my-ngsw-app/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
"dependencies": {
"@angular-devkit/architect": "~0.1700.0",
"@angular-devkit/core": "~17.0.0",
"@o3r/schematics": "^10.0.0-prerelease.61",
"mustache": "^4.2.0",
"typescript": "~5.3.0",
"webpack": "^5.89.0"
Expand All @@ -55,6 +54,7 @@
"jest": "^29.7.0",
"rimraf": "^5.0.5",
"rxjs": "^7.8.1",
"ts-jest": "^29.1.1"
"ts-jest": "^29.1.1",
"type-fest": "^4.10.2"
}
}
33 changes: 28 additions & 5 deletions src/schematics/ng-add/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
import { NgAddSchematicsSchema } from './schema';
import { chain, Rule, SchematicContext, SchematicsException, Tree } from '@angular-devkit/schematics';
import { getWorkspaceConfig, readPackageJson } from '@o3r/schematics';
import type { WorkspaceSchema } from '@o3r/schematics';
import type { PackageJson } from 'type-fest';

interface WorkspaceProject {
root: string;
architect?: {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
[k: string]: any
};
}
interface WorkspaceSchema {
projects: {
[k: string]: WorkspaceProject;
};
}

function getFinalProjectName(workspace: WorkspaceSchema, projectName: string) {
if (projectName) return projectName;
Expand All @@ -17,12 +29,23 @@ function getFinalProjectName(workspace: WorkspaceSchema, projectName: string) {
*/
function updatePrefetchBuilder(options: NgAddSchematicsSchema): Rule {
return (tree: Tree, context: SchematicContext) => {
let workspace;
try {
workspace = tree.readJson('/angular.json') as unknown as WorkspaceSchema;
} catch (e) {
throw new SchematicsException('Could not parse /angular.json');
}

const workspace = getWorkspaceConfig(tree);
const projectName = getFinalProjectName(workspace, options.projectName);

const workspaceProject = workspace.projects[projectName];
const packageJson = readPackageJson(tree, workspaceProject);

const packageJsonPath = `${workspaceProject.root}/package.json`;
if (!tree.exists(packageJsonPath)) {
throw new SchematicsException('Could not find package.json');
}

const packageJson = tree.readJson(packageJsonPath) as PackageJson;

packageJson.scripts ||= {};

Expand All @@ -40,7 +63,7 @@ function updatePrefetchBuilder(options: NgAddSchematicsSchema): Rule {
};

if (!tree.exists('/ngsw-config.json')) {
context.logger.warn('Run `yarn ng add @angular/pwa` to setup Service Worker prefetch. This is a mandatory step for prefetch capability.');
context.logger.warn('Run `ng add @angular/pwa` to setup Angular Service Worker. This is a mandatory package for the ngx-prefetch library.');
}

workspace.projects[projectName] = workspaceProject;
Expand Down
51 changes: 12 additions & 39 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1006,7 +1006,6 @@ __metadata:
"@angular-devkit/core": ~17.0.0
"@angular-devkit/schematics": ~17.0.0
"@angular/cli": ~17.0.0
"@o3r/schematics": ^10.0.0-prerelease.61
"@schematics/angular": ~17.0.0
"@types/jest": ^29.5.11
"@types/mustache": ^4.2.5
Expand All @@ -1020,45 +1019,12 @@ __metadata:
rimraf: ^5.0.5
rxjs: ^7.8.1
ts-jest: ^29.1.1
type-fest: ^4.10.2
typescript: ~5.3.0
webpack: ^5.89.0
languageName: unknown
linkType: soft

"@o3r/schematics@npm:^10.0.0-prerelease.61":
version: 10.0.0-prerelease.61
resolution: "@o3r/schematics@npm:10.0.0-prerelease.61"
dependencies:
chalk: ^4.1.2
globby: ^11.1.0
minimatch: ~9.0.3
semver: ^7.5.2
tslib: ^2.5.3
peerDependencies:
"@angular-devkit/architect": ~0.1700.0
"@angular-devkit/core": ~17.0.0
"@angular-devkit/schematics": ~17.0.0
"@angular/cli": ~17.0.0
"@o3r/telemetry": ^10.0.0-prerelease.61
"@schematics/angular": ~17.0.0
eslint: ^8.42.0
rxjs: ^7.8.1
typescript: ~5.2.2
peerDependenciesMeta:
"@angular-devkit/architect":
optional: true
"@angular-devkit/core":
optional: true
"@o3r/telemetry":
optional: true
eslint:
optional: true
bin:
environment: src/cli/environment.js
checksum: 74ffb5062dd7e742fc784a0977d929ea2518f768b0e742145ef2fb0c5c30fc18fa18104b964fd0ff45fe4cefd66f5ef33e6b1b896ab3845320e752bd04b55a49
languageName: node
linkType: hard

"@pkgjs/parseargs@npm:^0.11.0":
version: 0.11.0
resolution: "@pkgjs/parseargs@npm:0.11.0"
Expand Down Expand Up @@ -2094,7 +2060,7 @@ __metadata:
languageName: node
linkType: hard

"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2":
"chalk@npm:^4.0.0, chalk@npm:^4.1.0":
version: 4.1.2
resolution: "chalk@npm:4.1.2"
dependencies:
Expand Down Expand Up @@ -4292,7 +4258,7 @@ __metadata:
languageName: node
linkType: hard

"minimatch@npm:9.0.3, minimatch@npm:^9.0.0, minimatch@npm:^9.0.1, minimatch@npm:^9.0.3, minimatch@npm:~9.0.3":
"minimatch@npm:9.0.3, minimatch@npm:^9.0.0, minimatch@npm:^9.0.1, minimatch@npm:^9.0.3":
version: 9.0.3
resolution: "minimatch@npm:9.0.3"
dependencies:
Expand Down Expand Up @@ -5218,7 +5184,7 @@ __metadata:
languageName: node
linkType: hard

"semver@npm:7.5.4, semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.5, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4":
"semver@npm:7.5.4, semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4":
version: 7.5.4
resolution: "semver@npm:7.5.4"
dependencies:
Expand Down Expand Up @@ -5735,7 +5701,7 @@ __metadata:
languageName: node
linkType: hard

"tslib@npm:^2.1.0, tslib@npm:^2.5.3":
"tslib@npm:^2.1.0":
version: 2.6.2
resolution: "tslib@npm:2.6.2"
checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad
Expand Down Expand Up @@ -5783,6 +5749,13 @@ __metadata:
languageName: node
linkType: hard

"type-fest@npm:^4.10.2":
version: 4.10.2
resolution: "type-fest@npm:4.10.2"
checksum: ef75736d51c10a885f955c07aed8f46103a8c9ae93742a75fbbdf023dd0e7169c524ebef292f37de19806051fb1bdd96c4098a0101c5f869f80db73bcb484bb1
languageName: node
linkType: hard

"typescript@npm:~5.3.0":
version: 5.3.3
resolution: "typescript@npm:5.3.3"
Expand Down

0 comments on commit 018c67a

Please sign in to comment.