Coder Social home page Coder Social logo

js-test's People

Contributors

actions-user avatar nathanbnm avatar timecraft avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

js-test's Issues

Add TypeScript support

GtkSourceView has built-in support for TypeScript.

Vala Tester spawns a command line to run Vala as a REPL.

If we have node-typescript as a dependency, we can run the compiler and still use just the output JavaScript file in the WebView. The issue would be compiler errors. The compiler seems to still compile the TypeScript to JavaScript, but still outputs errors.
Errors get output via stdout (1> filename), not stderr; we can redirect that to a file named error.log, test to see if it has any contents and, if it does, show that on the WebView instead of using the JavaScript file.

Separate Settings handler

In a bit of an extension to #8, we should probably move the handling of the settings into its own file.

Why?

Easier modification of the Settings handler, should the API change

Add CoffeeScript support

CoffeeScript is a popular JavaScript alternative.

Vala Tester spawns a command line to run Vala as a REPL.

If we have coffeescript as a dependency, we can run the compiler and still use just the output JavaScript file in the WebView. The issue would be compiler errors.
The CoffeeScript compiler does output errors to stderr, so we can actually use out error in the command line spawning to show errors. If there is an error, we can load that into the WebView instead of the JavaScript.

A major issue is that CoffeeScript is not supported in Gtk SourceView, so we would have to figure out a way to add that ourselves. I don't think elementary would accept us installing a CoffeeScript language file to the system.

JavaScript Console

We need to figure out one of two things:

  1. Capture output to JavaScript console in Vala
  2. Add a JavaScript console

For 1: I don't know how to do capture that output and haven't found anything online for that.
For 2: The WebKit.WebInspector opens up in a separate window, which is no good.

Begin Continuous Integration

All this takes is adding a . to the beginning of travis.yml. Should we do this, or should we use Github Actions to do the CI?

Screenshots

Again, #3 requires us to have screenshots of JS Test. Shouldn't be hard, but I would like to wait till I'm sure that this is the UI for the first release before making them

Appstream tests fail

AppCenter ran a bunch of tests on your appstream file. These are the results.

Warnings:

Most of these are fixed during the building process, but you should ensure they
are fixed in your code for future releases.

  • "id" field should be "com.github.timecraft.js-test"

For more information, see:

Build Information

Affects Architecture: amd64
Affects Distribution: juno
Built with the following references:

  • refs/tags/v0.1.0

Changes Requested for AppCenter: Don't use other apps' private API

This seems really clever, but relying on other apps' private API (i.e. their GSettings) is unreliable and error-prone. We have amended the Technical Publishing Requirements to include:

Your app must not attempt to modify other apps or system programs. Your app should not rely on other apps' GSettings, as these are considered internal/private API for those apps.

https://github.com/Timecraft/JS_Test/blob/eb4d66955b4d63b37134c86305b2a1a1be1da5b6/src/Views/SourceView.vala#L67-L94

Force JS Test to have its own preferences

Currently, if JS Test does not find io.elementary.code.settings or org.gnome.gedit.preferences.editor, it uses the default settings from io.elementary.code.settings which was manually copied over from its schema. On the off chance that we do not find elementary Code or Gnome Gedit, we shoud have a preferences pane to allow for manipulation of JS Test's functionality, or find default editor's schemas to attempt to access

Package as Flatpak for elementary OS 6

As you might have heard, AppCenter is going Flatpak! For elementary OS 6, we will not longer be accepting Debian packaging, so your app will need to be updated.

We have documentation on our developer guide for writing your Flatpak manifest here: https://docs.elementary.io/develop/writing-apps/our-first-app/packaging#flatpak-manifest

Also, in case you missed it, elementary OS 6 beta 2 is now available. This is a great time to get your app packaged up as Flatpak and test that everything is working before the final release. AppCenter submission for OS 6 will be open soon, so don't delay :)

Submit to AppCenter

This relies on #2 being implemented to work out basic problems. It may be more worthwhile to wait until elementary moves to flatpak instead of .debs, as that may reduce the workload.

Begin using gschema

Using gschema.xml, which is already present will allow for us to save state.

We should be able to:

  • Have a window position; we should be able to put the window where the user last had it.
  • Have a window size; we should be able to make the window as big as it was previously.
  • Have a pane size; we should be able to make each side of the app (sourceview and webview) the size they were last time the user had the app open.

<body> element does not exist

No matter what method I try, I can't select the body element. It always returns null.

Does not work:

var body = document.body;
var body = document.querySelector("body");
var body = document.getElementsByTagName("body")[0];

Interestingly I can select the <html> and <head> elements.

What does work is to use the console variable $0 in the developer tools to select the body. But from the sidebar codepanel I can't reach it.

I tried restarting the app.

Icon is not showing up

Upon installing (in a virtual machine), the icon for JS Test is not showing up; it is showing the default icon.
Icon Not Showing
Ephemeral's icon shows up and its icon can be found on manual change of JS Test's .desktop file to point to com.github.cassidyjames.ephemeral, but neither JS Test or Ephemeral can find the icon when pointed to com.github.timecraft.jstest com.github.timecraft.js-test

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.