Code Monkey home page Code Monkey logo

vslite's People

Contributors

fossprime avatar rhildred avatar theultdev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

vslite's Issues

Figma -> React Native Plugin

Figma -> React Native Plugin

  • Add button in the plugin's Export tab to generate a session
  • Plugin generates a hash based on the project ID to sync data between the plugin and VSLite
  • Plugin opens a window: (https://vslite.dev/+/figma/...)
  • VSLite clones and runs a lightweight React Native Web skeleton project
  • Create Y.JS connections between VSLite and all plugin instances
  • Compile all components in project and update as they change
  • Send components to VSLite in the following format:
{
  "./section/ComponentName.tsx": "code...",
}

Improve File Tree

  • Refactor WebContainer filesystem crawling (use chokidar?)
  • Fix visuals (top cutoff in PWA scenarios, spacing is off, etc.)
  • Add file icons (parse VSCode icon theme format)
  • Add handling of renaming files
  • Add handling of moving files

when click on a tab in the dockview the focused tab for typing doesn't change

when I click on a file in the treeview, that file becomes the active tab in the editor. When I click on a tab in the dockview the active file in the treeview becomes active. You end up with typing in the wrong file.

It looks like I need to find/create a place to call panel.api.setActive(); like happens in panel.ts when we open a file from the treeview.

AI Assistant

Hot take: it would be easier and better to support a low weight gecko style coding LLM than to deal with general extension support, to then get Intellisense for Web, which is very limited even in github.dev, it's a little better in vscode.dev

Screenshot 2023-06-08 14 08 05

This reduces the need for everything else, including the TS Language server, volar, Intellisense light... Etc.

It would run as a worker providing suggestions, I suggest davinci or gecko. We would stand out as the only ones doing that.

https://replit.com/@fossprime/feathers-llm

Search / Replace All

  • Build interface
  • Add function to crawl files matching string/regex
  • Add function to replace string/token in those files

Status Bar

  • Create StatusBar component
  • Add basic info like line, column, and selection numbers.
  • Add button to start a collaboration session.

Secrets Manager

This is a proposal how to get secrets working

  1. In localStorage keep a JSON document with the following:
- '^github.com/kat-tax/.*':
  - OPENAI_KEY: '...'
  - TWILIO_KEY: '...'
- '^gitlab.com/':
  - SERVICE_ACCOUNT: 'โ€ฆ'
- 'nsa.com/area-51-crm.git'
  - $match: 'exatct'
  - ALIEN_OS_KEY: '...'
  1. Allow users to edit it via a vslite.secrets.yaml virtual file in the root directory. The file could actually be in /tmp/.
  2. Automatically load it from localStorage on boot.

default to exact match for performance. Web containers have zero access to master local storage by default... So this is safe ceteris paribus.

Settings Sync could be accomplished with a browser extension (100KB):

Things left to consider

  • There should be a way for git to request a token and have the user grant access per cloned repo... as any cloned repo could commandeer the token.

Git clone from Glitch.com fails

I'll investigate this further... assign to me.

https://vslite.dev/~/[email protected]/git/friggin-cat-weather.git

It's the repo for https://glitch.com/~friggin-cat-weather

Screenshot 2023-06-08 22 46 55
image


This works fine, https://vslite.dev/~/gitlab.com/vblip/g4c.git
and adding my user name causes an expected password error.

Private repositories also work

Example private repo with Gitlab repo-specific deploy key:
https://vslite.dev/~/gitlab+deploy-token-2130493:[email protected]/vblip/example-private.git

Screenshot 2023-06-08 23 07 29

Editor Collaboration

  • Sync editors via Websockets and/or WebRTC Y.JS provider
  • Command to generate room using https://github.com/kat-tax/xkcd-936
  • Collaborator panel with either chosen or auto generated usernames, colors, and avatars.
  • Colored selections and cursors in editor

Example room url:

https://vslite.dev/#/fade_balcony_nimble_ribbon_mud

Initial work for this was completed in #21.

Git support

Neat project! ๐Ÿ˜ƒ

How about adding support for git commands?

This would be very intuitive - I'm always surprised when I instinctively type a git command on StackBlitz, or attempt to npm install from a git: source, and it doesn't work. ๐Ÿ˜…

(Note that I couldn't immediately get g4c to actually work on StackBlitz - the author says it should work, which presumably means it would work on WebContainers, but no luck yet. Very new project though. I opened an issue and asked.)

What else do you have planned? Just playing around for now, or do you have a loose roadmap in mind?

Download File System

  • Create hotkey and Monaco editor command to trigger
  • Zip and download all file contents in WebContainer root

Cloudflare pages deployment not using PNPM

if pnpm is used, the dockview override would work... but touch isn't working, which means the override isn't being applied, which means Cloudflare is probably using npm and ignoring our lock file.

Its not a big deal right now, as our lockfile is not critical amd dockview 1.7.6 will come with touch support... but it could be a really annoying problem in the future.

See the delf deployment docks on how to fix it. For build template I used "none."

Auto-save

Just lost 10 minutes of notes... grrr

I don't love the way CloudFlow does it... StackBlitz does it better.
We should at least show a popup when there are unsaved changes.

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.