UNPKG

6.43 kBSource Map (JSON)View Raw
1{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/store/migrations/8_0_0-beta/index.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ts from 'typescript';\nimport { tags, logging } from '@angular-devkit/core';\nimport {\n Rule,\n chain,\n Tree,\n SchematicContext,\n} from '@angular-devkit/schematics';\nimport {\n ReplaceChange,\n createReplaceChange,\n visitTSSourceFiles,\n commitChanges,\n} from '../../schematics-core';\n\nconst META_REDUCERS = 'META_REDUCERS';\n\nfunction updateMetaReducersToken(): Rule {\n return (tree: Tree, context: SchematicContext) => {\n visitTSSourceFiles(tree, (sourceFile) => {\n const createChange = (node: ts.Node) =>\n createReplaceChange(\n sourceFile,\n node,\n META_REDUCERS,\n 'USER_PROVIDED_META_REDUCERS'\n );\n\n const changes: ReplaceChange[] = [];\n changes.push(\n ...findMetaReducersImportStatements(\n sourceFile,\n createChange,\n context.logger\n )\n );\n changes.push(...findMetaReducersAssignment(sourceFile, createChange));\n\n return commitChanges(tree, sourceFile.fileName, changes);\n });\n };\n}\n\nexport default function (): Rule {\n return chain([updateMetaReducersToken()]);\n}\n\nfunction findMetaReducersImportStatements(\n sourceFile: ts.SourceFile,\n createChange: (node: ts.Node) => ReplaceChange,\n logger: any\n) {\n let canRunSchematics = false;\n\n const metaReducerImports = sourceFile.statements\n .filter(ts.isImportDeclaration)\n .filter(isNgRxStoreImport)\n .filter((p) => {\n canRunSchematics = Boolean(\n p.importClause &&\n p.importClause.namedBindings &&\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n (p.importClause!.namedBindings as ts.NamedImports).elements\n );\n return canRunSchematics;\n })\n .map((p) =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n (p.importClause!.namedBindings! as ts.NamedImports).elements.filter(\n isMetaReducersImportSpecifier\n )\n )\n .reduce((imports, curr) => imports.concat(curr), []);\n\n const changes = metaReducerImports.map(createChange);\n if (!canRunSchematics && changes.length === 0) {\n logger.info(tags.stripIndent`\n NgRx 8 Migration: Unable to run the schematics to rename \\`META_REDUCERS\\` to \\`USER_PROVIDED_META_REDUCERS\\`\n in file '${sourceFile.fileName}'.\n\n For more info see https://ngrx.io/guide/migration/v8#meta_reducers-token.\n `);\n }\n\n return changes;\n\n function isNgRxStoreImport(importDeclaration: ts.ImportDeclaration) {\n return (\n importDeclaration.moduleSpecifier.getText(sourceFile) === \"'@ngrx/store'\"\n );\n }\n\n function isMetaReducersImportSpecifier(importSpecifier: ts.ImportSpecifier) {\n const isImport = () => importSpecifier.name.text === META_REDUCERS;\n const isRenamedImport = () =>\n importSpecifier.propertyName &&\n importSpecifier.propertyName.text === META_REDUCERS;\n\n return (\n ts.isImportSpecifier(importSpecifier) && (isImport() || isRenamedImport())\n );\n }\n}\n\nfunction findMetaReducersAssignment(\n sourceFile: ts.SourceFile,\n createChange: (node: ts.Node) => ReplaceChange\n) {\n const changes: ReplaceChange[] = [];\n ts.forEachChild(sourceFile, (node) => findMetaReducers(node, changes));\n return changes;\n\n function findMetaReducers(node: ts.Node, changes: ReplaceChange[]) {\n if (\n ts.isPropertyAssignment(node) &&\n node.initializer.getText(sourceFile) === META_REDUCERS\n ) {\n changes.push(createChange(node.initializer));\n }\n\n ts.forEachChild(node, (childNode) => findMetaReducers(childNode, changes));\n }\n}\n"]}
\No newline at end of file