import-maps VS vite

Compare import-maps vs vite and see what are their differences.

import-maps

How to control the behavior of JavaScript imports (by WICG)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
import-maps vite
45 791
2,629 64,913
0.8% 0.9%
3.1 9.9
5 months ago about 5 hours ago
JavaScript TypeScript
GNU General Public License v3.0 or later MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

import-maps

Posts with mentions or reviews of import-maps. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-22.
  • It is hard to avoid JavaScript
    1 project | news.ycombinator.com | 25 Feb 2024
    Long time huge fan of JS. I appreciate your calling out the multi-paradigm aspect; having these first class functions & prototype based inheritance has been so flexible.

    TC39 has done a great job shaping the language over the years. New capabilities are usually well thought out & integrate well. Async await has been amazing.

    The one major miss that makes me so sad and frustrated is modules; js has gotten better everywhere except it's near requirement for build tooling. Being able to throw some scripts on a page and go is still an unparalleled experience in the world, is so direct & tactile an experience. EcmaScript Modules was supposed to improve things, help get us back, but imports using url specifiers made the whole thing non-modular, was a miss. We're still tangled & torn. Import-maps has finally fixed but it's no where near as straightforward, and it still doesn't work in workers, which leaves us infuriatingly shirt of where the past was. https://github.com/WICG/import-maps/issues/2

  • 'Mother of all breaches' data leak reveals 26B account stolen records
    1 project | news.ycombinator.com | 26 Jan 2024
    makes sure your app is getting the download it expects. Adoption is probably pretty minimal though. https://developer.mozilla.org/en-US/docs/Web/Security/Subres...

    I think the big thing making this unlikely though is that very few folks use cdns these days. We designed ESM as a module system for the language, but then took a good fraction of a decade to build import-maps, to let us actually use modules in a modular way. Good news, we can finally use modules modularly! https://caniuse.com/import-maps

    Bad news? Oh import-maps only works for the simplest case. Doesn't work in webworkers/service workers. https://github.com/WICG/import-maps/issues/2

    The point is that single page apps almost always are bundled together, as using CDNs hasn't even been technically possible.

    Also, CDNs are kind of somewhat pointless, now that http caches are partitioned by origin (for security reasons). They might have better anycast infrastructure to get the content out faster, but without the caching there's no inherent advantage. The user will download the same jquery file again in each site they go to, no already having it cached anymore. Bah humbug!

  • Rails Frontend Bundling - Which one should I choose?
    5 projects | dev.to | 22 May 2023
  • ESM dynamic imports
    1 project | /r/Angular2 | 16 May 2023
  • JavaScript import maps are now supported cross-browser
    14 projects | news.ycombinator.com | 3 May 2023
    https://github.com/WICG/import-maps/issues/2
  • We Added Package.json Support to Deno
    2 projects | news.ycombinator.com | 20 Mar 2023
    Bare specifiers has been the tragedy of ESM. Nice module syntax... that is utterly u deoyable & which has had to have awful de-modularizing specifiers hard-coded into each file to make it work. Abominable sin to introduce "modules" to JS/es2015 then spend a decade dragging everyone along with no story for how to have modular modules.

    Import-maps are like "here" to fix this on the web... finally... except they only are shipping to the happiest sunniest easiest case, with Web Workers being totally shit out of luck in spite of some very simple straightforward suggested paths forward. https://github.com/WICG/import-maps/issues/2

    I think Deno is making pretty good tradeoffs along the way here. This looks like package.json at surface level, but there is a nightmare of complexity under the surface. Typescript, ESM, cjs all have various pressures they create & in Node it's just incredibly tight & tense dealing with packaging, where-as Deno's happy path of Typescript first does not slowly tatters one over time. It really has been super pleasant being free of the previous world, and having something much more web-platform centric, more intented, with less assembly & less building, and more doing the actual coding.

    I really hope import-maps eventually get broader support. Maybe this long-dwelling webworker issue should be brought up with WinterCG.

  • Import maps 101
    3 projects | dev.to | 10 Jan 2023
    Import maps proposal
  • You Might Not Need Module Federation: Orchestrate your Microfrontends at Runtime with Import Maps
    8 projects | dev.to | 5 Jan 2023
    The concept of Import Maps was born in 2018 and made its long way until it was declared a new web standard implemented by Chrome in 2021 and some other browsers.
  • Getting an "import file" syntax right for ArkScript
    1 project | /r/ProgrammingLanguages | 24 Nov 2022
    For package managers, you can use something like import maps to let the user specify which path points to what package, and resolve it properly.
  • Deno 1.28: Featuring 1.3M New Modules
    12 projects | news.ycombinator.com | 14 Nov 2022
    Huh. I was about to complain that this breaks with web standards, but apparently it's being proposed as a standard feature: https://github.com/WICG/import-maps

    Interesting!

vite

Posts with mentions or reviews of vite. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-05-03.
  • FlowDiver: The Road to SSR - Part 1
    3 projects | dev.to | 3 May 2024
    Given our team's collective proficiency within the React ecosystem, we decided to leverage this expertise for our project. Initially, we contemplated utilizing Next.js; however, due to the limited practical experience with this technology among key engineers and the pressing timeline to develop the first prototype, we opted for a Single Page Application(SPA) approach. For bundling, we selected Vite, primarily due to its super fast build times, simplicity of configuration, and potential for a nearly seamless transition to server-side rendering.
  • Inflight Magazine no. 9
    5 projects | dev.to | 1 May 2024
    We are continuing to add new project templates for various types of projects, and we've recently created one for the infamous combination of React with Vite tooling.
  • Top 12+ Battle-Tested React Boilerplates for 2024
    5 projects | dev.to | 29 Apr 2024
    Vite focuses on providing an extremely fast development server and workflow speed in web development. It uses its own ES module imports during development, speeding up the startup time.
  • Vite vs Nextjs: Which one is right for you?
    3 projects | dev.to | 29 Apr 2024
    Vite and Next.js are both top 5 modern development framework right now. They are both great depending on your use case so we’ll discuss 4 areas: Architecture, main features, developer experience and production readiness. After learning about these we’ll have a better idea of which one is best for your project.
  • Setup React Typescript with Vite & ESLint
    1 project | dev.to | 25 Apr 2024
    import { defineConfig } from 'vite' import react from '@vitejs/plugin-react-swc' import path from 'path' // https://vitejs.dev/config/ export default defineConfig({ plugins: [react()], server: { port: 3000 }, css: { devSourcemap: true }, resolve: { alias: { '~': path.resolve(__dirname, './src') } } })
  • Approaches to Styling React Components, Best Use Cases
    2 projects | dev.to | 24 Apr 2024
    I am currently utilizing Vite:
  • Getting started with TiniJS framework
    7 projects | dev.to | 20 Apr 2024
    Homepage: https://vitejs.dev/
  • Use CSS Variables to style react components on demand
    1 project | dev.to | 16 Apr 2024
    Without any adding any dependencies you can connect react props to raw css at runtime with nothing but css variables (aka "custom properties"). If you add CSS modules on top you don't have to worry about affecting the global scope so components created in this way can be truly modular and transferrable. I use this with vite.
  • RubyJS-Vite
    11 projects | news.ycombinator.com | 15 Apr 2024
    Little confused as to why it has vite in it‘s name, it seems unrelated to https://vitejs.dev/
  • Ask HN: How do we include JavaScript scripts in a browser these days?
    1 project | news.ycombinator.com | 13 Apr 2024
    it says in their docs that they recommend Vite https://vitejs.dev/

    it goes like this.

    1. you create a repo folder, you cd into it.

    2. you create a client template using vite which can be plain typescript, or uses frameworks such as react or vue, at https://vitejs.dev/guide/

    3. you cd in that client directory, you npm install, then you npm run dev, it should show you that it works at localhost:5173

    4. you follow the instructions on your url, you do npm install @web3modal/wagmi @wagmi/core @wagmi/connectors viem

    5. you follow the further instructions.

    > It seems like this is for npm or yarn to pull from a remote repository maintained by @wagmi for instance. But then what?

    you install the wagmi modules, then you import them in your js code, those code can run upon being loaded or upon user actions such as button clicks

    > Do I just symlink to the node_modules directory somehow? Use browserify? Or these days I'd use webpack or whatever the cool kids are using these days?

    no need for those. browserify is old school way of transpiling commonjs modules into browser-compatible modules. webpack is similar. vite replaces both webpack and browserify. vite also uses esbuild and swc under the hood which replaces babel.

    > I totally get how node package management works ... for NODE. But all these client-side JS projects these days have docs that are clearly for the client-side but the ES2015 module examples they show seem to leave out all instructions for how to actually get the files there, as if it's obvious.

    pretty much similar actually. except on client-side, you have src and dist folders. when you run "npm run build" vite will compile the src dir into dist dir. the outputs are the static files that you can serve with any http server such as npx serve, or caddy, or anything really.

    > What gives? And finally, what exactly does "browserify" do these days, since I think Node supports both ES modules and and CJS modules? I also see sometimes UMD universal modules

    vite supports both ecmascript modules and commonjs modules. but these days you'll just want to stick with ecmascript which makes your code consistently use import and export syntax, and you get the extra benefit of it working well with your vscode intellisense.

    > In short, I'm a bit confused how to use package management properly with browsers in 2024: https://modern-web.dev/guides/going-buildless/es-modules/

    if people want plain js there is unpkg.com and esm.sh way, but the vite route is the best for you as it's recommended and tested by the providers of your modules.

    > And finally, if you answer this, can you spare a word about typescript? Do we still need to use Babel and Webpack together to transpile it to JS, and minify and tree-shake, or what?

    I recommend typescript, as it gives you better type-safety and better intellisense, but it really depends. If you're new to it, it can slow you down at first. But as your project grows you'll eventually see the value of it. In vite there are options to scaffold your project in pure js or ts.

What are some alternatives?

When comparing import-maps and vite you can also consider the following projects:

esbuild - An extremely fast bundler for the web

Next.js - The React Framework

es-module-shims - Shims for new ES modules features on top of the basic modules support in browsers

parcel - The zero configuration build tool for the web. 📦🚀

importmap-rails - Use ESM with importmap to manage modern JavaScript in Rails without transpiling or bundling.

esm.sh - A fast, smart, & global CDN for modern(es2015+) web development.

swc - Rust-based platform for the Web

single-spa - The router for easy microfrontends

astro - The web framework for content-driven websites. ⭐️ Star to support our work!

deno - A modern runtime for JavaScript and TypeScript.

Rollup - Next-generation ES module bundler