fix(core): use single quotes for relative link resolution migration to align with style guide (#39070)
This updates the migration to align with the style guide and work with default lint rules. It avoids a lint error on newly migrated projects and fixes a test in the CLI repo. PR Close #39070
This commit is contained in:
		
							parent
							
								
									ac54019315
								
							
						
					
					
						commit
						889470663d
					
				| @ -44,8 +44,8 @@ export class RelativeLinkResolutionTransform { | ||||
|       // literal already defines a value for relativeLinkResolution. Skip it
 | ||||
|       return literal; | ||||
|     } | ||||
|     const legacyExpression = | ||||
|         ts.createPropertyAssignment(RELATIVE_LINK_RESOLUTION, ts.createStringLiteral('legacy')); | ||||
|     const legacyExpression = ts.createPropertyAssignment( | ||||
|         RELATIVE_LINK_RESOLUTION, ts.createStringLiteral('legacy', true /* singleQuotes */)); | ||||
|     return ts.updateObjectLiteral(literal, [...literal.properties, legacyExpression]); | ||||
|   } | ||||
| 
 | ||||
|  | ||||
| @ -85,7 +85,7 @@ describe('Google3 relativeLinkResolution TSLint rule', () => { | ||||
| 
 | ||||
|     runTSLint(true); | ||||
|     expect(getFile('/index.ts')) | ||||
|         .toContain(`RouterModule.forRoot([], { relativeLinkResolution: "legacy" })`); | ||||
|         .toContain(`RouterModule.forRoot([], { relativeLinkResolution: 'legacy' })`); | ||||
|   }); | ||||
| 
 | ||||
|   it('should migrate options without relativeLinkResolution', () => { | ||||
| @ -103,7 +103,7 @@ describe('Google3 relativeLinkResolution TSLint rule', () => { | ||||
| 
 | ||||
|     runTSLint(true); | ||||
|     expect(getFile('/index.ts')) | ||||
|         .toContain(`RouterModule.forRoot([], { useHash: true, relativeLinkResolution: "legacy" })`); | ||||
|         .toContain(`RouterModule.forRoot([], { useHash: true, relativeLinkResolution: 'legacy' })`); | ||||
|   }); | ||||
| 
 | ||||
|   it('should not migrate options containing relativeLinkResolution', () => { | ||||
| @ -133,7 +133,7 @@ describe('Google3 relativeLinkResolution TSLint rule', () => { | ||||
|     runTSLint(true); | ||||
|     expect(getFile('/index.ts')) | ||||
|         .toContain( | ||||
|             `const options = { useHash: true, relativeLinkResolution: "legacy" } as ExtraOptions;`); | ||||
|             `const options = { useHash: true, relativeLinkResolution: 'legacy' } as ExtraOptions;`); | ||||
|   }); | ||||
| 
 | ||||
|   it('should migrate when options is a variable', () => { | ||||
| @ -145,7 +145,7 @@ describe('Google3 relativeLinkResolution TSLint rule', () => { | ||||
|     runTSLint(true); | ||||
|     expect(getFile('/index.ts')) | ||||
|         .toContain( | ||||
|             `const options: ExtraOptions = { useHash: true, relativeLinkResolution: "legacy" };`); | ||||
|             `const options: ExtraOptions = { useHash: true, relativeLinkResolution: 'legacy' };`); | ||||
|   }); | ||||
| 
 | ||||
|   it('should migrate when options is a variable with no type', () => { | ||||
| @ -166,7 +166,7 @@ describe('Google3 relativeLinkResolution TSLint rule', () => { | ||||
| 
 | ||||
|     runTSLint(true); | ||||
|     expect(getFile('/index.ts')) | ||||
|         .toContain(`const options = { useHash: true, relativeLinkResolution: "legacy" };`); | ||||
|         .toContain(`const options = { useHash: true, relativeLinkResolution: 'legacy' };`); | ||||
|     expect(getFile('/index.ts')).toContain(`RouterModule.forRoot([], options)`); | ||||
|   }); | ||||
| 
 | ||||
| @ -179,7 +179,7 @@ describe('Google3 relativeLinkResolution TSLint rule', () => { | ||||
|     runTSLint(true); | ||||
|     expect(getFile('/index.ts')) | ||||
|         .toContain( | ||||
|             `const options: RouterExtraOptions = { useHash: true, relativeLinkResolution: "legacy" };`); | ||||
|             `const options: RouterExtraOptions = { useHash: true, relativeLinkResolution: 'legacy' };`); | ||||
|   }); | ||||
| 
 | ||||
|   it('should migrate aliased RouterModule.forRoot', () => { | ||||
| @ -197,6 +197,6 @@ describe('Google3 relativeLinkResolution TSLint rule', () => { | ||||
| 
 | ||||
|     runTSLint(true); | ||||
|     expect(getFile('/index.ts')) | ||||
|         .toContain(`AngularRouterModule.forRoot([], { relativeLinkResolution: "legacy" }),`); | ||||
|         .toContain(`AngularRouterModule.forRoot([], { relativeLinkResolution: 'legacy' }),`); | ||||
|   }); | ||||
| }); | ||||
|  | ||||
| @ -61,7 +61,7 @@ describe('initial navigation migration', () => { | ||||
| 
 | ||||
|     await runMigration(); | ||||
|     expect(tree.readContent('/index.ts')) | ||||
|         .toContain(`RouterModule.forRoot([], { relativeLinkResolution: "legacy" })`); | ||||
|         .toContain(`RouterModule.forRoot([], { relativeLinkResolution: 'legacy' })`); | ||||
|   }); | ||||
| 
 | ||||
|   it('should migrate options without relativeLinkResolution', async () => { | ||||
| @ -79,7 +79,7 @@ describe('initial navigation migration', () => { | ||||
| 
 | ||||
|     await runMigration(); | ||||
|     expect(tree.readContent('/index.ts')) | ||||
|         .toContain(`RouterModule.forRoot([], { useHash: true, relativeLinkResolution: "legacy" })`); | ||||
|         .toContain(`RouterModule.forRoot([], { useHash: true, relativeLinkResolution: 'legacy' })`); | ||||
|   }); | ||||
| 
 | ||||
|   it('should not migrate options containing relativeLinkResolution', async () => { | ||||
| @ -109,7 +109,7 @@ describe('initial navigation migration', () => { | ||||
|     await runMigration(); | ||||
|     expect(tree.readContent('/index.ts')) | ||||
|         .toContain( | ||||
|             `const options = { useHash: true, relativeLinkResolution: "legacy" } as ExtraOptions;`); | ||||
|             `const options = { useHash: true, relativeLinkResolution: 'legacy' } as ExtraOptions;`); | ||||
|   }); | ||||
| 
 | ||||
|   it('should migrate when options is a variable', async () => { | ||||
| @ -121,7 +121,7 @@ describe('initial navigation migration', () => { | ||||
|     await runMigration(); | ||||
|     expect(tree.readContent('/index.ts')) | ||||
|         .toContain( | ||||
|             `const options: ExtraOptions = { useHash: true, relativeLinkResolution: "legacy" };`); | ||||
|             `const options: ExtraOptions = { useHash: true, relativeLinkResolution: 'legacy' };`); | ||||
|   }); | ||||
| 
 | ||||
|   it('should migrate when options is a variable with no type', async () => { | ||||
| @ -142,7 +142,7 @@ describe('initial navigation migration', () => { | ||||
| 
 | ||||
|     await runMigration(); | ||||
|     expect(tree.readContent('/index.ts')) | ||||
|         .toContain(`const options = { useHash: true, relativeLinkResolution: "legacy" };`); | ||||
|         .toContain(`const options = { useHash: true, relativeLinkResolution: 'legacy' };`); | ||||
|     expect(tree.readContent('/index.ts')).toContain(`RouterModule.forRoot([], options)`); | ||||
|   }); | ||||
| 
 | ||||
| @ -155,7 +155,7 @@ describe('initial navigation migration', () => { | ||||
|     await runMigration(); | ||||
|     expect(tree.readContent('/index.ts')) | ||||
|         .toContain( | ||||
|             `const options: RouterExtraOptions = { useHash: true, relativeLinkResolution: "legacy" };`); | ||||
|             `const options: RouterExtraOptions = { useHash: true, relativeLinkResolution: 'legacy' };`); | ||||
|   }); | ||||
| 
 | ||||
|   it('should migrate aliased RouterModule.forRoot', async () => { | ||||
| @ -173,7 +173,7 @@ describe('initial navigation migration', () => { | ||||
| 
 | ||||
|     await runMigration(); | ||||
|     expect(tree.readContent('/index.ts')) | ||||
|         .toContain(`AngularRouterModule.forRoot([], { relativeLinkResolution: "legacy" }),`); | ||||
|         .toContain(`AngularRouterModule.forRoot([], { relativeLinkResolution: 'legacy' }),`); | ||||
|   }); | ||||
| 
 | ||||
|   function writeFile(filePath: string, contents: string) { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user