twenty 0.3.0 → 2.48.0
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/CONTRIBUTING.md +174 -0
- package/LICENSE +21 -0
- package/README.md +86 -3
- package/dist/app-template/.nvmrc +1 -0
- package/dist/app-template/.oxlintrc.json +37 -0
- package/dist/app-template/AGENTS.md +70 -0
- package/dist/app-template/CHANGELOG.md +7 -0
- package/dist/app-template/README.md +34 -0
- package/dist/app-template/SETUP.md +47 -0
- package/dist/app-template/github/workflows/cd.yml +42 -0
- package/dist/app-template/github/workflows/ci.yml +60 -0
- package/dist/app-template/github/workflows/publish.yml +52 -0
- package/dist/app-template/gitignore +43 -0
- package/dist/app-template/locales/en.json +1 -0
- package/dist/app-template/package.json +36 -0
- package/dist/app-template/public/logo.svg +7 -0
- package/dist/app-template/src/__tests__/application-config.test.ts +14 -0
- package/dist/app-template/src/__tests__/global-setup.ts +56 -0
- package/dist/app-template/src/__tests__/run-twenty.ts +66 -0
- package/dist/app-template/src/__tests__/schema.integration-test.ts +46 -0
- package/dist/app-template/src/application-config.ts +13 -0
- package/dist/app-template/src/constants/universal-identifiers.ts +12 -0
- package/dist/app-template/src/default-role.ts +16 -0
- package/dist/app-template/src/front-components/main-page.tsx +287 -0
- package/dist/app-template/src/logic-functions/health-check.ts +11 -0
- package/dist/app-template/src/navigation-menu-items/main-page.navigation-menu-item.ts +19 -0
- package/dist/app-template/src/page-layouts/main-page.page-layout.ts +42 -0
- package/dist/app-template/tsconfig.json +37 -0
- package/dist/app-template/tsconfig.spec.json +9 -0
- package/dist/app-template/vitest.config.ts +31 -0
- package/dist/app-template/vitest.unit.config.ts +14 -0
- package/dist/app-template/yarn.lock +3374 -0
- package/dist/app-template/yarnrc.yml +1 -0
- package/dist/app-worker.cjs +1 -0
- package/dist/chunks/application-VJqniwXy.cjs +5 -0
- package/dist/chunks/assert-pull-paths-BuQ1ZRvQ.cjs +1 -0
- package/dist/chunks/build-CX6FBrbu.cjs +1 -0
- package/dist/chunks/build-pull-entities-BBNc4zkt.cjs +5 -0
- package/dist/chunks/build-source-manifest-BMjw7BvT.cjs +2 -0
- package/dist/chunks/build-source-snapshot-BbQlyo_m.cjs +206 -0
- package/dist/chunks/check-node-requirement-CGBKvEqH.cjs +1 -0
- package/dist/chunks/cli-error-CSsayo0u.cjs +1 -0
- package/dist/chunks/cli-node-version-range.constant-D7fE8edk.cjs +1 -0
- package/dist/chunks/cli-version.constant-BJdY4dXs.cjs +1 -0
- package/dist/chunks/collect-translatable-strings-C3TWaO1V.cjs +1 -0
- package/dist/chunks/collect-watch-inputs-Cexr5YYZ.cjs +1 -0
- package/dist/chunks/compile-application-translations-Dhfvrs__.cjs +1 -0
- package/dist/chunks/config-file-mode.constant-DLBzKKUl.cjs +1 -0
- package/dist/chunks/confirm-in-terminal-BxEM5lxE.cjs +1 -0
- package/dist/chunks/constants-Cf5-CwMu.cjs +1 -0
- package/dist/chunks/constants-Du9J-8Ug-CD8GTrut.cjs +23 -0
- package/dist/chunks/convert-to-label-D24GvvpW.cjs +1 -0
- package/dist/chunks/create-app-not-installed-error-DY-iuPPx.cjs +1 -0
- package/dist/chunks/create-cancelled-error-DgrNfOv2.cjs +1 -0
- package/dist/chunks/create-http-status-error-Dd3336c8.cjs +1 -0
- package/dist/chunks/create-metadata-client-DEBMHFDo.cjs +6 -0
- package/dist/chunks/create-pull-base-write-Cl1jfQ6l.cjs +1 -0
- package/dist/chunks/create-rest-client-r3OA3fUu.cjs +60 -0
- package/dist/chunks/create-tooling-failure-B2FmNwR2.cjs +1 -0
- package/dist/chunks/credential-kind-labels.constant-CKdoQF8o.cjs +1 -0
- package/dist/chunks/extract-manifest-from-file-D3w7Ampa.cjs +1 -0
- package/dist/chunks/extract-source-translations-BLQ-XFuN.cjs +1 -0
- package/dist/chunks/fetch-metadata-inspection-BwJjaHCB.cjs +1 -0
- package/dist/chunks/fetch-signed-in-identity-CWFlsW7e.cjs +1 -0
- package/dist/chunks/fetch-workspace-id-DJFdCITG.cjs +1 -0
- package/dist/chunks/find-remote-D48r20g0.cjs +1 -0
- package/dist/chunks/format-app-duration-gu2oRLB4.cjs +1 -0
- package/dist/chunks/format-body-CJyi3Ukr.cjs +1 -0
- package/dist/chunks/format-data-value-C5itQm1i.cjs +1 -0
- package/dist/chunks/format-details-COEwKz_M.cjs +2 -0
- package/dist/chunks/format-display-path-gEepVJDg.cjs +1 -0
- package/dist/chunks/format-metadata-fields-BozY419E.cjs +2 -0
- package/dist/chunks/format-metadata-owner-C6CksDIK.cjs +1 -0
- package/dist/chunks/format-progress-line-C5nYDVHB.cjs +1 -0
- package/dist/chunks/format-table-4drtI5sP.cjs +2 -0
- package/dist/chunks/fs-utils-Bl1fQcaJ.cjs +2 -0
- package/dist/chunks/generate-application-client-BApuJWQO.cjs +1 -0
- package/dist/chunks/get-app-plan-summary-F_MjZOGe.cjs +8 -0
- package/dist/chunks/get-client-generation-skip-reason-B5f_gcok.cjs +1 -0
- package/dist/chunks/get-client-sdk-package-path-2U3kDCRq.cjs +1 -0
- package/dist/chunks/get-config-path-C-D-QHuX.cjs +1 -0
- package/dist/chunks/get-credential-kind-JI9heHe2.cjs +1 -0
- package/dist/chunks/get-function-input-schema-GNk3NRLJ-oQ5Evald.cjs +1 -0
- package/dist/chunks/get-tooling-error-context-C69TBSej.cjs +1 -0
- package/dist/chunks/global-flags.constant-BPHQAhn7.cjs +1 -0
- package/dist/chunks/has-yarn-plug-and-play-X3ay5Xl0.cjs +1 -0
- package/dist/chunks/is-access-token-expiring-DIimejBr.cjs +1 -0
- package/dist/chunks/is-application-not-found-error-D0BAcKyX.cjs +1 -0
- package/dist/chunks/is-exported-manifest-RF_O2ibz.cjs +1 -0
- package/dist/chunks/is-inside-directory-DHVCQE5C.cjs +1 -0
- package/dist/chunks/is-interaction-allowed-CF-ko1KI.cjs +1 -0
- package/dist/chunks/is-locale-catalog-Dzj6m_Xt.cjs +1 -0
- package/dist/chunks/is-same-universal-identifier-BCBib3RP.cjs +1 -0
- package/dist/chunks/is-supported-locale-C9iuFQ39.cjs +1 -0
- package/dist/chunks/kebab-case-D0usAzG-.cjs +1 -0
- package/dist/chunks/list-application-source-files-jEau5Rie.cjs +1 -0
- package/dist/chunks/locale-catalog-format-BT6ommA1.cjs +20 -0
- package/dist/chunks/metadata-BtOyR6x0.cjs +1 -0
- package/dist/chunks/metadata-page.constant-CnR03vnh.cjs +1 -0
- package/dist/chunks/oauth-timing.constant-BClMQcKn.cjs +1 -0
- package/dist/chunks/open-browser-LPuVspT7.cjs +1 -0
- package/dist/chunks/parse-api-url-C9MmGtLY.cjs +1 -0
- package/dist/chunks/parse-app-export-BT6nM7Ki.cjs +1 -0
- package/dist/chunks/parse-extraction-locale-CM7sARBo.cjs +1 -0
- package/dist/chunks/parse-graphql-response-DbYu3YlQ.cjs +1 -0
- package/dist/chunks/parse-json-input-DaXTn_6C.cjs +1 -0
- package/dist/chunks/print-typescript-value-BoxeFXca.cjs +3 -0
- package/dist/chunks/pull-source-DNswr_80.cjs +1 -0
- package/dist/chunks/read-app-identity-CtO3wiSx.cjs +1 -0
- package/dist/chunks/read-application-identifier-B51ax_Q6.cjs +1 -0
- package/dist/chunks/read-application-identity-Bx8B9Bel.cjs +1 -0
- package/dist/chunks/read-command-values-uSJqBG_E.cjs +1 -0
- package/dist/chunks/read-config-LKYhSPOb.cjs +1 -0
- package/dist/chunks/read-input-value-Cxgh_r2g.cjs +1 -0
- package/dist/chunks/read-json-object-BONMjSVo.cjs +1 -0
- package/dist/chunks/read-snapshot-file-ClIpemjz.cjs +1 -0
- package/dist/chunks/read-source-identity-C4eKC14c.cjs +1 -0
- package/dist/chunks/read-watch-input-stamp-BxeOb0vI.cjs +1 -0
- package/dist/chunks/record-pull-base-CdTOndSf.cjs +1 -0
- package/dist/chunks/record-typecheck-config-inputs-DcCY-_Z1.cjs +1 -0
- package/dist/chunks/request-oauth-tokens-CS79pVAp.cjs +1 -0
- package/dist/chunks/request-timeout-milliseconds.constant-DtyQHrll.cjs +1 -0
- package/dist/chunks/require-approval-D0FfoHhF.cjs +1 -0
- package/dist/chunks/resolve-app-project-BQnFOdLH.cjs +1 -0
- package/dist/chunks/resolve-command-target-CKYtQQPx.cjs +1 -0
- package/dist/chunks/resolve-inside-sdk-Cc_y-RWT.cjs +1 -0
- package/dist/chunks/resolve-metadata-object-CRWbF9Ce.cjs +1 -0
- package/dist/chunks/resolve-project-typescript-CZW_p97L.cjs +1 -0
- package/dist/chunks/resolve-request-url-BrqiqInn.cjs +1 -0
- package/dist/chunks/resolve-source-sdk-CGEJC-UH.cjs +1 -0
- package/dist/chunks/result-item-limit.constant-CDrOhiWD.cjs +1 -0
- package/dist/chunks/run-api-graphql-command-KlIMjpOY.cjs +1 -0
- package/dist/chunks/run-api-rest-command-W4gCU562.cjs +1 -0
- package/dist/chunks/run-app-add-command-C6rIt02R.cjs +163 -0
- package/dist/chunks/run-app-apply-command-BckNNni9.cjs +2 -0
- package/dist/chunks/run-app-build-command-DW0r-w2C.cjs +2 -0
- package/dist/chunks/run-app-dev-command-C3U-3OiV.cjs +2 -0
- package/dist/chunks/run-app-exec-command-DNeCk5qs.cjs +3 -0
- package/dist/chunks/run-app-generate-client-command-HAgBNVFU.cjs +2 -0
- package/dist/chunks/run-app-init-command-dTbY28oS.cjs +2 -0
- package/dist/chunks/run-app-install-command-BX30OsrQ.cjs +1 -0
- package/dist/chunks/run-app-logs-command-CdAXR-XY.cjs +9 -0
- package/dist/chunks/run-app-operation--X_q0SAn.cjs +1 -0
- package/dist/chunks/run-app-plan-command-Bm1eXl7V.cjs +1 -0
- package/dist/chunks/run-app-publish-command-Cdb3OlI2.cjs +3 -0
- package/dist/chunks/run-app-pull-command-DljZP4Ey.cjs +3 -0
- package/dist/chunks/run-app-translations-extract-command-Cc053lZ6.cjs +2 -0
- package/dist/chunks/run-app-typecheck-command-B7o20_BR.cjs +1 -0
- package/dist/chunks/run-app-uninstall-command-DJsWZtoI.cjs +2 -0
- package/dist/chunks/run-auth-login-command-21pHzpvT.cjs +1 -0
- package/dist/chunks/run-auth-logout-command-DWOafJmL.cjs +2 -0
- package/dist/chunks/run-auth-status-command-BBAcouvs.cjs +1 -0
- package/dist/chunks/run-auth-token-command-D4geJ-rx.cjs +1 -0
- package/dist/chunks/run-cli-D1VWVXar.cjs +23 -0
- package/dist/chunks/run-commands-command-6x3V48LL.cjs +2 -0
- package/dist/chunks/run-data-get-command-DrgvC-zi.cjs +1 -0
- package/dist/chunks/run-data-list-command-Cs8GAHbD.cjs +1 -0
- package/dist/chunks/run-doctor-command-BM4pkNY0.cjs +2 -0
- package/dist/chunks/run-metadata-field-describe-command-CrmzNFh8.cjs +3 -0
- package/dist/chunks/run-metadata-field-list-command-B2CbERvZ.cjs +3 -0
- package/dist/chunks/run-metadata-object-describe-command-PLt5ySLJ.cjs +3 -0
- package/dist/chunks/run-metadata-object-list-command-BcnWKmgh.cjs +2 -0
- package/dist/chunks/run-open-command-CzMO5wI4.cjs +1 -0
- package/dist/chunks/run-remote-list-command-37zf0rSp.cjs +1 -0
- package/dist/chunks/run-remote-remove-command-B-XUqYBY.cjs +2 -0
- package/dist/chunks/run-remote-rename-command-Bmg3nZfB.cjs +1 -0
- package/dist/chunks/run-remote-use-command-r2NUlgWw.cjs +1 -0
- package/dist/chunks/run-version-command-DfDcA927.cjs +1 -0
- package/dist/chunks/select-target-CEy96CC9.cjs +1 -0
- package/dist/chunks/sign-in-to-remote-again-9cHGpXda.cjs +1 -0
- package/dist/chunks/sign-in-with-browser-StQ_Fkku.cjs +1 -0
- package/dist/chunks/style-BR52fK4V.cjs +1 -0
- package/dist/chunks/target-environment-variable.constant-D7z8AihP.cjs +1 -0
- package/dist/chunks/to-cli-error-BBYf_wqo.cjs +1 -0
- package/dist/chunks/to-public-target-T4zHrdLQ.cjs +1 -0
- package/dist/chunks/to-worker-output-diagnostics-BeJKIsDG.cjs +2 -0
- package/dist/chunks/typecheck-application-DLdoLIDx.cjs +2 -0
- package/dist/chunks/undici-D3mKdfwl.cjs +95 -0
- package/dist/chunks/update-config-CNOHxgkF.cjs +1 -0
- package/dist/chunks/utils-BEfQWzTA-z2Y1wZJq.cjs +35 -0
- package/dist/chunks/validate-app-path-Dau-PC0a.cjs +1 -0
- package/dist/chunks/validate-remote-name-w-qnr43w.cjs +1 -0
- package/dist/chunks/with-phase-details-Dof8Ao9R.cjs +1 -0
- package/dist/chunks/write-config-atomically-gr2Ldzm8.cjs +1 -0
- package/dist/cli.cjs +2 -0
- package/docs/commands.md +652 -0
- package/package.json +39 -3
- package/src/app/README.md +43 -0
- package/src/app/add/README.md +69 -0
- package/src/app/bundles/README.md +85 -0
- package/src/app/client/README.md +62 -0
- package/src/app/dev/README.md +35 -0
- package/src/app/exec/README.md +48 -0
- package/src/app/function-logs/README.md +44 -0
- package/src/app/manifest/README.md +74 -0
- package/src/app/pull/README.md +28 -0
- package/src/app/source/README.md +33 -0
- package/src/app/typecheck/README.md +67 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e=require("node:fs/promises"),t=require("node:path");var n=async n=>(0,t.isAbsolute)(n)&&(await(0,e.stat)(n).catch(()=>null))?.isDirectory()?{success:!0,data:null,diagnostics:[]}:{success:!1,error:{code:`INVALID_APP_PATH`,message:`appPath must be an absolute path to an existing directory.`},diagnostics:[]};Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return n}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./cli-error-CSsayo0u.cjs");var t=/^[A-Za-z0-9][A-Za-z0-9._-]{0,62}$/,n=n=>{if(!t.test(n))throw new e.t({code:`INVALID_REMOTE_NAME`,exitCode:e.n.USAGE,message:`${n} is not a valid remote name.`,hint:`Use letters, digits, dots, dashes and underscores, starting with a letter or digit.`});return n};Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return n}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./cli-error-CSsayo0u.cjs");var t=({error:t,phase:n,outcome:r,completedPhases:i,hint:a})=>new e.t({cause:t,code:t.code,exitCode:t.exitCode,message:t.message,hint:t.hint??a,details:{...t.details,phase:n,outcome:r,completedPhases:[...i]}});Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return t}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./build-CX6FBrbu.cjs"),t=require("./constants-Du9J-8Ug-CD8GTrut.cjs"),n=require("./cli-error-CSsayo0u.cjs"),r=require("./request-timeout-milliseconds.constant-DtyQHrll.cjs"),i=require("./config-file-mode.constant-DLBzKKUl.cjs");let a=require("node:crypto"),o=require("node:fs/promises"),s=require("node:path"),c=require("node:timers/promises");var l=e.t(),u={TIMEOUT_MILLISECONDS:2*r.t+5e3,RETRY_MILLISECONDS:50},d=async e=>{try{let n=JSON.parse(await(0,o.readFile)(e,`utf8`));return t.p(n)&&(0,l.isNumber)(n.pid)&&(0,l.isString)(n.token)?{pid:n.pid,token:n.token}:void 0}catch{return}},f=e=>{try{return process.kill(e,0),!0}catch(e){return n.r(e,`EPERM`)}},p=async e=>{let r=await d(e),i=t.Vt(r)&&!f(r.pid),a=t.Vt(r)?` (pid ${r.pid})`:``;return new n.t({code:`CONFIG_LOCKED`,message:i?`A twenty command (pid ${r.pid}) stopped without releasing ${e}.`:`Another twenty command${a} is changing ${(0,s.dirname)(e)}.`,hint:i?`Delete ${e} and try again.`:`Try again when it finishes. If no twenty command is running, delete ${e}.`,details:{lockPath:e,ownerPid:r?.pid??null}})},m=async(e,t)=>{try{let n=await(0,o.open)(e,`wx`,i.t.PRIVATE_FILE);return await n.writeFile(JSON.stringify({pid:process.pid,token:t})),await n.close(),!0}catch(e){if(n.r(e,`EEXIST`))return!1;throw e}},h=async({lockPath:e,token:n,signal:r})=>{let i=Date.now()+u.TIMEOUT_MILLISECONDS,a=await m(e,n);for(;!a;){r.throwIfAborted();let o=await d(e);if(t.Vt(o)&&!f(o.pid)||Date.now()>i)throw await p(e);await(0,c.setTimeout)(u.RETRY_MILLISECONDS,void 0,{signal:r}),a=await m(e,n)}},g=async(e,t)=>{(await d(e))?.token===t&&await(0,o.rm)(e,{force:!0})},_=async({configPath:e,signal:t,operation:n})=>{let r=`${e}.lock`,c=(0,a.randomUUID)();await(0,o.mkdir)((0,s.dirname)(e),{recursive:!0,mode:i.t.PRIVATE_DIRECTORY}),await h({lockPath:r,token:c,signal:t});try{return await n()}finally{await g(r,c)}},v=async(e,t)=>{let n=`${e}.${process.pid}.${(0,a.randomUUID)()}.tmp`,r=await(0,o.open)(n,`wx`,i.t.PRIVATE_FILE);try{await r.writeFile(`${JSON.stringify(t,null,2)}\n`),await r.sync(),await r.close(),await(0,o.rename)(n,e)}catch(e){throw await r.close().catch(()=>void 0),await(0,o.rm)(n,{force:!0}),e}};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return v}});
|
package/dist/cli.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const e=require("./chunks/check-node-requirement-CGBKvEqH.cjs"),t=require("./chunks/cli-node-version-range.constant-D7fE8edk.cjs");process.stdout.on(`error`,e=>{if(e.code!==`EPIPE`)throw e;process.exit()}),(async({args:n,nodeVersion:r,loadCli:i})=>{if(e.t({version:r,range:`>=24.5.0`})!==`satisfied`){process.stderr.write(`twenty requires Node.js ${t.t}; this is Node.js ${r}. Switch to a supported Node.js version, then try again.\n`),process.exitCode=1;return}await(await i()).runCli(n)})({args:process.argv.slice(2),nodeVersion:process.versions.node,loadCli:()=>Promise.resolve().then(()=>require("./chunks/run-cli-D1VWVXar.cjs"))});
|