Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Away from YUI #331

Open
17 tasks
okuryu opened this issue Mar 21, 2015 · 4 comments
Open
17 tasks

Away from YUI #331

okuryu opened this issue Mar 21, 2015 · 4 comments

Comments

@okuryu
Copy link
Member

okuryu commented Mar 21, 2015

YUI is no longer actively maintained. This means YUIDoc will be potentially impacted some kind of trouble of YUI. However, YUIDoc depends on YUI deeply for now, but we have many alternative ways on Node.js.

This is a roll-up of moving from YUI to something in a phased manner and experimental. The goal of this issue is removing yui in the dependencies field in the package.json. Major tasks as follows.

Note: we should maintain backward compatibility of YUIDoc APIs as far as possible.

  • Use native Handlebars instead of Y.Handlebars
  • Use console.* instead of Y.log util.error: Use console.error instead #325
  • Use something instead of Y.later
  • Use Array.forEach instead of Y.each
  • Use something instead of Y.extend
  • Use something instead of Y.mix
  • Use something instead of Y.Array.hash
  • Use something instead of Y.clone
  • Use something instead of Y.Parallel
  • Use something instead of Y.rbind
  • Use something instead of Y.merge
  • Use something instead of Y.io
  • Use native function instead of Y.Lang.trim
  • Use native function instead of Y.Lang.isArray
  • Use native function instead of Y.Lang.isObject
  • Use native function instead of Y.Lang.sub
  • Rewrite all modules in ES6 modules
@apm
Copy link

apm commented Mar 21, 2015

I don't really agree that you need migrate for fear that YUI suddenly is going to stop working. Yahoo! stopped working on it, but that doesn't mean it is going to suddenly disappear. Most of the things you mention are javascript features that will continue working. Seems like you will create more problems than you fix.

I'd spend effort on improving the tool, inserting new technology for new features.

For instance, instead of replacing the YUI flavor of Handlebars, decide what you want to do modernize the bundled templates, and decide what technology you want to use to do that.

Instead of rewriting things with promises, improve the tool to do a better job documenting promises. By the way, promises are not a replacement for Y.later or Y.Parallel.

@okuryu
Copy link
Member Author

okuryu commented Mar 22, 2015

For example, how do you think #325 should be resolved? I reported it as a bug in YUI ( yui/yui3#1988 ), but I think the likelihood that it will be resolved and released a new version is low. I'd like to try to fix it in YUIDoc, but it doesn't seem to be major problems.

At the moment, nothing I've brought up on the above list is high priority, so I doubt I'll get started right away. Plus, I don't have any concrete plans for individual tasks. Ultimately, this list is just to confirm what YUI functions we currently use.

I understand what you're saying, and understand that if we do these things, we should make something new. I'd like to discuss this way of thinking at the same time, but what about you? As always, I welcome your input.

Instead of rewriting things with promises, improve the tool to do a better job documenting promises. By the way, promises are not a replacement for Y.later or Y.Parallel.

Sorry for my bad! I just edited.

@apm
Copy link

apm commented Mar 22, 2015

Cool - regarding #325, the logger functionality is configurable (we actually made it work this way in order to get YUI to work in Node)

http://yuilibrary.com/yui/docs/api/classes/config.html#property_logFn

https://github.com/yui/yui3/blob/master/src/yui/js/yui-log-nodejs.js

I agree that stuff like this should be fixed, and Yahoo probably should give up the keys to the repo if they are not willing to do it. I didn't really think about the Node integration when I made the earlier comment; that has always been fragile because of the Node churn. If something more serious comes up, you're right that moving away from YUI may become necessary.

@okuryu
Copy link
Member Author

okuryu commented Mar 28, 2015

Cool - regarding #325, the logger functionality is configurable (we actually made it work this way in order to get YUI to work in Node)

http://yuilibrary.com/yui/docs/api/classes/config.html#property_logFn

https://github.com/yui/yui3/blob/master/src/yui/js/yui-log-nodejs.js

Thanks! #334 is ready for review. 😃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants