Unverified Commit 0e639f2c authored by Jean-Baptiste Giraudeau's avatar Jean-Baptiste Giraudeau
Browse files

gancio: init at 1.19.0

Gancio is a shared agenda for local communities: https://gancio.org/
parent 9bb1e757
Loading
Loading
Loading
Loading
+145 −0
Original line number Diff line number Diff line
{
  "name": "gancio",
  "version": "1.19.0",
  "description": "A shared agenda for local communities",
  "author": "lesion",
  "scripts": {
    "build": "nuxt build --modern",
    "start:inspect": "NODE_ENV=production node --inspect node_modules/.bin/nuxt start --modern",
    "dev": "nuxt dev",
    "dev:inspect": "node --inspect node_modules/.bin/nuxt dev",
    "test-sqlite": "export NODE_ENV=test; export DB=sqlite; jest --forceExit --runInBand --bail=1 --testTimeout=10000",
    "test-mariadb": "export NODE_ENV=test; export DB=mariadb; jest  --runInBand  --bail=1",
    "test-postgresql": "export NODE_ENV=test; export DB=postgresql; jest  --runInBand  --bail=1",
    "start": "nuxt start --modern",
    "doc": "cd docs && bundle exec jekyll b",
    "doc:dev": "cd docs && bundle exec jekyll s --drafts",
    "migrate": "NODE_ENV=production sequelize db:migrate",
    "migrate:dev": "sequelize db:migrate",
    "analyze": "nuxt build --analyze",
    "build:wc": "cd webcomponents; yarn build:lib; cp dist/gancio-events.js ../wp-plugin/js/gancio-events.es.js; cp dist/gancio-events.js ../assets/gancio-events.es.js; cp dist/gancio-events.js ../docs/assets/js/gancio-events.es.js; cp dist/gancio-events.js ../static/gancio-events.es.js;"
  },
  "files": [
    "server/",
    "assets/",
    "modules/",
    "nuxt.config.js",
    "static/",
    "views/",
    "locales/email/",
    "locales/",
    "store/",
    ".nuxt/",
    "gancio_plugins",
    "yarn.lock"
  ],
  "engines": {
    "node": ">=14 <=22"
  },
  "dependencies": {
    "@mdi/js": "^7.4.47",
    "@nuxtjs/auth": "^4.9.1",
    "@nuxtjs/axios": "^5.13.6",
    "@nuxtjs/i18n": "^7.3.1",
    "@nuxtjs/sitemap": "^2.4.0",
    "@peertube/http-signature": "^1.7.0",
    "accept-language": "^3.0.18",
    "bcryptjs": "^2.4.3",
    "body-parser": "^2.0.0-beta.2",
    "cookie-parser": "^1.4.6",
    "cookie-session": "^2.1.0",
    "cookie-universal-nuxt": "^2.2.2",
    "cors": "^2.8.5",
    "dayjs": "^1.11.11",
    "dompurify": "^3.1.5",
    "email-templates": "^11.1.1",
    "express": "^4.19.2",
    "express-async-errors": "^3.1.1",
    "express-rate-limit": "^7.3.1",
    "https-proxy-agent": "^7.0.4",
    "ical.js": "^2.0.1",
    "ics": "^3.7.6",
    "jsdom": "^24.1.0",
    "leaflet": "^1.9.4",
    "linkify-html": "^4.1.3",
    "linkifyjs": "4.1.3",
    "lodash": "^4.17.21",
    "luxon": "^3.4.4",
    "mariadb": "^2.5.6",
    "memory-cache": "^0.2.0",
    "microformat-node": "^2.0.4",
    "minify-css-string": "^1.0.0",
    "mkdirp": "^3.0.1",
    "multer": "^1.4.5-lts.1",
    "nuxt-edge": "2.17.2-28258581.6132947",
    "oauth2orize": "^1.12.0",
    "passport": "^0.7.0",
    "passport-anonymous": "^1.0.1",
    "passport-custom": "^1.1.1",
    "passport-http": "^0.3.0",
    "passport-http-bearer": "^1.0.1",
    "passport-oauth2-client-password": "^0.1.2",
    "passport-oauth2-client-public": "^0.0.1",
    "pg": "^8.12.0",
    "semver": "^7.6.2",
    "sequelize": "^6.37.3",
    "sequelize-slugify": "^1.6.2",
    "sharp": "^0.27.2",
    "sqlite3": "^5.1.7",
    "telegraf": "^4.16.3",
    "tiptap": "^1.32.2",
    "tiptap-extensions": "^1.35.2",
    "umzug": "^2.3.0",
    "v-calendar": "^2.4.2",
    "vue2-leaflet": "^2.7.1",
    "vuetify": "2.6.14",
    "winston": "^3.13.0",
    "winston-daily-rotate-file": "^5.0.0",
    "yargs": "^17.7.2"
  },
  "devDependencies": {
    "@nuxtjs/vuetify": "^1.12.3",
    "@vue/language-plugin-pug": "^1.8.27",
    "jest": "^29.7.0",
    "jest-environment-node": "^29.7.0",
    "prettier": "^2.8.8",
    "pug": "^3.0.3",
    "pug-plain-loader": "^1.1.0",
    "sass": "^1.77.6",
    "sequelize-cli": "^6.6.2",
    "supertest": "^6.3.4",
    "webpack": "^4.47.0",
    "webpack-cli": "^4.10.0"
  },
  "resolutions": {
    "vue": "2.7.16",
    "vue-template-compiler": "2.7.16",
    "vue-server-renderer": "2.7.16"
  },
  "bin": {
    "gancio": "server/cli.js"
  },
  "bugs": {
    "email": "lesion@autistici.org",
    "url": "https://framagit.org/les/gancio/issues"
  },
  "homepage": "https://gancio.org",
  "keywords": [
    "AP",
    "gancio",
    "events",
    "federation",
    "activitypub",
    "event",
    "server",
    "self-host",
    "app"
  ],
  "license": "AGPL-3.0",
  "repository": {
    "type": "git",
    "url": "https://framagit.org/les/gancio"
  },
  "snyk": true,
  "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
}
+101 −0
Original line number Diff line number Diff line
{
  mkYarnPackage,
  fetchFromGitLab,
  fetchYarnDeps,
  python3,
  pkg-config,
  nodePackages,
  node-gyp,
  vips,
  lib,
  nixosTests,
}:
mkYarnPackage rec {
  inherit (nodePackages) nodejs;
  version = "1.19.0";

  src = fetchFromGitLab {
    domain = "framagit.org";
    owner = "les";
    repo = "gancio";
    rev = "v${version}";
    hash = "sha256-cMUM7jqLsrw57gySiIK7DBZA7lPiXL2HAadMk+7wkzs=";
  };

  offlineCache = fetchYarnDeps {
    yarnLock = src + "/yarn.lock";
    hash = "sha256-ONPvBvT3zf8IVkIEOmiQgcjI7zPCFwDuQfo+fOvDGzM=";
  };

  packageJSON = ./package.json;

  # for pkg-config dependencies:
  yarnPreBuild = ''
    export npm_config_nodedir=${nodePackages.nodejs}
  '';
  # So that sqlite can be found:
  pkgConfig.sqlite3 = {
    nativeBuildInputs = [
      pkg-config
      nodePackages.prebuild-install
      node-gyp
      python3
    ];
    postInstall = ''
      yarn --offline run install
    '';
  };
  # Sharp need to find a vips library
  pkgConfig.sharp = {
    nativeBuildInputs = [
      pkg-config
      python3
      node-gyp
      nodePackages.semver
    ];
    buildInputs = [ vips ];
    postInstall = ''
      yarn --offline run install
    '';
  };

  # build need a writeable node_modules
  configurePhase = ''
    runHook preConfigure

    cp -r $node_modules node_modules
    chmod -R +w node_modules

    runHook postConfigure
  '';

  buildPhase = ''
    runHook preBuild

    export HOME=$(mktemp -d)
    yarn --offline build
    yarn --offline pack --filename gancio.tgz
    mkdir -p deps/gancio
    tar -C deps/gancio/ --strip-components=1 -xf gancio.tgz
    rm gancio.tgz

    runHook postBuild
  '';

  passthru = {
    updateScript = ./update.sh;
    tests = {
      inherit (nixosTests) gancio;
    };
  };

  meta = {
    description = "Shared agenda for local communities, running on nodejs";
    homepage = "https://gancio.org/";
    changelog = "https://framagit.org/les/gancio/-/raw/master/CHANGELOG.md";
    license = lib.licenses.agpl3Plus;
    platforms = lib.platforms.linux;
    mainProgram = "gancio";
    maintainers = with lib.maintainers; [ jbgi ];
  };
}
+45 −0
Original line number Diff line number Diff line
{
  mkYarnPackage,
  nodejs,
  fetchFromGitLab,
  fetchYarnDeps,
  lib,
}:
mkYarnPackage rec {
  inherit nodejs;
  version = "1.0.4";

  src = fetchFromGitLab {
    domain = "framagit.org";
    owner = "bcn.convocala";
    repo = "gancio-plugin-telegram-bridge";
    rev = "v${version}";
    hash = "sha256-Da8PxCX1Z1dKJu9AiwdRDfb1r1P2KiZe8BClYB9Rz48=";
  };

  offlineCache = fetchYarnDeps {
    inherit yarnLock;
    hash = "sha256-BcRVmVA5pnFzpg2gN/nKLzENnoEdwrE0EgulDizq8Ok=";
  };

  packageJSON = ./package.json;

  # upstream doesn't provide a yarn.lock file
  yarnLock = ./yarn.lock;

  doDist = false;

  postInstall = ''
    rmdir $out/bin
    ln -s $out/libexec/gancio-plugin-telegram/deps/gancio-plugin-telegram/index.js $out/
    ln -s $out/libexec/gancio-plugin-telegram/node_modules $out/
  '';

  meta = {
    description = "Telegram bridge for Gancio, republishes content to Telegram channels or groups";
    homepage = "https://framagit.org/bcn.convocala/gancio-plugin-telegram-bridge";
    license = lib.licenses.agpl3Plus;
    platforms = lib.platforms.linux;
    maintainers = with lib.maintainers; [ jbgi ];
  };
}
+16 −0
Original line number Diff line number Diff line
{
  "name": "gancio-plugin-telegram",
  "version": "1.0.1",
  "description": "Telegram bridge plugin for Gancio",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "AGPL-3.0-or-later",
  "dependencies": {
    "telegraf": "^4.8.5",
    "dompurify": "^3.0.2",
    "jsdom": "^21.1.0"
  }
}
+452 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading