sourcerer-io / sourcerer-app

🦄 Sourcerer app makes a visual profile from your GitHub and git repositories.
https://sourcerer.io/start
MIT License
6.74k stars 280 forks source link

Add the Quasar Framework #531

Closed patrickmonteiro closed 5 years ago

patrickmonteiro commented 5 years ago

Is there a possibility to add the Quasar Framework?

Since it is possible to recognize frameworks like Angular and Vue, I think it would be interesting for Quasar as well.

Quasar Documentation Link: https://quasar.dev

lucianopereira86 commented 5 years ago

It would be a great addition! Quasar is the future

thauska commented 5 years ago

Waiting for this to.

sergey48k commented 5 years ago

@asurkov could you look into it and see if we can add Quasar quickly?

patrickmonteiro commented 5 years ago

@asurkov any questions please contact @nothingismagick

nothingismagick commented 5 years ago

Just let me know what you need.

asurkov commented 5 years ago

Just let me know what you need.

@nothingismagick, do you have tips/suggestions how to recognize this particular vue file is a quasar one?

As far as I see quasar is build on vue (SFC vue files), so any quasar file is a vue one. Quasar defines own set of vue directives, components and plugin, which are connected via /quasar.conf.js in a proejct. So the presence of this config file in the project may indicate it is is a quasar project, not sure how reliable it though. Is there anything else that can help to distinguish quasar from generic vue?

nothingismagick commented 5 years ago

Hi, I guess I'd need to know a TOUCH more about how the app works. Sorry, I'm new here. :)

@asurkov

sergey48k commented 5 years ago

@nothingismagick Usually, it looks at file extensions and signatures inside of a file to classify a language.

For libraries and frameworks, it does the following:

  1. looks for imports needed to include library/framework. Sometimes there are not relevant imports, so sometimes this can be skipped.
  2. if the step above suggested there may be a library used in the file, a machine learning classifier runs on every changed line of a commit. Classifiers are trained on library source code.
nothingismagick commented 5 years ago

OK, I get it. Thanks. So basically there are three ways to use the Quasar Framework:

These all require imports from at least one entry point, but there is one unifying factor: the vue components and potentially the plugins.

a component will generally be invoked with e.g. q-btn, q-page etc. a plugin will generally be invoked with e.g. this.$q.platform etc. directives also have specific names.

I can provide you with a list of all of these selectors, if that would be helpful.

nothingismagick commented 5 years ago

but if you see quasar.conf.js in a project, and

"dependencies": {
    "quasar": "^1.0.0"
    ...
  },

Then you can be pretty sure its a quasar project.

Another hint would be to parse the .gitignore

and look for .quasar in there.

nothingismagick commented 5 years ago

There is also a whole class of quasar development known as Quasar App Extensions.

These are technically node modules, but follow a very specific naming convention (which can be parsed from the package.json):

@quasar/quasar-app-extension-testing

These are add-ons that can be consumed by any dev (assuming its public).

Here is an example of one I wrote: https://github.com/quasarframework/app-extension-icon-genie

Note that the repository name as linked at Github is NOT canonical, only the package.json: https://github.com/quasarframework/app-extension-icon-genie/blob/8f794c0112179d7d68eadc5a91b5c0dc55134a0f/package.json#L2

This type of project is GUARANTEED to be related to quasar.

asurkov commented 5 years ago

but if you see quasar.conf.js in a project, and

"dependencies": {
    "quasar": "^1.0.0"
    ...
  },

I suppose that that works for Quasar CLI/Vue CLI, however it doesn't seem applicable in UMD case? Does UMD have to have quasar.conf.js?

nothingismagick commented 5 years ago

Right - neither UMD nor Vue CLI will have a quasar.conf.js

patrickmonteiro commented 5 years ago

@asurkov We can close this issue, since quasar is already part of the Sourcerer ecosystem right?

asurkov commented 5 years ago

yep, umd should be supported now by https://github.com/sourcerer-io/awesome-libraries/commit/2584212d7e69e751536ddc167a0a4d88429b6f2e, cli https://github.com/sourcerer-io/sourcerer-app/pull/538