2
0

rush.json 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047
  1. /**
  2. * This is the main configuration file for Rush.
  3. * For full documentation, please see https://rushjs.io
  4. */
  5. {
  6. "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/rush.schema.json",
  7. /**
  8. * (Required) This specifies the version of the Rush engine to be used in this repo.
  9. * Rush's "version selector" feature ensures that the globally installed tool will
  10. * behave like this release, regardless of which version is installed globally.
  11. *
  12. * The common/scripts/install-run-rush.js automation script also uses this version.
  13. *
  14. * NOTE: If you upgrade to a new major version of Rush, you should replace the "v5"
  15. * path segment in the "$schema" field for all your Rush config files. This will ensure
  16. * correct error-underlining and tab-completion for editors such as VS Code.
  17. */
  18. "rushVersion": "5.150.0",
  19. /**
  20. * The next field selects which package manager should be installed and determines its version.
  21. * Rush installs its own local copy of the package manager to ensure that your build process
  22. * is fully isolated from whatever tools are present in the local environment.
  23. *
  24. * Specify one of: "pnpmVersion", "npmVersion", or "yarnVersion". See the Rush documentation
  25. * for details about these alternatives.
  26. */
  27. "pnpmVersion": "10.6.5",
  28. // "npmVersion": "6.14.15",
  29. // "yarnVersion": "1.9.4",
  30. /**
  31. * Older releases of the Node.js engine may be missing features required by your system.
  32. * Other releases may have bugs. In particular, the "latest" version will not be a
  33. * Long Term Support (LTS) version and is likely to have regressions.
  34. *
  35. * Specify a SemVer range to ensure developers use a Node.js version that is appropriate
  36. * for your repo.
  37. *
  38. * LTS schedule: https://nodejs.org/en/about/releases/
  39. * LTS versions: https://nodejs.org/en/download/releases/
  40. */
  41. "nodeSupportedVersionRange": ">=18.20.3 <19.0.0 || >=20.14.0 <23.0.0",
  42. /**
  43. * If the version check above fails, Rush will display a message showing the current
  44. * node version and the supported version range. You can use this setting to provide
  45. * additional instructions that will display below the warning, if there's a specific
  46. * tool or script you'd like the user to use to get in line with the expected version.
  47. */
  48. // "nodeSupportedVersionInstructions": "Run 'nvs use' to switch to the expected node version.",
  49. /**
  50. * Odd-numbered major versions of Node.js are experimental. Even-numbered releases
  51. * spend six months in a stabilization period before the first Long Term Support (LTS) version.
  52. * For example, 8.9.0 was the first LTS version of Node.js 8. Pre-LTS versions are not recommended
  53. * for production usage because they frequently have bugs. They may cause Rush itself
  54. * to malfunction.
  55. *
  56. * Rush normally prints a warning if it detects a pre-LTS Node.js version. If you are testing
  57. * pre-LTS versions in preparation for supporting the first LTS version, you can use this setting
  58. * to disable Rush's warning.
  59. */
  60. // "suppressNodeLtsWarning": false,
  61. /**
  62. * Rush normally prints a warning if it detects that the current version is not one published to the
  63. * public npmjs.org registry. If you need to block calls to the npm registry, you can use this setting to disable
  64. * Rush's check.
  65. */
  66. // "suppressRushIsPublicVersionCheck": false,
  67. /**
  68. * Large monorepos can become intimidating for newcomers if project folder paths don't follow
  69. * a consistent and recognizable pattern. When the system allows nested folder trees,
  70. * we've found that teams will often use subfolders to create islands that isolate
  71. * their work from others ("shipping the org"). This hinders collaboration and code sharing.
  72. *
  73. * The Rush developers recommend a "category folder" model, where buildable project folders
  74. * must always be exactly two levels below the repo root. The parent folder acts as the category.
  75. * This provides a basic facility for grouping related projects (e.g. "apps", "libraries",
  76. * "tools", "prototypes") while still encouraging teams to organize their projects into
  77. * a unified taxonomy. Limiting to 2 levels seems very restrictive at first, but if you have
  78. * 20 categories and 20 projects in each category, this scheme can easily accommodate hundreds
  79. * of projects. In practice, you will find that the folder hierarchy needs to be rebalanced
  80. * occasionally, but if that's painful, it's a warning sign that your development style may
  81. * discourage refactoring. Reorganizing the categories should be an enlightening discussion
  82. * that brings people together, and maybe also identifies poor coding practices (e.g. file
  83. * references that reach into other project's folders without using Node.js module resolution).
  84. *
  85. * The defaults are projectFolderMinDepth=1 and projectFolderMaxDepth=2.
  86. *
  87. * To remove these restrictions, you could set projectFolderMinDepth=1
  88. * and set projectFolderMaxDepth to a large number.
  89. */
  90. "projectFolderMinDepth": 2,
  91. "projectFolderMaxDepth": 4,
  92. /**
  93. * Today the npmjs.com registry enforces fairly strict naming rules for packages, but in the early
  94. * days there was no standard and hardly any enforcement. A few large legacy projects are still using
  95. * nonstandard package names, and private registries sometimes allow it. Set "allowMostlyStandardPackageNames"
  96. * to true to relax Rush's enforcement of package names. This allows upper case letters and in the future may
  97. * relax other rules, however we want to minimize these exceptions. Many popular tools use certain punctuation
  98. * characters as delimiters, based on the assumption that they will never appear in a package name; thus if we relax
  99. * the rules too much it is likely to cause very confusing malfunctions.
  100. *
  101. * The default value is false.
  102. */
  103. // "allowMostlyStandardPackageNames": true,
  104. /**
  105. * This feature helps you to review and approve new packages before they are introduced
  106. * to your monorepo. For example, you may be concerned about licensing, code quality,
  107. * performance, or simply accumulating too many libraries with overlapping functionality.
  108. * The approvals are tracked in two config files "browser-approved-packages.json"
  109. * and "nonbrowser-approved-packages.json". See the Rush documentation for details.
  110. */
  111. // "approvedPackagesPolicy": {
  112. // /**
  113. // * The review categories allow you to say for example "This library is approved for usage
  114. // * in prototypes, but not in production code."
  115. // *
  116. // * Each project can be associated with one review category, by assigning the "reviewCategory" field
  117. // * in the "projects" section of rush.json. The approval is then recorded in the files
  118. // * "common/config/rush/browser-approved-packages.json" and "nonbrowser-approved-packages.json"
  119. // * which are automatically generated during "rush update".
  120. // *
  121. // * Designate categories with whatever granularity is appropriate for your review process,
  122. // * or you could just have a single category called "default".
  123. // */
  124. // "reviewCategories": [
  125. // // Some example categories:
  126. // "production", // projects that ship to production
  127. // "tools", // non-shipping projects that are part of the developer toolchain
  128. // "prototypes" // experiments that should mostly be ignored by the review process
  129. // ],
  130. //
  131. // /**
  132. // * A list of NPM package scopes that will be excluded from review.
  133. // * We recommend to exclude TypeScript typings (the "@types" scope), because
  134. // * if the underlying package was already approved, this would imply that the typings
  135. // * are also approved.
  136. // */
  137. // // "ignoredNpmScopes": ["@types"]
  138. // },
  139. /**
  140. * If you use Git as your version control system, this section has some additional
  141. * optional features you can use.
  142. */
  143. "gitPolicy": {
  144. /**
  145. * Work at a big company? Tired of finding Git commits at work with unprofessional Git
  146. * emails such as "beer-lover@my-college.edu"? Rush can validate people's Git email address
  147. * before they get started.
  148. *
  149. * Define a list of regular expressions describing allowable e-mail patterns for Git commits.
  150. * They are case-insensitive anchored JavaScript RegExps. Example: ".*@example\.com"
  151. *
  152. * IMPORTANT: Because these are regular expressions encoded as JSON string literals,
  153. * RegExp escapes need two backslashes, and ordinary periods should be "\\.".
  154. */
  155. // "allowedEmailRegExps": [
  156. // "[^@]+@users\\.noreply\\.github\\.com",
  157. // "rush-bot@example\\.org"
  158. // ],
  159. /**
  160. * When Rush reports that the address is malformed, the notice can include an example
  161. * of a recommended email. Make sure it conforms to one of the allowedEmailRegExps
  162. * expressions.
  163. */
  164. // "sampleEmail": "example@users.noreply.github.com",
  165. /**
  166. * The commit message to use when committing changes during 'rush publish'.
  167. *
  168. * For example, if you want to prevent these commits from triggering a CI build,
  169. * you might configure your system's trigger to look for a special string such as "[skip-ci]"
  170. * in the commit message, and then customize Rush's message to contain that string.
  171. */
  172. // "versionBumpCommitMessage": "Bump versions [skip ci]",
  173. /**
  174. * The commit message to use when committing changes during 'rush version'.
  175. *
  176. * For example, if you want to prevent these commits from triggering a CI build,
  177. * you might configure your system's trigger to look for a special string such as "[skip-ci]"
  178. * in the commit message, and then customize Rush's message to contain that string.
  179. */
  180. // "changeLogUpdateCommitMessage": "Update changelogs [skip ci]",
  181. /**
  182. * The commit message to use when committing changefiles during 'rush change --commit'
  183. *
  184. * If no commit message is set it will default to 'Rush change'
  185. */
  186. // "changefilesCommitMessage": "Rush change"
  187. },
  188. "repository": {
  189. /**
  190. * The URL of this Git repository, used by "rush change" to determine the base branch for your PR.
  191. *
  192. * The "rush change" command needs to determine which files are affected by your PR diff.
  193. * If you merged or cherry-picked commits from the main branch into your PR branch, those commits
  194. * should be excluded from this diff (since they belong to some other PR). In order to do that,
  195. * Rush needs to know where to find the base branch for your PR. This information cannot be
  196. * determined from Git alone, since the "pull request" feature is not a Git concept. Ideally
  197. * Rush would use a vendor-specific protocol to query the information from GitHub, Azure DevOps, etc.
  198. * But to keep things simple, "rush change" simply assumes that your PR is against the "main" branch
  199. * of the Git remote indicated by the repository.url setting in rush.json. If you are working in
  200. * a GitHub "fork" of the real repo, this setting will be different from the repository URL of your
  201. * your PR branch, and in this situation "rush change" will also automatically invoke "git fetch"
  202. * to retrieve the latest activity for the remote main branch.
  203. */
  204. // "url": "https://github.com/microsoft/rush-example",
  205. /**
  206. * The default branch name. This tells "rush change" which remote branch to compare against.
  207. * The default value is "main"
  208. */
  209. // "defaultBranch": "main",
  210. /**
  211. * The default remote. This tells "rush change" which remote to compare against if the remote URL is
  212. * not set or if a remote matching the provided remote URL is not found.
  213. */
  214. // "defaultRemote": "origin"
  215. },
  216. /**
  217. * Event hooks are customized script actions that Rush executes when specific events occur
  218. */
  219. "eventHooks": {
  220. /**
  221. * A list of shell commands to run before "rush install" or "rush update" starts installation
  222. */
  223. "preRushInstall": [
  224. // "common/scripts/pre-rush-install.js"
  225. ],
  226. /**
  227. * A list of shell commands to run after "rush install" or "rush update" finishes installation
  228. */
  229. "postRushInstall": [],
  230. /**
  231. * A list of shell commands to run before "rush build" or "rush rebuild" starts building
  232. */
  233. "preRushBuild": [],
  234. /**
  235. * A list of shell commands to run after "rush build" or "rush rebuild" finishes building
  236. */
  237. "postRushBuild": [],
  238. /**
  239. * A list of shell commands to run before the "rushx" command starts
  240. */
  241. "preRushx": [],
  242. /**
  243. * A list of shell commands to run after the "rushx" command finishes
  244. */
  245. "postRushx": []
  246. },
  247. /**
  248. * Installation variants allow you to maintain a parallel set of configuration files that can be
  249. * used to build the entire monorepo with an alternate set of dependencies. For example, suppose
  250. * you upgrade all your projects to use a new release of an important framework, but during a transition period
  251. * you intend to maintain compatibility with the old release. In this situation, you probably want your
  252. * CI validation to build the entire repo twice: once with the old release, and once with the new release.
  253. *
  254. * Rush "installation variants" correspond to sets of config files located under this folder:
  255. *
  256. * common/config/rush/variants/<variant_name>
  257. *
  258. * The variant folder can contain an alternate common-versions.json file. Its "preferredVersions" field can be used
  259. * to select older versions of dependencies (within a loose SemVer range specified in your package.json files).
  260. * To install a variant, run "rush install --variant <variant_name>".
  261. *
  262. * For more details and instructions, see this article: https://rushjs.io/pages/advanced/installation_variants/
  263. */
  264. "variants": [
  265. // {
  266. // /**
  267. // * The folder name for this variant.
  268. // */
  269. // "variantName": "old-sdk",
  270. //
  271. // /**
  272. // * An informative description
  273. // */
  274. // "description": "Build this repo using the previous release of the SDK"
  275. // }
  276. ],
  277. /**
  278. * Rush can collect anonymous telemetry about everyday developer activity such as
  279. * success/failure of installs, builds, and other operations. You can use this to identify
  280. * problems with your toolchain or Rush itself. THIS TELEMETRY IS NOT SHARED WITH MICROSOFT.
  281. * It is written into JSON files in the common/temp folder. It's up to you to write scripts
  282. * that read these JSON files and do something with them. These scripts are typically registered
  283. * in the "eventHooks" section.
  284. */
  285. // "telemetryEnabled": false,
  286. /**
  287. * Allows creation of hotfix changes. This feature is experimental so it is disabled by default.
  288. * If this is set, 'rush change' only allows a 'hotfix' change type to be specified. This change type
  289. * will be used when publishing subsequent changes from the monorepo.
  290. */
  291. // "hotfixChangeEnabled": false,
  292. /**
  293. * This is an optional, but recommended, list of allowed tags that can be applied to Rush projects
  294. * using the "tags" setting in this file. This list is useful for preventing mistakes such as misspelling,
  295. * and it also provides a centralized place to document your tags. If "allowedProjectTags" list is
  296. * not specified, then any valid tag is allowed. A tag name must be one or more words
  297. * separated by hyphens or slashes, where a word may contain lowercase ASCII letters, digits,
  298. * ".", and "@" characters.
  299. */
  300. // "allowedProjectTags": [ "tools", "frontend-team", "1.0.0-release" ],
  301. /**
  302. * (Required) This is the inventory of projects to be managed by Rush.
  303. *
  304. * Rush does not automatically scan for projects using wildcards, for a few reasons:
  305. * 1. Depth-first scans are expensive, particularly when tools need to repeatedly collect the list.
  306. * 2. On a caching CI machine, scans can accidentally pick up files left behind from a previous build.
  307. * 3. It's useful to have a centralized inventory of all projects and their important metadata.
  308. */
  309. "projects": [
  310. // {
  311. // /**
  312. // * The NPM package name of the project (must match package.json)
  313. // */
  314. // "packageName": "my-app",
  315. //
  316. // /**
  317. // * The path to the project folder, relative to the rush.json config file.
  318. // */
  319. // "projectFolder": "apps/my-app",
  320. //
  321. // /**
  322. // * This field is only used if "subspacesEnabled" is true in subspaces.json.
  323. // * It specifies the subspace that this project belongs to. If omitted, then the
  324. // * project belongs to the "default" subspace.
  325. // */
  326. // // "subspaceName": "my-subspace",
  327. //
  328. // /**
  329. // * An optional category for usage in the "browser-approved-packages.json"
  330. // * and "nonbrowser-approved-packages.json" files. The value must be one of the
  331. // * strings from the "reviewCategories" defined above.
  332. // */
  333. // "reviewCategory": "production",
  334. //
  335. // /**
  336. // * A list of Rush project names that are to be installed from NPM
  337. // * instead of linking to the local project.
  338. // *
  339. // * If a project's package.json specifies a dependency that is another Rush project
  340. // * in the monorepo workspace, normally Rush will locally link its folder instead of
  341. // * installing from NPM. If you are using PNPM workspaces, this is indicated by
  342. // * a SemVer range such as "workspace:^1.2.3". To prevent mistakes, Rush reports
  343. // * an error if the "workspace:" protocol is missing.
  344. // *
  345. // * Locally linking ensures that regressions are caught as early as possible and is
  346. // * a key benefit of monorepos. However there are occasional situations where
  347. // * installing from NPM is needed. A classic example is a cyclic dependency.
  348. // * Imagine three Rush projects: "my-toolchain" depends on "my-tester", which depends
  349. // * on "my-library". Suppose that we add "my-toolchain" to the "devDependencies"
  350. // * of "my-library" so it can be built by our toolchain. This cycle creates
  351. // * a problem -- Rush can't build a project using a not-yet-built dependency.
  352. // * We can solve it by adding "my-toolchain" to the "decoupledLocalDependencies"
  353. // * of "my-library", so it builds using the last published release. Choose carefully
  354. // * which package to decouple; some choices are much easier to manage than others.
  355. // *
  356. // * (In older Rush releases, this setting was called "cyclicDependencyProjects".)
  357. // */
  358. // "decoupledLocalDependencies": [
  359. // // "my-toolchain"
  360. // ],
  361. //
  362. // /**
  363. // * If true, then this project will be ignored by the "rush check" command.
  364. // * The default value is false.
  365. // */
  366. // // "skipRushCheck": false,
  367. //
  368. // /**
  369. // * A flag indicating that changes to this project will be published to npm, which affects
  370. // * the Rush change and publish workflows. The default value is false.
  371. // * NOTE: "versionPolicyName" and "shouldPublish" are alternatives; you cannot specify them both.
  372. // */
  373. // // "shouldPublish": false,
  374. //
  375. // /**
  376. // * Facilitates postprocessing of a project's files prior to publishing.
  377. // *
  378. // * If specified, the "publishFolder" is the relative path to a subfolder of the project folder.
  379. // * The "rush publish" command will publish the subfolder instead of the project folder. The subfolder
  380. // * must contain its own package.json file, which is typically a build output.
  381. // */
  382. // // "publishFolder": "temp/publish",
  383. //
  384. // /**
  385. // * An optional version policy associated with the project. Version policies are defined
  386. // * in "version-policies.json" file. See the "rush publish" documentation for more info.
  387. // * NOTE: "versionPolicyName" and "shouldPublish" are alternatives; you cannot specify them both.
  388. // */
  389. // // "versionPolicyName": "",
  390. //
  391. // /**
  392. // * An optional set of custom tags that can be used to select this project. For example,
  393. // * adding "my-custom-tag" will allow this project to be selected by the
  394. // * command "rush list --only tag:my-custom-tag". The tag name must be one or more words
  395. // * separated by hyphens or slashes, where a word may contain lowercase ASCII letters, digits,
  396. // * ".", and "@" characters.
  397. // */
  398. // // "tags": [ "1.0.0-release", "frontend-team" ]
  399. // },
  400. //
  401. // {
  402. // "packageName": "my-controls",
  403. // "projectFolder": "libraries/my-controls",
  404. // "reviewCategory": "production",
  405. // "tags": [ "frontend-team" ]
  406. // },
  407. //
  408. {
  409. "packageName": "@flowgram.ai/e2e-fixed-layout",
  410. "projectFolder": "e2e/fixed-layout",
  411. "tags": [
  412. "e2e"
  413. ]
  414. },
  415. {
  416. "packageName": "@flowgram.ai/e2e-free-layout",
  417. "projectFolder": "e2e/free-layout",
  418. "tags": [
  419. "e2e"
  420. ]
  421. },
  422. // eslint 通用配置
  423. {
  424. "packageName": "@flowgram.ai/eslint-config",
  425. "projectFolder": "config/eslint-config",
  426. "versionPolicyName": "publishPolicy",
  427. "tags": [
  428. "config"
  429. ]
  430. },
  431. // ts 通用配置
  432. {
  433. "packageName": "@flowgram.ai/ts-config",
  434. "projectFolder": "config/ts-config",
  435. "versionPolicyName": "publishPolicy",
  436. "tags": [
  437. "config"
  438. ]
  439. },
  440. {
  441. "packageName": "@flowgram.ai/create-app",
  442. "projectFolder": "apps/create-app",
  443. "versionPolicyName": "publishPolicy",
  444. "tags": [
  445. "cli"
  446. ]
  447. },
  448. {
  449. "packageName": "@flowgram.ai/cli",
  450. "projectFolder": "apps/cli",
  451. "versionPolicyName": "publishPolicy",
  452. "tags": [
  453. "cli"
  454. ]
  455. },
  456. // 官网
  457. {
  458. "packageName": "@flowgram.ai/docs",
  459. "projectFolder": "apps/docs",
  460. "tags": [
  461. "docs"
  462. ]
  463. },
  464. // demos
  465. {
  466. "packageName": "@flowgram.ai/demo-fixed-layout",
  467. "projectFolder": "apps/demo-fixed-layout",
  468. "tags": [
  469. "level-1",
  470. "team-flow",
  471. "demo"
  472. ],
  473. "versionPolicyName": "appPolicy"
  474. },
  475. {
  476. "packageName": "@flowgram.ai/utils",
  477. "projectFolder": "packages/common/utils",
  478. "versionPolicyName": "publishPolicy",
  479. "tags": [
  480. "level-1",
  481. "team-flow"
  482. ]
  483. },
  484. {
  485. "packageName": "@flowgram.ai/core",
  486. "projectFolder": "packages/canvas-engine/core",
  487. "versionPolicyName": "publishPolicy",
  488. "tags": [
  489. "level-1",
  490. "team-flow"
  491. ]
  492. },
  493. {
  494. "packageName": "@flowgram.ai/document",
  495. "projectFolder": "packages/canvas-engine/document",
  496. "versionPolicyName": "publishPolicy",
  497. "tags": [
  498. "level-1",
  499. "team-flow"
  500. ]
  501. },
  502. {
  503. "packageName": "@flowgram.ai/renderer",
  504. "projectFolder": "packages/canvas-engine/renderer",
  505. "versionPolicyName": "publishPolicy",
  506. "tags": [
  507. "level-1",
  508. "team-flow"
  509. ]
  510. },
  511. {
  512. "packageName": "@flowgram.ai/reactive",
  513. "projectFolder": "packages/common/reactive",
  514. "versionPolicyName": "publishPolicy",
  515. "tags": [
  516. "level-1",
  517. "team-flow"
  518. ]
  519. },
  520. {
  521. "packageName": "@flowgram.ai/background-plugin",
  522. "projectFolder": "packages/plugins/background-plugin",
  523. "versionPolicyName": "publishPolicy",
  524. "tags": [
  525. "level-1",
  526. "team-flow"
  527. ]
  528. },
  529. {
  530. "packageName": "@flowgram.ai/fixed-layout-core",
  531. "projectFolder": "packages/canvas-engine/fixed-layout-core",
  532. "versionPolicyName": "publishPolicy",
  533. "tags": [
  534. "level-1",
  535. "team-flow"
  536. ]
  537. },
  538. {
  539. "packageName": "@flowgram.ai/free-layout-core",
  540. "projectFolder": "packages/canvas-engine/free-layout-core",
  541. "versionPolicyName": "publishPolicy",
  542. "tags": [
  543. "level-1",
  544. "team-flow"
  545. ]
  546. },
  547. {
  548. "packageName": "@flowgram.ai/editor",
  549. "projectFolder": "packages/client/editor",
  550. "versionPolicyName": "publishPolicy",
  551. "tags": [
  552. "level-1",
  553. "team-flow"
  554. ]
  555. },
  556. {
  557. "packageName": "@flowgram.ai/fixed-drag-plugin",
  558. "projectFolder": "packages/plugins/fixed-drag-plugin",
  559. "versionPolicyName": "publishPolicy",
  560. "tags": [
  561. "level-1",
  562. "team-flow"
  563. ]
  564. },
  565. {
  566. "packageName": "@flowgram.ai/fixed-history-plugin",
  567. "projectFolder": "packages/plugins/fixed-history-plugin",
  568. "versionPolicyName": "publishPolicy",
  569. "tags": [
  570. "level-1",
  571. "team-flow"
  572. ]
  573. },
  574. {
  575. "packageName": "@flowgram.ai/fixed-layout-editor",
  576. "projectFolder": "packages/client/fixed-layout-editor",
  577. "versionPolicyName": "publishPolicy",
  578. "tags": [
  579. "level-1",
  580. "team-flow"
  581. ]
  582. },
  583. {
  584. "packageName": "@flowgram.ai/form",
  585. "projectFolder": "packages/node-engine/form",
  586. "versionPolicyName": "publishPolicy",
  587. "tags": [
  588. "level-1",
  589. "team-flow"
  590. ]
  591. },
  592. {
  593. "packageName": "@flowgram.ai/form-core",
  594. "projectFolder": "packages/node-engine/form-core",
  595. "versionPolicyName": "publishPolicy",
  596. "tags": [
  597. "level-1",
  598. "team-flow"
  599. ]
  600. },
  601. {
  602. "packageName": "@flowgram.ai/free-history-plugin",
  603. "projectFolder": "packages/plugins/free-history-plugin",
  604. "versionPolicyName": "publishPolicy",
  605. "tags": [
  606. "level-1",
  607. "team-flow"
  608. ]
  609. },
  610. {
  611. "packageName": "@flowgram.ai/free-hover-plugin",
  612. "projectFolder": "packages/plugins/free-hover-plugin",
  613. "versionPolicyName": "publishPolicy",
  614. "tags": [
  615. "level-1",
  616. "team-flow"
  617. ]
  618. },
  619. {
  620. "packageName": "@flowgram.ai/free-layout-editor",
  621. "projectFolder": "packages/client/free-layout-editor",
  622. "versionPolicyName": "publishPolicy",
  623. "tags": [
  624. "level-1",
  625. "team-flow"
  626. ]
  627. },
  628. {
  629. "packageName": "@flowgram.ai/free-lines-plugin",
  630. "projectFolder": "packages/plugins/free-lines-plugin",
  631. "versionPolicyName": "publishPolicy",
  632. "tags": [
  633. "level-1",
  634. "team-flow"
  635. ]
  636. },
  637. {
  638. "packageName": "@flowgram.ai/free-node-panel-plugin",
  639. "projectFolder": "packages/plugins/free-node-panel-plugin",
  640. "versionPolicyName": "publishPolicy",
  641. "tags": [
  642. "level-1",
  643. "team-flow"
  644. ]
  645. },
  646. {
  647. "packageName": "@flowgram.ai/free-snap-plugin",
  648. "projectFolder": "packages/plugins/free-snap-plugin",
  649. "versionPolicyName": "publishPolicy",
  650. "tags": [
  651. "level-1",
  652. "team-flow"
  653. ]
  654. },
  655. {
  656. "packageName": "@flowgram.ai/free-stack-plugin",
  657. "projectFolder": "packages/plugins/free-stack-plugin",
  658. "versionPolicyName": "publishPolicy",
  659. "tags": [
  660. "level-1",
  661. "team-flow"
  662. ]
  663. },
  664. {
  665. "packageName": "@flowgram.ai/free-container-plugin",
  666. "projectFolder": "packages/plugins/free-container-plugin",
  667. "versionPolicyName": "publishPolicy",
  668. "tags": [
  669. "level-1",
  670. "team-flow"
  671. ]
  672. },
  673. {
  674. "packageName": "@flowgram.ai/free-group-plugin",
  675. "projectFolder": "packages/plugins/free-group-plugin",
  676. "versionPolicyName": "publishPolicy",
  677. "tags": [
  678. "level-1",
  679. "team-flow"
  680. ]
  681. },
  682. {
  683. "packageName": "@flowgram.ai/group-plugin",
  684. "projectFolder": "packages/plugins/group-plugin",
  685. "versionPolicyName": "publishPolicy",
  686. "tags": [
  687. "level-1",
  688. "team-flow"
  689. ]
  690. },
  691. {
  692. "packageName": "@flowgram.ai/history-node-plugin",
  693. "projectFolder": "packages/plugins/history-node-plugin",
  694. "versionPolicyName": "publishPolicy",
  695. "tags": [
  696. "level-1",
  697. "team-flow"
  698. ]
  699. },
  700. {
  701. "packageName": "@flowgram.ai/minimap-plugin",
  702. "projectFolder": "packages/plugins/minimap-plugin",
  703. "versionPolicyName": "publishPolicy",
  704. "tags": [
  705. "level-1",
  706. "team-flow"
  707. ]
  708. },
  709. {
  710. "packageName": "@flowgram.ai/node",
  711. "projectFolder": "packages/node-engine/node",
  712. "versionPolicyName": "publishPolicy",
  713. "tags": [
  714. "level-1",
  715. "team-flow"
  716. ]
  717. },
  718. {
  719. "packageName": "@flowgram.ai/node-core-plugin",
  720. "projectFolder": "packages/plugins/node-core-plugin",
  721. "versionPolicyName": "publishPolicy",
  722. "tags": [
  723. "level-1",
  724. "team-flow"
  725. ]
  726. },
  727. {
  728. "packageName": "@flowgram.ai/node-variable-plugin",
  729. "projectFolder": "packages/plugins/node-variable-plugin",
  730. "versionPolicyName": "publishPolicy",
  731. "tags": [
  732. "level-1",
  733. "team-flow"
  734. ]
  735. },
  736. {
  737. "packageName": "@flowgram.ai/playground-react",
  738. "projectFolder": "packages/client/playground-react",
  739. "versionPolicyName": "publishPolicy",
  740. "tags": [
  741. "level-1",
  742. "team-flow"
  743. ]
  744. },
  745. {
  746. "packageName": "@flowgram.ai/redux-devtool-plugin",
  747. "projectFolder": "packages/plugins/redux-devtool-plugin",
  748. "versionPolicyName": "publishPolicy",
  749. "tags": [
  750. "level-1",
  751. "team-flow"
  752. ]
  753. },
  754. {
  755. "packageName": "@flowgram.ai/select-box-plugin",
  756. "projectFolder": "packages/plugins/select-box-plugin",
  757. "versionPolicyName": "publishPolicy",
  758. "tags": [
  759. "level-1",
  760. "team-flow"
  761. ]
  762. },
  763. {
  764. "packageName": "@flowgram.ai/shortcuts-plugin",
  765. "projectFolder": "packages/plugins/shortcuts-plugin",
  766. "versionPolicyName": "publishPolicy",
  767. "tags": [
  768. "level-1",
  769. "team-flow"
  770. ]
  771. },
  772. {
  773. "packageName": "@flowgram.ai/variable-core",
  774. "projectFolder": "packages/variable-engine/variable-core",
  775. "versionPolicyName": "publishPolicy",
  776. "tags": [
  777. "level-1",
  778. "team-flow"
  779. ]
  780. },
  781. {
  782. "packageName": "@flowgram.ai/variable-layout",
  783. "projectFolder": "packages/variable-engine/variable-layout",
  784. "versionPolicyName": "publishPolicy",
  785. "tags": [
  786. "level-1",
  787. "team-flow"
  788. ]
  789. },
  790. {
  791. "packageName": "@flowgram.ai/json-schema",
  792. "projectFolder": "packages/variable-engine/json-schema",
  793. "versionPolicyName": "publishPolicy",
  794. "tags": [
  795. "level-1",
  796. "team-flow"
  797. ]
  798. },
  799. {
  800. "packageName": "@flowgram.ai/variable-plugin",
  801. "projectFolder": "packages/plugins/variable-plugin",
  802. "versionPolicyName": "publishPolicy",
  803. "tags": [
  804. "level-1",
  805. "team-flow"
  806. ]
  807. },
  808. {
  809. "packageName": "@flowgram.ai/command",
  810. "projectFolder": "packages/common/command",
  811. "versionPolicyName": "publishPolicy",
  812. "tags": [
  813. "level-1",
  814. "team-flow"
  815. ]
  816. },
  817. {
  818. "packageName": "@flowgram.ai/history",
  819. "projectFolder": "packages/common/history",
  820. "versionPolicyName": "publishPolicy",
  821. "tags": [
  822. "level-1",
  823. "team-flow"
  824. ]
  825. },
  826. {
  827. "packageName": "@flowgram.ai/history-storage",
  828. "projectFolder": "packages/common/history-storage",
  829. "versionPolicyName": "publishPolicy",
  830. "tags": [
  831. "level-2",
  832. "team-flow"
  833. ]
  834. },
  835. {
  836. "packageName": "@flowgram.ai/materials-plugin",
  837. "projectFolder": "packages/plugins/materials-plugin",
  838. "versionPolicyName": "publishPolicy",
  839. "tags": [
  840. "level-1",
  841. "team-flow"
  842. ]
  843. },
  844. {
  845. "packageName": "@flowgram.ai/fixed-semi-materials",
  846. "projectFolder": "packages/materials/fixed-semi-materials",
  847. "versionPolicyName": "publishPolicy",
  848. "tags": [
  849. "level-1",
  850. "team-flow"
  851. ]
  852. },
  853. {
  854. "packageName": "@flowgram.ai/form-materials",
  855. "projectFolder": "packages/materials/form-materials",
  856. "versionPolicyName": "publishPolicy",
  857. "tags": [
  858. "level-1",
  859. "team-flow"
  860. ]
  861. },
  862. {
  863. "packageName": "@flowgram.ai/panel-manager-plugin",
  864. "projectFolder": "packages/plugins/panel-manager-plugin",
  865. "versionPolicyName": "publishPolicy"
  866. },
  867. {
  868. "packageName": "@flowgram.ai/form-antd-materials",
  869. "projectFolder": "packages/materials/form-antd-materials",
  870. "versionPolicyName": "publishPolicy",
  871. "tags": [
  872. "level-1",
  873. "team-flow"
  874. ]
  875. },
  876. {
  877. "packageName": "@flowgram.ai/type-editor",
  878. "projectFolder": "packages/materials/type-editor",
  879. "versionPolicyName": "publishPolicy",
  880. "tags": [
  881. "level-1",
  882. "team-flow"
  883. ]
  884. },
  885. {
  886. "packageName": "@flowgram.ai/coze-editor",
  887. "projectFolder": "packages/materials/coze-editor",
  888. "versionPolicyName": "publishPolicy",
  889. "tags": [
  890. "level-1",
  891. "team-flow"
  892. ]
  893. },
  894. {
  895. "packageName": "@flowgram.ai/free-auto-layout-plugin",
  896. "projectFolder": "packages/plugins/free-auto-layout-plugin",
  897. "versionPolicyName": "publishPolicy",
  898. "tags": [
  899. "level-1",
  900. "team-flow"
  901. ]
  902. },
  903. {
  904. "packageName": "@flowgram.ai/i18n-plugin",
  905. "projectFolder": "packages/plugins/i18n-plugin",
  906. "versionPolicyName": "publishPolicy",
  907. "tags": [
  908. "level-1",
  909. "team-flow"
  910. ]
  911. },
  912. {
  913. "packageName": "@flowgram.ai/i18n",
  914. "projectFolder": "packages/common/i18n",
  915. "versionPolicyName": "publishPolicy",
  916. "tags": [
  917. "level-1",
  918. "team-flow"
  919. ]
  920. },
  921. {
  922. "packageName": "@flowgram.ai/demo-free-layout",
  923. "projectFolder": "apps/demo-free-layout",
  924. "tags": [
  925. "level-1",
  926. "team-flow",
  927. "demo"
  928. ],
  929. "versionPolicyName": "appPolicy"
  930. },
  931. {
  932. "packageName": "@flowgram.ai/demo-fixed-layout-simple",
  933. "projectFolder": "apps/demo-fixed-layout-simple",
  934. "versionPolicyName": "appPolicy",
  935. "tags": [
  936. "level-1",
  937. "team-flow",
  938. "demo"
  939. ]
  940. },
  941. {
  942. "packageName": "@flowgram.ai/demo-free-layout-simple",
  943. "projectFolder": "apps/demo-free-layout-simple",
  944. "versionPolicyName": "appPolicy",
  945. "tags": [
  946. "level-1",
  947. "team-flow",
  948. "demo"
  949. ]
  950. },
  951. {
  952. "packageName": "@flowgram.ai/demo-node-form",
  953. "projectFolder": "apps/demo-node-form",
  954. "tags": [
  955. "level-1",
  956. "team-flow",
  957. "demo"
  958. ]
  959. },
  960. {
  961. "packageName": "@flowgram.ai/demo-materials",
  962. "projectFolder": "apps/demo-materials",
  963. "tags": [
  964. "level-1",
  965. "team-flow",
  966. "demo"
  967. ]
  968. },
  969. {
  970. "packageName": "@flowgram.ai/demo-nextjs",
  971. "projectFolder": "apps/demo-nextjs",
  972. "versionPolicyName": "appPolicy",
  973. "tags": [
  974. "level-1",
  975. "team-flow",
  976. "demo"
  977. ]
  978. },
  979. {
  980. "packageName": "@flowgram.ai/demo-nextjs-antd",
  981. "projectFolder": "apps/demo-nextjs-antd",
  982. "versionPolicyName": "appPolicy",
  983. "tags": [
  984. "level-1",
  985. "team-flow",
  986. "demo"
  987. ]
  988. },
  989. {
  990. "packageName": "@flowgram.ai/demo-react-16",
  991. "projectFolder": "apps/demo-react-16",
  992. "versionPolicyName": "appPolicy",
  993. "tags": [
  994. "level-1",
  995. "team-flow",
  996. "demo"
  997. ]
  998. },
  999. {
  1000. "packageName": "@flowgram.ai/demo-vite",
  1001. "projectFolder": "apps/demo-vite",
  1002. "versionPolicyName": "appPolicy",
  1003. "tags": [
  1004. "level-1",
  1005. "team-flow",
  1006. "demo"
  1007. ]
  1008. },
  1009. {
  1010. "packageName": "@flowgram.ai/demo-playground",
  1011. "projectFolder": "apps/demo-playground",
  1012. "versionPolicyName": "appPolicy",
  1013. "tags": [
  1014. "level-1",
  1015. "team-flow",
  1016. "demo"
  1017. ]
  1018. },
  1019. {
  1020. "packageName": "@flowgram.ai/runtime-nodejs",
  1021. "projectFolder": "packages/runtime/nodejs",
  1022. "versionPolicyName": "publishPolicy",
  1023. "tags": [
  1024. "level-1",
  1025. "team-flow"
  1026. ]
  1027. },
  1028. {
  1029. "packageName": "@flowgram.ai/runtime-js",
  1030. "projectFolder": "packages/runtime/js-core",
  1031. "versionPolicyName": "publishPolicy",
  1032. "tags": [
  1033. "level-1",
  1034. "team-flow"
  1035. ]
  1036. },
  1037. {
  1038. "packageName": "@flowgram.ai/runtime-interface",
  1039. "projectFolder": "packages/runtime/interface",
  1040. "versionPolicyName": "publishPolicy",
  1041. "tags": [
  1042. "level-1",
  1043. "team-flow"
  1044. ]
  1045. }
  1046. ]
  1047. }