How to automatically keep track of the octane update process in a project

Hello community!

we are steadily updating our app to octane, currently keeping track of all the work in spreadsheet by hand.

i would like to keep track of the progress automatically maybe via a github action or script to identify files which have been updated and those who have not yet been touched.

does anybody now of a way to automate this or identify files which have not been update to octane?

I’ve been using lint-to-the-future to track these things for some of the open source projects I am working on. For example you can take a look at the ember-paper dashboard and you can see some of the lint rules that are relevant to Octane upgrades: LintToTheFuture

You can checkout the readme here GitHub - mansona/lint-to-the-future: A modern way to progressively update your code to the best practices

I will be merging a few PRs soon that explain how to quickly setup the dashboard too :+1:

2 Likes

@real_ate this looks great, i will give that a try !

i found those plugins as well for eslint-plugin-ember:

I think if you update your app to the latest 3.x version (3.28) with ember-cli-update you should get all of those lint rules enabled by default. What version are you currently on?

@real_ate

i had a look at your PR (Update README.md by Mikek2252 · Pull Request #26 · mansona/lint-to-the-future · GitHub) and made it work locally with Docker:

npx lint-to-the-future output \
  -o lint-to-the-future \
  --previous-results lint-to-the-future/previous.json

Dockerfile

FROM nginx
COPY ./lint-to-the-future/ /usr/share/nginx/html/

build and run:

$ docker build -f Dockerfile.lttf -t lttf:latest .
$ docker run -it -p 8181:80 lttf:latest
$ open http://localhost:8181/

i tried out the lint-to-the-future-eslint plugin, but the eslint . run throws a lot more issues than displayed in the Lint to the Future Dashboard. i would expect that it just “groups the output” of eslint and displays it. maybe i’m missing sth here?

ps. do you want the docker setup in the readme? i can do a PR for that.

1 Like

so yes there is something you’re missing. The idea of Lint to the Future is that it temporarily turns off your lint rules for affected files so you can still run npm run lint in your CI environment. You need to run npx lint-to-the-future ignore to add the file-based ignores to each file and then they will be picked up by the dashboard :+1: I hope that makes sense?