npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

iap-frontend-sdk

v1.0.0

Published

云启千行平台同宿主部署前端扩展 SDK

Readme

IAP Frontend SDK

用于开发与云启千行平台同宿主部署的 Vue 2 页面扩展。扩展独立构建后作为静态资源随平台部署,并在平台运行时初始化完成后加载,不通过 iframe 或 postMessage 运行。

import { createIapFrontendSdk } from "@inspur-iap/frontend-sdk"
import OrderList from "./OrderList.vue"

const sdk = createIapFrontendSdk({
  pluginCode: "order-extension"
})

sdk.pages.register({
  code: "order-extension-list",
  title: "订单列表",
  component: OrderList
})

await sdk.ready()
const context = await sdk.context.get()
const userToken = await sdk.auth.getUserToken()
await sdk.navigation.openMenu("menu-id")

平台菜单的 view 配置为已注册的页面编码(示例为 order-extension-list)后,会在平台标签页区域直接渲染该组件。

扩展构建产物部署在 frame.html 同级的 frontend-extensions/ 目录。宿主从 frontend-extensions/manifest.json 读取扩展:

{
  "extensions": [
    {
      "pluginCode": "order-extension",
      "scripts": ["order-project/js/order-extension.umd.min.js"],
      "styles": ["order-project/css/order-extension.css"]
    }
  ]
}

脚本和样式必须与平台同源,并位于 frontend-extensions/{projectName}/ 目录内。扩展入口必须在加载时完成页面注册。

扩展与平台运行在同一页面和同一来源,浏览器层面能够访问宿主 localStorage。业务代码不应依赖 _token_userInfo 等内部键名,应通过 SDK 获取稳定上下文和动态 Token。扩展属于平台进程内的受信任前端代码,必须经过依赖、XSS 和权限审核。