You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@allura.apache.org by Dave Brondsema <da...@brondsema.net> on 2015/08/24 16:54:13 UTC

[allura:tickets] #7976 JSX support



---

** [tickets:#7976] JSX support**

**Status:** open
**Milestone:** unreleased
**Created:** Mon Aug 24, 2015 02:54 PM UTC by Dave Brondsema
**Last Updated:** Mon Aug 24, 2015 02:54 PM UTC
**Owner:** nobody


We may need JSX support for [#7920]  If so, we'll need to configure things like:

* JSX compiling for development (with minimal dependencies added)
    * step-by-step instructions
    * Docker setup
* script or something to run it for final "production-ready" output
* run that script during `asf-release.sh` so that our releases don't require JSX tools to be installed


---

Sent from forge-allura.apache.org because dev@allura.apache.org is subscribed to https://forge-allura.apache.org/p/allura/tickets/

To unsubscribe from further messages, a project admin can change settings at https://forge-allura.apache.org/p/allura/admin/tickets/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.

[allura:tickets] #7976 JSX support

Posted by Heith Seewald <hs...@slashdotmedia.com>.
So for the most part things are working well.  

It looks like there is an issue with the source maps when using chrome. 

I made two test files: 

 `numbers.es6.js`
 
~~~~~
::javascript
//numbers.es6.js
[1,2,3].forEach(function(n){
    console.log(`${n} is a number`);
});
console.log('I was called from "numbers"');

~~~~~

and `letters.es6.js`

~~~~~
::javascript
//letters.es6.js
["a", "b", "c"].forEach(function (n) {
    console.log(`${n} is a letter`);
});
console.log('I was called from "letters"');

~~~~~


The output is here:  



Chrome seems to get confused about where things are coming from.


Attachments:

- [es6_map_chrome.png](https://forge-allura.apache.org/p/allura/tickets/_discuss/thread/94e7871a/f14b/attachment/es6_map_chrome.png) (70.2 kB; image/png)


---

** [tickets:#7976] JSX support**

**Status:** review
**Milestone:** unreleased
**Labels:** sf-current sf-2 
**Created:** Mon Aug 24, 2015 02:54 PM UTC by Dave Brondsema
**Last Updated:** Wed Sep 30, 2015 08:04 PM UTC
**Owner:** Dave Brondsema


We may need JSX support for [#7920]  If so, we'll need to configure things like:

* JSX compiling for development (with minimal dependencies added)
    * step-by-step instructions
    * Docker setup
* script or something to run it for final "production-ready" output
* run that script during `asf-release.sh` so that our releases don't require JSX tools to be installed


---

Sent from forge-allura.apache.org because dev@allura.apache.org is subscribed to https://forge-allura.apache.org/p/allura/tickets/

To unsubscribe from further messages, a project admin can change settings at https://forge-allura.apache.org/p/allura/admin/tickets/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.

[allura:tickets] #7976 JSX support

Posted by Dave Brondsema <da...@brondsema.net>.
- **status**: in-progress --> review
- **Comment**:

db/7976

Broccoli will be used to transpile `*.es6.js` files into a build/transpiled.js file that is included just like other JS files are on the page.  A sourcemap file is created too.  Docs, docker, and release scripts are all updated to account for this build step.



---

** [tickets:#7976] JSX support**

**Status:** review
**Milestone:** unreleased
**Labels:** sf-current sf-2 
**Created:** Mon Aug 24, 2015 02:54 PM UTC by Dave Brondsema
**Last Updated:** Thu Sep 17, 2015 08:22 PM UTC
**Owner:** Dave Brondsema


We may need JSX support for [#7920]  If so, we'll need to configure things like:

* JSX compiling for development (with minimal dependencies added)
    * step-by-step instructions
    * Docker setup
* script or something to run it for final "production-ready" output
* run that script during `asf-release.sh` so that our releases don't require JSX tools to be installed


---

Sent from forge-allura.apache.org because dev@allura.apache.org is subscribed to https://forge-allura.apache.org/p/allura/tickets/

To unsubscribe from further messages, a project admin can change settings at https://forge-allura.apache.org/p/allura/admin/tickets/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.

[allura:tickets] #7976 JSX support

Posted by Dave Brondsema <da...@brondsema.net>.
- **status**: in-progress --> review
- **Comment**:

Good catch, fix pushed for that using a different package.  Firebug doesn't show things quite perfectly, but Chrome seems to be all good.



---

** [tickets:#7976] JSX support**

**Status:** review
**Milestone:** unreleased
**Labels:** sf-current sf-2 
**Created:** Mon Aug 24, 2015 02:54 PM UTC by Dave Brondsema
**Last Updated:** Thu Oct 01, 2015 09:49 AM UTC
**Owner:** Dave Brondsema


We may need JSX support for [#7920]  If so, we'll need to configure things like:

* JSX compiling for development (with minimal dependencies added)
    * step-by-step instructions
    * Docker setup
* script or something to run it for final "production-ready" output
* run that script during `asf-release.sh` so that our releases don't require JSX tools to be installed


---

Sent from forge-allura.apache.org because dev@allura.apache.org is subscribed to https://forge-allura.apache.org/p/allura/tickets/

To unsubscribe from further messages, a project admin can change settings at https://forge-allura.apache.org/p/allura/admin/tickets/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.

[allura:tickets] #7976 JSX support

Posted by Heith Seewald <hs...@slashdotmedia.com>.
- **status**: review --> in-progress



---

** [tickets:#7976] JSX support**

**Status:** in-progress
**Milestone:** unreleased
**Labels:** sf-current sf-2 
**Created:** Mon Aug 24, 2015 02:54 PM UTC by Dave Brondsema
**Last Updated:** Thu Oct 01, 2015 09:38 AM UTC
**Owner:** Dave Brondsema


We may need JSX support for [#7920]  If so, we'll need to configure things like:

* JSX compiling for development (with minimal dependencies added)
    * step-by-step instructions
    * Docker setup
* script or something to run it for final "production-ready" output
* run that script during `asf-release.sh` so that our releases don't require JSX tools to be installed


---

Sent from forge-allura.apache.org because dev@allura.apache.org is subscribed to https://forge-allura.apache.org/p/allura/tickets/

To unsubscribe from further messages, a project admin can change settings at https://forge-allura.apache.org/p/allura/admin/tickets/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.

[allura:tickets] #7976 JSX support

Posted by Heith Seewald <hs...@slashdotmedia.com>.
- **status**: review --> closed
- **Comment**:

Great work, Dave.  The next step is module support :)



---

** [tickets:#7976] JSX support**

**Status:** closed
**Milestone:** unreleased
**Labels:** sf-current sf-2 
**Created:** Mon Aug 24, 2015 02:54 PM UTC by Dave Brondsema
**Last Updated:** Thu Oct 01, 2015 06:55 PM UTC
**Owner:** Dave Brondsema


We may need JSX support for [#7920]  If so, we'll need to configure things like:

* JSX compiling for development (with minimal dependencies added)
    * step-by-step instructions
    * Docker setup
* script or something to run it for final "production-ready" output
* run that script during `asf-release.sh` so that our releases don't require JSX tools to be installed


---

Sent from forge-allura.apache.org because dev@allura.apache.org is subscribed to https://forge-allura.apache.org/p/allura/tickets/

To unsubscribe from further messages, a project admin can change settings at https://forge-allura.apache.org/p/allura/admin/tickets/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.

[allura:tickets] #7976 JSX support

Posted by Dave Brondsema <da...@brondsema.net>.
- **labels**: sf-current, sf-2 --> sf-2



---

** [tickets:#7976] JSX support**

**Status:** closed
**Milestone:** unreleased
**Labels:** sf-2 
**Created:** Mon Aug 24, 2015 02:54 PM UTC by Dave Brondsema
**Last Updated:** Fri Oct 02, 2015 02:03 PM UTC
**Owner:** Dave Brondsema


We may need JSX support for [#7920]  If so, we'll need to configure things like:

* JSX compiling for development (with minimal dependencies added)
    * step-by-step instructions
    * Docker setup
* script or something to run it for final "production-ready" output
* run that script during `asf-release.sh` so that our releases don't require JSX tools to be installed


---

Sent from forge-allura.apache.org because dev@allura.apache.org is subscribed to https://forge-allura.apache.org/p/allura/tickets/

To unsubscribe from further messages, a project admin can change settings at https://forge-allura.apache.org/p/allura/admin/tickets/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.

[allura:tickets] #7976 JSX support

Posted by Heith Seewald <hs...@slashdotmedia.com>.
- **Reviewer**: Heith Seewald



---

** [tickets:#7976] JSX support**

**Status:** review
**Milestone:** unreleased
**Labels:** sf-current sf-2 
**Created:** Mon Aug 24, 2015 02:54 PM UTC by Dave Brondsema
**Last Updated:** Mon Sep 28, 2015 09:26 PM UTC
**Owner:** Dave Brondsema


We may need JSX support for [#7920]  If so, we'll need to configure things like:

* JSX compiling for development (with minimal dependencies added)
    * step-by-step instructions
    * Docker setup
* script or something to run it for final "production-ready" output
* run that script during `asf-release.sh` so that our releases don't require JSX tools to be installed


---

Sent from forge-allura.apache.org because dev@allura.apache.org is subscribed to https://forge-allura.apache.org/p/allura/tickets/

To unsubscribe from further messages, a project admin can change settings at https://forge-allura.apache.org/p/allura/admin/tickets/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.

[allura:tickets] #7976 JSX support

Posted by Dave Brondsema <da...@brondsema.net>.
- **status**: in-progress --> review
- **Comment**:

* added license to Brocfile.js  Skipped package.json since .json files don't support comments and we already have `*.json` in our rat-excludes.txt list
* Broccoli works fine for me with a non-existent directory
* Added broccoli-related tasks to package.json and simplified docs to use it.  I'm not sure about other tasks, since some people won't have npm installed if they're using a release version.  So we may want a different task runner for other general things like gunicorn.



---

** [tickets:#7976] JSX support**

**Status:** review
**Milestone:** unreleased
**Labels:** sf-current sf-2 
**Created:** Mon Aug 24, 2015 02:54 PM UTC by Dave Brondsema
**Last Updated:** Tue Sep 29, 2015 07:21 PM UTC
**Owner:** Dave Brondsema


We may need JSX support for [#7920]  If so, we'll need to configure things like:

* JSX compiling for development (with minimal dependencies added)
    * step-by-step instructions
    * Docker setup
* script or something to run it for final "production-ready" output
* run that script during `asf-release.sh` so that our releases don't require JSX tools to be installed


---

Sent from forge-allura.apache.org because dev@allura.apache.org is subscribed to https://forge-allura.apache.org/p/allura/tickets/

To unsubscribe from further messages, a project admin can change settings at https://forge-allura.apache.org/p/allura/admin/tickets/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.

[allura:tickets] #7976 JSX support

Posted by Heith Seewald <hs...@slashdotmedia.com>.
- **status**: review --> in-progress
- **Comment**:

Looking good so far -- just a few things to check into.

1) Make sure Apache licenses are added to new files (if applicable)
2) Make sure the build directory `Allura/allura/public/nf/js/build/` exists (maybe add a .gitkeep inside the directory)
3) The package.json could use some additional meta-data.  We can also add aliases to many of the scripts we run to make things more intuitive... Maybe something like:

~~~~~
::json

  "homepage": "https://allura.apache.org/",
  "description": "Apache Allura development asset pipeline",
  "bugs": {
    "url": "https://forge-allura.apache.org/p/allura/tickets/"
  },
  "scripts": {
    "test": "tests here?",
    "build": "broccoli build Allura/allura/public/nf/js/build/",
    "web": "gunicorn --paste Allura/development.ini --chdir Allura/"
  },

~~~~~



---

** [tickets:#7976] JSX support**

**Status:** in-progress
**Milestone:** unreleased
**Labels:** sf-current sf-2 
**Created:** Mon Aug 24, 2015 02:54 PM UTC by Dave Brondsema
**Last Updated:** Tue Sep 29, 2015 03:50 PM UTC
**Owner:** Dave Brondsema


We may need JSX support for [#7920]  If so, we'll need to configure things like:

* JSX compiling for development (with minimal dependencies added)
    * step-by-step instructions
    * Docker setup
* script or something to run it for final "production-ready" output
* run that script during `asf-release.sh` so that our releases don't require JSX tools to be installed


---

Sent from forge-allura.apache.org because dev@allura.apache.org is subscribed to https://forge-allura.apache.org/p/allura/tickets/

To unsubscribe from further messages, a project admin can change settings at https://forge-allura.apache.org/p/allura/admin/tickets/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.

[allura:tickets] #7976 JSX support

Posted by Dave Brondsema <da...@brondsema.net>.
- **labels**:  --> sf-current, sf-2
- **Comment**:

Also consider https://babeljs.io/, Gulp, Broccoli.

At some point maybe we'll want this system to replace things that EasyWidgets does for js/css minification and concatenation too.



---

** [tickets:#7976] JSX support**

**Status:** open
**Milestone:** unreleased
**Labels:** sf-current sf-2 
**Created:** Mon Aug 24, 2015 02:54 PM UTC by Dave Brondsema
**Last Updated:** Mon Aug 24, 2015 02:54 PM UTC
**Owner:** nobody


We may need JSX support for [#7920]  If so, we'll need to configure things like:

* JSX compiling for development (with minimal dependencies added)
    * step-by-step instructions
    * Docker setup
* script or something to run it for final "production-ready" output
* run that script during `asf-release.sh` so that our releases don't require JSX tools to be installed


---

Sent from forge-allura.apache.org because dev@allura.apache.org is subscribed to https://forge-allura.apache.org/p/allura/tickets/

To unsubscribe from further messages, a project admin can change settings at https://forge-allura.apache.org/p/allura/admin/tickets/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.

[allura:tickets] #7976 JSX support

Posted by Dave Brondsema <da...@brondsema.net>.
- **status**: open --> in-progress
- **assigned_to**: Dave Brondsema
- **Comment**:

**Grunt** is "old".  **Gulp** would be fine, but perhaps slow (no partial or cached builds).  **Brunch** has partial builds, but isn't too popular and favors conventions (which we would fight with since we have existing setups).  **Webpack** could be nice someday for making separate builds for different pages and loading modules on demand, but we have no module system yet.  **Broccoli** has cached builds to make things fast, and might be a bit shy on docs, but I think it is the best choice to start with.  We can keep our implementation light (e.g. just transpile, let EasyWidgets still concatenate for now) and see how it goes so that switching is relatively easy if needed.



---

** [tickets:#7976] JSX support**

**Status:** in-progress
**Milestone:** unreleased
**Labels:** sf-current sf-2 
**Created:** Mon Aug 24, 2015 02:54 PM UTC by Dave Brondsema
**Last Updated:** Tue Sep 08, 2015 03:39 PM UTC
**Owner:** Dave Brondsema


We may need JSX support for [#7920]  If so, we'll need to configure things like:

* JSX compiling for development (with minimal dependencies added)
    * step-by-step instructions
    * Docker setup
* script or something to run it for final "production-ready" output
* run that script during `asf-release.sh` so that our releases don't require JSX tools to be installed


---

Sent from forge-allura.apache.org because dev@allura.apache.org is subscribed to https://forge-allura.apache.org/p/allura/tickets/

To unsubscribe from further messages, a project admin can change settings at https://forge-allura.apache.org/p/allura/admin/tickets/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.

[allura:tickets] Re: #7976 JSX support

Posted by Heith Seewald <hs...@slashdotmedia.com>.
I see what you're saying about the release version not including npm. But I think most people that would be using a task runner would probably also be using the development version. Either way you make a good point -- we may want to consider having a general purpose task runner.


---

** [tickets:#7976] JSX support**

**Status:** review
**Milestone:** unreleased
**Labels:** sf-current sf-2 
**Created:** Mon Aug 24, 2015 02:54 PM UTC by Dave Brondsema
**Last Updated:** Wed Sep 30, 2015 08:04 PM UTC
**Owner:** Dave Brondsema


We may need JSX support for [#7920]  If so, we'll need to configure things like:

* JSX compiling for development (with minimal dependencies added)
    * step-by-step instructions
    * Docker setup
* script or something to run it for final "production-ready" output
* run that script during `asf-release.sh` so that our releases don't require JSX tools to be installed


---

Sent from forge-allura.apache.org because dev@allura.apache.org is subscribed to https://forge-allura.apache.org/p/allura/tickets/

To unsubscribe from further messages, a project admin can change settings at https://forge-allura.apache.org/p/allura/admin/tickets/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.