Code Monkey home page Code Monkey logo

Comments (4)

MartinKolarik avatar MartinKolarik commented on May 23, 2024

Hey, thanks for the detailed description. I'll keep this open to consider later, as we were thinking about a similar feature before as well. Unfortunately, I don't think we'll be able to add this soon, but as an improvement that you can do on your side, I'd suggest using a tool such acorn or rollup to get the imports directly from AST instead of the regexes.

from jsdelivr.

weaverryan avatar weaverryan commented on May 23, 2024

Hey, thanks for the detailed description. I'll keep this open to consider later, as we were thinking about a similar feature before as well.

Thank you! Fantastic!

Unfortunately, I don't think we'll be able to add this soon

I get that :)

I'd suggest using a tool such acorn or rollup to get the imports directly from AST instead of the regexes.

We're in PHP - so that's the root of the problem. Fortunately, our regex seems to be holding up... assuming we stop finding new edge-case syntaxes (which I think we will) 🙂

from jsdelivr.

MartinKolarik avatar MartinKolarik commented on May 23, 2024

I understand, regex seems like the best option, then

What you're building seems quite interesting, so feel free to ping me any time, even directly in your repo, if you run into any issues/questions about the CDN or the API! I'm also curious and couldn't quickly find it - is this feature already part of the stable release or still in development?

from jsdelivr.

tacman avatar tacman commented on May 23, 2024

AssetMapper is a new component in Symfony, marked as experimental in 6.3 but will be officially released in Symfony 6.4 / 7 in a few weeks.

After installing Symfony and requiring the asset-mapper component, the developer is able to add front-end assets with the importmap:require command.

bin/console importmap:require bootstrap -vvv
14:16:12 INFO      [http_client] Request: "GET https://data.jsdelivr.com/v1/packages/npm/bootstrap/resolved"
14:16:13 INFO      [http_client] Response: "200 https://data.jsdelivr.com/v1/packages/npm/bootstrap/resolved"
14:16:13 INFO      [http_client] Request: "GET https://cdn.jsdelivr.net/npm/[email protected]/+esm"
14:16:13 INFO      [http_client] Request: "GET https://data.jsdelivr.com/v1/packages/npm/[email protected]/entrypoints"
14:16:13 INFO      [http_client] Response: "200 https://cdn.jsdelivr.net/npm/[email protected]/+esm"
14:16:13 INFO      [http_client] Response: "200 https://data.jsdelivr.com/v1/packages/npm/[email protected]/entrypoints"
14:16:13 INFO      [http_client] Request: "GET https://data.jsdelivr.com/v1/packages/npm/@popperjs/core/resolved?specifier=2.11.8"
14:16:13 INFO      [http_client] Request: "GET https://data.jsdelivr.com/v1/packages/npm/bootstrap/resolved?specifier=5.3.2"
14:16:13 INFO      [http_client] Response: "200 https://data.jsdelivr.com/v1/packages/npm/@popperjs/core/resolved?specifier=2.11.8"
14:16:14 INFO      [http_client] Request: "GET https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/+esm"
14:16:14 INFO      [http_client] Request: "GET https://data.jsdelivr.com/v1/packages/npm/@popperjs/[email protected]/entrypoints"
14:16:14 INFO      [http_client] Response: "200 https://data.jsdelivr.com/v1/packages/npm/bootstrap/resolved?specifier=5.3.2"
14:16:14 INFO      [http_client] Request: "GET https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
14:16:14 INFO      [http_client] Response: "200 https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/+esm"
14:16:14 INFO      [http_client] Response: "200 https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
14:16:14 INFO      [http_client] Response: "200 https://data.jsdelivr.com/v1/packages/npm/@popperjs/[email protected]/entrypoints"

                                                                                                                        
 [OK] 3 new items (bootstrap, @popperjs/core, bootstrap/dist/css/bootstrap.min.css) added to the importmap.php!         
                                                                                                                        

Ryan has an excellent tutorial here: https://symfonycasts.com/screencast/asset-mapper and there's documentation at https://symfony.com/doc/current/frontend/asset_mapper.html

from jsdelivr.

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.