Giter Club home page Giter Club logo

ossapp's Introduction

pkgx.dev

ossapp is the graphical app complement to pkgx.

Under the hood ossapp installs and manages your packages with pkgx while exposing additional functionality, features and informational touches that complement and expand upon the nature of package management.

To install ossapp, visit: https://pkgx.app and download the latest version. ossapp auto-updates itself.

 

Contributing

If you have suggestions or ideas, start a discussion. If we agree, we’ll move it to an issue. Bug fixes straight to pull request or issue please!

Anatomy

ossapp is a Svelte Electron app. The electron “backend” can be found in electron/, the Svelte “frontend” is in svelte/.

The following technologies are used:

Hacking on ossapp

xc setup  # only required once
xc build  # only required if you modify the backend
xc dev    # opens the app in dev mode

Make sure to run xc prettier before submitting pull-requests.

 

i18n (Translating ossapp)

We’d love your help in translating the gui into different languages. The translation related source code are all in ./svelte/src/libs/translations/*.

To add a new language:

  1. Create a json file in ./svelte/src/libs/translations/languages/[lang].json. Copy the contents of en.json then translate.
  2. Import the new language in ./svelte/src/libs/translations/index.ts. More instructions are in that file.

 

Tasks

The following can be run with xc, eg. xc build.

Setup

Setup ensures that required configuration placeholder files are present and installs dependencies.

if [ ! -e electron/config.json ]; then
  echo '{}' > electron/config.json
fi

if [ ! -e modules/desktop/.env ]; then
  cp .env.example .env
fi

npm install
npx electron-rebuild
npm run prepare

Build

npm install
npm run package

Build:lite

Builds only a .app that is not codesigned or notarized. Ideal for local testing.

export CSC_IDENTITY_AUTO_DISCOVER=false
export MAC_BUILD_TARGET=dir
export NOTARIZE=false
npm install
npm run package

Dev

npm run dev

Prettier

npm run format

Dist

npm install
npm run predist
npm run dist

Check

Runs the typescript compiler and linter.

npm run check
npm run lint

e2e

Runs the webdriver.io end to end tests. Assumes that xc build has already been executed.

npm run e2e

Bump

Inputs: PRIORITY

if ! git diff-index --quiet HEAD --; then
  echo "error: dirty working tree" >&2
  exit 1
fi

if [ "$(git rev-parse --abbrev-ref HEAD)" != "main" ]; then
  echo "error: requires main branch" >&2
  exit 1
fi

V=$(node -p "require('./package.json').version")
V=$(pkgx semverator bump $V $PRIORITY)

if ! grep -F "\"version\": \"$V\",$" package.json; then
  sed -i.bak -e "s/\"version\": .*,$/\"version\": \"$V\",/" package.json
  rm package.json.bak
  git add package.json
  git commit -m "bump $V" --gpg-sign
fi

git push origin main

Release

V="$(node -p "require('./package.json').version")"
pkgx gh release create "v$V"

ossapp's People

Contributors

neilgoldman avatar getneil avatar abevier avatar tsmitty11 avatar mxcl avatar jhheider avatar ryanml avatar dependabot[bot] avatar smoothplayerr avatar sukrucildirr avatar 0xsingular avatar ivabus avatar and-ri avatar renatghoste avatar sarahjson avatar ricardoprins avatar rembranced avatar razvanazamfirei avatar olegbr12 avatar santosm01 avatar mfts avatar schmittent avatar freedive-cebu30 avatar gari7572 avatar evaeth avatar davidkorystov avatar cornishon1 avatar bulmerscrypto avatar berllx avatar andreipervikov avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.