mirror of
https://github.com/chinchang/web-maker.git
synced 2025-07-09 16:06:21 +02:00
remove infinite loop protection when saving to file.
This commit is contained in:
@ -467,7 +467,7 @@ settingsBtn, onboardModal, notificationsBtn */
|
|||||||
|
|
||||||
return d.promise;
|
return d.promise;
|
||||||
}
|
}
|
||||||
function computeJs() {
|
function computeJs(shouldPreventInfiniteLoops) {
|
||||||
var d = deferred();
|
var d = deferred();
|
||||||
var code = scope.cm.js.getValue();
|
var code = scope.cm.js.getValue();
|
||||||
|
|
||||||
@ -482,7 +482,9 @@ settingsBtn, onboardModal, notificationsBtn */
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
showErrors('js', [ { lineNumber: e.lineNumber - 1, message: e.description } ]);
|
showErrors('js', [ { lineNumber: e.lineNumber - 1, message: e.description } ]);
|
||||||
} finally {
|
} finally {
|
||||||
utils.addInfiniteLoopProtection(ast);
|
if (shouldPreventInfiniteLoops !== false) {
|
||||||
|
utils.addInfiniteLoopProtection(ast);
|
||||||
|
}
|
||||||
d.resolve(escodegen.generate(ast));
|
d.resolve(escodegen.generate(ast));
|
||||||
}
|
}
|
||||||
} else if (jsMode === JsModes.COFFEESCRIPT) {
|
} else if (jsMode === JsModes.COFFEESCRIPT) {
|
||||||
@ -495,7 +497,9 @@ settingsBtn, onboardModal, notificationsBtn */
|
|||||||
ast = esprima.parse(coffeeCode, {
|
ast = esprima.parse(coffeeCode, {
|
||||||
tolerant: true
|
tolerant: true
|
||||||
});
|
});
|
||||||
utils.addInfiniteLoopProtection(ast);
|
if (shouldPreventInfiniteLoops !== false) {
|
||||||
|
utils.addInfiniteLoopProtection(ast);
|
||||||
|
}
|
||||||
d.resolve(escodegen.generate(ast));
|
d.resolve(escodegen.generate(ast));
|
||||||
}
|
}
|
||||||
} else if (jsMode === JsModes.ES6) {
|
} else if (jsMode === JsModes.ES6) {
|
||||||
@ -506,7 +510,9 @@ settingsBtn, onboardModal, notificationsBtn */
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
showErrors('js', [ { lineNumber: e.lineNumber - 1, message: e.description } ]);
|
showErrors('js', [ { lineNumber: e.lineNumber - 1, message: e.description } ]);
|
||||||
} finally {
|
} finally {
|
||||||
utils.addInfiniteLoopProtection(ast);
|
if (shouldPreventInfiniteLoops !== false) {
|
||||||
|
utils.addInfiniteLoopProtection(ast);
|
||||||
|
}
|
||||||
d.resolve(Babel.transform(escodegen.generate(ast), { presets: ['es2015'] }).code);
|
d.resolve(Babel.transform(escodegen.generate(ast), { presets: ['es2015'] }).code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -605,7 +611,7 @@ settingsBtn, onboardModal, notificationsBtn */
|
|||||||
function saveFile() {
|
function saveFile() {
|
||||||
var htmlPromise = computeHtml();
|
var htmlPromise = computeHtml();
|
||||||
var cssPromise = computeCss();
|
var cssPromise = computeCss();
|
||||||
var jsPromise = computeJs();
|
var jsPromise = computeJs(false);
|
||||||
Promise.all([htmlPromise, cssPromise, jsPromise]).then(function (result) {
|
Promise.all([htmlPromise, cssPromise, jsPromise]).then(function (result) {
|
||||||
var html = result[0],
|
var html = result[0],
|
||||||
css = result[1],
|
css = result[1],
|
||||||
@ -761,7 +767,7 @@ settingsBtn, onboardModal, notificationsBtn */
|
|||||||
trackEvent('ui', 'saveHtmlClick');
|
trackEvent('ui', 'saveHtmlClick');
|
||||||
});
|
});
|
||||||
utils.onButtonClick(openBtn, function () {
|
utils.onButtonClick(openBtn, function () {
|
||||||
openSavedItemsPane()
|
openSavedItemsPane();
|
||||||
trackEvent('ui', 'openBtnClick');
|
trackEvent('ui', 'openBtnClick');
|
||||||
});
|
});
|
||||||
utils.onButtonClick(saveBtn, function () {
|
utils.onButtonClick(saveBtn, function () {
|
||||||
|
Reference in New Issue
Block a user