feat(cloudron): add tirreno package artifacts
- Add CloudronStack/output/CloudronPackages-Artifacts/tirreno/ directory and its contents - Includes package manifest, Dockerfile, source code, documentation, and build artifacts - Add tirreno-1761840148.tar.gz as a build artifact - Add tirreno-cloudron-package-1761841304.tar.gz as the Cloudron package - Include all necessary files for the tirreno Cloudron package This adds the complete tirreno Cloudron package artifacts to the repository.
This commit is contained in:
		@@ -0,0 +1,27 @@
 | 
			
		||||
# Logs
 | 
			
		||||
logs
 | 
			
		||||
*.log
 | 
			
		||||
 | 
			
		||||
# Runtime data
 | 
			
		||||
pids
 | 
			
		||||
*.pid
 | 
			
		||||
*.seed
 | 
			
		||||
 | 
			
		||||
# Directory for instrumented libs generated by jscoverage/JSCover
 | 
			
		||||
lib-cov
 | 
			
		||||
 | 
			
		||||
# Coverage directory used by tools like istanbul
 | 
			
		||||
coverage
 | 
			
		||||
 | 
			
		||||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
 | 
			
		||||
.grunt
 | 
			
		||||
 | 
			
		||||
# Compiled binary addons (http://nodejs.org/api/addons.html)
 | 
			
		||||
build/Release
 | 
			
		||||
 | 
			
		||||
# Dependency directory
 | 
			
		||||
# Deployed apps should consider commenting this line out:
 | 
			
		||||
# see https://npmjs.org/doc/faq.html#Should-I-check-my-node_modules-folder-into-git
 | 
			
		||||
node_modules
 | 
			
		||||
 | 
			
		||||
.idea
 | 
			
		||||
@@ -0,0 +1,17 @@
 | 
			
		||||
{
 | 
			
		||||
    "curly": true,
 | 
			
		||||
    "eqeqeq": true,
 | 
			
		||||
    "immed": true,
 | 
			
		||||
    "latedef": true,
 | 
			
		||||
    "newcap": true,
 | 
			
		||||
    "noarg": true,
 | 
			
		||||
    "sub": true,
 | 
			
		||||
    "undef": true,
 | 
			
		||||
    "boss": true,
 | 
			
		||||
    "eqnull": true,
 | 
			
		||||
    "node": true,
 | 
			
		||||
    "predef": [
 | 
			
		||||
        "describe",
 | 
			
		||||
        "it"
 | 
			
		||||
    ]
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,6 @@
 | 
			
		||||
language: node_js
 | 
			
		||||
node_js:
 | 
			
		||||
  - "4"
 | 
			
		||||
  - "5"
 | 
			
		||||
  - "6"
 | 
			
		||||
  - "7"
 | 
			
		||||
@@ -0,0 +1,75 @@
 | 
			
		||||
var regex = /((([a-zA-Z]+(-[a-zA-Z0-9]+){0,2})|\*)(;q=[0-1](\.[0-9]+)?)?)*/g;
 | 
			
		||||
 | 
			
		||||
var isString = function(s){
 | 
			
		||||
    return typeof(s) === 'string';
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
function parse(al){
 | 
			
		||||
    var strings = (al || "").match(regex);
 | 
			
		||||
    return strings.map(function(m){
 | 
			
		||||
        if(!m){
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        var bits = m.split(';');
 | 
			
		||||
        var ietf = bits[0].split('-');
 | 
			
		||||
        var hasScript = ietf.length === 3;
 | 
			
		||||
 | 
			
		||||
        return {
 | 
			
		||||
            code: ietf[0],
 | 
			
		||||
            script: hasScript ? ietf[1] : null,
 | 
			
		||||
            region: hasScript ? ietf[2] : ietf[1],
 | 
			
		||||
            quality: bits[1] ? parseFloat(bits[1].split('=')[1]) : 1.0
 | 
			
		||||
        };
 | 
			
		||||
    }).filter(function(r){
 | 
			
		||||
            return r;
 | 
			
		||||
        }).sort(function(a, b){
 | 
			
		||||
            return b.quality - a.quality;
 | 
			
		||||
        });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function pick(supportedLanguages, acceptLanguage, options){
 | 
			
		||||
    options = options || {};
 | 
			
		||||
 | 
			
		||||
    if (!supportedLanguages || !supportedLanguages.length || !acceptLanguage) {
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if(isString(acceptLanguage)){
 | 
			
		||||
        acceptLanguage = parse(acceptLanguage);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    var supported = supportedLanguages.map(function(support){
 | 
			
		||||
        var bits = support.split('-');
 | 
			
		||||
        var hasScript = bits.length === 3;
 | 
			
		||||
 | 
			
		||||
        return {
 | 
			
		||||
            code: bits[0],
 | 
			
		||||
            script: hasScript ? bits[1] : null,
 | 
			
		||||
            region: hasScript ? bits[2] : bits[1]
 | 
			
		||||
        };
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    for (var i = 0; i < acceptLanguage.length; i++) {
 | 
			
		||||
        var lang = acceptLanguage[i];
 | 
			
		||||
        var langCode = lang.code.toLowerCase();
 | 
			
		||||
        var langRegion = lang.region ? lang.region.toLowerCase() : lang.region;
 | 
			
		||||
        var langScript = lang.script ? lang.script.toLowerCase() : lang.script;
 | 
			
		||||
        for (var j = 0; j < supported.length; j++) {
 | 
			
		||||
            var supportedCode = supported[j].code.toLowerCase();
 | 
			
		||||
            var supportedScript = supported[j].script ? supported[j].script.toLowerCase() : supported[j].script;
 | 
			
		||||
            var supportedRegion = supported[j].region ? supported[j].region.toLowerCase() : supported[j].region;
 | 
			
		||||
            if (langCode === supportedCode &&
 | 
			
		||||
              (options.loose || !langScript || langScript === supportedScript) &&
 | 
			
		||||
              (options.loose  || !langRegion || langRegion === supportedRegion)) {
 | 
			
		||||
                return supportedLanguages[j];
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return null;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//  [!] do not use module exports here [dev]
 | 
			
		||||
//  module.exports.parse = parse;
 | 
			
		||||
//  module.exports.pick = pick;
 | 
			
		||||
@@ -0,0 +1,8 @@
 | 
			
		||||
/**
 | 
			
		||||
 * Minified by jsDelivr using Terser v5.3.0.
 | 
			
		||||
 * Original file: /npm/accept-language-parser@1.5.0/index.js
 | 
			
		||||
 *
 | 
			
		||||
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 | 
			
		||||
 */
 | 
			
		||||
var regex=/((([a-zA-Z]+(-[a-zA-Z0-9]+){0,2})|\*)(;q=[0-1](\.[0-9]+)?)?)*/g,isString=function(r){return"string"==typeof r};function parse(r){return(r||"").match(regex).map((function(r){if(r){var e=r.split(";"),t=e[0].split("-"),o=3===t.length;return{code:t[0],script:o?t[1]:null,region:o?t[2]:t[1],quality:e[1]?parseFloat(e[1].split("=")[1]):1}}})).filter((function(r){return r})).sort((function(r,e){return e.quality-r.quality}))}function pick(r,e,t){if(t=t||{},!r||!r.length||!e)return null;isString(e)&&(e=parse(e));for(var o=r.map((function(r){var e=r.split("-"),t=3===e.length;return{code:e[0],script:t?e[1]:null,region:t?e[2]:e[1]}})),n=0;n<e.length;n++)for(var i=e[n],s=i.code.toLowerCase(),a=i.region?i.region.toLowerCase():i.region,l=i.script?i.script.toLowerCase():i.script,p=0;p<o.length;p++){var u=o[p].code.toLowerCase(),c=o[p].script?o[p].script.toLowerCase():o[p].script,g=o[p].region?o[p].region.toLowerCase():o[p].region;if(s===u&&(t.loose||!l||l===c)&&(t.loose||!a||a===g))return r[p]}return null}module.exports.parse=parse,module.exports.pick=pick;
 | 
			
		||||
//# sourceMappingURL=/sm/3dbf8f78a5247d84e5a2fab27d515fa29f68466d93f8f7405463d6257adc312d.map
 | 
			
		||||
		Reference in New Issue
	
	Block a user