[
https://issues.apache.org/jira/browse/METRON-1796?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16639896#comment-16639896
]
ASF GitHub Bot commented on METRON-1796:
----------------------------------------
Github user ruffle1986 commented on a diff in the pull request:
https://github.com/apache/metron/pull/1219#discussion_r223030359
--- Diff: metron-interface/metron-alerts/package.json ---
@@ -22,17 +22,17 @@
"@angular/platform-browser": "^6.1.6",
"@angular/platform-browser-dynamic": "^6.1.6",
"@angular/router": "^6.1.6",
+ "@ruffle1986/pikaday-time": "^1.6.1",
"@types/bootstrap": "^4.1.1",
"@types/jquery": "^3.3.4",
"ace-builds": "^1.2.6",
"ajv": "^6.5.1",
"angular-confirmation-popover": "^4.2.0",
"bootstrap": "4.0.0-alpha.6",
"core-js": "^2.4.1",
+ "date-fns": "^1.29.0",
"font-awesome": "^4.7.0",
- "moment": "^2.22.2",
"ng2-dragula": "^1.5.0",
- "pikaday-time": "^1.6.1",
--- End diff --
> Why is pikaday-time suddenly an issue?
I agree with you to not use smaller individual projects like
`pikaday-time`. `pikaday-time` is introduced in the project by @iraghumitra
almost a year ago.
The goal wasn't replacing `pikaday-time` with a better well-supported
library but eliminating `moment.js` because of the aforementioned reasons in
the description.
> I am concerned about this pikaday dependency. I would rather see us
depending on larger, community supported projects like https://momentjs.com/,
rather than smaller, individual supported projects like @owenmean/pikaday (or
even your own fork @ruffle1986/pikaday-time).
`moment.js` is a very popular and great library to manipulate date and
time.
`date-fns` has the exact same purpose.
`pikaday` is a standalone calendar user interface component.
`pikaday-time` is an extension of `pikaday` with additional fields to
select time, not just date.
`moment.js` is an optional dependency of `pikaday` (! not `pikaday-time`).
it works perfectly fine without `moment.js`. But if it is convenient to use
`pikaday` with `moment`, it's fine then, you can use it by calling `pikaday`'s
`getMoment` method if needed.
`pikaday-time` is just a fork of `pikaday` and the author of `pikaday-time`
made a mistake by setting `moment.js` as a dependency of `pikaday-time` and
every time we install `pikaday-time` we install `moment.js` too. If `moment.js`
is installed in the `node_modules` folder `pikaday` will use it therefore it
will be part of the bundle.
> [UI] Migrate off moment.js
> --------------------------
>
> Key: METRON-1796
> URL: https://issues.apache.org/jira/browse/METRON-1796
> Project: Metron
> Issue Type: Improvement
> Reporter: Tamas Fodor
> Assignee: Tamas Fodor
> Priority: Minor
>
> Remove Moment.js and replace with another smaller library.
> Moment.js requires us to import the entire library vs. a few necessary
> modules.
> Moment.js can prevent bundlers from supporting tree-shaking.
> By removing Moment.js, we can decrease our overall bundle size and prevent
> issues with tree-shaking in the future.
> Here you can find the discussion on the mailing list:
> https://lists.apache.org/thread.html/2e4fafa4256ce14ebcd4433420974e24962884204418ade51f0e3bfb@%3Cdev.metron.apache.org%3E
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)