@makano/rew 1.3.3 → 1.3.4

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.
@@ -6,7 +6,6 @@ const path = require('path');
6
6
  const { hideBin } = require('yargs/helpers');
7
7
  const { existsSync, readFileSync, writeFileSync, statSync, unlinkSync } = require('fs');
8
8
  const { log } = require('./log');
9
- const rune = require('../pkgs/rune');
10
9
  const { to_qrew, from_qrew } = require('../qrew/compile');
11
10
  const { findAppInfo } = require('../misc/findAppInfo');
12
11
  const { input } = require('../functions/stdout');
@@ -74,7 +73,11 @@ yargs(hideBin(process.argv))
74
73
  alias: 'c',
75
74
  describe: 'Compile and output the javascript',
76
75
  type: 'boolean',
77
- });
76
+ })
77
+ .example('rew exec "print \'hi\'"', "Executes code")
78
+ .example('echo "print \\hi\'" | rew exec', "Executes code from pipe")
79
+ .example('rew exec "print \'hi\'" -- arg1', "Executes code with arguments")
80
+ .example('echo "print \\hi\'" | rew exec -- arg1', "Executes code from pipe with arguments");
78
81
  },
79
82
  async (argv) => {
80
83
  const replFile = '/tmp/rew-'+generateRandomID()+'-'+Date.now()+'.coffee';
@@ -116,7 +119,17 @@ yargs(hideBin(process.argv))
116
119
  describe: 'Value to set (only used with "set" command)',
117
120
  type: 'string',
118
121
  default: '',
119
- });
122
+ })
123
+ .example('rew conf get', 'Get all the possible conf-sets')
124
+ .example('rew conf get app.package', 'Get all files for app.package')
125
+ .example('rew conf get app.package/_default', 'Get all default configs for app.package')
126
+ .example('rew conf get app.package/[optionGroup]', 'Get all configs for app.package/[optionGroup]')
127
+ .example('rew conf get app.package/[optionGroup] [key]', 'Get value of \'key\' for app.package/[optionGroup]')
128
+ .example('rew conf get app.package/app', 'List all files for the app if the app is installed')
129
+ .example('rew conf get app.package/path/to/file', 'Reads file or lists directory')
130
+
131
+ .example('rew conf set app.package/[optionGroup] [key] "[value]"', "Sets 'key' to 'value' for app.package/[optionGroup]")
132
+ .example('rew conf remove app.package/[optionGroup] [key]', "Removes 'key' from app.package/[optionGroup]");
120
133
  },
121
134
  (argv) => {
122
135
  const { command, path, key, value } = argv;
@@ -152,21 +165,20 @@ yargs(hideBin(process.argv))
152
165
  describe: `Use default options`,
153
166
  type: 'boolean',
154
167
  default: false
155
- });
168
+ })
169
+ .example('rew create /path/to/project', 'Open interactive shell to create app at path')
170
+ .example('rew create -i /path/to/project', 'Create without interactive shell')
171
+ .example('rew create -n package.name /path/to/project', 'Create with "-n" as a package name')
172
+ .example('rew create -t /path/to/project', 'Enable types')
173
+ .example('rew create -c /path/to/project', 'Enable civet for main')
174
+ .example('rew create -g /path/to/project', 'Setup git')
175
+ .example('rew create -git /path/to/project', '(Recommended) Setup git, no interactive shell, enable types.')
176
+ .example('rew create -gitn package.name /path/to/project', '(Recommended) Setup git, no interactive shell, enable types, set package name.');
156
177
  },
157
178
  (argv) => {
158
179
  require('./utils').createProject(argv.path, argv);
159
180
  },
160
181
  )
161
- .command(
162
- 'rune-keygen',
163
- 'Generate a rune encryption key',
164
- (yargs) => {
165
- },
166
- (argv) => {
167
- console.log('Encryption Key:', rune({}).genKey(input('Secret Value: ') || null));
168
- },
169
- )
170
182
  .command(
171
183
  'run <path | package>',
172
184
  'Run an app',
@@ -193,7 +205,12 @@ yargs(hideBin(process.argv))
193
205
  alias: 't',
194
206
  describe: 'Builds to a .js before running, only used when --build is passed',
195
207
  type: 'boolean',
196
- });
208
+ })
209
+ .example('rew run .', "Run the current directory as an app")
210
+ .example('rew run package.name', "Run 'package.name' if it's installed")
211
+ .example('rew run . -b', "Build files into .qrew before running")
212
+ .example('rew run . --dev -b', `If current entry file ends with .qrew it changes it to .coffee or ${REW_FILE_TYPE.EXTENSION} instead, and builds it before running the build`)
213
+ .example('rew run . -e test', "Runs the 'test' entry from the 'app.yaml' if exists")
197
214
  },
198
215
  (argv) => {
199
216
  require('./utils').runApp(argv.path, argv);
@@ -289,7 +306,14 @@ yargs(hideBin(process.argv))
289
306
  alias: 'y',
290
307
  describe: 'Auto yes',
291
308
  type: 'boolean',
292
- });
309
+ })
310
+ .example('rew install /path/to/app', "Installs path into the rew conf directory.")
311
+ .example('rew install -r /path/to/app', "Installs all the required libraries/apps for the specified app.")
312
+ .example('rew install github:username/repo', "Clones the repo and installs it to rew")
313
+ .example('rew install -yu github:username/repo', "Installs from github without asking for confirmation and auto updates")
314
+ .example('rew install github:username/repo@branch', "Installs a specific branch from github(default is main)")
315
+ .example('rew install github:username/repo#commit', "Installs a specific commit from github(default is latest)")
316
+ .example('rew install github:username/repo@branch#commit', "Installs a specific commit from a branch in a github repository");
293
317
  },
294
318
  async (argv) => {
295
319
  if (argv.requirements) require('./utils').installReq(argv.path, argv);
@@ -307,7 +331,9 @@ yargs(hideBin(process.argv))
307
331
  alias: 'a',
308
332
  describe: 'Remove the configs as well',
309
333
  type: 'boolean',
310
- });
334
+ })
335
+ .example('rew uninstall package.name', "Uninstalls app package.name, but keeps the data/configs")
336
+ .example('rew uninstall -a package.name', "Uninstalls app package.name entirely");
311
337
  },
312
338
  async (argv) => {
313
339
  require('./utils').uninstall(argv.package, argv.all);
@@ -373,10 +399,12 @@ yargs(hideBin(process.argv))
373
399
  yargs.positional('command', {
374
400
  describe: 'Misc command name',
375
401
  type: 'string',
376
- });
402
+ })
403
+ .example('rew misc types', 'Fixes types for libraries and rew runtime')
404
+ .example('rew misc keygen', 'Generate a rune encryption key')
377
405
  },
378
406
  (argv) => {
379
- require('./miscUtils')[argv.command](...argv._.slice(1));
407
+ require('./miscUtils')[argv.command]?.(...argv._.slice(1));
380
408
  },
381
409
  )
382
410
  .command(
@@ -1,9 +1,11 @@
1
1
  const { findAppInfo } = require("../misc/findAppInfo");
2
2
  const { log } = require("./log");
3
3
  const colors = require('colors');
4
+ const { input } = require('../functions/stdout');
4
5
  const path = require('path');
5
6
  const fs = require('fs');
6
7
  const { CONFIG_PATH } = require("../const/config_path");
8
+ const rune = require("../pkgs/rune");
7
9
 
8
10
  module.exports = {
9
11
  types(projectPath){
@@ -37,5 +39,5 @@ module.exports = {
37
39
  if(fs.existsSync(p)) fs.copyFileSync(p, path.join(projectPath, 'node_modules/@types/rew/'+filename));
38
40
  });
39
41
  },
40
-
42
+ 'keygen': () => console.log('Encryption Key:', rune({}).genKey(input('Secret Value: ') || null))
41
43
  }
@@ -4,9 +4,7 @@ const conf = require('../pkgs/conf');
4
4
  const jsYaml = require('js-yaml');
5
5
  const readline = require('readline');
6
6
  const { log, logget } = require('./log');
7
- const { fork, execSync, exec } = require('child_process');
8
- const { run } = require('../main');
9
- const { generateRandomID } = require('../functions/id');
7
+ const { execSync } = require('child_process');
10
8
  const { compile } = require('../modules/compiler');
11
9
  const { to_qrew } = require('../qrew/compile');
12
10
  const { findAppInfo } = require('../misc/findAppInfo');
@@ -100,7 +98,10 @@ module.exports = {
100
98
  confObj.types = ['rew'];
101
99
  }
102
100
  fs.writeFileSync(confPath, jsYaml.dump(confObj));
103
- fs.writeFileSync(entryFile, `print("Hello World!")`);
101
+ fs.writeFileSync(entryFile, `using namespace std::ns ->
102
+ define Main class
103
+ @main: (argv) ->
104
+ print 'Hello, World!'`);
104
105
  fs.mkdirSync(path.join(projectPath, 'assets'), { recursive: true });
105
106
  if (project.git) {
106
107
  fs.writeFileSync(path.join(projectPath, '.gitignore'), `node_modules/\npackage-lock.json`);
@@ -66,7 +66,7 @@ module.exports = (context) => ({
66
66
  };
67
67
 
68
68
  const createOptionCenter = (name, defaults = {}) => {
69
- const optionRoot = path.join(rootPath, name + '.yaml');
69
+ const optionRoot = path.join(rootPath, name.endsWith('.yaml') ? name : name + '.yaml');
70
70
  if (!fs.existsSync(path.dirname(optionRoot))) fs.mkdirSync(path.dirname(optionRoot), { recursive: true });
71
71
  if (!fs.existsSync(optionRoot)) {
72
72
  conf[name] = defaults;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@makano/rew",
3
- "version": "1.3.3",
3
+ "version": "1.3.4",
4
4
  "description": "A simple coffescript runtime and app manager",
5
5
  "main": "main.js",
6
6
  "directories": {