@doubao-apps/kit 0.0.30 → 0.0.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/0~596.js +2 -2
- package/dist/288.js +38 -38
- package/dist/29.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/exports/commands.d.ts +1 -1
- package/dist/exports/commands.js +1 -1
- package/dist/exports/sdk.js +4 -4
- package/dist/types.d.ts +4 -0
- package/package.json +1 -1
- package/dist/614.js +0 -2
package/dist/29.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"node:module";import{
|
|
1
|
+
import"node:module";import{Command as n,Launcher as o,clearLoginState as t,resolveLoginCookie as r}from"./288.js";let i=function(n=o){return async function({cliOptions:o={},appDirectory:t=process.cwd(),command:r}){let i=new n(t);await i.run(r,o)}}(o);function c(o,t){return i({cliOptions:o,appDirectory:t,command:n.DEV})}function u(o,t){return i({cliOptions:o,appDirectory:t,command:n.BUILD})}function e(o,t){return i({cliOptions:o,appDirectory:t,command:n.ANALYZE})}function l(n){return r(n??{},{force:!0})}function m(){return t()}export{e as analyze,u as build,c as dev,l as login,m as logout};
|
|
2
2
|
//# sourceMappingURL=29.js.map
|
package/dist/cli/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"node:module";import{program as e}from"commander";import{logger as o,chalk_0 as r}from"../288.js";import{dev as a,login as t,
|
|
1
|
+
import"node:module";import{program as e}from"commander";import{logger as o,chalk_0 as r}from"../288.js";import{dev as a,login as t,logout as i,build as n,analyze as c}from"../29.js";function s(){if(!process.env.NODE_ENV){let e=process.argv[2];process.env.NODE_ENV=["build","package","deploy","analyze","perf"].includes(e)?"production":"development"}o.greet("Doubao Apps SDK v0.0.31")}function p(e){return e.option("-c --config <config>","specify the configuration file, can be a relative or absolute path").option("--env-mode <mode>","specify the env mode to load the `.env.[mode]` file"),e}function d(s=process.cwd(),l={},m="0.0.31"){var u;e.name("doubao").usage("<command> [options]").version(m),p(e.command("dev")).description("starting the dev server...").action(async e=>{try{await a(e)}catch(e){o.error("Failed to dev"),o.error(e),process.exit(1)}}),((u=e.command("login")).option("--login-browser <browser>","browser for interactive login: system Chrome/Edge first, optional Playwright Chromium fallback (auto/chrome/msedge/chromium)","auto").option("--login-browser-path <path>","custom Chromium-based browser executable path for login"),u).description("login to Doubao Apps").action(async e=>{try{await t(e),o.info(r.green("Login succeeded."))}catch(e){o.error(r.red("Failed to login")),o.error(e),process.exit(1)}}),e.command("logout").description("clear Doubao Apps login state").action(async()=>{try{await i(),o.info(r.green("Logout succeeded."))}catch(e){o.error(r.red("Failed to logout")),o.error(e),process.exit(1)}}),p(e.command("build")).description("starting build the applet").option("-a --archive","Archive all package",!1).option("-ch --channel <string>","Need channel name").action(async e=>{try{await n(e)}catch(e){o.error("Failed to build"),o.error(e),process.exit(1)}}),p(e.command("analyze")).description("analyze the applet package").action(async e=>{try{await c(e)}catch(e){o.error(r.red("Failed to analyze")),o.error(e),process.exit(1)}}),e.parse()}export{s as prepareCli,d as runCli};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { analyze, build, dev, login } from '@byted-doubao-apps/kit/commands';
|
|
1
|
+
export { analyze, build, dev, login, logout } from '@byted-doubao-apps/kit/commands';
|
|
2
2
|
export type { CliOptions } from '@byted-doubao-apps/kit/commands';
|
package/dist/exports/commands.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"node:module";export{analyze,build,dev,login}from"../29.js";
|
|
1
|
+
import"node:module";export{analyze,build,dev,login,logout}from"../29.js";
|
package/dist/exports/sdk.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import"node:module";import{__webpack_require__ as e}from"../rslib-runtime.js";import{execFileSync as t}from"node:child_process";import{node_path as a,fileURLToPath as r,promises as o,dev_server_log_plugin_getDebugDriver as i,
|
|
2
|
-
`}return"README.md"===e||"AGENTS.md"===e?$(t).split("\n").filter(e=>!O.some(t=>e.includes(t))).join("\n"):$(t)}(i.name,s,t))}}async function
|
|
3
|
-
`)}let
|
|
4
|
-
`)}async function I(){let e=a.resolve(F,"..","package.json");return JSON.parse(await o.readFile(e,"utf-8")).version??"0.0.1"}async function R(e){let r=a.join(e,".git");if(!await o.stat(r).then(e=>e.isDirectory()).catch(e=>{if(e?.code==="ENOENT")return!1;throw e}))try{t("git",["init"],{cwd:e,stdio:"ignore"})}catch(t){if(t?.code==="ENOENT")return;throw Error(`Failed to initialize git repository: ${e}`,{cause:t})}}async function U({template:e,projectDir:t,public:r=!0,includeAI:i,appId:n,name:s,packageName:c,overwrite:p}){if(!a.isAbsolute(t))throw Error(`Project directory must be an absolute path: ${t}`);if(!
|
|
1
|
+
import"node:module";import{__webpack_require__ as e}from"../rslib-runtime.js";import{execFileSync as t}from"node:child_process";import{node_path as a,fileURLToPath as r,promises as o,dev_server_log_plugin_getDebugDriver as i,getErrorMessage as n,node_fs as s,getDebugScenes as c,requestDoubaoAppsPlatform as p,Launcher as l,executeDebugScene as u,loadDebugScene as d,archivePackage as y,isDebugMode as f}from"../288.js";async function h({appId:e,versionTag:t,versionCode:a,packagePath:r,internal:o,domainId:i,cookie:n,needAuth:c=!0}){let l=new FormData,u=new Blob([new Uint8Array(s.readFileSync(r))],{type:"application/zip"});l.append("applet_file",u,"doubao_app.zip"),l.append("applet_version_code",a.toString());let d=`/developer/${c?"resource_api":"resource_internal_api"}/apps/${encodeURIComponent(e)}/versions/${encodeURIComponent(t)}/package/upload_applet`;return await p({internal:o,domainId:i,path:d,method:"POST",body:l,headers:n?{Cookie:n}:void 0})}let m=a.join("src","app.config.ts"),w=a.join("src","app.ts");function g(e){return e.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}async function b(e,t,r=""){for(let i of[m,w].map(t=>a.join(e,t))){let e;try{e=await o.readFile(i,"utf8")}catch(e){if(e?.code==="ENOENT")continue;throw e}let a=e.replace("<%= appId %>",g(t)).replace("<%= name %>",g(r));a!==e&&await o.writeFile(i,a,"utf8")}}let j=new Set(["node_modules","dist",".git"]);async function E(e,t,r={}){let{includeAI:i=!0}=r,n=async(e,t)=>{for(let r of(await o.mkdir(t,{recursive:!0}),await o.readdir(e,{withFileTypes:!0}))){let s=a.join(e,r.name),c=a.join(t,r.name);if(r.isDirectory()){if(j.has(r.name)||"references"===r.name&&!i)continue;await n(s,c)}else{if("AGENTS.md"===r.name&&!i)continue;await o.copyFile(s,c)}}};await n(e,t)}let D=new Set([".js",".cjs",".mjs",".ts",".tsx",".jsx",".json",".md",".txt",".scss",".css",".less",".html",".yml",".yaml"]),v=[["@byted-doubao-apps/framework","@doubao-apps/framework"],["@byted-doubao-apps/kit","@doubao-apps/kit"],["@byted-doubao-apps/ai","@doubao-apps/ai"],["@byted-doubao-apps/create","@doubao-apps/create"],["@byted-doubao-apps/taro-runtime","@doubao-apps/taro-runtime"]],_=["doubao.config.ts"],S=["@byted-doubao-apps/deploy","@doubao-apps/deploy"],N=["deploy"],O=["pnpm run deploy","doubao.config.ts","部署到豆包平台"];function $(e){let t=e;for(let[e,a]of v)t=t.replace(RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),a);return t}async function k(e,t){for(let i of(await o.readdir(e,{withFileTypes:!0}))){var r;let n=a.join(e,i.name);if(function(e){return _.some(t=>t===e)}(i.name)){await o.rm(n,{recursive:!0,force:!0});continue}if(i.isDirectory()){await k(n,t);continue}if(r=i.name,!D.has(a.extname(r))&&"package.json"!==r&&"tsconfig.json"!==r)continue;let s=await o.readFile(n,"utf-8");await o.writeFile(n,function(e,t,a){if("package.json"===e){let e=JSON.parse($(t));if(e.scripts&&"object"==typeof e.scripts){for(let t of N)delete e.scripts[t];0===Object.keys(e.scripts).length&&delete e.scripts}for(let t of["dependencies","devDependencies","peerDependencies"])if(e[t]&&"object"==typeof e[t]){for(let r of Object.keys(e[t]))S.some(e=>e===r)?delete e[t][r]:r.startsWith("@doubao-apps/")&&(e[t][r]=`^${a}`);0===Object.keys(e[t]).length&&delete e[t]}return`${JSON.stringify(e,null,2)}
|
|
2
|
+
`}return"README.md"===e||"AGENTS.md"===e?$(t).split("\n").filter(e=>!O.some(t=>e.includes(t))).join("\n"):$(t)}(i.name,s,t))}}async function T(e,t){let r=a.join(e,"package.json");if(!s.existsSync(r))throw Error("package.json not found in template");let o=JSON.parse(s.readFileSync(r,"utf-8"));o.name=t,s.writeFileSync(r,`${JSON.stringify(o,null,2)}
|
|
3
|
+
`)}let P=["starter","empty"],x=r(import.meta.url),F=a.dirname(x),C={".gitignore":["dist","node_modules",".DS_Store"]};async function A(e){for(let[t,r]of Object.entries(C))await o.writeFile(a.join(e,t),`${r.join("\n")}
|
|
4
|
+
`)}async function I(){let e=a.resolve(F,"..","package.json");return JSON.parse(await o.readFile(e,"utf-8")).version??"0.0.1"}async function R(e){let r=a.join(e,".git");if(!await o.stat(r).then(e=>e.isDirectory()).catch(e=>{if(e?.code==="ENOENT")return!1;throw e}))try{t("git",["init"],{cwd:e,stdio:"ignore"})}catch(t){if(t?.code==="ENOENT")return;throw Error(`Failed to initialize git repository: ${e}`,{cause:t})}}async function U({template:e,projectDir:t,public:r=!0,includeAI:i,appId:n,name:s,packageName:c,overwrite:p}){if(!a.isAbsolute(t))throw Error(`Project directory must be an absolute path: ${t}`);if(!P.includes(e))throw Error(`Invalid template: ${e}. Valid options: ${P.join(", ")}`);let l=a.resolve(F,`template-${e}`);try{if(!(await o.stat(l)).isDirectory())throw Error(`Template path is not a directory: ${l}`)}catch(e){if(e?.code==="ENOENT")throw Error(`Template directory not found: ${l}`,{cause:e});throw Error(`Unable to access template directory: ${l}`,{cause:e})}if(await o.stat(t).then(e=>{if(!e.isDirectory())throw Error(`Project path is not a directory: ${t}`);return!0}).catch(e=>{if(e?.code==="ENOENT")return!1;throw Error(`Unable to access project directory: ${t}`,{cause:e})})){if((await o.readdir(t)).length>0&&!p)throw Error(`Project directory is not empty: ${t}`)}else await o.mkdir(t,{recursive:!0});await E(l,t,{includeAI:i}),r&&await k(t,await I()),await A(t),await R(t);let u=c??a.basename(t).trim().toLowerCase().replace(/\s+/g,"-").replace(/^[._]/,"").replace(/[^a-z0-9-~._]+/g,"-");await T(t,u),await b(t,n??`com.doubao.${u}`,s??"")}let J=e("fs");function K(e){return[{name:"DoubaoAppsDevPlugin",setup(t){t.onDevCompileDone(()=>{e?.onDevCompileDone?.()})}}]}class z{appDirectory;launcher;constructor(e,t=l){this.appDirectory=e,this.launcher=new t(e)}async create(e){await U(e)}async dev(e={}){let{compileHooks:t,...a}=e;return await this.launcher.dev({...a,rsbuildPlugins:K(t),signingEncryptionOptions:e.signingEncryptionOptions})}async build(e={}){process.env.NODE_ENV="production";let{compileHooks:t,...a}=e;await this.launcher.build({...a,rsbuildPlugins:K(t),signingEncryptionOptions:e.signingEncryptionOptions,versionTag:e.versionTag})}async discoverWidgets(){return Object.values(this.launcher.context.metadata.getData().widgets)}async discoverPages(){return Object.values(this.launcher.context.metadata.getData().pages)}async discoverTools(){return Object.values(this.launcher.context.metadata.getData().tools)}async pushWidget(e){let{widgetId:t,deviceId:a,botId:r,widgetData:o,hdt:n}=e,s=await i({hdt:n,deviceId:a}),c=this.launcher.context.metadata.getData().app.appId;s.pushWidget({appId:c,widgetId:t,widgetData:o,botId:r})}async openPage(e){let{pageId:t,pageData:a,pageSettings:r,mode:o,hdt:n,deviceId:s}=e,c=await i({hdt:n,deviceId:s}),p=this.launcher.context.metadata.getData().app.appId;c.openPage({appId:p,pageId:t,pageData:a,pageSettings:r,mode:o})}async callTool(e){let{toolId:t,toolData:a,hdt:r,deviceId:o}=e,n=await i({hdt:r,deviceId:o}),s=this.launcher.context.metadata.getData().app.appId;n.callTool({appId:s,toolId:t,toolData:a})}async executeDebugScene(e){let{matchedScene:t,deviceId:a,hdt:r}=e,o=this.launcher.context.metadata.getData().app.appId,n=await i({hdt:r,deviceId:a});await u({matchedScene:t,appId:o,driver:n})}async getDebugScenes(){let e=await c(this.appDirectory||process.cwd());return await Promise.all(e.map(async e=>({...e,content:await d(e.path)})))}async deploy(e){let{versionTag:t,cookie:a,appKey:r,signingEncryptionOptions:o}=e;process.env.NODE_ENV="production",await this.launcher.build({skipCleanupRootPath:!0,cookie:a,signingEncryptionOptions:o,versionTag:e.versionTag});let{manifest:i}=this.launcher.context,{appId:s,versionCode:c}=i,{packageResource:p}=await y({channelName:"doubao_app",manifest:i,rootPath:this.launcher.rootPath});if(!p)throw Error("Failed to archive package");try{let o=await h({appId:r||s,versionTag:t,versionCode:c,packagePath:p.resource,internal:e.internal??this.launcher.context.internal,cookie:a});return console.log("Deploy success:",o),o}catch(t){console.error("Deploy error:",n(t));let e=n(t);try{return JSON.parse(e)}catch{return{code:-1,message:e,data:null,log_id:""}}}finally{f()||J.default.rmSync(this.launcher.rootPath,{recursive:!0,force:!0})}}}export{z as DoubaoAppsSDK};
|
|
5
5
|
//# sourceMappingURL=sdk.js.map
|
package/dist/types.d.ts
CHANGED
package/package.json
CHANGED
package/dist/614.js
DELETED