Giter VIP home page Giter VIP logo

Comments (7)

concavelenz avatar concavelenz commented on May 30, 2024

Not that I'm volunteering, but there are a lot of export options for ES6
modules, would you expect:

  1. an simple object containing the file's templates:

export default {
someTemplate1(...) {
...
}

someTemplate2(...) {
...
}
};

  1. a export per-template

export function someTemplate1(...) {
....
};

  1. something else?

On Sun, Feb 22, 2015 at 9:15 PM, hitsthings [email protected]
wrote:

Soy currently compiles to JS globals, which is still a good "least common
denominator" choice. Forward-looking projects are already using ES6 modules
and transpiling it back to whatever format they like (AMD, CommonJS,
globals, whatever). An option to compile to ES6 modules is a good current
choice, and in the future will be a better default choice.


Reply to this email directly or view it on GitHub
#30.

from closure-templates.

Ubehebe avatar Ubehebe commented on May 30, 2024

@hitsthings @concavelenz What's the use case? There are clear benefits to writing source code in ES6, as you mention, but it's less clear what the benefits of compiling to ES6 are, other than "all parts of our pipeline should use the latest syntax".

It should eventually happen, but it might not be the highest priority.

from closure-templates.

concavelenz avatar concavelenz commented on May 30, 2024

Native dependency management.
On Mar 28, 2015 5:50 AM, "Brendan Linn" [email protected] wrote:

@hitsthings https://github.com/hitsthings @concavelenz
https://github.com/concavelenz What's the use case? There are clear
benefits to writing source code in ES6, as you mention, but it's less
clear what the benefits of compiling to ES6 are, other than "all parts
of our pipeline should use the latest syntax".

It should eventually happen, but it might not be the highest priority.


Reply to this email directly or view it on GitHub
#30 (comment)
.

from closure-templates.

hitsthings avatar hitsthings commented on May 30, 2024

What's the use case?

Native dep management is one - not having to use goog.require would be good. If the rest of my code is using the AMDish loader of BabelJS, and Soy is using goog.provides, I and every other consumer has to do work to make them play together.

I have a project written in ES6 syntax with a build pipeline that expects ES6 as the source language. My build is either more complicated if I use Soy since I have to exclude it from parts of the build.

It should eventually happen, but it might not be the highest priority.

Fair enough. I wasn't advocating for making it the default, just making it a possibility.

from closure-templates.

bradleyayers avatar bradleyayers commented on May 30, 2024

I'm interested in implementing this or #65, but want to know what direction the library maintainers want to take this? Some in-principle support for one approach or the other would be good. At the moment I'm leaning towards AMD.

from closure-templates.

b1lly avatar b1lly commented on May 30, 2024

bump?

from closure-templates.

hitsthings avatar hitsthings commented on May 30, 2024

FYI, I recently added a modularize option to atlassian-soy-loader. So if you compile with webpack, you can give that package a try. It assumes the Soy namespace in camelCase maps to a module name in kebab-case (but you can override this)

It's a little specific to Atlassian though, as it expects SoyFunctions to be implemented with the Atlassian facade. The code can at least be inspiration though.

from closure-templates.

Related Issues (20)

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.