How Alibaba’s Seed Spec Stacks Up Against Modern Import Maps

This article examines Alibaba's Tianma "seed" module specification, compares it with the emerging import‑maps standard, and discusses their impact on web performance, dependency management, and future front‑end architecture.

Alibaba Terminal Technology
Alibaba Terminal Technology
Alibaba Terminal Technology
How Alibaba’s Seed Spec Stacks Up Against Modern Import Maps

Old Web Resource Reference Issues

Although modern browsers are fast, pages still suffer from loading performance because all required files must be downloaded remotely, which is the biggest difference between Web and native.

The community has evolved through several stages:

From plain <script> ordering to CDN combo.

From no module system to CommonJS for synchronous loading.

To AMD for declaring asynchronous dependencies.

To bundling solutions such as Dojo and Webpack to overcome request limits.

To bundless approaches with ES Module, import maps, and other standards.

Seed Spec vs Import Maps

The Tianma seed spec originates from KISSY, adopts the CMD format because its output generation is simpler, and retains modular development under a dynamic building background. Its differences from most low‑code platforms are:

Modular development hides build logic, automatically deduplicates shared dependencies, and requires no manual build steps.

Pages are published without a build process; rendering happens on the client, allowing massive simultaneous edits.

Each page can have independent releases, and module version updates can be scoped to a single page.

After five years, the seed spec faces several issues, which we compare with import maps.

Import Maps Settings

Import maps are declared with <script type="importmap"> and must be loaded before any module that uses them; the loading is blocking, and only one import map can be used per page. The script must have MIME type application/importmap+json and respect CSP.

<script type="importmap">{ "imports": { ... }, "scopes": { ... } }</script>

Because of these constraints, developers cannot manage dependencies as flexibly as in Node.js; they must declare all external library dependencies in the import map, which can be cumbersome.

Package Support

Both seed and import maps support a packages concept to declare module directories, reducing repetitive path declarations.

{
  "modules": {
    "example-1/index": { "requires": ["example-1/utils"] }
  },
  "packages": {
    "example-1": { "path": "/example-1/" }
  }
}

Scope and Major‑Version Incompatibility

Import maps allow scoped configurations so that different files can load different versions of the same library. Seed currently lacks scope support; instead, major‑version differences are encoded in the module name (e.g., example-1@1 vs example-1@2).

{
  "packages": {
    "example-1@1": { "version": "1.0.1", "path": "/example-1/1.0.1/" },
    "example-1@2": { "version": "2.0.2", "path": "/example-1/2.0.2/" }
  }
}

Dependency Module Download

In the seed mechanism, a module can declare dependencies (similar to npm dependencies) and the loader will concurrently download all required files, including transitive dependencies, ensuring the module can execute.

{
  "modules": {
    "example-1/index": { "requires": ["example-1/utils", "example-1/tools"] }
  }
}

Seed also supports CDN combo, merging multiple dependencies into a single request, which can be faster than many parallel requests. Import maps currently lack such a feature, leading to serial downloads.

About Seed Next

Future work aims to move from CMD to ES Module while providing downgrade paths for CommonJS, and to create a more standardized dependency loading approach that combines CDN combo, async concurrent downloads, native cache, PWA, HTTP/2 Push, Web Bundle, and experimental browser pre‑fetching.

References

github/import-maps

W3C import maps draft

SystemJS support for import‑maps

Import maps need CSP support

Import maps depcache proposal

KISSY config

YUI Loader

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

module loadingImport Mapsseed spec
Alibaba Terminal Technology
Written by

Alibaba Terminal Technology

Official public account of Alibaba Terminal

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.