}
SiteRoot.prototype.internal_get_css_less = function(pathname, root) {
- let dirname = path.posix.dirname(pathname)
return /*await*/ this.build_cache_css_less.get(
pathname,
async result => {
- let text = await fs_readFile(pathname, {encoding: 'utf-8'})
- console.log('getting', pathname, 'as css_less')
- let render = await less.render(
- text,
- {
- //color: true,
- //compress: false,
- //depends: false,
- filename: pathname,
- //globalVars: null,
- //ieCompat: false,
- //insecure: false,
- //javascriptEnabled: false,
- //lint: false,
- //math: 0,
- //modifyVars: null,
- pathnames: [dirname],
- //plugins: [],
- //reUsePluginManager: true,
- //rewriteUrls: false,
- rootpathname: root//,
- //strictImports: false,
- //strictUnits: false,
- //urlArgs: ''
- }
+ let render = await disk_build(
+ pathname,
+ async temp_pathname => {
+ let render = await less.render(
+ await fs_readFile(pathname, {encoding: 'utf-8'}),
+ {
+ //color: true,
+ compress: true,
+ //depends: false,
+ filename: pathname,
+ //globalVars: null,
+ //ieCompat: false,
+ //insecure: false,
+ //javascriptEnabled: false,
+ //lint: false,
+ //math: 0,
+ //modifyVars: null,
+ pathnames: [path.posix.dirname(pathname)],
+ //plugins: [],
+ //reUsePluginManager: true,
+ //rewriteUrls: false,
+ rootpathname: root//,
+ //strictImports: false,
+ //strictUnits: false,
+ //urlArgs: ''
+ }
+ )
+ await fs_writeFile(
+ temp_pathname,
+ render.css,
+ {encoding: 'utf-8'}
+ )
+ return render.imports
+ },
+ true
)
- result.deps.concat(render.imports)
- result.value = Buffer.from(render.css)
+ console.log('getting', pathname, 'as css_less')
+ result.deps = result.deps.concat(render.deps)
+ result.value = await fs_readFile(render.pathname)
}
)
}
return /*await*/ this.build_cache_css_min.get(
pathname,
async result => {
- result.value = fs_readFile(
- await disk_build(
- pathname,
- async built_pathname => {
- console.log('getting', pathname, 'as css_min')
- let text = await fs_readFile(pathname, {encoding: 'utf-8'})
- console.log('building', built_pathname)
- let render = await clean_css.minify(text)
- for (let i = 0; i < render.warnings.length; ++i)
- console.log(`clean-css warning: ${render.warnings[i]}`)
- return /*await*/ fs_writeFile(
- built_pathname,
- render.styles,
- {encoding: 'utf-8'}
- )
- }
- )
+ let render = await disk_build(
+ pathname,
+ async temp_pathname => {
+ let render = await clean_css.minify(
+ await fs_readFile(pathname, {encoding: 'utf-8'})
+ )
+ for (let i = 0; i < render.warnings.length; ++i)
+ console.log(`clean-css warning: ${render.warnings[i]}`)
+ return /*await*/ fs_writeFile(
+ temp_pathname,
+ render.styles,
+ {encoding: 'utf-8'}
+ )
+ },
+ true
)
+ console.log('getting', pathname, 'as css_min')
+ assert(render.deps.length === 0)
+ result.value = await fs_readFile(render.pathname)
}
)
}
return /*await*/ this.build_cache_html_min.get(
pathname,
async result => {
- result.value = fs_readFile(
- await disk_build(
- pathname,
- async built_pathname => {
- console.log('getting', pathname, 'as html_min')
- let text = await fs_readFile(pathname, {encoding: 'utf-8'})
- console.log('building', built_pathname)
- return /*await*/ fs_writeFile(
- built_pathname,
- html_minifier.minify(text, {collapseWhitespace: true}),
- {encoding: 'utf-8'}
- )
- }
- )
+ let render = await disk_build(
+ pathname,
+ async temp_pathname => /*await*/ fs_writeFile(
+ temp_pathname,
+ html_minifier.minify(
+ await fs_readFile(pathname, {encoding: 'utf-8'}),
+ {collapseWhitespace: true}
+ ),
+ {encoding: 'utf-8'}
+ ),
+ true
)
+ console.log('getting', pathname, 'as html_min')
+ assert(render.deps.length === 0)
+ result.value = await fs_readFile(render.pathname)
}
)
}
return /*await*/ this.build_cache_js_min.get(
pathname,
async result => {
- result.value = fs_readFile(
- await disk_build(
- pathname,
- async built_pathname => {
- console.log('getting', pathname, 'as js_min')
- let files = {}
- files[pathname] = await fs_readFile(pathname, {encoding: 'utf-8'})
- console.log('building', built_pathname)
- let render = uglify_es.minify(
- files,
- {
- //compress: {
- //arrows : true,
- //booleans : true,
- //collapse_vars : true,
- //comparisons : true,
- //computed_props: true,
- //conditionals : true,
- //dead_code : true,
- //drop_console : false,
- //drop_debugger : true,
- //ecma : 5,
- //evaluate : true,
- //expression : false,
- //global_defs : {},
- //hoist_funs : false,
- //hoist_props : true,
- //hoist_vars : false,
- //ie8 : false,
- //if_return : true,
- //inline : true,
- //join_vars : true,
- //keep_classnames: false,
- //keep_fargs : true,
- //keep_fnames : false,
- //keep_infinity : false,
- //loops : true,
- //negate_iife : true,
- //passes : 1,
- //properties : true,
- //pure_getters : true && "strict",
- //pure_funcs : null,
- //reduce_funcs : true,
- //reduce_vars : true,
- //sequences : true,
- //side_effects : true,
- //switches : true,
- //top_retain : null,
- //toplevel : !!(options && options["top_retain"]),
- //typeofs : true,
- //unsafe : false,
- //unsafe_arrows : false,
- //unsafe_comps : false,
- //unsafe_Function: false,
- //unsafe_math : false,
- //unsafe_methods: false,
- //unsafe_proto : false,
- //unsafe_regexp : false,
- //unsafe_undefined: false,
- //unused : true,
- //warnings : false,
- //},
- //ecma: undefined,
- //ie8: false,
- //keep_classnames: undefined,
- //keep_fnames: false,
- //mangle: {},
- //nameCache: null,
- //output: {
- //ascii_only : false,
- //beautify : false,
- //bracketize : false,
- //comments : false,
- //ecma : 5,
- //ie8 : false,
- //indent_level : 4,
- //indent_start : 0,
- //inline_script : true,
- //keep_quoted_props: false,
- //max_line_len : false,
- //preamble : null,
- //preserve_line : false,
- //quote_keys : false,
- //quote_style : 0,
- //safari10 : false,
- //semicolons : true,
- //shebang : true,
- //shorthand : undefined,
- //source_map : null,
- //webkit : false,
- //width : 80,
- //wrap_iife : false
- //},
- //parse: {
- //bare_returns : false,
- //ecma : 8,
- //expression : false,
- //filename : null,
- //html5_comments : true,
- //shebang : true,
- //strict : false,
- //toplevel : null
- //},
- //rename: undefined,
- //safari10: false,
- //sourceMap: false,
- //timings: false,
- toplevel: true //false,
- //warnings: false,
- //wrap: false
- }
- )
- if (render.error !== undefined)
- throw render.error
- return /*await*/ fs_writeFile(
- built_pathname,
- render.code,
- {encoding: 'utf-8'}
- )
- }
- )
+ let render = await disk_build(
+ pathname,
+ async temp_pathname => {
+ let files = {}
+ files[pathname] = await fs_readFile(pathname, {encoding: 'utf-8'})
+ let render = uglify_es.minify(
+ files,
+ {
+ //compress: {
+ //arrows : true,
+ //booleans : true,
+ //collapse_vars : true,
+ //comparisons : true,
+ //computed_props: true,
+ //conditionals : true,
+ //dead_code : true,
+ //drop_console : false,
+ //drop_debugger : true,
+ //ecma : 5,
+ //evaluate : true,
+ //expression : false,
+ //global_defs : {},
+ //hoist_funs : false,
+ //hoist_props : true,
+ //hoist_vars : false,
+ //ie8 : false,
+ //if_return : true,
+ //inline : true,
+ //join_vars : true,
+ //keep_classnames: false,
+ //keep_fargs : true,
+ //keep_fnames : false,
+ //keep_infinity : false,
+ //loops : true,
+ //negate_iife : true,
+ //passes : 1,
+ //properties : true,
+ //pure_getters : true && "strict",
+ //pure_funcs : null,
+ //reduce_funcs : true,
+ //reduce_vars : true,
+ //sequences : true,
+ //side_effects : true,
+ //switches : true,
+ //top_retain : null,
+ //toplevel : !!(options && options["top_retain"]),
+ //typeofs : true,
+ //unsafe : false,
+ //unsafe_arrows : false,
+ //unsafe_comps : false,
+ //unsafe_Function: false,
+ //unsafe_math : false,
+ //unsafe_methods: false,
+ //unsafe_proto : false,
+ //unsafe_regexp : false,
+ //unsafe_undefined: false,
+ //unused : true,
+ //warnings : false,
+ //},
+ //ecma: undefined,
+ //ie8: false,
+ //keep_classnames: undefined,
+ //keep_fnames: false,
+ //mangle: {},
+ //nameCache: null,
+ //output: {
+ //ascii_only : false,
+ //beautify : false,
+ //bracketize : false,
+ //comments : false,
+ //ecma : 5,
+ //ie8 : false,
+ //indent_level : 4,
+ //indent_start : 0,
+ //inline_script : true,
+ //keep_quoted_props: false,
+ //max_line_len : false,
+ //preamble : null,
+ //preserve_line : false,
+ //quote_keys : false,
+ //quote_style : 0,
+ //safari10 : false,
+ //semicolons : true,
+ //shebang : true,
+ //shorthand : undefined,
+ //source_map : null,
+ //webkit : false,
+ //width : 80,
+ //wrap_iife : false
+ //},
+ //parse: {
+ //bare_returns : false,
+ //ecma : 8,
+ //expression : false,
+ //filename : null,
+ //html5_comments : true,
+ //shebang : true,
+ //strict : false,
+ //toplevel : null
+ //},
+ //rename: undefined,
+ //safari10: false,
+ //sourceMap: false,
+ //timings: false,
+ toplevel: true //false,
+ //warnings: false,
+ //wrap: false
+ }
+ )
+ if (render.error !== undefined)
+ throw render.error
+ return /*await*/ fs_writeFile(
+ temp_pathname,
+ render.code,
+ {encoding: 'utf-8'}
+ )
+ },
+ true
)
+ console.log('getting', pathname, 'as js_min')
+ assert(render.deps.length === 0)
+ result.value = fs_readFile(render.pathname)
}
)
}
return /*await*/ this.build_cache_svg_min.get(
pathname,
async result => {
- result.value = fs_readFile(
- await disk_build(
- pathname,
- async built_pathname => {
- console.log('getting', pathname, 'as svg_min')
- let text = await fs_readFile(pathname, {encoding: 'utf-8'})
- console.log('building', built_pathname)
- let render = await svgo.optimize(text, {path: pathname})
- return /*await*/ fs_writeFile(
- built_pathname,
- render.data,
- {encoding: 'utf-8'}
- )
- }
- )
+ let render = await disk_build(
+ pathname,
+ async temp_pathname => {
+ let render = await svgo.optimize(
+ await fs_readFile(pathname, {encoding: 'utf-8'}),
+ {path: pathname}
+ )
+ return /*await*/ fs_writeFile(
+ temp_pathname,
+ render.data,
+ {encoding: 'utf-8'}
+ )
+ },
+ true
)
+ assert(render.deps.length === 0)
+ result.value = await fs_readFile(render.pathname)
+ console.log('getting', pathname, 'as svg_min')
}
)
}