Skip to content

Commit 5e9f676

Browse files
author
Robert Jackson
authored
[CHORE] Add project description and goals to readme (#15)
[CHORE] Add project description and goals to readme
2 parents 94ec9f0 + 7e13395 commit 5e9f676

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,27 @@
33
[![Build Status](https://travis-ci.com/ember-codemods/ember-codemods-telemetry-helpers.svg?branch=master)](https://travis-ci.com/ember-codemods/ember-codemods-telemetry-helpers)
44

55
[![npm](https://img.shields.io/npm/v/ember-codemods-telemetry-helpers.svg?label=npm)](https://www.npmjs.com/package/ember-codemods-temetry-helpers)
6+
7+
Telemetry helpers runs the app, grabs basic info about all of the modules at runtime.
8+
This allows the codemod to know the names of every helper, component, route, controller, etc in the app without guessing / relying on static analysis.
9+
They basically help you to create "runtime assisted codemods".
10+
11+
## Goal
12+
The goal of the project though was to enable each codemod to manage its own type of data gathering
13+
and that the gather-telemetry-helpers package provides the harness to run that custom gathering function
14+
15+
## More info
16+
17+
See "Gathering runtime data" section of
18+
https://github.com/ember-codemods/ember-native-class-codemod#gathering-runtime-data for some additonal info
19+
20+
21+
This project was extracted from (ember-native-class-codemod)(https://github.com/ember-codemods/ember-native-class-codemod).
22+
That codemod uses (puppeteer)(https://github.com/GoogleChrome/puppeteer) (via this lib) to visit the Ember app and gather telemetry necessary to convert to native classes.
23+
24+
The idea for the extraction was to put the harness in this package
25+
(extracted from the native class codemod), but have the actual "telemetry gathering"
26+
live in each individual codemod project because the things that they need are quite different
27+
for example, for [implicit this codemod](https://github.com/ember-codemods/ember-no-implicit-this-codemod) and
28+
[angle brackets codemod](https://github.com/ember-codemods/ember-angle-brackets-codemod) all we need to know is an array of the helpers and components in the app
29+
but for [native class codemod](https://github.com/ember-codemods/ember-native-class-codemod) it needs much more info (names and types of methods, properties, etc on each default export)

0 commit comments

Comments
 (0)