Skip to content

the-bootcamp-project/Native-Desktop-Application-with-Neutralinojs-Svelte-TypeScript-Webpack

Repository files navigation

How to Build and Publish Modern Native Desktop Application

with Svelte TailwindCSS TypeScript and Webpack

πŸ¦„ About πŸ¦„

Description

Project Links

Minimum Viable Product: What is what we want?

  • What are the goals?
    • Modern Web techniques
      • TypeScript Support
      • Svelte Components
        • Storybook UI Testing and Presentation
      • TailwindCSS Styling
      • with Webpack bundeling
    • Smart reload Development
    • a Static Application Security Code Analyzing
      • with ESLint (eslint-plugin-security)
    • A Test Driven Development approche
      • with Jest
    • Automation (CI/CD)
      • Linting / Prettier
      • Testing
      • Building / Packaging
      • Deployment / Publishing
    • a on Board Documentation for our Users
  • Sense (Why do these goals exist?)
    • Explanation #1
    • Explanation #2
    • Explanation #3
  • Purpose (What should be done with it?)
    • Use Case #1
    • Use Case #2
    • Use Case #3

πŸš€ Getting Started πŸš€

For more examples, please refer to the Documentation

βœ‹ Prerequisites βœ‹

Ensure you have

and, install other global dependencies

curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn

and

sudo yarn global add cross-env concurrently http-server --prefix /usr/local

Get the Boilerplate

Boilerplate for new projects only, as a contributor please scroll down to: 🀝 Contribute 🀝

git clone --depth 1 --branch main https://gitlab.com/the-bootcamp-project/frameworks/native-desktop.git hello_desktop

Change directory

cd hello_desktop

Remove the old repository and create a new one

rm -rf .git && git init .

Now it's your's!

πŸ’ͺ Installation πŸ’ͺ

Run the following:

  • yarn install to install dependencies.
  • yarn run git:sub:merge (starts automatic after yarn install) to update necessary git submodules

if you want to use npm, replace yarn ... with npm ...

See Installation Documentation

😏 Development 😏

Run the following:

  • yarn run dev to start the development server

if you want to use npm, replace yarn ... with npm ...

See Development Documentation

πŸ€“ Linting πŸ€“

Run the following:

  • yarn run format to prettier the source-code
  • yarn run lint to start read-only linting from js, ts and svelte files.
  • yarn run lint:svelte to start linting for Svelte Components
  • yarn run lint:fix to start read-write linting, see above and fix warnings/errors.

if you want to use npm, replace yarn ... with npm ...

See Linting Documentation

🧐 Testing 🧐

Run the following:

  • yarn run test:smoke to start a local HTTP-Server to preview the build
  • yarn run test:coverage to start unit-testing and show coverage stets
  • yarn run test:unit to start unit-testing

if you want to use npm, replace yarn ... with npm ...

See Testing Documentation

🀩 Building 🀩

Run the following:

  • yarn run build:stats (runs linting and fix first) to start building, create build-profile and shown bundling states
  • yarn run build (runs linting and fix first) to start building

if you want to use npm, replace yarn ... with npm ...

See Building Documentation

πŸ₯³ Publishing πŸ₯³

Then run the following:

  • yarn run publish (creates ./public) copy content from ./build to ./public - GitLab Pages Example

if you want to use npm, replace yarn ... with npm ...

See Publishing Documentation

⭐️ Features ⭐️

😎 Built With 😎

Electron TypeScript eslint prettier jest Svelte Tailwind CSS Webpack tbcp

πŸ“‘ Changelog πŸ“‘

See CHANGELOG for more information.

πŸ˜… Support πŸ˜…

Don't be shy! You are also welcome to open a post in the issue registar for simple questions.

πŸ“‹ Roadmap πŸ“‹

  • auto-versioning
  • auto-changelogging

See the open issues for a list of proposed features (and known issues).

🀝 Contribute 🀝

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

Please read the contribution guidelines first.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ† Acknowledgements πŸ†

Thanks for these awesome resources that were used during the development of the Bootcamp: Modern Native Desktop Application Framework:

πŸ“œ License πŸ“œ

See LICENSE for more information.

πŸ’Œ Contact πŸ’Œ

Bootcamp contributors - contributors @ bootcamp-project .com