flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Josh Tynjala <joshtynj...@gmail.com>
Subject Re: [FlexJS][VSCode-NextGenAS] Getting to work with VSCode
Date Tue, 27 Sep 2016 22:55:08 GMT
Hey Carlos,

The "unknown configuration variable" error was actually a bug in asconfigc.
It was still trying to build a SWF. I guess I didn't test that path well
enough, since I don't use the FlexJS components. Update asconfigc, and it
should work now. Sorry about that!

- Josh

On Tue, Sep 27, 2016 at 2:53 PM, Carlos Rovira <
carlos.rovira@codeoscopic.com> wrote:

> Hi Josh,
>
> thanks for the responses:
>
> first, I try installing a Firefox VSCode debugger extension (Debugger for
> Firefox 0.6.4 by Holger Benl) ...don't know if this is correct.
> I add this in launch.json:
>
> {
>             "name": "Launch Firefox against debug.html, with sourcemaps",
>             "type": "firefox",
>             "request": "launch",
>             "file": "${workspaceRoot}/debug.html",
>             "sourceMaps": true,
>             "preLaunchTask": "asconfigc"
>         }
>
> (but says sourceMaps line is not supported)
>
> Anyway, selecting this config, firefox opens with the app running exactly
> the same way as chrome, firefox stops not in Main but in a function called
> by a click in a text. So, all the same as chrome.
>
> For 3.- I changed to "config": "flex" and I get imports and extends working
> properly :)
> but adding js-output-type like this:
>
> {
>     "config": "flex",
>     "compilerOptions": {
>         "debug": true,
>         "source-map": true*,*
> *        "js-output-type": "flexjs"*
>     },
>     "files":
>     [
>         "src/Main.as"
>     ]
> }
>
> causes this compilation error:
>
> *command line*
> *Error: unknown configuration variable 'source-map'.*
>
>
> maybe is not correctly formulated?
>
> Regarding Maven, I'm talking with Chris about the config of a test project
> and I think I have to dig a bit more on this. I'll report If I investigate
> and find something useful.
>
> Thanks!
>
>
>
> 2016-09-27 19:36 GMT+02:00 Josh Tynjala <joshtynjala@gmail.com>:
>
> > Awesome. Thanks for the feedback, Carlos!
> >
> > In one of the browser debuggers (either Chrome or Firefox), I couldn't
> get
> > a breakpoint to work in the constructor of the main class. Just like you
> > describe. Strangely, the main class constructor worked in the other
> > browser's debugger, and constructors from other classes were fine in
> both.
> > Since I saw that you tried using VSCode's Chrome debugging extension, it
> > must have been Firefox that worked properly with the main class
> > constructor.
> >
> > I don't really know why this happens. I kind of wonder if the source map
> > isn't fully loaded/parsed yet when the code starts running in Chrome. By
> > the time the click listener is called, everything is finished
> initializing,
> > I guess. That seemed like the most likely explanation to me.
> >
> > I think you can tell the debugger to pause immediately after starting, so
> > you might give that a try. If it works, let me know and I can make a note
> > of it somewhere.
> >
> > 1. This is correct. For the initial release, I focused on ActionScript
> > only. MXML probably isn't trivial, but hopefully the most challenging
> parts
> > of integrating with the compiler are already done, so it should be
> easier.
> >
> > 2. Only the main class for your app is all that's required in the "files"
> > field of asconfig.json. All dependencies will be detected by the
> compiler.
> > I just updated the description in the wiki to try to make that a little
> > more clear. I'll get the description in the JSON schema updated too.
> >
> > A little background. In most cases, people pass only one class into
> mxmlc,
> > but technically, it supports passing in multiple classes, with the final
> > one being considered the entry point. I think other classes that are
> passed
> > in are simply included, even if they aren't referenced. Probably so that
> > they can be found by reflection or something.
> >
> > VSCode supports a similar tsconfig.json for TypeScript, and it also
> allows
> > multiple files to be passed in (but it resolves dependencies too). To me,
> > it made sense to allow multiple files, even if it isn't commonly used. I
> > think this just needs clear documentation so that people understand that
> > they don't need to include every class that they use. Just the main one,
> > most of the time.
> >
> > 3. Which libraries from the SDK are included depends on which "config"
> > value you set in your asconfig.json. You probably want "config": "flex",
> > but there's one gotcha to watch out for. By default, both the extension
> and
> > asconfigc consider "config": "flex" to be a SWF project for Flash Player.
> > If you want to transpile to JS, and also use the FlexJS components,
> you'll
> > also need to specify the "js-output-type" compiler option (the value
> should
> > be "flexjs", I think?). This isn't ideal, but it's the best I could come
> up
> > with because FlexJS doesn't have separate config files for JS and Flash
> > Player (though, maybe it should...). I couldn't find a good way to do the
> > opposite and make JS the default. I guess a new top-level field in
> > asconfig.json could specify this, but I'm trying to keep extra
> > configuration in asconfig.json that isn't a real compiler option to a
> > minimum.
> >
> > 4. I'm not a Maven person. I would expect that you could set up Maven to
> > run an executable like asconfigc. However, I suspect that's not
> considered
> > the Maven way. Some kind of Maven plugin to parse asconfig.json and pass
> > the right arguments to the compiler (which is basically how asconfigc
> > works) might be closer to how a Maven person would expect this to work.
> >
> > asconfig.json follows the VSCode way of doing things. There is
> > tsconfig.json for TypeScript and jsconfig.json for JavaScript. I wanted
> to
> > follow the same pattern, if possible. I tried using the little-known
> trick
> > where mxmlc will try to load a -config.xml file if it matches the main
> > class file name (so for Main.as, it would try to load Main-config.xml, if
> > it exists), but it couldn't configure everything.
> >
> > - Josh
> >
> > On Tue, Sep 27, 2016 at 9:28 AM, Carlos Rovira <carlosrovira@apache.org>
> > wrote:
> >
> > > Hi Josh,
> > >
> > > at last I could get all up and running with Visual Code and your
> > @NextGenAS
> > > extension, building and debgugging in Chrome. Pretty Amazing work! :)
> > >
> > > (just one thing, the break point worked in a click function, but not
> in a
> > > line of the main Main.as function, maybe source-maps doesn't work if
> the
> > > breakpoint is in the constructor?)
> > >
> > > Right now I'm figuring where to go from here:
> > >
> > > 1.- I thing I read somewhere that MXML is not supported yet in VSCODE,
> is
> > > this right?
> > >
> > > 2.- I must list all as files in asconfig.json? or we could give is a
> > folder
> > > (i.e: "src") ?
> > >
> > > 3.- I'm trying to make some basic import from org.apache but VSCode not
> > > recognize them:
> > >
> > > package com.carlosrovira
> > > {
> > >
> > >     import org.apache.flex.events.Event;
>  <-----------------this 2
> > > imports are not found
> > > import org.apache.flex.events.EventDispatcher;
> > >
> > > public class Component extends EventDispatcher.   <---and this extends
> > > fails
> > > {
> > > public function Component()
> > > {
> > > }
> > > }
> > > }
> > >
> > >
> > > 3.- I build flexJS with maven, and my plan is to use a pom.xml, but
> > there's
> > > a asconfig.json as well....maybe is too cumbersome to have 2 config
> > > files....could this be integrated both?
> > > (maybe there's some maven extension in vscode? that make it easy to run
> > and
> > > build...I'm too new to vscode yet! :))
> > >
> > > So far, as I said, amazing work! I think VSCode is now the best choice
> > for
> > > FlexJS development, not only for the fast progress, but for the
> > > possibilities behind in few months.
> > >
> > > Hope you continue get donations to your work on Patreon.
> > >
> > > Best,
> > >
> > > --
> > > Carlos Rovira
> > > http://about.me/carlosrovira
> > >
> >
>
>
>
> --
>
> Carlos Rovira
> Director General
> M: +34 607 22 60 05
> http://www.codeoscopic.com
> http://www.avant2.es
>
>
> Este mensaje se dirige exclusivamente a su destinatario y puede contener
> información privilegiada o confidencial. Si ha recibido este mensaje por
> error, le rogamos que nos lo comunique inmediatamente por esta misma vía y
> proceda a su destrucción.
>
> De la vigente Ley Orgánica de Protección de Datos (15/1999), le comunicamos
> que sus datos forman parte de un fichero cuyo responsable es CODEOSCOPIC
> S.A. La finalidad de dicho tratamiento es facilitar la prestación del
> servicio o información solicitados, teniendo usted derecho de acceso,
> rectificación, cancelación y oposición de sus datos dirigiéndose a nuestras
> oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la documentación
> necesaria.
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message