taylor1791 / front-end-work-flow

MIT License
1 stars 1 forks source link

Add Analysis tool #9

Closed lawrence1223 closed 9 years ago

lawrence1223 commented 9 years ago

add tool for javascript analysis?

like Plato?

taylor1791 commented 9 years ago

I love Plato, and I had this awesome goal of creating a task to monitor performance over time, but failed to complete it because of other projects (I think you know what I am talking about). As a result it doesn't fit well with the existing code. Let's look at what we have to better understand why.

medusa-gaze: Run a development server. We definitely don't want to run this plato on every file save manticore-sting: Verifies code meets "standards". You wouldn't want to generate the report every time you run this since the goal of running this is to find out if it is "ready" (for committing, production, review, etc) cyclops-crush: This blindly creates a distribution with regard to code quality. In fact, it does it wrong sometimes.

I think that this is great to have, but not to be built into the project unless more filled out. In addition, since this really is a dieing project, if we want to tackle my original goal, we should keep this "code-over-time" thing separate.

I think your best bet is to run npm install plato --save-dev and create an npm script. Then you can run npm run pondering-muse.

{
  "name": "fish-farm",
  "scripts": {
    "pondering-muse": "plato -d docs/plato -r app"
  },
  "dependencies": {
    "plato": "^1.5.0"
  }
}
lawrence1223 commented 9 years ago

I was thinking about adding plato in manticore-sting. So each time the linting finished, it can generate a report. I have added plato to piggy-bank. A gulp task called cyclops-scan. And I figured you don't have plato in FEW, so I opened this issue.

taylor1791 commented 9 years ago

When we do run manticore-sting? I always run it before a commit. Sometimes I missed something and have to go back and fix it. If this happens, then we will have incorrect historical data. We only want to run plato right before we deploy and it should be run by deploy process on the deployment server. For the front-end team, that means running it on the CI server right before deploy and storing them on the demo server.

Ultimately, this means creating a new task that should only be run on the CI server. I don't really like calling it cyclops-scan because it should have its own creature. I indirectly suggested pondering-muse in the previous post because the "muse is ponding about your code". I think that we should write add this as a plugin.

Do you want to give an attempt at this? If you want to see an example see taylor1791/few-eslint.

lawrence1223 commented 9 years ago

I will give it a try.