{"action":"closed","issue":{"url":"https://api.github.com/repos/less/less-meta/issues/17","repository_url":"https://api.github.com/repos/less/less-meta","labels_url":"https://api.github.com/repos/less/less-meta/issues/17/labels{/name}","comments_url":"https://api.github.com/repos/less/less-meta/issues/17/comments","events_url":"https://api.github.com/repos/less/less-meta/issues/17/events","html_url":"https://github.com/less/less-meta/issues/17","id":152029816,"node_id":"MDU6SXNzdWUxNTIwMjk4MTY=","number":17,"title":"Unification of plugin subsystems.","user":{"login":"seven-phases-max","id":5304376,"node_id":"MDQ6VXNlcjUzMDQzNzY=","avatar_url":"https://avatars1.githubusercontent.com/u/5304376?v=4","gravatar_id":"","url":"https://api.github.com/users/seven-phases-max","html_url":"https://github.com/seven-phases-max","followers_url":"https://api.github.com/users/seven-phases-max/followers","following_url":"https://api.github.com/users/seven-phases-max/following{/other_user}","gists_url":"https://api.github.com/users/seven-phases-max/gists{/gist_id}","starred_url":"https://api.github.com/users/seven-phases-max/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seven-phases-max/subscriptions","organizations_url":"https://api.github.com/users/seven-phases-max/orgs","repos_url":"https://api.github.com/users/seven-phases-max/repos","events_url":"https://api.github.com/users/seven-phases-max/events{/privacy}","received_events_url":"https://api.github.com/users/seven-phases-max/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":60,"created_at":"2016-04-30T13:17:07Z","updated_at":"2018-06-12T13:41:58Z","closed_at":"2018-06-12T13:41:58Z","author_association":"MEMBER","body":"As was already mentioned initially (and then in #10 and in various topics here and there), `@plugin` feature needs further improvements as its current implementation was just a temporary solution to get something in the release ASAP.\n\nSo the very first step for the unification would be to allow the `@plugin` directive to load both formats, i.e.:\n\n``` less\n@plugin \"clean-css\";\n```\n- first try to load the \"standard\" format, i.e. `less-plugin-clean-css` (in the directories specified in the docs)\n- and only then try to load `clean-css.js` file (of the \"easy-functions\" format, in the directories of the compiled less project).\n\nContrary:\n\n``` less\n@plugin \"clean-css.js\";\n```\n\nlooks directly for an \"easy-functions\" `clean-css.js` file.\n\n---\n\nAs also mentioned earlier, loading \"standard format\" plugins with `@plugin` directive is expected to have certain acceptable limitations/restrictions to work properly (e.g. no special scoping and the directive should appear _before_ any code it may have an effect on (specifically for \"visitor\" plugins)).\n\n---\n\nSetting \"standard format\" options via `@plugin` are yet to be specified later. Obviously the options will be set via typical `@import/@media`-like syntax, e.g.:\n\n``` less\n@plugin (s1, advanced, compatibility: ie8) \"clean-css\";\n```\n\nBut exact implementation details to be set up later.\n"}}
{"actor":{"display_login":"seven-phases-max"}}