Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const pathModule = require('path')
const UglifyJS = require('uglify-js')
const { js_beautify, css_beautify } = require('js-beautify')
const { execSync } = require('child_process')
const mkdirp = require('mkdirp')
// const source = fs.readFileSync('src/models/tag.js', 'utf8')
const source = `
var a = function() {
return (c, b), a
}
`
const foo = fs.readFileSync('./raw/owl-web-a5a29e830e828ff1f7445e23dc456e2e.js', 'utf8')
const bar = js_beautify(foo, { indent_size: 2 })
const idx = bar.indexOf('{')
const injection = 'console.log(JSON.stringify(Object.entries(t).map(([id,[fn,deps]])=>({id:Number(id),source:fn.toString(),deps:deps})))); return;\n'
fs.writeFileSync('./flowdock.js', bar.slice(0, idx + 1) + injection + bar.slice(idx + 1))
const output = execSync('node ./flowdock.js')
const modules = JSON.parse(output)
const node2statement = (node) => {
if (node.TYPE == 'SimpleStatement' || node instanceof UglifyJS.AST_Statement) {
return node
}
return new UglifyJS.AST_SimpleStatement({body: node})
formatCode = memoize(2)((language, code) => {
let formattedCode = code;
if (language === 'jsx') {
try {
formattedCode = beautify(code, {
indent_size: 2,
brace_style: 'collapse,preserve-inline',
end_with_newline: true,
wrap_line_length: 80,
e4x: true,
});
} catch (error) {
console.warn("Couldn't format code", formattedCode); // eslint-disable-line no-console
}
}
return formattedCode;
});
' if (/^\\.view\\.view-main/.test(myApp.views[v].selector)) {\n' +
' mainView = myApp.views[v]\n' +
' } else if (/^#right-panel-view/.test(myApp.views[v].selector)) {\n' +
' rightView = myApp.views[v]\n' +
' }\n' +
' }\n' +
' if (mainView === null) {\n' +
' myApp.alert("Main view not found.")\n' +
' }\n' +
' if (rightView === null) {\n' +
' myApp.alert("Right panel view not found.")\n' +
' }\n' +
' var $$ = window.Dom7;\n' +
jsFile + '\n' +
'}\n'
jsFile = beautify.js(jsFile, {indent_size: 2, end_with_newline: true})
fs.writeFileSync(path.resolve(env.app, 'kitchen-sink-' + theme + '.js'), jsFile)
htmlCode = beautify.html(htmlCode, {indent_size: 2})
fs.writeFileSync(path.resolve(env.app, 'kitchen-sink-' + theme + '-html.js'), 'module.exports = \'\' +\n\'' + htmlCode.replace(/\'/g, '\\\'').replace(/\n/g, '\' +\n\'') + '\'\n') // eslint-disable-line
callback()
} catch (err) {
alert('Failed to copy kitchen sink js file.', 'issue')
}
} catch (err) {
alert('Failed to copy kitchen sink css file.', 'issue')
}
} catch (err) {
alert('Failed to clean routes.json file.', 'issue')
}
}
})
}
module.exports = ({ destination }) => {
const modelFolder = `${destination}/models`;
const indexFile = `${destination}/models/index.js`;
// if (logging) console.log('updating models/index.js ');
let items = fs.readdirSync(modelFolder);
items = items.map((item) => item.replace('.js', ''));
items = items.filter(item => item !== 'index');
const code = modelIndex(items);
const pretty = beautify(code, { indent_size: 2, space_in_empty_paren: true });
fs.writeFileSync(indexFile, pretty);
};
fs.readFile(tempPath, "utf8", function(err, data) {
if (err) {
return;
}
// Mark the output as being from this plugin.
console.log("*** HTMLPrettify output ***");
if (isCSS(filePath, data)) {
console.log(css_beautify(data, options["css"]));
}
else if (isHTML(filePath, data)) {
console.log(html_beautify(data, options["html"]));
}
else if (isJS(filePath, data)) {
console.log(js_beautify(data, options["js"]));
}
});
// Fail silently if the resource is not available
return resolve({
url: url,
beautified: beautified,
});
}
if (/javascript/.test(type)) {
beautified = Prism.highlight(beautifyJs(
body.substr(0, CODE_CHARACTER_LIMIT + 160), beautifyOptions)
.substr(0, CODE_CHARACTER_LIMIT), Prism.languages.javascript);
} else if (/text\/html/.test(type)) {
beautified = Prism.highlight(beautifyHtml(
body.substr(0, CODE_CHARACTER_LIMIT + 160), beautifyOptions)
.substr(0, CODE_CHARACTER_LIMIT), Prism.languages.markup);
} else if (/text\/css/.test(type)) {
beautified = Prism.highlight(beautifyCss(
body.substr(0, CODE_CHARACTER_LIMIT + 160), beautifyOptions)
.substr(0, CODE_CHARACTER_LIMIT), Prism.languages.css);
}
return resolve({
url: url,
beautified: beautified,
});
});
}));
function renderPage(template, content, page, outputPath) {
// render full html page
const templateStandaloneResult = template({
content,
page,
publicPath: config.dist.publicPath,
});
// make it pretty
const html = beautifyHtml(templateStandaloneResult, { indent_size: 2 });
// output to disk
return new Promise((resolve, reject) => {
fs.writeFile(path.resolve(outputPath, `${page}.html`), html, 'utf-8', (err, res) => {
if (err) {
reject(err);
} else {
resolve(res);
}
});
});
}
getHTMLOutput() {
const { preview, beautifyOutput } = this.props
return beautifyOutput
? beautifyJS.html(preview.content, {
indent_size: 2, // eslint-disable-line camelcase
wrap_attributes_indent_size: 2, // eslint-disable-line camelcase
max_preserve_newline: 0, // eslint-disable-line camelcase
preserve_newlines: false, // eslint-disable-line camelcase
})
: preview.content
}
if (base) {
_.extend(obj.props, base.props)
}
baseKey = _.keys(base.base)[0]
}
// sorting
obj.props = utils.sortByKey(obj.props)
obj.methods = utils.sortByKey(obj.methods)
obj.events = utils.sortByKey(obj.events)
}
})
json = utils.sortByKey(json)
file.contents = new Buffer(beautify(JSON.stringify(json), { indent_size: 2 }))
cb(null, file)
}))
.pipe(gulp.dest('./doc'))
lineDom.appendChild(logLine)
}
})
} else {
// render the value like a JSON object
// for now, we just render it as raw JSON, TODO: some sort of fancier key-value pair visualization?
if (field === 'parameters' || field === 'annotations') {
// special case here: the parameters field is really a map, but stored as an array of key-value pairs
value = value.reduce((M, kv) => {
M[kv.key] = kv.value;
return M
}, {})
}
const beautify = require('js-beautify').js_beautify
container.innerText = beautify(JSON.stringify(value))
// apply the syntax highlighter to the JSON
setTimeout(() => hljs.highlightBlock(container), 0)
}
}