File tree Expand file tree Collapse file tree 9 files changed +114
-0
lines changed Expand file tree Collapse file tree 9 files changed +114
-0
lines changed Original file line number Diff line number Diff line change
1
+ node_modules
Original file line number Diff line number Diff line change
1
+ src /
2
+ ** /__test__
3
+ ** /* .spec.(ts|js)
4
+ .vscode
5
+ jest.config.js
Original file line number Diff line number Diff line change
1
+ module . exports = {
2
+ transform : {
3
+ '^.+\\.ts$' : 'ts-jest' ,
4
+ } ,
5
+ moduleFileExtensions : [ 'ts' , 'tsx' , 'js' ] ,
6
+ testRegex : '^.+\\.spec\\.(tsx|ts|js)$' ,
7
+ globals : {
8
+ 'ts-jest' : {
9
+ tsconfig : 'tsconfig.json' ,
10
+ } ,
11
+ } ,
12
+ testPathIgnorePatterns : [ '/node_modules/' ] ,
13
+ } ;
Original file line number Diff line number Diff line change
1
+ {
2
+ "name" : " memoize-one" ,
3
+ "version" : " 0.0.0" ,
4
+ "license" : " MIT" ,
5
+ "main" : " dist/codeshift.config.js" ,
6
+ "scripts" : {
7
+ "build" : " tsc --build" ,
8
+ "test" : " jest"
9
+ },
10
+ "dependencies" : {},
11
+ "devDependencies" : {
12
+ "@codeshift/utils" : " ^0.1.2" ,
13
+ "@codeshift/test-utils" : " *" ,
14
+ "@types/node" : " ^16.11.0" ,
15
+ "@types/jest" : " ^26.0.15" ,
16
+ "jest" : " ^26.6.0" ,
17
+ "jscodeshift" : " ^0.12.0" ,
18
+ "prettier" : " ^1.16.4" ,
19
+ "ts-jest" : " ^26.4.4" ,
20
+ "typescript" : " ^4.3.5"
21
+ }
22
+ }
Original file line number Diff line number Diff line change
1
+ import { applyTransform } from '@codeshift/test-utils' ;
2
+ import * as transformer from './transform' ;
3
+
4
+ describe ( 'memoize-one@5.0.0 transform' , ( ) => {
5
+ it ( 'should transform correctly' , ( ) => {
6
+ const result = applyTransform (
7
+ transformer ,
8
+ `
9
+ import foo from '<% packageName %>';
10
+ console.log(foo);
11
+ ` ,
12
+ { parser : 'tsx' } ,
13
+ ) ;
14
+
15
+ expect ( result ) . toMatchInlineSnapshot ( ) ;
16
+ } ) ;
17
+ } ) ;
Original file line number Diff line number Diff line change
1
+ import { API , FileInfo , Options } from 'jscodeshift' ;
2
+
3
+ export default function transformer (
4
+ file : FileInfo ,
5
+ { jscodeshift : j } : API ,
6
+ options : Options ,
7
+ ) {
8
+ const source = j ( file . source ) ;
9
+
10
+ /**
11
+ * Early exit condition
12
+ * -----
13
+ * It is often good practice to exit early and return the original source file
14
+ * if it does not contain code relevant to the codemod.
15
+ * See this page for more information:
16
+ * https://codeshiftcommunity.github.io/CodeshiftCommunity/docs/your-first-codemod#output
17
+ */
18
+ if ( /* Some condition here */ true ) {
19
+ return file . source ;
20
+ }
21
+
22
+ /**
23
+ * Codemod logic goes here 👇
24
+ * -----
25
+ * This is where the core logic for your codemod will go,
26
+ * consider grouping specific actions into 'motions' and running them in sequence
27
+ *
28
+ * See this page for more information:
29
+ * https://codeshiftcommunity.github.io/CodeshiftCommunity/docs/authoring#motions
30
+ */
31
+ source . findVariableDeclarators ( 'foo' ) . renameTo ( 'bar' ) ;
32
+
33
+ /**
34
+ * Return your modified AST here 👇
35
+ * -----
36
+ * This is where your modified AST will be transformed back into a string
37
+ * and written back to the file.
38
+ */
39
+ return source . toSource ( options . printOptions ) ;
40
+ }
Original file line number Diff line number Diff line change
1
+ module . exports = {
2
+ maintainers : [ ] ,
3
+ target : [ ] ,
4
+ description : 'Codemods for memoize-one' ,
5
+ transforms : { '5.0.0' : require . resolve ( './5.0.0/transform' ) , } ,
6
+ presets : { } ,
7
+ } ;
Original file line number Diff line number Diff line change
1
+ {
2
+ "include" : [" src/**/*" ],
3
+ "compilerOptions" : {
4
+ "outDir" : " dist" ,
5
+ "esModuleInterop" : true ,
6
+ "allowJs" : true ,
7
+ "types" : [" jest" , " node" ]
8
+ }
9
+ }
You can’t perform that action at this time.
0 commit comments