Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@christianliebel/paint

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@christianliebel/paint

Open-Source, Web Components-based remake of MS Paint using modern web capabilities.

  • 1.3.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
24
increased by242.86%
Maintainers
1
Weekly downloads
 
Created
Source

Paint: An open-source, Web Components-based remake of MS Paint using modern web capabilities

Node.js CI Known Vulnerabilities GitHub

Paint is back—right in your browser! Try it on paint.js.org.

Paint

This project aims to demonstrate modern web capabilities and Web Component-based application architectures on the example of a productivity app dinosaur: Paint. All offline-capable and installable, just as Progressive Web Apps should be.

PLEASE NOTE

This project is in an early state. Not all tools and actions are implemented right now. Your help and feedback are wanted!

Modern Web Technology

This project demonstrates the use of:

Goals

  • This implementation tries to stick as closely as possible to the original Paint for Windows 95—not more, but also not less. You might want to check out Felix Rieseberg’s windows95 to run the original Paint.
  • This implementation should stay smaller (= transferred bytes) than Paint’s executable size of 340K.
  • Everything must be achieved with web technology only, so no Cordova/Capacitor or Electron/Tauri builds. Features that are not exposed to the web must be disabled in the menu.
  • Where modern web APIs are used, they should be progressively enhanced.

Setup

  1. Clone this repository
  2. Run npm i
  3. Run npm start
  4. Done!

Using the Web Component

Paint is available as a web component, so you can easily embed it into other applications or websites.

  1. Install the library
    • Download the npm package @christianliebel/paint and register the elements by importing the library: import '@christianliebel/paint';
    • Alternatively, use a service like unpkg.com: <script src="https://unpkg.com/@christianliebel/paint/dist/elements/index.js" type="module"></script>
  2. Use the <paint-app> component in your application.
  3. Optional: If you want to react to changes of the document title, listen to the titlechange event. You can find the updated title in the event.details.title property.
  4. Done!

Wait, I’ve seen this before

You’re right! The awesome JSPaint (GitHub) has been around for a long time and is, by far, more complete. In contrast to JSPaint, this project is offline-capable and makes use of modern web platform APIs.

License

This project is provided for educational purposes only. It is not affiliated with and has not been approved by Microsoft.

FAQs

Package last updated on 16 May 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc