@saltcorn/cli 1.0.0-beta.2 → 1.0.0-beta.6

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.
Files changed (51) hide show
  1. package/README.md +394 -294
  2. package/bin/saltcorn +4 -4
  3. package/npm-shrinkwrap.json +12371 -8372
  4. package/oclif.manifest.json +1619 -1
  5. package/package.json +14 -25
  6. package/src/commands/add-schema.js +7 -8
  7. package/src/commands/backup.js +6 -6
  8. package/src/commands/build-app.js +26 -26
  9. package/src/commands/build-cordova-builder.js +3 -3
  10. package/src/commands/configuration-check-backups.js +7 -9
  11. package/src/commands/configuration-check.js +4 -5
  12. package/src/commands/create-tenant.js +11 -9
  13. package/src/commands/create-user.js +9 -10
  14. package/src/commands/delete-tenants.js +1 -1
  15. package/src/commands/delete-user.js +12 -10
  16. package/src/commands/dev/localize-plugin.js +12 -10
  17. package/src/commands/dev/make-migration.js +1 -1
  18. package/src/commands/dev/plugin-test.js +6 -6
  19. package/src/commands/dev/post-release.js +6 -7
  20. package/src/commands/dev/release.js +9 -6
  21. package/src/commands/dev/test-plugin.js +8 -5
  22. package/src/commands/fixtures.js +4 -4
  23. package/src/commands/get-cfg.js +14 -12
  24. package/src/commands/info.js +8 -8
  25. package/src/commands/inspect.js +9 -12
  26. package/src/commands/install-pack.js +5 -5
  27. package/src/commands/install-plugin.js +6 -6
  28. package/src/commands/list-tenants.js +27 -19
  29. package/src/commands/list-triggers.js +29 -18
  30. package/src/commands/list-users.js +9 -16
  31. package/src/commands/migrate.js +1 -1
  32. package/src/commands/modify-user.js +16 -15
  33. package/src/commands/plugins.js +7 -7
  34. package/src/commands/reset-schema.js +5 -6
  35. package/src/commands/restore.js +6 -6
  36. package/src/commands/rm-tenant.js +7 -9
  37. package/src/commands/run-benchmark.js +17 -14
  38. package/src/commands/run-js.js +5 -6
  39. package/src/commands/run-sql.js +5 -6
  40. package/src/commands/run-tests.js +15 -13
  41. package/src/commands/run-trigger.js +13 -8
  42. package/src/commands/scheduler.js +3 -3
  43. package/src/commands/serve.js +10 -10
  44. package/src/commands/set-cfg.js +14 -13
  45. package/src/commands/set-daily-time.js +7 -9
  46. package/src/commands/setup-benchmark.js +14 -7
  47. package/src/commands/setup.js +11 -12
  48. package/src/commands/sync-upload-data.js +6 -6
  49. package/src/commands/take-snapshot.js +5 -6
  50. package/src/commands/transform-field.js +9 -10
  51. package/src/index.js +1 -1
@@ -1 +1,1619 @@
1
- {"version":"1.0.0-beta.2","commands":{"add-schema":{"id":"add-schema","description":"Add Saltcorn schema to existing database","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"force":{"name":"force","type":"boolean","char":"f","description":"force command execution","allowNo":false}},"args":[]},"backup":{"id":"backup","description":"Backup the PostgreSQL database to a file with pg_dump or saltcorn backup zip","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose","allowNo":false},"output":{"name":"output","type":"option","char":"o","description":"output filename"},"tenant":{"name":"tenant","type":"option","char":"t","description":"Backup tenant in saltcorn zip format"},"zip":{"name":"zip","type":"boolean","char":"z","description":"Backup public in saltcorn zip format","allowNo":false}},"args":[]},"build-app":{"id":"build-app","description":"Build mobile app","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tenantAppName":{"name":"tenantAppName","type":"option","description":"Optional name of a tenant application, if set, the app will be build for this tenant"},"platforms":{"name":"platforms","type":"option","char":"p","description":"Platforms to build for, space separated list"},"entryPoint":{"name":"entryPoint","type":"option","char":"e","description":"This is the first view or page (see -t) after the login."},"entryPointType":{"name":"entryPointType","type":"option","char":"t","description":"Type of the entry point ('view' or 'page'). The default is 'view'."},"localUserTables":{"name":"localUserTables","type":"option","char":"l","description":"user defined tables that should be replicated into the app"},"synchedTables":{"name":"synchedTables","type":"option","description":"Table names for which the offline should be synchronized with the saltcorn server"},"includedPlugins":{"name":"includedPlugins","type":"option","description":"Names of plugins that should be bundled into the app.If empty, no modules are used."},"useDocker":{"name":"useDocker","type":"boolean","char":"d","description":"Use a docker container to build the app.","allowNo":false},"buildDirectory":{"name":"buildDirectory","type":"option","char":"b","description":"A directory where the app should be build"},"copyAppDirectory":{"name":"copyAppDirectory","type":"option","char":"c","description":"If set, the app file will be copied here, please set 'user email', too"},"userEmail":{"name":"userEmail","type":"option","char":"u","description":"Email of the user building the app"},"appName":{"name":"appName","type":"option","description":"Name of the mobile app (default SaltcornMobileApp)"},"appId":{"name":"appId","type":"option","description":"Id of the mobile app (default com.saltcorn.mobileapp)"},"appVersion":{"name":"appVersion","type":"option","description":"Version of the mobile app (default 1.0.0)"},"appIcon":{"name":"appIcon","type":"option","description":"A png that will be used as launcher icon. The default is a png of a saltcorn symbol."},"serverURL":{"name":"serverURL","type":"option","char":"s","description":"URL to a saltcorn server"},"splashPage":{"name":"splashPage","type":"option","description":"Name of a page that should be shown while the app is loading."},"autoPublicLogin":{"name":"autoPublicLogin","type":"boolean","description":"Show public entry points before the login as a public user.","allowNo":false},"allowOfflineMode":{"name":"allowOfflineMode","type":"boolean","description":"Switch to offline mode when there is no internet, sync the data when a connection is available again.","allowNo":false},"provisioningProfile":{"name":"provisioningProfile","type":"option","description":"This profile will be used to sign your app"},"buildType":{"name":"buildType","type":"option","description":"debug or release build"},"androidKeystore":{"name":"androidKeystore","type":"option","description":"A self-signed certificate that includes the private key used to sign your app."},"androidKeyStoreAlias":{"name":"androidKeyStoreAlias","type":"option","description":"A unique name to identify the key within the keystore file."},"androidKeystorePassword":{"name":"androidKeystorePassword","type":"option","description":"he password to access the keystore file."}},"args":[]},"build-cordova-builder":{"id":"build-cordova-builder","description":"Build the 'saltcorn/cordova-builder' docker image","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"buildClean":{"name":"buildClean","type":"boolean","description":"run a clean build with --no-cache","allowNo":false}},"args":[]},"configuration-check-backups":{"id":"configuration-check-backups","description":"Check configuration","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"destructive":{"name":"destructive","type":"boolean","char":"d","description":"destructive","allowNo":false}},"args":[{"name":"files","description":"backup file to check. can be repeated, e.g. with *","required":true}]},"configuration-check":{"id":"configuration-check","description":"Check configuration","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant"}},"args":[]},"create-tenant":{"id":"create-tenant","description":"Create a tenant","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"url":{"name":"url","type":"option","description":"Url of tenant"},"email":{"name":"email","type":"option","char":"e","description":"Email of owner of tenant"},"description":{"name":"description","type":"option","char":"d","description":"Description of tenant"}},"args":[{"name":"tenant","description":"Tenant subdomain to create","required":true}]},"create-user":{"id":"create-user","description":"Create a new user","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"admin":{"name":"admin","type":"boolean","char":"a","description":"Admin user","allowNo":false},"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant"},"email":{"name":"email","type":"option","char":"e","description":"email"},"role":{"name":"role","type":"option","char":"r","description":"role"},"password":{"name":"password","type":"option","char":"p","description":"password"}},"args":[]},"delete-tenants":{"id":"delete-tenants","description":"Delete inactive tenants","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"delete-user":{"id":"delete-user","description":"Delete user.\n\nCommand deletes the user specified by USER_EMAIL.\n\n","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"force":{"name":"force","type":"boolean","char":"f","description":"force command execution","allowNo":false},"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant"}},"args":[{"name":"user_email","description":"User to delete","required":true}]},"fixtures":{"id":"fixtures","description":"Load fixtures for testing\n...\nThis manual step it is never required for users and rarely required for developers\n","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"reset":{"name":"reset","type":"boolean","char":"r","description":"Also reset schema","allowNo":false},"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant"}},"args":[]},"get-cfg":{"id":"get-cfg","description":"Get a configuration value. The value is printed to stdout as a JSON value","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant"},"plugin":{"name":"plugin","type":"option","char":"p","description":"plugin"}},"args":[{"name":"key","description":"Configuration key","required":false}]},"info":{"id":"info","description":"Show paths\n...\nShow configuration and file store paths\n","pluginName":"@saltcorn/cli","pluginType":"core","aliases":["paths"],"flags":{"json":{"name":"json","type":"boolean","char":"j","description":"json format","allowNo":false}},"args":[]},"inspect":{"id":"inspect","description":"Inspect an entity's JSON representation, or list entities","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant"}},"args":[{"name":"type","description":"Entity type","required":true,"options":["view","page","trigger","table"]},{"name":"name","description":"Entity name. If not supplied, list all names"}]},"install-pack":{"id":"install-pack","description":"Install a pack or restore a snapshot","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant"},"name":{"name":"name","type":"option","char":"n","description":"Pack name in store"},"file":{"name":"file","type":"option","char":"f","description":"File with pack JSON"}},"args":[]},"install-plugin":{"id":"install-plugin","description":"Install a plugin","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant"},"name":{"name":"name","type":"option","char":"n","description":"Plugin name in store"},"directory":{"name":"directory","type":"option","char":"d","description":"Directory with local plugin"},"unsafe":{"name":"unsafe","type":"boolean","char":"u","description":"Allow unsafe plugins on tenants","allowNo":false}},"args":[]},"list-tenants":{"id":"list-tenants","description":"List tenants in CSV format","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant","required":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose output","required":false,"allowNo":false},"json":{"name":"json","type":"boolean","char":"j","description":"json format","allowNo":false}},"args":[]},"list-triggers":{"id":"list-triggers","description":"List triggers","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant","required":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose output","required":false,"allowNo":false},"json":{"name":"json","type":"boolean","char":"j","description":"json format","allowNo":false}},"args":[]},"list-users":{"id":"list-users","description":"List users","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant","required":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose output","required":false,"allowNo":false}},"args":[]},"migrate":{"id":"migrate","description":"Run Database structure migrations\n...\nNOTE!\n- Please stop Saltcorn before run DB migrations.\n- Please make db backup before migration.\n- There are no way to rollback migration if you doesn't make backup.\n\nThis is not normally required as migrations will be run when the server starts.\nHowever, this command may be useful if you are running multiple application\nservers and need to control when the migrations are run.\n","usage":"saltcorn migrate","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"modify-user":{"id":"modify-user","description":"Modify (update) user.\n\nCommand changes the user specified by USER_EMAIL.\n\nYou can change the user group, password and email.\n\nNOTE that -a and -r role (--role=role) can give conflict.\n","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"admin":{"name":"admin","type":"boolean","char":"a","description":"make user be Admin","allowNo":false},"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant"},"email":{"name":"email","type":"option","char":"e","description":"new email"},"role":{"name":"role","type":"option","char":"r","description":"new role (can conflict with -a option)"},"password":{"name":"password","type":"option","char":"p","description":"new password"},"imode":{"name":"imode","type":"boolean","char":"i","description":"interactive mode","allowNo":false}},"args":[{"name":"user_email","description":"User to modify","required":true}]},"plugins":{"id":"plugins","description":"List and upgrade plugins for tenants\n...\nExtra documentation goes here\n","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"examples":["plugins -v - verbose output of commands","plugins -u -d - dry-run for plugin update","plugins -u -f - force plugin update"],"flags":{"upgrade":{"name":"upgrade","type":"boolean","char":"u","description":"Upgrade","allowNo":false},"dryRun":{"name":"dryRun","type":"boolean","char":"d","description":"Upgrade dry-run","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose output","allowNo":false},"force":{"name":"force","type":"boolean","char":"f","description":"Force update","allowNo":false},"name":{"name":"name","type":"option","char":"n","description":"Plugin name"}},"args":[]},"reset-schema":{"id":"reset-schema","description":"Reset the database\n...\nThis will delete all existing information\n","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"force":{"name":"force","type":"boolean","char":"f","description":"force command execution","allowNo":false},"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant"}},"args":[]},"restore":{"id":"restore","description":"Restore a previously backed up database (zip or sqlc format)","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant"}},"args":[{"name":"file","description":"backup file to restore","required":true}]},"rm-tenant":{"id":"rm-tenant","description":"Remove a tenant.\nAttention! All tenant data will be lost!\nIt recommended to make backup of tenant before perform this command.\n","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"force":{"name":"force","type":"boolean","char":"f","description":"force command execution","allowNo":false},"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant","required":true}},"args":[]},"run-benchmark":{"id":"run-benchmark","description":"Run benchmark","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"token":{"name":"token","type":"option","char":"t","description":"API Token for reporting results"},"benchmark":{"name":"benchmark","type":"option","char":"b","description":"Which benchmark to run"},"delay":{"name":"delay","type":"option","char":"d","description":"delay between runs (s)","default":30}},"args":[{"name":"baseurl","description":"Base URL","required":false}]},"run-js":{"id":"run-js","description":"Run javascript code","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant name"},"code":{"name":"code","type":"option","char":"c","description":"js code"},"file":{"name":"file","type":"option","char":"f","description":"path to script file"}},"args":[]},"run-sql":{"id":"run-sql","description":"Run sql expression","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant name"},"sql":{"name":"sql","type":"option","char":"s","description":"sql statement"},"file":{"name":"file","type":"option","char":"f","description":"path to sql file name"}},"args":[]},"run-tests":{"id":"run-tests","description":"Run test suites","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"coverage":{"name":"coverage","type":"boolean","char":"c","description":"Coverage","allowNo":false},"listTests":{"name":"listTests","type":"boolean","char":"l","description":"List tests","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose","allowNo":false},"detectOpenHandles":{"name":"detectOpenHandles","type":"boolean","char":"d","description":"Detect Open Handles","allowNo":false},"testFilter":{"name":"testFilter","type":"option","char":"t","description":"Filter tests by suite or test name"},"watch":{"name":"watch","type":"boolean","description":"Watch files for changes and rerun tests related to changed files.","allowNo":false},"watchAll":{"name":"watchAll","type":"boolean","description":"Watch files for changes and rerun all tests.","allowNo":false},"database":{"name":"database","type":"option","description":"Run on specified database. Default is saltcorn_test"}},"args":[{"name":"package","description":"which package to run tests for"}]},"run-trigger":{"id":"run-trigger","description":"Run a trigger","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant","required":false}},"args":[{"name":"trigger","description":"trigger name","required":true}]},"scheduler":{"id":"scheduler","description":"Run the Saltcorn scheduler","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose","allowNo":false}},"args":[]},"serve":{"id":"serve","description":"Start the Saltcorn server","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"port":{"name":"port","type":"option","char":"p","description":"port","default":3000},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose","allowNo":false},"watchReaper":{"name":"watchReaper","type":"boolean","char":"r","description":"Watch reaper","allowNo":false},"dev":{"name":"dev","type":"boolean","char":"d","description":"Run in dev mode and re-start on file changes","allowNo":false},"addschema":{"name":"addschema","type":"boolean","char":"a","description":"Add schema if missing","allowNo":false},"nomigrate":{"name":"nomigrate","type":"boolean","char":"n","description":"No migrations","allowNo":false},"noscheduler":{"name":"noscheduler","type":"boolean","char":"s","description":"No scheduler","allowNo":false},"subdomain_offset":{"name":"subdomain_offset","type":"option","description":"Number of parts to remove to access subdomain in 'multi_tenant' mode"}},"args":[]},"set-cfg":{"id":"set-cfg","description":"Set a configuration value. The supplied value (argument, or file stdin) will be parsed as JSON. If this fails, it is stored as a string.","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant"},"plugin":{"name":"plugin","type":"option","char":"p","description":"plugin"},"file":{"name":"file","type":"option","char":"f","description":"file"},"stdin":{"name":"stdin","type":"boolean","char":"i","description":"read value from stdin","allowNo":false}},"args":[{"name":"key","description":"Configuration key","required":false},{"name":"value","description":"Configuration value (JSON or string)"}]},"set-daily-time":{"id":"set-daily-time","description":"Set the time the default daily event will run, offset in minutes from the current time. Restart required.","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant"}},"args":[{"name":"mins","description":"Number of minutes in the futute (negative for past)"}]},"setup-benchmark":{"id":"setup-benchmark","description":"Setup an instance for benchmarking","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant"}},"args":[]},"setup":{"id":"setup","description":"Set up a new system\n...\nThis will attempt to install or connect a database, and set up a\nconfiguration file\n","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"coverage":{"name":"coverage","type":"boolean","char":"c","description":"Coverage","allowNo":false}},"args":[]},"sync-upload-data":{"id":"sync-upload-data","description":"Runs a sync for data supplied by the mobile app","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tenantAppName":{"name":"tenantAppName","type":"option","description":"Optional name of a tenant application"},"userEmail":{"name":"userEmail","type":"option","description":"email of the user running the sync"},"directory":{"name":"directory","type":"option","description":"directory name for input output data"},"syncTimestamp":{"name":"syncTimestamp","type":"option","description":"new timestamp for the sync_info rows"}},"args":[]},"take-snapshot":{"id":"take-snapshot","description":"Print a current snapshout to stdout","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant"},"fresh":{"name":"fresh","type":"boolean","char":"f","description":"fresh","allowNo":false}},"args":[]},"transform-field":{"id":"transform-field","description":"transform an existing field by applying a calculated expression","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"expression","description":"expression to calculate field","required":true},{"name":"field","description":"field name","required":true},{"name":"table","description":"table name","required":true},{"name":"tenant","description":"tenant name","required":false}]},"dev:localize-plugin":{"id":"dev:localize-plugin","description":"Convert plugin to local plugin","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"unlocalize":{"name":"unlocalize","type":"boolean","char":"u","description":"Unlocalize plugin (local to npm)","allowNo":false},"tenant":{"name":"tenant","type":"option","char":"t","description":"tenant"}},"args":[{"name":"plugin","description":"Current plugin name","required":true},{"name":"path","description":"Absolute path to local plugin"}]},"dev:make-migration":{"id":"dev:make-migration","description":"Create a new blank Database structure migration file.\nThese migrations update database structure.\nYou should not normally need to run this\nunless you are a developer.\n","usage":"make-migration","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{},"args":[]},"dev:plugin-test":{"id":"dev:plugin-test","description":"Install a plugin, spawn 'npm run test' in the install directory and check the return code.","usage":"saltcorn dev:plugin-test -d [PATH_TO_LOCAL_PLUGIN]/statistics -f test-backup.zip","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"directory":{"name":"directory","type":"option","char":"d","description":"Directory of local plugin"},"name":{"name":"name","type":"option","char":"n","description":"Plugin name in store of a released plugin"},"backupFile":{"name":"backupFile","type":"option","char":"f","description":"Optional name of a backup file in the tests folder. If you ommit this, then the test has to create its own data."},"database":{"name":"database","type":"option","description":"Run on specified database. Default is 'saltcorn_test''"}},"args":[]},"dev:post-release":{"id":"dev:post-release","description":"Post-release tasks: docker and vagrant builds","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"task","description":"What to do","options":["docker","vagrant","all","none"]}]},"dev:release":{"id":"dev:release","description":"Release a new saltcorn version","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{"tag":{"name":"tag","type":"option","char":"t","description":"NPM tag"}},"args":[{"name":"version","description":"New version number","required":true}]},"dev:test-plugin":{"id":"dev:test-plugin","description":"Test a plugin\n...\nExtra documentation goes here\n","pluginName":"@saltcorn/cli","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"path","description":"path to plugin package","required":true}]}}}
1
+ {
2
+ "version": "1.0.0-beta.6",
3
+ "commands": {
4
+ "add-schema": {
5
+ "id": "add-schema",
6
+ "description": "Add Saltcorn schema to existing database",
7
+ "strict": true,
8
+ "pluginName": "@saltcorn/cli",
9
+ "pluginAlias": "@saltcorn/cli",
10
+ "pluginType": "core",
11
+ "aliases": [],
12
+ "hiddenAliases": [],
13
+ "flags": {
14
+ "force": {
15
+ "name": "force",
16
+ "type": "boolean",
17
+ "char": "f",
18
+ "description": "force command execution",
19
+ "allowNo": false
20
+ }
21
+ },
22
+ "args": {},
23
+ "help": "Add Saltcorn schema to existing database"
24
+ },
25
+ "backup": {
26
+ "id": "backup",
27
+ "description": "Backup the PostgreSQL database to a file with pg_dump or saltcorn backup zip",
28
+ "strict": true,
29
+ "pluginName": "@saltcorn/cli",
30
+ "pluginAlias": "@saltcorn/cli",
31
+ "pluginType": "core",
32
+ "aliases": [],
33
+ "hiddenAliases": [],
34
+ "flags": {
35
+ "verbose": {
36
+ "name": "verbose",
37
+ "type": "boolean",
38
+ "char": "v",
39
+ "description": "Verbose",
40
+ "allowNo": false
41
+ },
42
+ "output": {
43
+ "name": "output",
44
+ "type": "option",
45
+ "char": "o",
46
+ "description": "output filename",
47
+ "multiple": false
48
+ },
49
+ "tenant": {
50
+ "name": "tenant",
51
+ "type": "option",
52
+ "char": "t",
53
+ "description": "Backup tenant in saltcorn zip format",
54
+ "multiple": false
55
+ },
56
+ "zip": {
57
+ "name": "zip",
58
+ "type": "boolean",
59
+ "char": "z",
60
+ "description": "Backup public in saltcorn zip format",
61
+ "allowNo": false
62
+ }
63
+ },
64
+ "args": {},
65
+ "help": "Backup the PostgreSQL database to a file with pg_dump or saltcorn backup zip"
66
+ },
67
+ "build-app": {
68
+ "id": "build-app",
69
+ "description": "Build mobile app",
70
+ "strict": true,
71
+ "pluginName": "@saltcorn/cli",
72
+ "pluginAlias": "@saltcorn/cli",
73
+ "pluginType": "core",
74
+ "aliases": [],
75
+ "hiddenAliases": [],
76
+ "flags": {
77
+ "tenantAppName": {
78
+ "name": "tenantAppName",
79
+ "type": "option",
80
+ "description": "Optional name of a tenant application, if set, the app will be build for this tenant",
81
+ "multiple": false
82
+ },
83
+ "platforms": {
84
+ "name": "platforms",
85
+ "type": "option",
86
+ "char": "p",
87
+ "description": "Platforms to build for, space separated list",
88
+ "multiple": true
89
+ },
90
+ "entryPoint": {
91
+ "name": "entryPoint",
92
+ "type": "option",
93
+ "char": "e",
94
+ "description": "This is the first view or page (see -t) after the login.",
95
+ "multiple": false
96
+ },
97
+ "entryPointType": {
98
+ "name": "entryPointType",
99
+ "type": "option",
100
+ "char": "t",
101
+ "description": "Type of the entry point ('view' or 'page'). The default is 'view'.",
102
+ "multiple": false
103
+ },
104
+ "localUserTables": {
105
+ "name": "localUserTables",
106
+ "type": "option",
107
+ "char": "l",
108
+ "description": "user defined tables that should be replicated into the app",
109
+ "multiple": true
110
+ },
111
+ "synchedTables": {
112
+ "name": "synchedTables",
113
+ "type": "option",
114
+ "description": "Table names for which the offline should be synchronized with the saltcorn server",
115
+ "multiple": true
116
+ },
117
+ "includedPlugins": {
118
+ "name": "includedPlugins",
119
+ "type": "option",
120
+ "description": "Names of plugins that should be bundled into the app.If empty, no modules are used.",
121
+ "multiple": true
122
+ },
123
+ "useDocker": {
124
+ "name": "useDocker",
125
+ "type": "boolean",
126
+ "char": "d",
127
+ "description": "Use a docker container to build the app.",
128
+ "allowNo": false
129
+ },
130
+ "buildDirectory": {
131
+ "name": "buildDirectory",
132
+ "type": "option",
133
+ "char": "b",
134
+ "description": "A directory where the app should be build",
135
+ "multiple": false
136
+ },
137
+ "copyAppDirectory": {
138
+ "name": "copyAppDirectory",
139
+ "type": "option",
140
+ "char": "c",
141
+ "description": "If set, the app file will be copied here, please set 'user email', too",
142
+ "multiple": false
143
+ },
144
+ "userEmail": {
145
+ "name": "userEmail",
146
+ "type": "option",
147
+ "char": "u",
148
+ "description": "Email of the user building the app",
149
+ "multiple": false
150
+ },
151
+ "appName": {
152
+ "name": "appName",
153
+ "type": "option",
154
+ "description": "Name of the mobile app (default SaltcornMobileApp)",
155
+ "multiple": false
156
+ },
157
+ "appId": {
158
+ "name": "appId",
159
+ "type": "option",
160
+ "description": "Id of the mobile app (default com.saltcorn.mobileapp)",
161
+ "multiple": false
162
+ },
163
+ "appVersion": {
164
+ "name": "appVersion",
165
+ "type": "option",
166
+ "description": "Version of the mobile app (default 1.0.0)",
167
+ "multiple": false
168
+ },
169
+ "appIcon": {
170
+ "name": "appIcon",
171
+ "type": "option",
172
+ "description": "A png that will be used as launcher icon. The default is a png of a saltcorn symbol.",
173
+ "multiple": false
174
+ },
175
+ "serverURL": {
176
+ "name": "serverURL",
177
+ "type": "option",
178
+ "char": "s",
179
+ "description": "URL to a saltcorn server",
180
+ "multiple": false
181
+ },
182
+ "splashPage": {
183
+ "name": "splashPage",
184
+ "type": "option",
185
+ "description": "Name of a page that should be shown while the app is loading.",
186
+ "multiple": false
187
+ },
188
+ "autoPublicLogin": {
189
+ "name": "autoPublicLogin",
190
+ "type": "boolean",
191
+ "description": "Show public entry points before the login as a public user.",
192
+ "allowNo": false
193
+ },
194
+ "allowOfflineMode": {
195
+ "name": "allowOfflineMode",
196
+ "type": "boolean",
197
+ "description": "Switch to offline mode when there is no internet, sync the data when a connection is available again.",
198
+ "allowNo": false
199
+ },
200
+ "provisioningProfile": {
201
+ "name": "provisioningProfile",
202
+ "type": "option",
203
+ "description": "This profile will be used to sign your app",
204
+ "multiple": false
205
+ },
206
+ "buildType": {
207
+ "name": "buildType",
208
+ "type": "option",
209
+ "description": "debug or release build",
210
+ "multiple": false
211
+ },
212
+ "androidKeystore": {
213
+ "name": "androidKeystore",
214
+ "type": "option",
215
+ "description": "A self-signed certificate that includes the private key used to sign your app.",
216
+ "multiple": false
217
+ },
218
+ "androidKeyStoreAlias": {
219
+ "name": "androidKeyStoreAlias",
220
+ "type": "option",
221
+ "description": "A unique name to identify the key within the keystore file.",
222
+ "multiple": false
223
+ },
224
+ "androidKeystorePassword": {
225
+ "name": "androidKeystorePassword",
226
+ "type": "option",
227
+ "description": "he password to access the keystore file.",
228
+ "multiple": false
229
+ }
230
+ },
231
+ "args": {}
232
+ },
233
+ "build-cordova-builder": {
234
+ "id": "build-cordova-builder",
235
+ "description": "Build the 'saltcorn/cordova-builder' docker image",
236
+ "strict": true,
237
+ "pluginName": "@saltcorn/cli",
238
+ "pluginAlias": "@saltcorn/cli",
239
+ "pluginType": "core",
240
+ "aliases": [],
241
+ "hiddenAliases": [],
242
+ "flags": {
243
+ "buildClean": {
244
+ "name": "buildClean",
245
+ "type": "boolean",
246
+ "description": "run a clean build with --no-cache",
247
+ "allowNo": false
248
+ }
249
+ },
250
+ "args": {},
251
+ "help": "Build the 'saltcorn/cordova-builder' docker image. This image is used in the 'build-app' command to run the cordova commands. Please make sure docker is callable without using root (see rootless mode, or add the user to the docker group)."
252
+ },
253
+ "configuration-check-backups": {
254
+ "id": "configuration-check-backups",
255
+ "description": "Check configuration",
256
+ "strict": false,
257
+ "pluginName": "@saltcorn/cli",
258
+ "pluginAlias": "@saltcorn/cli",
259
+ "pluginType": "core",
260
+ "aliases": [],
261
+ "hiddenAliases": [],
262
+ "flags": {
263
+ "destructive": {
264
+ "name": "destructive",
265
+ "type": "boolean",
266
+ "char": "d",
267
+ "description": "destructive",
268
+ "allowNo": false
269
+ }
270
+ },
271
+ "args": {
272
+ "files": {
273
+ "name": "files",
274
+ "description": "backup file to check. can be repeated, e.g. with *",
275
+ "required": true
276
+ }
277
+ }
278
+ },
279
+ "configuration-check": {
280
+ "id": "configuration-check",
281
+ "description": "Check configuration",
282
+ "strict": true,
283
+ "pluginName": "@saltcorn/cli",
284
+ "pluginAlias": "@saltcorn/cli",
285
+ "pluginType": "core",
286
+ "aliases": [],
287
+ "hiddenAliases": [],
288
+ "flags": {
289
+ "tenant": {
290
+ "name": "tenant",
291
+ "type": "option",
292
+ "char": "t",
293
+ "description": "tenant",
294
+ "multiple": false
295
+ }
296
+ },
297
+ "args": {}
298
+ },
299
+ "create-tenant": {
300
+ "id": "create-tenant",
301
+ "description": "Create a tenant",
302
+ "strict": true,
303
+ "pluginName": "@saltcorn/cli",
304
+ "pluginAlias": "@saltcorn/cli",
305
+ "pluginType": "core",
306
+ "aliases": [],
307
+ "hiddenAliases": [],
308
+ "flags": {
309
+ "url": {
310
+ "name": "url",
311
+ "type": "option",
312
+ "description": "Url of tenant",
313
+ "multiple": false
314
+ },
315
+ "email": {
316
+ "name": "email",
317
+ "type": "option",
318
+ "char": "e",
319
+ "description": "Email of owner of tenant",
320
+ "multiple": false
321
+ },
322
+ "description": {
323
+ "name": "description",
324
+ "type": "option",
325
+ "char": "d",
326
+ "description": "Description of tenant",
327
+ "multiple": false
328
+ }
329
+ },
330
+ "args": {
331
+ "tenant": {
332
+ "name": "tenant",
333
+ "description": "Tenant subdomain to create",
334
+ "required": true
335
+ }
336
+ }
337
+ },
338
+ "create-user": {
339
+ "id": "create-user",
340
+ "description": "Create a new user",
341
+ "strict": true,
342
+ "pluginName": "@saltcorn/cli",
343
+ "pluginAlias": "@saltcorn/cli",
344
+ "pluginType": "core",
345
+ "aliases": [],
346
+ "hiddenAliases": [],
347
+ "flags": {
348
+ "admin": {
349
+ "name": "admin",
350
+ "type": "boolean",
351
+ "char": "a",
352
+ "description": "Admin user",
353
+ "allowNo": false
354
+ },
355
+ "tenant": {
356
+ "name": "tenant",
357
+ "type": "option",
358
+ "char": "t",
359
+ "description": "tenant",
360
+ "multiple": false
361
+ },
362
+ "email": {
363
+ "name": "email",
364
+ "type": "option",
365
+ "char": "e",
366
+ "description": "email",
367
+ "multiple": false
368
+ },
369
+ "role": {
370
+ "name": "role",
371
+ "type": "option",
372
+ "char": "r",
373
+ "description": "role",
374
+ "multiple": false
375
+ },
376
+ "password": {
377
+ "name": "password",
378
+ "type": "option",
379
+ "char": "p",
380
+ "description": "password",
381
+ "multiple": false
382
+ }
383
+ },
384
+ "args": {}
385
+ },
386
+ "delete-tenants": {
387
+ "id": "delete-tenants",
388
+ "description": "Delete inactive tenants",
389
+ "strict": true,
390
+ "pluginName": "@saltcorn/cli",
391
+ "pluginAlias": "@saltcorn/cli",
392
+ "pluginType": "core",
393
+ "aliases": [],
394
+ "hiddenAliases": [],
395
+ "flags": {},
396
+ "args": {}
397
+ },
398
+ "delete-user": {
399
+ "id": "delete-user",
400
+ "description": "Delete user.\n\nCommand deletes the user specified by USER_EMAIL.\n\n",
401
+ "strict": true,
402
+ "pluginName": "@saltcorn/cli",
403
+ "pluginAlias": "@saltcorn/cli",
404
+ "pluginType": "core",
405
+ "aliases": [],
406
+ "hiddenAliases": [],
407
+ "flags": {
408
+ "force": {
409
+ "name": "force",
410
+ "type": "boolean",
411
+ "char": "f",
412
+ "description": "force command execution",
413
+ "allowNo": false
414
+ },
415
+ "tenant": {
416
+ "name": "tenant",
417
+ "type": "option",
418
+ "char": "t",
419
+ "description": "tenant",
420
+ "multiple": false
421
+ }
422
+ },
423
+ "args": {
424
+ "user_email": {
425
+ "name": "user_email",
426
+ "description": "User to delete",
427
+ "required": true
428
+ }
429
+ },
430
+ "help": "Delete user.\n\nCommand deletes the user specified by USER_EMAIL.\n\n"
431
+ },
432
+ "fixtures": {
433
+ "id": "fixtures",
434
+ "description": "Load fixtures for testing\n...\nThis manual step it is never required for users and rarely required for developers\n",
435
+ "strict": true,
436
+ "pluginName": "@saltcorn/cli",
437
+ "pluginAlias": "@saltcorn/cli",
438
+ "pluginType": "core",
439
+ "aliases": [],
440
+ "hiddenAliases": [],
441
+ "flags": {
442
+ "reset": {
443
+ "name": "reset",
444
+ "type": "boolean",
445
+ "char": "r",
446
+ "description": "Also reset schema",
447
+ "allowNo": false
448
+ },
449
+ "tenant": {
450
+ "name": "tenant",
451
+ "type": "option",
452
+ "char": "t",
453
+ "description": "tenant",
454
+ "multiple": false
455
+ }
456
+ },
457
+ "args": {}
458
+ },
459
+ "get-cfg": {
460
+ "id": "get-cfg",
461
+ "description": "Get a configuration value. The value is printed to stdout as a JSON value",
462
+ "strict": true,
463
+ "pluginName": "@saltcorn/cli",
464
+ "pluginAlias": "@saltcorn/cli",
465
+ "pluginType": "core",
466
+ "aliases": [],
467
+ "hiddenAliases": [],
468
+ "flags": {
469
+ "tenant": {
470
+ "name": "tenant",
471
+ "type": "option",
472
+ "char": "t",
473
+ "description": "tenant",
474
+ "multiple": false
475
+ },
476
+ "plugin": {
477
+ "name": "plugin",
478
+ "type": "option",
479
+ "char": "p",
480
+ "description": "plugin",
481
+ "multiple": false
482
+ }
483
+ },
484
+ "args": {
485
+ "key": {
486
+ "name": "key",
487
+ "description": "Configuration key",
488
+ "required": false
489
+ }
490
+ }
491
+ },
492
+ "info": {
493
+ "id": "info",
494
+ "description": "Show paths\n...\nShow configuration and file store paths\n",
495
+ "strict": true,
496
+ "pluginName": "@saltcorn/cli",
497
+ "pluginAlias": "@saltcorn/cli",
498
+ "pluginType": "core",
499
+ "aliases": [
500
+ "paths"
501
+ ],
502
+ "hiddenAliases": [],
503
+ "flags": {
504
+ "json": {
505
+ "name": "json",
506
+ "type": "boolean",
507
+ "char": "j",
508
+ "description": "json format",
509
+ "allowNo": false
510
+ }
511
+ },
512
+ "args": {}
513
+ },
514
+ "inspect": {
515
+ "id": "inspect",
516
+ "description": "Inspect an entity's JSON representation, or list entities",
517
+ "strict": true,
518
+ "pluginName": "@saltcorn/cli",
519
+ "pluginAlias": "@saltcorn/cli",
520
+ "pluginType": "core",
521
+ "aliases": [],
522
+ "hiddenAliases": [],
523
+ "flags": {
524
+ "tenant": {
525
+ "name": "tenant",
526
+ "type": "option",
527
+ "char": "t",
528
+ "description": "tenant",
529
+ "multiple": false
530
+ }
531
+ },
532
+ "args": {
533
+ "type": {
534
+ "name": "type",
535
+ "description": "Entity type",
536
+ "required": true,
537
+ "options": [
538
+ "view",
539
+ "page",
540
+ "trigger",
541
+ "table"
542
+ ]
543
+ },
544
+ "name": {
545
+ "name": "name",
546
+ "description": "Entity name. If not supplied, list all names"
547
+ }
548
+ }
549
+ },
550
+ "install-pack": {
551
+ "id": "install-pack",
552
+ "description": "Install a pack or restore a snapshot",
553
+ "strict": true,
554
+ "pluginName": "@saltcorn/cli",
555
+ "pluginAlias": "@saltcorn/cli",
556
+ "pluginType": "core",
557
+ "aliases": [],
558
+ "hiddenAliases": [],
559
+ "flags": {
560
+ "tenant": {
561
+ "name": "tenant",
562
+ "type": "option",
563
+ "char": "t",
564
+ "description": "tenant",
565
+ "multiple": false
566
+ },
567
+ "name": {
568
+ "name": "name",
569
+ "type": "option",
570
+ "char": "n",
571
+ "description": "Pack name in store",
572
+ "multiple": false
573
+ },
574
+ "file": {
575
+ "name": "file",
576
+ "type": "option",
577
+ "char": "f",
578
+ "description": "File with pack JSON",
579
+ "multiple": false
580
+ }
581
+ },
582
+ "args": {}
583
+ },
584
+ "install-plugin": {
585
+ "id": "install-plugin",
586
+ "description": "Install a plugin",
587
+ "strict": true,
588
+ "pluginName": "@saltcorn/cli",
589
+ "pluginAlias": "@saltcorn/cli",
590
+ "pluginType": "core",
591
+ "aliases": [],
592
+ "hiddenAliases": [],
593
+ "flags": {
594
+ "tenant": {
595
+ "name": "tenant",
596
+ "type": "option",
597
+ "char": "t",
598
+ "description": "tenant",
599
+ "multiple": false
600
+ },
601
+ "name": {
602
+ "name": "name",
603
+ "type": "option",
604
+ "char": "n",
605
+ "description": "Plugin name in store",
606
+ "multiple": false
607
+ },
608
+ "directory": {
609
+ "name": "directory",
610
+ "type": "option",
611
+ "char": "d",
612
+ "description": "Directory with local plugin",
613
+ "multiple": false
614
+ },
615
+ "unsafe": {
616
+ "name": "unsafe",
617
+ "type": "boolean",
618
+ "char": "u",
619
+ "description": "Allow unsafe plugins on tenants",
620
+ "allowNo": false
621
+ }
622
+ },
623
+ "args": {}
624
+ },
625
+ "list-tenants": {
626
+ "id": "list-tenants",
627
+ "description": "List tenants in CSV format",
628
+ "strict": true,
629
+ "pluginName": "@saltcorn/cli",
630
+ "pluginAlias": "@saltcorn/cli",
631
+ "pluginType": "core",
632
+ "aliases": [],
633
+ "hiddenAliases": [],
634
+ "flags": {
635
+ "tenant": {
636
+ "name": "tenant",
637
+ "type": "option",
638
+ "char": "t",
639
+ "description": "tenant",
640
+ "required": false,
641
+ "multiple": false
642
+ },
643
+ "verbose": {
644
+ "name": "verbose",
645
+ "type": "boolean",
646
+ "char": "v",
647
+ "description": "verbose output",
648
+ "required": false,
649
+ "allowNo": false
650
+ },
651
+ "json": {
652
+ "name": "json",
653
+ "type": "boolean",
654
+ "char": "j",
655
+ "description": "json format",
656
+ "allowNo": false
657
+ }
658
+ },
659
+ "args": {},
660
+ "help": "Extra help here"
661
+ },
662
+ "list-triggers": {
663
+ "id": "list-triggers",
664
+ "description": "List triggers",
665
+ "strict": true,
666
+ "pluginName": "@saltcorn/cli",
667
+ "pluginAlias": "@saltcorn/cli",
668
+ "pluginType": "core",
669
+ "aliases": [],
670
+ "hiddenAliases": [],
671
+ "flags": {
672
+ "tenant": {
673
+ "name": "tenant",
674
+ "type": "option",
675
+ "char": "t",
676
+ "description": "tenant",
677
+ "required": false,
678
+ "multiple": false
679
+ },
680
+ "verbose": {
681
+ "name": "verbose",
682
+ "type": "boolean",
683
+ "char": "v",
684
+ "description": "verbose output",
685
+ "required": false,
686
+ "allowNo": false
687
+ },
688
+ "json": {
689
+ "name": "json",
690
+ "type": "boolean",
691
+ "char": "j",
692
+ "description": "json format",
693
+ "allowNo": false
694
+ }
695
+ },
696
+ "args": {}
697
+ },
698
+ "list-users": {
699
+ "id": "list-users",
700
+ "description": "List users",
701
+ "strict": true,
702
+ "pluginName": "@saltcorn/cli",
703
+ "pluginAlias": "@saltcorn/cli",
704
+ "pluginType": "core",
705
+ "aliases": [],
706
+ "hiddenAliases": [],
707
+ "flags": {
708
+ "tenant": {
709
+ "name": "tenant",
710
+ "type": "option",
711
+ "char": "t",
712
+ "description": "tenant",
713
+ "required": false,
714
+ "multiple": false
715
+ },
716
+ "verbose": {
717
+ "name": "verbose",
718
+ "type": "boolean",
719
+ "char": "v",
720
+ "description": "verbose output",
721
+ "required": false,
722
+ "allowNo": false
723
+ }
724
+ },
725
+ "args": {},
726
+ "help": "List users"
727
+ },
728
+ "migrate": {
729
+ "id": "migrate",
730
+ "description": "Run Database structure migrations\n...\nNOTE!\n- Please stop Saltcorn before run DB migrations.\n- Please make db backup before migration.\n- There are no way to rollback migration if you doesn't make backup.\n\nThis is not normally required as migrations will be run when the server starts.\nHowever, this command may be useful if you are running multiple application\nservers and need to control when the migrations are run.\n",
731
+ "strict": true,
732
+ "usage": "saltcorn migrate",
733
+ "pluginName": "@saltcorn/cli",
734
+ "pluginAlias": "@saltcorn/cli",
735
+ "pluginType": "core",
736
+ "aliases": [],
737
+ "hiddenAliases": [],
738
+ "flags": {},
739
+ "args": {},
740
+ "help": "Run Database structure migrations.\nCommand goes in circle via all tenants and applies all unapplyed database structure migrations.\n\nNOTE!\n- Please stop Saltcorn before run DB migrations.\n- Please make db backup before migration.\n- There are no way to rollback migration if you doesn't make backup.\n"
741
+ },
742
+ "modify-user": {
743
+ "id": "modify-user",
744
+ "description": "Modify (update) user.\n\nCommand changes the user specified by USER_EMAIL.\n\nYou can change the user group, password and email.\n\nNOTE that -a and -r role (--role=role) can give conflict.\n",
745
+ "strict": true,
746
+ "pluginName": "@saltcorn/cli",
747
+ "pluginAlias": "@saltcorn/cli",
748
+ "pluginType": "core",
749
+ "aliases": [],
750
+ "hiddenAliases": [],
751
+ "flags": {
752
+ "admin": {
753
+ "name": "admin",
754
+ "type": "boolean",
755
+ "char": "a",
756
+ "description": "make user be Admin",
757
+ "allowNo": false
758
+ },
759
+ "tenant": {
760
+ "name": "tenant",
761
+ "type": "option",
762
+ "char": "t",
763
+ "description": "tenant",
764
+ "multiple": false
765
+ },
766
+ "email": {
767
+ "name": "email",
768
+ "type": "option",
769
+ "char": "e",
770
+ "description": "new email",
771
+ "multiple": false
772
+ },
773
+ "role": {
774
+ "name": "role",
775
+ "type": "option",
776
+ "char": "r",
777
+ "description": "new role (can conflict with -a option)",
778
+ "multiple": false
779
+ },
780
+ "password": {
781
+ "name": "password",
782
+ "type": "option",
783
+ "char": "p",
784
+ "description": "new password",
785
+ "multiple": false
786
+ },
787
+ "imode": {
788
+ "name": "imode",
789
+ "type": "boolean",
790
+ "char": "i",
791
+ "description": "interactive mode",
792
+ "allowNo": false
793
+ }
794
+ },
795
+ "args": {
796
+ "user_email": {
797
+ "name": "user_email",
798
+ "description": "User to modify",
799
+ "required": true
800
+ }
801
+ },
802
+ "help": "Modify (update) user.\n\nCommand changes the user specified by USER_EMAIL.\n\nYou can change the user group, password and email.\n\nNOTE that -a and -r role (--role=role) can give conflict.\n"
803
+ },
804
+ "plugins": {
805
+ "id": "plugins",
806
+ "description": "List and upgrade plugins for tenants\n...\nExtra documentation goes here\n",
807
+ "strict": true,
808
+ "pluginName": "@saltcorn/cli",
809
+ "pluginAlias": "@saltcorn/cli",
810
+ "pluginType": "core",
811
+ "aliases": [],
812
+ "hiddenAliases": [],
813
+ "examples": [
814
+ "plugins -v - verbose output of commands",
815
+ "plugins -u -d - dry-run for plugin update",
816
+ "plugins -u -f - force plugin update"
817
+ ],
818
+ "flags": {
819
+ "upgrade": {
820
+ "name": "upgrade",
821
+ "type": "boolean",
822
+ "char": "u",
823
+ "description": "Upgrade",
824
+ "allowNo": false
825
+ },
826
+ "dryRun": {
827
+ "name": "dryRun",
828
+ "type": "boolean",
829
+ "char": "d",
830
+ "description": "Upgrade dry-run",
831
+ "allowNo": false
832
+ },
833
+ "verbose": {
834
+ "name": "verbose",
835
+ "type": "boolean",
836
+ "char": "v",
837
+ "description": "Verbose output",
838
+ "allowNo": false
839
+ },
840
+ "force": {
841
+ "name": "force",
842
+ "type": "boolean",
843
+ "char": "f",
844
+ "description": "Force update",
845
+ "allowNo": false
846
+ },
847
+ "name": {
848
+ "name": "name",
849
+ "type": "option",
850
+ "char": "n",
851
+ "description": "Plugin name",
852
+ "multiple": false
853
+ }
854
+ },
855
+ "args": {},
856
+ "help": "Extra help here"
857
+ },
858
+ "reset-schema": {
859
+ "id": "reset-schema",
860
+ "description": "Reset the database\n...\nThis will delete all existing information\n",
861
+ "strict": true,
862
+ "pluginName": "@saltcorn/cli",
863
+ "pluginAlias": "@saltcorn/cli",
864
+ "pluginType": "core",
865
+ "aliases": [],
866
+ "hiddenAliases": [],
867
+ "flags": {
868
+ "force": {
869
+ "name": "force",
870
+ "type": "boolean",
871
+ "char": "f",
872
+ "description": "force command execution",
873
+ "allowNo": false
874
+ },
875
+ "tenant": {
876
+ "name": "tenant",
877
+ "type": "option",
878
+ "char": "t",
879
+ "description": "tenant",
880
+ "multiple": false
881
+ }
882
+ },
883
+ "args": {},
884
+ "help": "Reset the database\n...\nThis will delete all existing information\n"
885
+ },
886
+ "restore": {
887
+ "id": "restore",
888
+ "description": "Restore a previously backed up database (zip or sqlc format)",
889
+ "strict": true,
890
+ "pluginName": "@saltcorn/cli",
891
+ "pluginAlias": "@saltcorn/cli",
892
+ "pluginType": "core",
893
+ "aliases": [],
894
+ "hiddenAliases": [],
895
+ "flags": {
896
+ "tenant": {
897
+ "name": "tenant",
898
+ "type": "option",
899
+ "char": "t",
900
+ "description": "tenant",
901
+ "multiple": false
902
+ }
903
+ },
904
+ "args": {
905
+ "file": {
906
+ "name": "file",
907
+ "description": "backup file to restore",
908
+ "required": true
909
+ }
910
+ },
911
+ "help": "Restore a previously backed up database (zip or sqlc format)"
912
+ },
913
+ "rm-tenant": {
914
+ "id": "rm-tenant",
915
+ "description": "Remove a tenant.\nAttention! All tenant data will be lost!\nIt recommended to make backup of tenant before perform this command.\n",
916
+ "strict": true,
917
+ "pluginName": "@saltcorn/cli",
918
+ "pluginAlias": "@saltcorn/cli",
919
+ "pluginType": "core",
920
+ "aliases": [],
921
+ "hiddenAliases": [],
922
+ "flags": {
923
+ "force": {
924
+ "name": "force",
925
+ "type": "boolean",
926
+ "char": "f",
927
+ "description": "force command execution",
928
+ "allowNo": false
929
+ },
930
+ "tenant": {
931
+ "name": "tenant",
932
+ "type": "option",
933
+ "char": "t",
934
+ "description": "tenant",
935
+ "required": true,
936
+ "multiple": false
937
+ }
938
+ },
939
+ "args": {},
940
+ "help": "Remove a tenant.\nAttention! All tenant data will be lost!\nIt recommended to make backup of tenant before perform this command.\n"
941
+ },
942
+ "run-benchmark": {
943
+ "id": "run-benchmark",
944
+ "description": "Run benchmark",
945
+ "strict": true,
946
+ "pluginName": "@saltcorn/cli",
947
+ "pluginAlias": "@saltcorn/cli",
948
+ "pluginType": "core",
949
+ "aliases": [],
950
+ "hiddenAliases": [],
951
+ "flags": {
952
+ "token": {
953
+ "name": "token",
954
+ "type": "option",
955
+ "char": "t",
956
+ "description": "API Token for reporting results",
957
+ "multiple": false
958
+ },
959
+ "benchmark": {
960
+ "name": "benchmark",
961
+ "type": "option",
962
+ "char": "b",
963
+ "description": "Which benchmark to run",
964
+ "multiple": false
965
+ },
966
+ "delay": {
967
+ "name": "delay",
968
+ "type": "option",
969
+ "char": "d",
970
+ "description": "delay between runs (s)",
971
+ "multiple": false,
972
+ "default": 30
973
+ }
974
+ },
975
+ "args": {
976
+ "baseurl": {
977
+ "name": "baseurl",
978
+ "description": "Base URL",
979
+ "required": false
980
+ }
981
+ }
982
+ },
983
+ "run-js": {
984
+ "id": "run-js",
985
+ "description": "Run javascript code",
986
+ "strict": true,
987
+ "pluginName": "@saltcorn/cli",
988
+ "pluginAlias": "@saltcorn/cli",
989
+ "pluginType": "core",
990
+ "aliases": [],
991
+ "hiddenAliases": [],
992
+ "flags": {
993
+ "tenant": {
994
+ "name": "tenant",
995
+ "type": "option",
996
+ "char": "t",
997
+ "description": "tenant name",
998
+ "multiple": false
999
+ },
1000
+ "code": {
1001
+ "name": "code",
1002
+ "type": "option",
1003
+ "char": "c",
1004
+ "description": "js code",
1005
+ "multiple": false
1006
+ },
1007
+ "file": {
1008
+ "name": "file",
1009
+ "type": "option",
1010
+ "char": "f",
1011
+ "description": "path to script file",
1012
+ "multiple": false
1013
+ }
1014
+ },
1015
+ "args": {}
1016
+ },
1017
+ "run-sql": {
1018
+ "id": "run-sql",
1019
+ "description": "Run sql expression",
1020
+ "strict": true,
1021
+ "pluginName": "@saltcorn/cli",
1022
+ "pluginAlias": "@saltcorn/cli",
1023
+ "pluginType": "core",
1024
+ "aliases": [],
1025
+ "hiddenAliases": [],
1026
+ "flags": {
1027
+ "tenant": {
1028
+ "name": "tenant",
1029
+ "type": "option",
1030
+ "char": "t",
1031
+ "description": "tenant name",
1032
+ "multiple": false
1033
+ },
1034
+ "sql": {
1035
+ "name": "sql",
1036
+ "type": "option",
1037
+ "char": "s",
1038
+ "description": "sql statement",
1039
+ "multiple": false
1040
+ },
1041
+ "file": {
1042
+ "name": "file",
1043
+ "type": "option",
1044
+ "char": "f",
1045
+ "description": "path to sql file name",
1046
+ "multiple": false
1047
+ }
1048
+ },
1049
+ "args": {}
1050
+ },
1051
+ "run-tests": {
1052
+ "id": "run-tests",
1053
+ "description": "Run test suites",
1054
+ "strict": true,
1055
+ "pluginName": "@saltcorn/cli",
1056
+ "pluginAlias": "@saltcorn/cli",
1057
+ "pluginType": "core",
1058
+ "aliases": [],
1059
+ "hiddenAliases": [],
1060
+ "flags": {
1061
+ "coverage": {
1062
+ "name": "coverage",
1063
+ "type": "boolean",
1064
+ "char": "c",
1065
+ "description": "Coverage",
1066
+ "allowNo": false
1067
+ },
1068
+ "listTests": {
1069
+ "name": "listTests",
1070
+ "type": "boolean",
1071
+ "char": "l",
1072
+ "description": "List tests",
1073
+ "allowNo": false
1074
+ },
1075
+ "verbose": {
1076
+ "name": "verbose",
1077
+ "type": "boolean",
1078
+ "char": "v",
1079
+ "description": "Verbose",
1080
+ "allowNo": false
1081
+ },
1082
+ "detectOpenHandles": {
1083
+ "name": "detectOpenHandles",
1084
+ "type": "boolean",
1085
+ "char": "d",
1086
+ "description": "Detect Open Handles",
1087
+ "allowNo": false
1088
+ },
1089
+ "testFilter": {
1090
+ "name": "testFilter",
1091
+ "type": "option",
1092
+ "char": "t",
1093
+ "description": "Filter tests by suite or test name",
1094
+ "multiple": false
1095
+ },
1096
+ "watch": {
1097
+ "name": "watch",
1098
+ "type": "boolean",
1099
+ "description": "Watch files for changes and rerun tests related to changed files.",
1100
+ "allowNo": false
1101
+ },
1102
+ "watchAll": {
1103
+ "name": "watchAll",
1104
+ "type": "boolean",
1105
+ "description": "Watch files for changes and rerun all tests.",
1106
+ "allowNo": false
1107
+ },
1108
+ "database": {
1109
+ "name": "database",
1110
+ "type": "option",
1111
+ "description": "Run on specified database. Default is saltcorn_test",
1112
+ "multiple": false
1113
+ }
1114
+ },
1115
+ "args": {
1116
+ "package": {
1117
+ "name": "package",
1118
+ "description": "which package to run tests for"
1119
+ }
1120
+ }
1121
+ },
1122
+ "run-trigger": {
1123
+ "id": "run-trigger",
1124
+ "description": "Run a trigger",
1125
+ "strict": true,
1126
+ "pluginName": "@saltcorn/cli",
1127
+ "pluginAlias": "@saltcorn/cli",
1128
+ "pluginType": "core",
1129
+ "aliases": [],
1130
+ "hiddenAliases": [],
1131
+ "flags": {
1132
+ "tenant": {
1133
+ "name": "tenant",
1134
+ "type": "option",
1135
+ "char": "t",
1136
+ "description": "tenant",
1137
+ "required": false,
1138
+ "multiple": false
1139
+ }
1140
+ },
1141
+ "args": {
1142
+ "trigger": {
1143
+ "name": "trigger",
1144
+ "description": "trigger name",
1145
+ "required": true
1146
+ }
1147
+ }
1148
+ },
1149
+ "scheduler": {
1150
+ "id": "scheduler",
1151
+ "description": "Run the Saltcorn scheduler",
1152
+ "strict": true,
1153
+ "pluginName": "@saltcorn/cli",
1154
+ "pluginAlias": "@saltcorn/cli",
1155
+ "pluginType": "core",
1156
+ "aliases": [],
1157
+ "hiddenAliases": [],
1158
+ "flags": {
1159
+ "verbose": {
1160
+ "name": "verbose",
1161
+ "type": "boolean",
1162
+ "char": "v",
1163
+ "description": "Verbose",
1164
+ "allowNo": false
1165
+ }
1166
+ },
1167
+ "args": {}
1168
+ },
1169
+ "serve": {
1170
+ "id": "serve",
1171
+ "description": "Start the Saltcorn server",
1172
+ "strict": true,
1173
+ "pluginName": "@saltcorn/cli",
1174
+ "pluginAlias": "@saltcorn/cli",
1175
+ "pluginType": "core",
1176
+ "aliases": [],
1177
+ "hiddenAliases": [],
1178
+ "flags": {
1179
+ "port": {
1180
+ "name": "port",
1181
+ "type": "option",
1182
+ "char": "p",
1183
+ "description": "port",
1184
+ "multiple": false,
1185
+ "default": 3000
1186
+ },
1187
+ "verbose": {
1188
+ "name": "verbose",
1189
+ "type": "boolean",
1190
+ "char": "v",
1191
+ "description": "Verbose",
1192
+ "allowNo": false
1193
+ },
1194
+ "watchReaper": {
1195
+ "name": "watchReaper",
1196
+ "type": "boolean",
1197
+ "char": "r",
1198
+ "description": "Watch reaper",
1199
+ "allowNo": false
1200
+ },
1201
+ "dev": {
1202
+ "name": "dev",
1203
+ "type": "boolean",
1204
+ "char": "d",
1205
+ "description": "Run in dev mode and re-start on file changes",
1206
+ "allowNo": false
1207
+ },
1208
+ "addschema": {
1209
+ "name": "addschema",
1210
+ "type": "boolean",
1211
+ "char": "a",
1212
+ "description": "Add schema if missing",
1213
+ "allowNo": false
1214
+ },
1215
+ "nomigrate": {
1216
+ "name": "nomigrate",
1217
+ "type": "boolean",
1218
+ "char": "n",
1219
+ "description": "No migrations",
1220
+ "allowNo": false
1221
+ },
1222
+ "noscheduler": {
1223
+ "name": "noscheduler",
1224
+ "type": "boolean",
1225
+ "char": "s",
1226
+ "description": "No scheduler",
1227
+ "allowNo": false
1228
+ },
1229
+ "subdomain_offset": {
1230
+ "name": "subdomain_offset",
1231
+ "type": "option",
1232
+ "description": "Number of parts to remove to access subdomain in 'multi_tenant' mode",
1233
+ "multiple": false
1234
+ }
1235
+ },
1236
+ "args": {}
1237
+ },
1238
+ "set-cfg": {
1239
+ "id": "set-cfg",
1240
+ "description": "Set a configuration value. The supplied value (argument, or file stdin) will be parsed as JSON. If this fails, it is stored as a string.",
1241
+ "strict": true,
1242
+ "pluginName": "@saltcorn/cli",
1243
+ "pluginAlias": "@saltcorn/cli",
1244
+ "pluginType": "core",
1245
+ "aliases": [],
1246
+ "hiddenAliases": [],
1247
+ "flags": {
1248
+ "tenant": {
1249
+ "name": "tenant",
1250
+ "type": "option",
1251
+ "char": "t",
1252
+ "description": "tenant",
1253
+ "multiple": false
1254
+ },
1255
+ "plugin": {
1256
+ "name": "plugin",
1257
+ "type": "option",
1258
+ "char": "p",
1259
+ "description": "plugin",
1260
+ "multiple": false
1261
+ },
1262
+ "file": {
1263
+ "name": "file",
1264
+ "type": "option",
1265
+ "char": "f",
1266
+ "description": "file",
1267
+ "multiple": false
1268
+ },
1269
+ "stdin": {
1270
+ "name": "stdin",
1271
+ "type": "boolean",
1272
+ "char": "i",
1273
+ "description": "read value from stdin",
1274
+ "allowNo": false
1275
+ }
1276
+ },
1277
+ "args": {
1278
+ "key": {
1279
+ "name": "key",
1280
+ "description": "Configuration key",
1281
+ "required": false
1282
+ },
1283
+ "value": {
1284
+ "name": "value",
1285
+ "description": "Configuration value (JSON or string)"
1286
+ }
1287
+ }
1288
+ },
1289
+ "set-daily-time": {
1290
+ "id": "set-daily-time",
1291
+ "description": "Set the time the default daily event will run, offset in minutes from the current time. Restart required.",
1292
+ "strict": true,
1293
+ "pluginName": "@saltcorn/cli",
1294
+ "pluginAlias": "@saltcorn/cli",
1295
+ "pluginType": "core",
1296
+ "aliases": [],
1297
+ "hiddenAliases": [],
1298
+ "flags": {
1299
+ "tenant": {
1300
+ "name": "tenant",
1301
+ "type": "option",
1302
+ "char": "t",
1303
+ "description": "tenant",
1304
+ "multiple": false
1305
+ }
1306
+ },
1307
+ "args": {
1308
+ "mins": {
1309
+ "name": "mins",
1310
+ "description": "Number of minutes in the futute (negative for past)"
1311
+ }
1312
+ }
1313
+ },
1314
+ "setup-benchmark": {
1315
+ "id": "setup-benchmark",
1316
+ "description": "Setup an instance for benchmarking",
1317
+ "strict": true,
1318
+ "pluginName": "@saltcorn/cli",
1319
+ "pluginAlias": "@saltcorn/cli",
1320
+ "pluginType": "core",
1321
+ "aliases": [],
1322
+ "hiddenAliases": [],
1323
+ "flags": {
1324
+ "tenant": {
1325
+ "name": "tenant",
1326
+ "type": "option",
1327
+ "char": "t",
1328
+ "description": "tenant",
1329
+ "multiple": false
1330
+ },
1331
+ "name": {
1332
+ "name": "name",
1333
+ "type": "option",
1334
+ "char": "n",
1335
+ "description": "name",
1336
+ "multiple": false
1337
+ }
1338
+ },
1339
+ "args": {}
1340
+ },
1341
+ "setup": {
1342
+ "id": "setup",
1343
+ "description": "Set up a new system\n...\nThis will attempt to install or connect a database, and set up a\nconfiguration file\n",
1344
+ "strict": true,
1345
+ "pluginName": "@saltcorn/cli",
1346
+ "pluginAlias": "@saltcorn/cli",
1347
+ "pluginType": "core",
1348
+ "aliases": [],
1349
+ "hiddenAliases": [],
1350
+ "flags": {
1351
+ "coverage": {
1352
+ "name": "coverage",
1353
+ "type": "boolean",
1354
+ "char": "c",
1355
+ "description": "Coverage",
1356
+ "allowNo": false
1357
+ }
1358
+ },
1359
+ "args": {}
1360
+ },
1361
+ "sync-upload-data": {
1362
+ "id": "sync-upload-data",
1363
+ "description": "Runs a sync for data supplied by the mobile app",
1364
+ "strict": true,
1365
+ "pluginName": "@saltcorn/cli",
1366
+ "pluginAlias": "@saltcorn/cli",
1367
+ "pluginType": "core",
1368
+ "aliases": [],
1369
+ "hiddenAliases": [],
1370
+ "flags": {
1371
+ "tenantAppName": {
1372
+ "name": "tenantAppName",
1373
+ "type": "option",
1374
+ "description": "Optional name of a tenant application",
1375
+ "multiple": false
1376
+ },
1377
+ "userEmail": {
1378
+ "name": "userEmail",
1379
+ "type": "option",
1380
+ "description": "email of the user running the sync",
1381
+ "multiple": false
1382
+ },
1383
+ "directory": {
1384
+ "name": "directory",
1385
+ "type": "option",
1386
+ "description": "directory name for input output data",
1387
+ "multiple": false
1388
+ },
1389
+ "syncTimestamp": {
1390
+ "name": "syncTimestamp",
1391
+ "type": "option",
1392
+ "description": "new timestamp for the sync_info rows",
1393
+ "multiple": false
1394
+ }
1395
+ },
1396
+ "args": {}
1397
+ },
1398
+ "take-snapshot": {
1399
+ "id": "take-snapshot",
1400
+ "description": "Print a current snapshout to stdout",
1401
+ "strict": true,
1402
+ "pluginName": "@saltcorn/cli",
1403
+ "pluginAlias": "@saltcorn/cli",
1404
+ "pluginType": "core",
1405
+ "aliases": [],
1406
+ "hiddenAliases": [],
1407
+ "flags": {
1408
+ "tenant": {
1409
+ "name": "tenant",
1410
+ "type": "option",
1411
+ "char": "t",
1412
+ "description": "tenant",
1413
+ "multiple": false
1414
+ },
1415
+ "fresh": {
1416
+ "name": "fresh",
1417
+ "type": "boolean",
1418
+ "char": "f",
1419
+ "description": "fresh",
1420
+ "allowNo": false
1421
+ }
1422
+ },
1423
+ "args": {}
1424
+ },
1425
+ "transform-field": {
1426
+ "id": "transform-field",
1427
+ "description": "transform an existing field by applying a calculated expression",
1428
+ "strict": true,
1429
+ "pluginName": "@saltcorn/cli",
1430
+ "pluginAlias": "@saltcorn/cli",
1431
+ "pluginType": "core",
1432
+ "aliases": [],
1433
+ "hiddenAliases": [],
1434
+ "flags": {},
1435
+ "args": {
1436
+ "expression": {
1437
+ "name": "expression",
1438
+ "description": "expression to calculate field",
1439
+ "required": true
1440
+ },
1441
+ "field": {
1442
+ "name": "field",
1443
+ "description": "field name",
1444
+ "required": true
1445
+ },
1446
+ "table": {
1447
+ "name": "table",
1448
+ "description": "table name",
1449
+ "required": true
1450
+ },
1451
+ "tenant": {
1452
+ "name": "tenant",
1453
+ "description": "tenant name",
1454
+ "required": false
1455
+ }
1456
+ }
1457
+ },
1458
+ "dev:localize-plugin": {
1459
+ "id": "dev:localize-plugin",
1460
+ "description": "Convert plugin to local plugin",
1461
+ "strict": true,
1462
+ "pluginName": "@saltcorn/cli",
1463
+ "pluginAlias": "@saltcorn/cli",
1464
+ "pluginType": "core",
1465
+ "aliases": [],
1466
+ "hiddenAliases": [],
1467
+ "flags": {
1468
+ "unlocalize": {
1469
+ "name": "unlocalize",
1470
+ "type": "boolean",
1471
+ "char": "u",
1472
+ "description": "Unlocalize plugin (local to npm)",
1473
+ "allowNo": false
1474
+ },
1475
+ "tenant": {
1476
+ "name": "tenant",
1477
+ "type": "option",
1478
+ "char": "t",
1479
+ "description": "tenant",
1480
+ "multiple": false
1481
+ }
1482
+ },
1483
+ "args": {
1484
+ "plugin": {
1485
+ "name": "plugin",
1486
+ "description": "Current plugin name",
1487
+ "required": true
1488
+ },
1489
+ "path": {
1490
+ "name": "path",
1491
+ "description": "Absolute path to local plugin"
1492
+ }
1493
+ }
1494
+ },
1495
+ "dev:make-migration": {
1496
+ "id": "dev:make-migration",
1497
+ "description": "Create a new blank Database structure migration file.\nThese migrations update database structure.\nYou should not normally need to run this\nunless you are a developer.\n",
1498
+ "strict": true,
1499
+ "usage": "make-migration",
1500
+ "pluginName": "@saltcorn/cli",
1501
+ "pluginAlias": "@saltcorn/cli",
1502
+ "pluginType": "core",
1503
+ "aliases": [],
1504
+ "hiddenAliases": [],
1505
+ "flags": {},
1506
+ "args": {},
1507
+ "help": "Create a new blank Database structure migration file.\nThese migrations update database structure.\nYou should not normally need to run this\nunless you are a developer.\n"
1508
+ },
1509
+ "dev:plugin-test": {
1510
+ "id": "dev:plugin-test",
1511
+ "description": "Install a plugin, spawn 'npm run test' in the install directory and check the return code.",
1512
+ "strict": true,
1513
+ "usage": "saltcorn dev:plugin-test -d [PATH_TO_LOCAL_PLUGIN]/statistics -f test-backup.zip",
1514
+ "pluginName": "@saltcorn/cli",
1515
+ "pluginAlias": "@saltcorn/cli",
1516
+ "pluginType": "core",
1517
+ "aliases": [],
1518
+ "hiddenAliases": [],
1519
+ "flags": {
1520
+ "directory": {
1521
+ "name": "directory",
1522
+ "type": "option",
1523
+ "char": "d",
1524
+ "description": "Directory of local plugin",
1525
+ "multiple": false
1526
+ },
1527
+ "name": {
1528
+ "name": "name",
1529
+ "type": "option",
1530
+ "char": "n",
1531
+ "description": "Plugin name in store of a released plugin",
1532
+ "multiple": false
1533
+ },
1534
+ "backupFile": {
1535
+ "name": "backupFile",
1536
+ "type": "option",
1537
+ "char": "f",
1538
+ "description": "Optional name of a backup file in the tests folder. If you ommit this, then the test has to create its own data.",
1539
+ "multiple": false
1540
+ },
1541
+ "database": {
1542
+ "name": "database",
1543
+ "type": "option",
1544
+ "description": "Run on specified database. Default is 'saltcorn_test''",
1545
+ "multiple": false
1546
+ }
1547
+ },
1548
+ "args": {},
1549
+ "help": "Install a plugin, spawn 'npm run test' in the install directory and check the return code."
1550
+ },
1551
+ "dev:post-release": {
1552
+ "id": "dev:post-release",
1553
+ "description": "Post-release tasks: docker and vagrant builds",
1554
+ "strict": true,
1555
+ "pluginName": "@saltcorn/cli",
1556
+ "pluginAlias": "@saltcorn/cli",
1557
+ "pluginType": "core",
1558
+ "aliases": [],
1559
+ "hiddenAliases": [],
1560
+ "flags": {},
1561
+ "args": {
1562
+ "task": {
1563
+ "name": "task",
1564
+ "description": "What to do",
1565
+ "options": [
1566
+ "docker",
1567
+ "vagrant",
1568
+ "all",
1569
+ "none"
1570
+ ]
1571
+ }
1572
+ }
1573
+ },
1574
+ "dev:release": {
1575
+ "id": "dev:release",
1576
+ "description": "Release a new saltcorn version",
1577
+ "strict": true,
1578
+ "pluginName": "@saltcorn/cli",
1579
+ "pluginAlias": "@saltcorn/cli",
1580
+ "pluginType": "core",
1581
+ "aliases": [],
1582
+ "hiddenAliases": [],
1583
+ "flags": {
1584
+ "tag": {
1585
+ "name": "tag",
1586
+ "type": "option",
1587
+ "char": "t",
1588
+ "description": "NPM tag",
1589
+ "multiple": false
1590
+ }
1591
+ },
1592
+ "args": {
1593
+ "version": {
1594
+ "name": "version",
1595
+ "description": "New version number",
1596
+ "required": true
1597
+ }
1598
+ }
1599
+ },
1600
+ "dev:test-plugin": {
1601
+ "id": "dev:test-plugin",
1602
+ "description": "Test a plugin\n...\nExtra documentation goes here\n",
1603
+ "strict": true,
1604
+ "pluginName": "@saltcorn/cli",
1605
+ "pluginAlias": "@saltcorn/cli",
1606
+ "pluginType": "core",
1607
+ "aliases": [],
1608
+ "hiddenAliases": [],
1609
+ "flags": {},
1610
+ "args": {
1611
+ "path": {
1612
+ "name": "path",
1613
+ "description": "path to plugin package",
1614
+ "required": true
1615
+ }
1616
+ }
1617
+ }
1618
+ }
1619
+ }