This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
218 lines
4.9 KiB
218 lines
4.9 KiB
require! {'./config': {banner}, fs: {readFile, writeFile, unlink}, path, webpack} |
|
|
|
list = <[ |
|
es5 |
|
es6.symbol |
|
es6.object.assign |
|
es6.object.is |
|
es6.object.set-prototype-of |
|
es6.object.to-string |
|
es6.object.freeze |
|
es6.object.seal |
|
es6.object.prevent-extensions |
|
es6.object.is-frozen |
|
es6.object.is-sealed |
|
es6.object.is-extensible |
|
es6.object.get-own-property-descriptor |
|
es6.object.get-prototype-of |
|
es6.object.keys |
|
es6.object.get-own-property-names |
|
es6.function.name |
|
es6.function.has-instance |
|
es6.number.constructor |
|
es6.number.epsilon |
|
es6.number.is-finite |
|
es6.number.is-integer |
|
es6.number.is-nan |
|
es6.number.is-safe-integer |
|
es6.number.max-safe-integer |
|
es6.number.min-safe-integer |
|
es6.number.parse-float |
|
es6.number.parse-int |
|
es6.math.acosh |
|
es6.math.asinh |
|
es6.math.atanh |
|
es6.math.cbrt |
|
es6.math.clz32 |
|
es6.math.cosh |
|
es6.math.expm1 |
|
es6.math.fround |
|
es6.math.hypot |
|
es6.math.imul |
|
es6.math.log10 |
|
es6.math.log1p |
|
es6.math.log2 |
|
es6.math.sign |
|
es6.math.sinh |
|
es6.math.tanh |
|
es6.math.trunc |
|
es6.string.from-code-point |
|
es6.string.raw |
|
es6.string.trim |
|
es6.string.code-point-at |
|
es6.string.ends-with |
|
es6.string.includes |
|
es6.string.repeat |
|
es6.string.starts-with |
|
es6.string.iterator |
|
es6.array.from |
|
es6.array.of |
|
es6.array.iterator |
|
es6.array.species |
|
es6.array.copy-within |
|
es6.array.fill |
|
es6.array.find |
|
es6.array.find-index |
|
es6.regexp.constructor |
|
es6.regexp.flags |
|
es6.regexp.match |
|
es6.regexp.replace |
|
es6.regexp.search |
|
es6.regexp.split |
|
es6.promise |
|
es6.map |
|
es6.set |
|
es6.weak-map |
|
es6.weak-set |
|
es6.reflect.apply |
|
es6.reflect.construct |
|
es6.reflect.define-property |
|
es6.reflect.delete-property |
|
es6.reflect.enumerate |
|
es6.reflect.get |
|
es6.reflect.get-own-property-descriptor |
|
es6.reflect.get-prototype-of |
|
es6.reflect.has |
|
es6.reflect.is-extensible |
|
es6.reflect.own-keys |
|
es6.reflect.prevent-extensions |
|
es6.reflect.set |
|
es6.reflect.set-prototype-of |
|
es6.date.to-string |
|
es6.typed.array-buffer |
|
es6.typed.data-view |
|
es6.typed.int8-array |
|
es6.typed.uint8-array |
|
es6.typed.uint8-clamped-array |
|
es6.typed.int16-array |
|
es6.typed.uint16-array |
|
es6.typed.int32-array |
|
es6.typed.uint32-array |
|
es6.typed.float32-array |
|
es6.typed.float64-array |
|
es7.array.includes |
|
es7.string.at |
|
es7.string.pad-left |
|
es7.string.pad-right |
|
es7.string.trim-left |
|
es7.string.trim-right |
|
es7.regexp.escape |
|
es7.object.get-own-property-descriptors |
|
es7.object.values |
|
es7.object.entries |
|
es7.map.to-json |
|
es7.set.to-json |
|
web.immediate |
|
web.dom.iterable |
|
web.timers |
|
core.dict |
|
core.get-iterator-method |
|
core.get-iterator |
|
core.is-iterable |
|
core.delay |
|
core.function.part |
|
core.object.is-object |
|
core.object.classof |
|
core.object.define |
|
core.object.make |
|
core.number.iterator |
|
core.string.escape-html |
|
core.string.unescape-html |
|
core.log |
|
js.array.statics |
|
]> |
|
|
|
experimental = <[ |
|
es6.date.to-string |
|
es6.typed.array-buffer |
|
es6.typed.data-view |
|
es6.typed.int8-array |
|
es6.typed.uint8-array |
|
es6.typed.uint8-clamped-array |
|
es6.typed.int16-array |
|
es6.typed.uint16-array |
|
es6.typed.int32-array |
|
es6.typed.uint32-array |
|
es6.typed.float32-array |
|
es6.typed.float64-array |
|
]> |
|
|
|
libraryBlacklist = <[ |
|
es6.object.to-string |
|
es6.function.name |
|
es6.regexp.constructor |
|
es6.regexp.flags |
|
es6.regexp.match |
|
es6.regexp.replace |
|
es6.regexp.search |
|
es6.regexp.split |
|
es6.number.constructor |
|
]> |
|
|
|
es5SpecialCase = <[ |
|
es6.object.freeze |
|
es6.object.seal |
|
es6.object.prevent-extensions |
|
es6.object.is-frozen |
|
es6.object.is-sealed |
|
es6.object.is-extensible |
|
es6.string.trim |
|
]> |
|
|
|
module.exports = ({modules = [], blacklist = [], library = no}, next)!-> |
|
let @ = modules.reduce ((memo, it)-> memo[it] = on; memo), {} |
|
check = (err)-> |
|
if err |
|
next err, '' |
|
on |
|
|
|
if @exp => for experimental => @[..] = on |
|
if @es5 => for es5SpecialCase => @[..] = on |
|
for ns of @ |
|
if @[ns] |
|
for name in list |
|
if name.indexOf("#ns.") is 0 and name not in experimental |
|
@[name] = on |
|
|
|
if library => blacklist ++= libraryBlacklist |
|
for ns in blacklist |
|
for name in list |
|
if name is ns or name.indexOf("#ns.") is 0 |
|
@[name] = no |
|
|
|
TARGET = "./__tmp#{ Math.random! }__.js" |
|
err, info <~! webpack do |
|
entry: list.filter(~> @[it]).map ~> |
|
path.join(__dirname, '../', "#{ if library => '/library' else '' }/modules/#it") |
|
output: |
|
path: '' |
|
filename: TARGET |
|
if check err => return |
|
err, script <~! readFile TARGET |
|
if check err => return |
|
err <~! unlink TARGET |
|
if check err => return |
|
|
|
next null """ |
|
#banner |
|
!function(__e, __g, undefined){ |
|
'use strict'; |
|
#script |
|
// CommonJS export |
|
if(typeof module != 'undefined' && module.exports)module.exports = __e; |
|
// RequireJS export |
|
else if(typeof define == 'function' && define.amd)define(function(){return __e}); |
|
// Export to global object |
|
else __g.core = __e; |
|
}(1, 1); |
|
"""
|
|
|