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:
2025-10-30 11:43:06 -05:00
parent 0ce353ea9d
commit 91d52d2de5
1692 changed files with 202851 additions and 0 deletions

View File

@@ -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

View File

@@ -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"
]
}

View File

@@ -0,0 +1,6 @@
language: node_js
node_js:
- "4"
- "5"
- "6"
- "7"

View File

@@ -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;

View File

@@ -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