Closed in19farkt closed 4 years ago
https://github.com/megawac/babel-plugin-ramda плагин для babel)
Жесть конечно :) я даже не подумал для такого гуглить какие-то решения))
поддерживаю оратора с ссылкой на babel-plugin-ramda, надо запилить!
Жесть конечно :) я даже не подумал для такого гуглить какие-то решения))
это кстати, как я понял, распространенная практика такие штуки писать, вот например в antd тоже под это дело есть пакет) https://ant.design/docs/react/introduce#Use-modularized-antd
Смотрели с Степаном бандл на проекте с версией webpack 4.36.1 и у нас без этого плагина попадало в бандл только то, что использовалось (видимо webpack или ts-loader сами это разруливают). Надо чекнуть как с этим здесь и закрывать этот ишью если все ок)
Не совсем понял, как это в итоге надо чекнуть) Создал файл, с единственным вызовом рамдовской функции:
import * as R from 'ramda';
// import map from 'ramda/src/map';
const double = (x: number) => x * 2;
R.map(double, [1, 2, 3]);
// map(double, [1, 2, 3]);
1) Попробовал сравнить размер сборки. В случае с import map from 'ramda/src/map';
, сборка получилась на 0,9кБ больше чем при import * as R from 'ramda';
2) Попробовал запустить npm run build:dev
. И искал другие рамдовские функции в сборке.
import * as R from 'ramda';
- в сборке находил все функции, какие пробовал. import map from 'ramda/src/map';
- не находил
Пробовал искать : symmetricDifferenceWith, zipWith, xprod, adjust, dropWhile
3) Попробовал запустить npm run build:prod
(с отключеной минификацией minimize: false
)Получается что при прод сборке лишнее из рамды в сборку не попадает, даже с отключеным минифмикатором.
Ну что, тогда закрываюем эту ишу и вертим рамду как нам удобно? :)
Да!