return w; }; """ # Write package.json deps_dict = dict([('phosphor-' + m, 'latest') for m in modules]) package = package.replace('DEPS', json.dumps(deps_dict, indent=4)) open('package.json', 'wt').write(package) # Install subprocess.check_call(['npm', 'install'], cwd=THIS_DIR) # Create index.js code = '' # for m in modules: # code += 'var %s = require("phosphor-%s");\n' % (m, m) code += 'window.phosphor = {};\n' for m in modules: code += 'window.phosphor.%s = require("phosphor-%s");\n' % (m, m) code += CODE open('index.js', 'wt').write(code) # Create bundle subprocess.check_call(['npm', 'install', 'browserify', 'browserify-css', 'uglify'], cwd=THIS_DIR) subprocess.check_call(['browserify', '-g', '[', 'browserify-css', '--minify=true', ']', 'index.js', '-o', 'phosphor-all.js'], cwd=THIS_DIR) subprocess.check_call(['uglify', '-s', 'phosphor.js', '-o', 'phosphor-all.min.js'], cwd=THIS_DIR) # Strip comments in non-minified text = open('phosphor-all.js', 'rt').read() open('phosphor-all.js', 'wt').write(minify(text, False))
# Write package spec so npm knows our dependencies write(op.join(WORK_DIR, "package.json"), PACKAGE) # Install/update dependencies check_call(["npm", "install"]) # Write our index file (needs previous step) write(op.join(WORK_DIR, "index.js"), create_index()) # Create bundle check_call(["npm", "run", "bundle"]) ## Produce dist result # Get sources phosphor_js = read(op.join(WORK_DIR, "phosphor-all.js")) phosphor_css = read(op.join(WORK_DIR, "node_modules/phosphor/styles/base.css")) phosphor_license = read(op.join(WORK_DIR, "node_modules/phosphor/LICENSE")) phosphor_license = "/*\n%s\n*/\n" % phosphor_license.strip() # Process JS asset js = phosphor_license + minify(phosphor_js, False) write(op.join(DIST_DIR, "phosphor-all.js"), js) # Process CSS asset css = phosphor_css + read(op.join(THIS_DIR, "more_phosphor.css")) css = css_prefixer(minify(css, False)) css = "/* Phosphor CSS, prefixed for Flexx */\n\n" + phosphor_license + css write(op.join(DIST_DIR, "phosphor-all.css"), css)
# Write package spec so npm knows our dependencies write(op.join(WORK_DIR, 'package.json'), PACKAGE) # Install/update dependencies check_call(['npm', 'install']) # Write our index file (needs previous step) write(op.join(WORK_DIR, 'index.js'), create_index()) # Create bundle check_call(['npm', 'run', 'bundle']) ## Produce dist result # Get sources phosphor_js = read(op.join(WORK_DIR, 'phosphor-all.js')) phosphor_css = read(op.join(WORK_DIR, 'node_modules/phosphor/styles/base.css')) phosphor_license = read(op.join(WORK_DIR, 'node_modules/phosphor/LICENSE')) phosphor_license = '/*\n%s\n*/\n' % phosphor_license.strip() # Process JS asset js = phosphor_license + minify(phosphor_js, False) write(op.join(DIST_DIR, 'phosphor-all.js'), js) # Process CSS asset css = phosphor_css + read(op.join(THIS_DIR, 'more_phosphor.css')) css = css_prefixer(minify(css, False)) css = "/* Phosphor CSS, prefixed for Flexx */\n\n" + phosphor_license + css write(op.join(DIST_DIR, 'phosphor-all.css'), css)