Описание тега jscodeshift

NoneJscodeshift - это набор инструментов, созданный Facebook для запуска codemods над несколькими JS-файлами.
1 ответ

Организация требований и перемещение их в документ.

Я организую код в приложении. Операторы require не организованы, поэтому я создал этот код для сортировки и добавления их в верхней части страницы. Кодмод работает, почти идеально. У меня есть некоторые сомнения: Это нормально, или есть более правил…
21 июн '16 в 23:44
1 ответ

javascript recast .toSource параметры игнорируются

Я пытаюсь преобразовать и переформатировать этот код JavaScript: if (name == "c") {b();} используя этот плагин перекодирования: return j(file.source) .find(j.Identifier) .forEach(path => { j(path).replaceWith( j.identifier(path.node.name.split(''…
21 июл '17 в 11:24
1 ответ

Как получить код построчно в jscodeshift

Я очень новичок в jscodeshift. Можно ли получить код построчно. export default function transformer(file, api) { const j = api.jscodeshift; return j(file.source).forEach(p => { p.value.program.body.forEach(p => { console.log(p) }); }).toSource…
16 мар '18 в 11:05
1 ответ

Как найти узел без родителя с jscodeshift?

Я хочу найти выражения вызова, которые не имеют родителя в этом сценарии: 1 + 1 function parent() { 2 + 2 } 3 + 3 Здесь я хочу получить 1 + 1 а также 3 + 3 узлы, но не 2 + 2, То, что я хотел бы достичь, было бы что-то вроде: j(file.source).find(j.Ex…
1 ответ

ОАО odeshift объявляет новую переменную

Я хочу написать шаблонную функцию для создания новых переменных в JsCodeShift. У кого-нибудь есть идея как? Или лучшая документация? Я попробовал код ниже, в соответствии с этим. const j = api.jscodeshift; let test = j.variableDeclaration('let', j.v…
29 сен '17 в 12:06
0 ответов

Чтобы добавить отсутствующее определение метода в файл js с помощью преобразования jscodeshift

Я новичок в JSCodeshift. В приведенном ниже сценарии мне нужно найти метод с именем isLengthOfNum в файле, и если длина = 0, то нужно вставить метод isLengthOfNum. Определение метода isLengthOfNum - isLengthOfNum = () => { this.dispatchStoreActio…
11 июл '18 в 16:57
1 ответ

codemod от ForInStatement к ForStatement

У меня есть codemod, где я хочу преобразовать for (var key in foo){} в for (var keys = 0; key < foo; key++){} Мне удалось это далеко: return j(file.source) .find(j.ForInStatement) .replaceWith(p => { var prop = p.node.left.declarations[0].id; …
2 ответа

Как заменить путь в AST только что проанализированным JavaScript(строка)?

https://astexplorer.net/#/gist/70df1bc56b9ee73d19fc949d2ef829ed/7e14217fd8510f0bf83f3372bf08454b7617bce1 Я нашел сейчас, я пытаюсь replace выражение, и мне все равно, что в нем. в этом примере я нашел this.state.showMenu && this.handleMouse…
23 апр '18 в 21:37
0 ответов

Как использовать преобразователь класса response-codemod для соответствия createReactClass вместо React.createClass

Есть ли вариант в react-codemod для сопоставления с образцом createReactClass() вместо React.createClass()см. https://reactjs.org/docs/react-without-es6.html
17 мар '18 в 01:11
0 ответов

Не могу обновить до 16 реагировать (jscodeshift -t --parser=flow)

Тогда я использую jscodeshift -t --parser=flow - У меня ошибка "Невозможно прочитать свойство" процесс "из неопределенного". Проект с потоком. Попытка понизить поток-парсер не удалась
27 фев '19 в 10:09
1 ответ

Как я могу проанализировать, изменить и восстановить AST файла TypeScript (например, jscodeshift)?

Мой пример использования: я создаю генератор Yeoman, который модифицирует файлы TypeScript; способами, похожими на: добавлять import заявления Импорт компонентов в модуль AngularJS Yeoman рекомендует использовать анализатор AST для этой задачи: Самы…
02 авг '17 в 17:02
2 ответа

Этот экспериментальный синтаксис требует включения плагина парсера: 'exportDefaultFrom'

This experimental syntax requires enabling the parser plugin: 'exportDefaultFrom' Я получаю вышеуказанную ошибку при попытке переместить все приложение из реакции v15.6в v16.2, используя инструмент миграции из Facebook, как jscodeshift,
17 авг '18 в 04:44
1 ответ

Как заставить jscodeshift/recast сохранять запятые в выражениях объектов?

Я писал некоторые преобразования, чтобы помочь мне реорганизовать кодовую базу. В основном я добавляю новое свойство к некоторым объектным выражениям. Почему jscodeshift/recast удалить запятые из этих объектов? Как я могу предотвратить это?
25 окт '16 в 23:26
1 ответ

ОШИБКА {...} не соответствует строке типа при добавлении выражения с помощью jscodeshift

Я пробую jscodeshift и продолжаю получать следующую ошибку всякий раз, когда я пытаюсь вставить новое выражение {operator: ==, left: [object Object], right: [object Object], loc: null, type: BinaryExpression, comments: null} does not match type stri…
03 май '16 в 12:07
1 ответ

Как преобразовать ast-узел в строку базового JavaScript, представляющего его

Как я могу преобразовать узел в JavaScript? https://astexplorer.net/#/gist/cf11a829035dd865a3fbf6744aa4b146/50e921c2b4bea27c5d1b214acae3c5ef11a2f1af // target file function execute() { var a = 'a' } // jscodeshift export default(file, api) => { c…
03 сен '17 в 19:41
1 ответ

jscodeshift изменить буквенное значение объекта

Используя jscodeshift, как я могу преобразовать // Some code ... const someObj = { x: { foo: 3 } }; // Some more code ... в // Some code ... const someObj = { x: { foo: 4, bar: '5' } }; // Some more code ... ? я пытался module.exports = function(fil…
11 апр '17 в 08:21
1 ответ

JS код сдвиг или преобразователь из JQuery в родной?

Так что, если мне нужно будет изменить код следующим образом: var amazed = $(['foo', 'bar']).map(function(i, el){ return this + '!'; }); в родной как var amazed = (['foo', 'bar']).map(function(el, i){ return el + '!'; }); Я могу сделать что-то вроде…
0 ответов

Возможное предложение о том, как перейти от типов потока в комментариях к обычным типам потока

Я ищу способ преобразовать код, используя определения типов потока в комментариях к обычным. Пример: преобразование let n/*: number*/ = 7; в let n: number = 7;, Возможно, кто-то уже знает о решении, использующем jscodeshift, babeljs или аналогичные …
12 июн '18 в 08:51
0 ответов

JSCodeShift: Создание Ajax-запроса

В настоящее время я использую JSCodeShift для того, чтобы перейти от амплификации к вызовам службы jjery ajax в моем приложении. Я пытаюсь создать инструкцию возврата в моем файле преобразования JSCodeShift, но продолжаю сталкиваться с избыточной ош…
0 ответов

Как сократить время разбора jscodeshift

У меня есть очень большой скомпилированный файл (без расширения), который содержит почти 4 200000 строк кода. Этот файл содержит весь js-код моего проекта с некоторыми дополнительными параметрами. Теперь я хочу обновить скомпилированный файл после и…
03 сен '18 в 16:32