rush.json 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779
  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.140.1",
  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": "8.15.8",
  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. // eslint 通用配置
  409. {
  410. "packageName": "@flowgram.ai/eslint-config",
  411. "projectFolder": "config/eslint-config",
  412. "versionPolicyName": "publishPolicy",
  413. "tags": [ "config" ]
  414. },
  415. // ts 通用配置
  416. {
  417. "packageName": "@flowgram.ai/ts-config",
  418. "projectFolder": "config/ts-config",
  419. "versionPolicyName": "publishPolicy",
  420. "tags": [ "config" ]
  421. },
  422. {
  423. "packageName": "@flowgram.ai/create-app",
  424. "projectFolder": "apps/create-app",
  425. "versionPolicyName": "publishPolicy",
  426. "tags": [ "cli" ]
  427. },
  428. // 官网
  429. {
  430. "packageName": "@flowgram.ai/docs",
  431. "projectFolder": "apps/docs",
  432. "tags": [ "docs" ]
  433. },
  434. // demos
  435. {
  436. "packageName": "@flowgram.ai/demo-fixed-layout",
  437. "projectFolder": "apps/demo-fixed-layout",
  438. "tags": [ "level-1", "team-flow", "demo" ],
  439. "versionPolicyName": "publishPolicy"
  440. },
  441. {
  442. "packageName": "@flowgram.ai/utils",
  443. "projectFolder": "packages/common/utils",
  444. "versionPolicyName": "publishPolicy",
  445. "tags": ["level-1","team-flow"
  446. ]
  447. },
  448. {
  449. "packageName": "@flowgram.ai/core",
  450. "projectFolder": "packages/canvas-engine/core",
  451. "versionPolicyName": "publishPolicy",
  452. "tags": ["level-1","team-flow"
  453. ]
  454. },
  455. {
  456. "packageName": "@flowgram.ai/document",
  457. "projectFolder": "packages/canvas-engine/document",
  458. "versionPolicyName": "publishPolicy",
  459. "tags": ["level-1","team-flow"
  460. ]
  461. },
  462. {
  463. "packageName": "@flowgram.ai/renderer",
  464. "projectFolder": "packages/canvas-engine/renderer",
  465. "versionPolicyName": "publishPolicy",
  466. "tags": ["level-1","team-flow"
  467. ]
  468. },
  469. {
  470. "packageName": "@flowgram.ai/reactive",
  471. "projectFolder": "packages/common/reactive",
  472. "versionPolicyName": "publishPolicy",
  473. "tags": ["level-1","team-flow"]
  474. },
  475. {
  476. "packageName": "@flowgram.ai/background-plugin",
  477. "projectFolder": "packages/plugins/background-plugin",
  478. "versionPolicyName": "publishPolicy",
  479. "tags": ["level-1","team-flow"]
  480. },
  481. {
  482. "packageName": "@flowgram.ai/fixed-layout-core",
  483. "projectFolder": "packages/canvas-engine/fixed-layout-core",
  484. "versionPolicyName": "publishPolicy",
  485. "tags": ["level-1","team-flow"]
  486. },
  487. {
  488. "packageName": "@flowgram.ai/free-layout-core",
  489. "projectFolder": "packages/canvas-engine/free-layout-core",
  490. "versionPolicyName": "publishPolicy",
  491. "tags": ["level-1","team-flow"]
  492. },
  493. {
  494. "packageName": "@flowgram.ai/editor",
  495. "projectFolder": "packages/client/editor",
  496. "versionPolicyName": "publishPolicy",
  497. "tags": ["level-1","team-flow"]
  498. },
  499. {
  500. "packageName": "@flowgram.ai/fixed-drag-plugin",
  501. "projectFolder": "packages/plugins/fixed-drag-plugin",
  502. "versionPolicyName": "publishPolicy",
  503. "tags": ["level-1","team-flow"]
  504. },
  505. {
  506. "packageName": "@flowgram.ai/fixed-history-plugin",
  507. "projectFolder": "packages/plugins/fixed-history-plugin",
  508. "versionPolicyName": "publishPolicy",
  509. "tags": ["level-1","team-flow"]
  510. },
  511. {
  512. "packageName": "@flowgram.ai/fixed-layout-editor",
  513. "projectFolder": "packages/client/fixed-layout-editor",
  514. "versionPolicyName": "publishPolicy",
  515. "tags": ["level-1","team-flow"]
  516. },
  517. {
  518. "packageName": "@flowgram.ai/fixed-reactor-plugin",
  519. "projectFolder": "packages/plugins/fixed-reactor-plugin",
  520. "versionPolicyName": "publishPolicy",
  521. "tags": ["level-1","team-flow"]
  522. },
  523. {
  524. "packageName": "@flowgram.ai/form",
  525. "projectFolder": "packages/node-engine/form",
  526. "versionPolicyName": "publishPolicy",
  527. "tags": ["level-1","team-flow"]
  528. },
  529. {
  530. "packageName": "@flowgram.ai/form-core",
  531. "projectFolder": "packages/node-engine/form-core",
  532. "versionPolicyName": "publishPolicy",
  533. "tags": ["level-1","team-flow"]
  534. },
  535. {
  536. "packageName": "@flowgram.ai/free-history-plugin",
  537. "projectFolder": "packages/plugins/free-history-plugin",
  538. "versionPolicyName": "publishPolicy",
  539. "tags": ["level-1","team-flow"]
  540. },
  541. {
  542. "packageName": "@flowgram.ai/free-hover-plugin",
  543. "projectFolder": "packages/plugins/free-hover-plugin",
  544. "versionPolicyName": "publishPolicy",
  545. "tags": ["level-1","team-flow"]
  546. },
  547. {
  548. "packageName": "@flowgram.ai/free-layout-editor",
  549. "projectFolder": "packages/client/free-layout-editor",
  550. "versionPolicyName": "publishPolicy",
  551. "tags": ["level-1","team-flow"]
  552. },
  553. {
  554. "packageName": "@flowgram.ai/free-lines-plugin",
  555. "projectFolder": "packages/plugins/free-lines-plugin",
  556. "versionPolicyName": "publishPolicy",
  557. "tags": ["level-1","team-flow"]
  558. },
  559. {
  560. "packageName": "@flowgram.ai/free-node-panel-plugin",
  561. "projectFolder": "packages/plugins/free-node-panel-plugin",
  562. "versionPolicyName": "publishPolicy",
  563. "tags": ["level-1","team-flow"]
  564. },
  565. {
  566. "packageName": "@flowgram.ai/free-snap-plugin",
  567. "projectFolder": "packages/plugins/free-snap-plugin",
  568. "versionPolicyName": "publishPolicy",
  569. "tags": ["level-1","team-flow"]
  570. },
  571. {
  572. "packageName": "@flowgram.ai/free-stack-plugin",
  573. "projectFolder": "packages/plugins/free-stack-plugin",
  574. "versionPolicyName": "publishPolicy",
  575. "tags": ["level-1","team-flow"]
  576. },
  577. {
  578. "packageName": "@flowgram.ai/group-plugin",
  579. "projectFolder": "packages/plugins/group-plugin",
  580. "versionPolicyName": "publishPolicy",
  581. "tags": ["level-1","team-flow"]
  582. },
  583. {
  584. "packageName": "@flowgram.ai/history-node-plugin",
  585. "projectFolder": "packages/plugins/history-node-plugin",
  586. "versionPolicyName": "publishPolicy",
  587. "tags": ["level-1","team-flow"]
  588. },
  589. {
  590. "packageName": "@flowgram.ai/minimap-plugin",
  591. "projectFolder": "packages/plugins/minimap-plugin",
  592. "versionPolicyName": "publishPolicy",
  593. "tags": ["level-1","team-flow"]
  594. },
  595. {
  596. "packageName": "@flowgram.ai/node",
  597. "projectFolder": "packages/node-engine/node",
  598. "versionPolicyName": "publishPolicy",
  599. "tags": ["level-1","team-flow"]
  600. },
  601. {
  602. "packageName": "@flowgram.ai/node-core-plugin",
  603. "projectFolder": "packages/plugins/node-core-plugin",
  604. "versionPolicyName": "publishPolicy",
  605. "tags": ["level-1","team-flow"]
  606. },
  607. {
  608. "packageName": "@flowgram.ai/node-variable-plugin",
  609. "projectFolder": "packages/plugins/node-variable-plugin",
  610. "versionPolicyName": "publishPolicy",
  611. "tags": ["level-1","team-flow"]
  612. },
  613. {
  614. "packageName": "@flowgram.ai/playground-react",
  615. "projectFolder": "packages/client/playground-react",
  616. "versionPolicyName": "publishPolicy",
  617. "tags": ["level-1","team-flow"]
  618. },
  619. {
  620. "packageName": "@flowgram.ai/redux-devtool-plugin",
  621. "projectFolder": "packages/plugins/redux-devtool-plugin",
  622. "versionPolicyName": "publishPolicy",
  623. "tags": ["level-1","team-flow"]
  624. },
  625. {
  626. "packageName": "@flowgram.ai/select-box-plugin",
  627. "projectFolder": "packages/plugins/select-box-plugin",
  628. "versionPolicyName": "publishPolicy",
  629. "tags": ["level-1","team-flow"]
  630. },
  631. {
  632. "packageName": "@flowgram.ai/shortcuts-plugin",
  633. "projectFolder": "packages/plugins/shortcuts-plugin",
  634. "versionPolicyName": "publishPolicy",
  635. "tags": ["level-1","team-flow"]
  636. },
  637. {
  638. "packageName": "@flowgram.ai/variable-core",
  639. "projectFolder": "packages/variable-engine/variable-core",
  640. "versionPolicyName": "publishPolicy",
  641. "tags": ["level-1","team-flow"]
  642. },
  643. {
  644. "packageName": "@flowgram.ai/variable-layout",
  645. "projectFolder": "packages/variable-engine/variable-layout",
  646. "versionPolicyName": "publishPolicy",
  647. "tags": ["level-1","team-flow"]
  648. },
  649. {
  650. "packageName": "@flowgram.ai/variable-plugin",
  651. "projectFolder": "packages/plugins/variable-plugin",
  652. "versionPolicyName": "publishPolicy",
  653. "tags": ["level-1","team-flow"]
  654. },
  655. {
  656. "packageName": "@flowgram.ai/command",
  657. "projectFolder": "packages/common/command",
  658. "versionPolicyName": "publishPolicy",
  659. "tags": ["level-1","team-flow"]
  660. },
  661. {
  662. "packageName": "@flowgram.ai/history",
  663. "projectFolder": "packages/common/history",
  664. "versionPolicyName": "publishPolicy",
  665. "tags": ["level-1","team-flow"]
  666. },
  667. {
  668. "packageName": "@flowgram.ai/history-storage",
  669. "projectFolder": "packages/common/history-storage",
  670. "versionPolicyName": "publishPolicy",
  671. "tags": ["level-2","team-flow"]
  672. },
  673. {
  674. "packageName": "@flowgram.ai/materials-plugin",
  675. "projectFolder": "packages/plugins/materials-plugin",
  676. "versionPolicyName": "publishPolicy",
  677. "tags": ["level-1","team-flow"]
  678. },
  679. {
  680. "packageName": "@flowgram.ai/fixed-semi-materials",
  681. "projectFolder": "packages/materials/fixed-semi-materials",
  682. "versionPolicyName": "publishPolicy",
  683. "tags": [
  684. "level-1",
  685. "team-flow"
  686. ]
  687. },
  688. {
  689. "packageName": "@flowgram.ai/free-auto-layout-plugin",
  690. "projectFolder": "packages/plugins/free-auto-layout-plugin",
  691. "versionPolicyName": "publishPolicy",
  692. "tags": [
  693. "level-1",
  694. "team-flow"
  695. ]
  696. },
  697. {
  698. "packageName": "@flowgram.ai/i18n-plugin",
  699. "projectFolder": "packages/plugins/i18n-plugin",
  700. "versionPolicyName": "publishPolicy",
  701. "tags": [
  702. "level-1",
  703. "team-flow"
  704. ]
  705. },
  706. {
  707. "packageName": "@flowgram.ai/i18n",
  708. "projectFolder": "packages/common/i18n",
  709. "versionPolicyName": "publishPolicy",
  710. "tags": [
  711. "level-1",
  712. "team-flow"
  713. ]
  714. },
  715. {
  716. "packageName": "@flowgram.ai/demo-free-layout",
  717. "projectFolder": "apps/demo-free-layout",
  718. "tags": [
  719. "level-1",
  720. "team-flow",
  721. "demo"
  722. ],
  723. "versionPolicyName": "publishPolicy"
  724. },
  725. {
  726. "packageName": "@flowgram.ai/demo-fixed-layout-simple",
  727. "projectFolder": "apps/demo-fixed-layout-simple",
  728. "versionPolicyName": "publishPolicy",
  729. "tags": [
  730. "level-1",
  731. "team-flow",
  732. "demo"
  733. ]
  734. },
  735. {
  736. "packageName": "@flowgram.ai/demo-free-layout-simple",
  737. "projectFolder": "apps/demo-free-layout-simple",
  738. "versionPolicyName": "publishPolicy",
  739. "tags": [
  740. "level-1",
  741. "team-flow",
  742. "demo"
  743. ]
  744. }
  745. ]
  746. }