X Tutup
Skip to content

Commit d8e5d5f

Browse files
committed
Set up "rushell" project skeleton
1 parent 2c4e91a commit d8e5d5f

File tree

15 files changed

+241
-22
lines changed

15 files changed

+241
-22
lines changed

common/config/rush/shrinkwrap.yaml

Lines changed: 35 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ dependencies:
2929
'@rush-temp/rush-stack': 'file:projects/rush-stack.tgz'
3030
'@rush-temp/rush-stack-compiler': 'file:projects/rush-stack-compiler.tgz'
3131
'@rush-temp/rush-stack-library-test': 'file:projects/rush-stack-library-test.tgz'
32+
'@rush-temp/rushell': 'file:projects/rushell.tgz'
3233
'@rush-temp/set-webpack-public-path-plugin': 'file:projects/set-webpack-public-path-plugin.tgz'
3334
'@rush-temp/stream-collator': 'file:projects/stream-collator.tgz'
3435
'@rush-temp/ts-command-line': 'file:projects/ts-command-line.tgz'
@@ -10047,7 +10048,7 @@ packages:
1004710048
dev: false
1004810049
name: '@rush-temp/api-documenter'
1004910050
resolution:
10050-
integrity: sha512-QwhEEs6B1CuE2AE/GlpqwUxI8eX+UreXnpfhhTQuTOY0u+CL7AJxHNAGfPGkIm5bV7jusQ31/joR53KZP1Gb4A==
10051+
integrity: sha512-mX9wyIqOspRpHlVyH9+Rq5fOrmMtPQG4J7NbsbUu5c6t7Qelq2ItSvR6ecZBtQerRjjiJIGat2ffwFCX1sVlSQ==
1005110052
tarball: 'file:projects/api-documenter.tgz'
1005210053
version: 0.0.0
1005310054
'file:projects/api-extractor-test-01.tgz':
@@ -10059,7 +10060,7 @@ packages:
1005910060
dev: false
1006010061
name: '@rush-temp/api-extractor-test-01'
1006110062
resolution:
10062-
integrity: sha512-Qb+lSYkbdZC47kh+PjaT62fZ2v5O/fTY0Hj0zZXmuX1GRHx+QZ6vapi2f6jmOJgIBHg5rITEHU0xEuMQ2uxBhw==
10063+
integrity: sha512-ocgCMGScGAInr8hD6BfmVSGeK3WibnSqSueM8B4FDaSoyLWPOqhIjP0QoxyGF7tnkK6dVHU9A58vreJKvzeaiA==
1006310064
tarball: 'file:projects/api-extractor-test-01.tgz'
1006410065
version: 0.0.0
1006510066
'file:projects/api-extractor-test-02.tgz':
@@ -10072,7 +10073,7 @@ packages:
1007210073
dev: false
1007310074
name: '@rush-temp/api-extractor-test-02'
1007410075
resolution:
10075-
integrity: sha512-C6tUCEEg3+FKeqjM7LFNlje2Kf7Wu4TuRGXhFpqVIlJT3cbFOpb1CBgifZp4ZoBmoQvqUY9ueHQwmUVm6gwVmQ==
10076+
integrity: sha512-drCO2FKVl/LM476v2qDjrAc2rlyVVujt3Xezm6kEpJHs3tetpvOr/C4xMXVrAlZueXq67s9DyNuGIwO2avGKWw==
1007610077
tarball: 'file:projects/api-extractor-test-02.tgz'
1007710078
version: 0.0.0
1007810079
'file:projects/api-extractor-test-03.tgz':
@@ -10094,7 +10095,7 @@ packages:
1009410095
dev: false
1009510096
name: '@rush-temp/api-extractor-test-04'
1009610097
resolution:
10097-
integrity: sha512-p24nNHI/7tfN8g3vcxx5pNxjzqk/1c/HDdMy8WFqles4GOtvgjf9Mozm2oQm7/UVk84SyeH/rKBPJXX6GDGbDQ==
10098+
integrity: sha512-ZIomMFVJNtdC4DchHI905z4z/RHMJ99fGHagF85l9flQpBaIojPT0RvIPfubjQ/W5QoDG5o6CEldGTwUEgEwrA==
1009810099
tarball: 'file:projects/api-extractor-test-04.tgz'
1009910100
version: 0.0.0
1010010101
'file:projects/api-extractor-test-05.tgz':
@@ -10106,7 +10107,7 @@ packages:
1010610107
dev: false
1010710108
name: '@rush-temp/api-extractor-test-05'
1010810109
resolution:
10109-
integrity: sha512-1vZyvXufje3hFg2oZvE2krQZPiAj8fYd1SGdaGLQa0f+gats9B3tE+oKfSMtD2wNVTbeX8jRW8n3ptfaqZdP9Q==
10110+
integrity: sha512-IZrSMawWpQgj+9JjR/ch/4FDKj60sTZDHvpo2YW7/Q2udBM60MyJWM+58UKXavB0mLwn8ojEcQlLrtDpWxfiIA==
1011010111
tarball: 'file:projects/api-extractor-test-05.tgz'
1011110112
version: 0.0.0
1011210113
'file:projects/api-extractor.tgz':
@@ -10207,7 +10208,7 @@ packages:
1020710208
dev: false
1020810209
name: '@rush-temp/gulp-core-build-sass'
1020910210
resolution:
10210-
integrity: sha512-y0f+obtAfz3P8EhhIuFCqujvuyvbUmFdof/oarSYDE7be+YgKNgjuzDaxhAJqfda9uE5UcakOhx9y5bOJqGg7g==
10211+
integrity: sha512-rCXNaO8QutO3qJKY00ujRTCHsMX8UTN+AhgENuRI6VEVfKfAu5GZyuCme3UKmAhhvSyWbztnwPqjo/L/nHOq6g==
1021110212
tarball: 'file:projects/gulp-core-build-sass.tgz'
1021210213
version: 0.0.0
1021310214
'file:projects/gulp-core-build-serve.tgz':
@@ -10272,7 +10273,7 @@ packages:
1027210273
dev: false
1027310274
name: '@rush-temp/gulp-core-build-typescript'
1027410275
resolution:
10275-
integrity: sha512-kJKI6mPTqfHfyVBsaL7uUZFgfQlsik2cJXj7QT+6hwvzyMH2IBce5/R4CU3JQr0l1R7LbPeJdXwz/mVcOe3a/A==
10276+
integrity: sha512-9Nieijl+p4Z3eZa4FZgfYdjPObyEBtH04eueSRvgHTZV8mbH0B+W5mYWNdTYyLmSBKaTh5PUlv7+3evTpVdl0Q==
1027610277
tarball: 'file:projects/gulp-core-build-typescript.tgz'
1027710278
version: 0.0.0
1027810279
'file:projects/gulp-core-build-webpack.tgz':
@@ -10357,7 +10358,7 @@ packages:
1035710358
dev: false
1035810359
name: '@rush-temp/load-themed-styles'
1035910360
resolution:
10360-
integrity: sha512-ojXdn34b5L/jdjTyWcKyQmP2r4ikIUylJQerHVpCcmkj82RkeTMoJIx8nUXS2y0Vy6ZkzEHZnkskB4Kf/UwV/w==
10361+
integrity: sha512-qVTEvskrCERYw7rsBJsCpLLWx+H4qBOfQFRFFYQBJac2BtFSajJay71Z2rfMMph52vpqlhxN8P5pn41xVgxvgg==
1036110362
tarball: 'file:projects/load-themed-styles.tgz'
1036210363
version: 0.0.0
1036310364
'file:projects/loader-load-themed-styles.tgz':
@@ -10372,7 +10373,7 @@ packages:
1037210373
dev: false
1037310374
name: '@rush-temp/loader-load-themed-styles'
1037410375
resolution:
10375-
integrity: sha512-T0y83oIo1ZUDqsJs5M+jmunCM0BiECekbX5rReJ/6e56zTX5ojjlyGBRBNTCEbjJjqKXTPRaO2xCihVy3xmsWg==
10376+
integrity: sha512-Z8QcAqBj7cvewlLA0VDOZDyymYdq5WJYH5TdHX9Llf+D7gZCIDlXmRr8EgQWBKm6D3dL4Vo5ou7j0TxGN17wbg==
1037610377
tarball: 'file:projects/loader-load-themed-styles.tgz'
1037710378
version: 0.0.0
1037810379
'file:projects/loader-raw-script.tgz':
@@ -10386,7 +10387,7 @@ packages:
1038610387
dev: false
1038710388
name: '@rush-temp/loader-raw-script'
1038810389
resolution:
10389-
integrity: sha512-UfJ2CYA15Pwg8hqG4cOBHVrEpsks/HhLzqHPwuZyzGVSBoEhE3sqCA4stXZdqAP8vlOIjCxwbxR1YIVFm4uD9Q==
10390+
integrity: sha512-WIQmu/aBNtoetUottnLsHfHjdB+zBZuYlg8FwO79/049ct15leqow619rwSkgwmoaD1jS0O3hKRsa/IzAbpinw==
1039010391
tarball: 'file:projects/loader-raw-script.tgz'
1039110392
version: 0.0.0
1039210393
'file:projects/loader-set-webpack-public-path.tgz':
@@ -10402,7 +10403,7 @@ packages:
1040210403
dev: false
1040310404
name: '@rush-temp/loader-set-webpack-public-path'
1040410405
resolution:
10405-
integrity: sha512-rmNOdLhDeFNmBmtz8ifmgFpDiwdTdoammW2OGqYpDvyva0Um2rnt1HElOVFGtg55vz3L4+xAz8o+hvCgSAaZbw==
10406+
integrity: sha512-qIe29bMj/O9a14Rc+hvWANI/Rw0rDqUciQ680aXJvkc6YiiKdJvLJY+yZ5MKGZBCQm/X3KlY01hkq6PJPB2mfw==
1040610407
tarball: 'file:projects/loader-set-webpack-public-path.tgz'
1040710408
version: 0.0.0
1040810409
'file:projects/node-core-library.tgz':
@@ -10433,7 +10434,7 @@ packages:
1043310434
dev: false
1043410435
name: '@rush-temp/node-library-build'
1043510436
resolution:
10436-
integrity: sha512-mEiH1/rF1qiHEdTCHiOqwRfs3qtYg1sKxpWZiCtRolQ8kroYJQYF4xXzy3VJud4JqqHaB/Y3BqlnAP1lYNp/yQ==
10437+
integrity: sha512-cpc2vtPi08fClez5L2L0jAzAhUXuQIGeoDzA2Iht/dr6SmxiiCt90Dxv+W1SZEm/rTqqhd8d/cMjENtayH75+g==
1043710438
tarball: 'file:projects/node-library-build.tgz'
1043810439
version: 0.0.0
1043910440
'file:projects/package-deps-hash.tgz':
@@ -10446,7 +10447,7 @@ packages:
1044610447
dev: false
1044710448
name: '@rush-temp/package-deps-hash'
1044810449
resolution:
10449-
integrity: sha512-aCaAMRA4HRTCilHacKOv9DuyM44483Fg+d49bUjliuyS/qR+GCbNAcuomx7OVk8792qwRVlSpJEAch4tHwfOaw==
10450+
integrity: sha512-y1sB4fgfU8ugsnQxXNYjJMn40Uk5CYEpIVOh6uX876JfX66/kJMIFBj26G8qTS+zExmZPhyC4U7O0YkUhed7bA==
1045010451
tarball: 'file:projects/package-deps-hash.tgz'
1045110452
version: 0.0.0
1045210453
'file:projects/resolve-chunk-plugin.tgz':
@@ -10459,7 +10460,7 @@ packages:
1045910460
dev: false
1046010461
name: '@rush-temp/resolve-chunk-plugin'
1046110462
resolution:
10462-
integrity: sha512-wT+j1t/LffVdDv6kDognaOFWiz2imyAaZJm2eT8H4nMY0fgCmK8xowD9ziLF2UVL06T5gTdZdiRTbW1YHaanpQ==
10463+
integrity: sha512-pqEwuaw6k4FoCVR+yhKJv9yArzNRNokMn3pRc8hgsBV2pL0ZJXHWes2GBF0VOfVOZEb+uIw3vGzMWbp+8qgi9w==
1046310464
tarball: 'file:projects/resolve-chunk-plugin.tgz'
1046410465
version: 0.0.0
1046510466
'file:projects/rush-lib.tgz':
@@ -10502,7 +10503,7 @@ packages:
1050210503
dev: false
1050310504
name: '@rush-temp/rush-lib'
1050410505
resolution:
10505-
integrity: sha512-J9B8QH9BORkXjq4Y0kRgcl/gqZylSfyHpsYWpljHxCBVUwOzwXu9iOEbkTYPMbyGKIj/aMcgN10MHYqCN9nn6A==
10506+
integrity: sha512-1CjqT9sUJQycZouo7725rIRfO0XyS4+CuzYFsxms0eeNFa/9ot7WZZd17yHGlx8i0K/fmYKgNFaIzt8Wa63FZg==
1050610507
tarball: 'file:projects/rush-lib.tgz'
1050710508
version: 0.0.0
1050810509
'file:projects/rush-stack-compiler.tgz':
@@ -10513,7 +10514,7 @@ packages:
1051310514
dev: false
1051410515
name: '@rush-temp/rush-stack-compiler'
1051510516
resolution:
10516-
integrity: sha512-XIc9hQIvQevtoMocDJjHc80sbaIifLiYd5PECe9HEd3TCFWQpqRdT6SNiFg7Z+TaCReOf1H8q+MipysBF/qOnA==
10517+
integrity: sha512-2EaC65RtTAEh5fRG4dg8e0iW6IxLcBIrF/LpSox0eIHASIgD4LB+BKx2L/hdfRX8gvScY4aVJS9AYd0/GVj5Fg==
1051710518
tarball: 'file:projects/rush-stack-compiler.tgz'
1051810519
version: 0.0.0
1051910520
'file:projects/rush-stack-library-test.tgz':
@@ -10534,7 +10535,7 @@ packages:
1053410535
dev: false
1053510536
name: '@rush-temp/rush-stack'
1053610537
resolution:
10537-
integrity: sha512-5aS0c5SS5vWr3fdY6UXiM0ufC113bfLePUMwLPsFjLoDdJeRKLPQlhNms4hLnm0d/nxNB9ffy9aDj9IVyaKz8A==
10538+
integrity: sha512-F/AUzCaAl1eeU2HarcuOCWkeQ5siyd8IaQ9MJFNB0w5By9+YdSmGFjg7QESG8cRLU/XsDDprzdDLcRlOOj+Fig==
1053810539
tarball: 'file:projects/rush-stack.tgz'
1053910540
version: 0.0.0
1054010541
'file:projects/rush.tgz':
@@ -10554,9 +10555,20 @@ packages:
1055410555
dev: false
1055510556
name: '@rush-temp/rush'
1055610557
resolution:
10557-
integrity: sha512-FPkYU9CzF/ruZFRlNiShZbSIiZ0+4pKJDI0b3Meb9/nuECV+Ps86lH9YU9rSHYv2GAqXkP+SFFVGgDI+TEHVrw==
10558+
integrity: sha512-+9xGN53lyYsvTHmhncdAZLKMd52QgM+ReXjdm+kh0SCb6Kg0hOK04ias6tsY3CFF/mdNUVMVeeuLQtui1rmHSw==
1055810559
tarball: 'file:projects/rush.tgz'
1055910560
version: 0.0.0
10561+
'file:projects/rushell.tgz':
10562+
dependencies:
10563+
'@microsoft/node-library-build': 4.3.41
10564+
'@types/jest': 21.1.10
10565+
gulp: 3.9.1
10566+
dev: false
10567+
name: '@rush-temp/rushell'
10568+
resolution:
10569+
integrity: sha512-XKsagPltN4KZ2VMyL+QbiAiy9t2XzQDUyEowiqj0T7kHOdY9UT5DsFhCkz1X7Bea1E0Bu/ehNuSla3LaBLNy1A==
10570+
tarball: 'file:projects/rushell.tgz'
10571+
version: 0.0.0
1056010572
'file:projects/set-webpack-public-path-plugin.tgz':
1056110573
dependencies:
1056210574
'@types/lodash': 4.14.74
@@ -10573,7 +10585,7 @@ packages:
1057310585
dev: false
1057410586
name: '@rush-temp/set-webpack-public-path-plugin'
1057510587
resolution:
10576-
integrity: sha512-HMtDXv34M9Slq7SJf8br5TfbxAFlmleI5QmnA3Kv51ylIaHwaKMV37AM6oeK4NFmT0D3IoLGOX2jz5hD1enFBA==
10588+
integrity: sha512-hJxLw0hIeUhe0rB/C0sSNUOU2uVPHfKqkZbncrvtbFWIeM4cmz0DxE8vhLDkqUwUBDV9nmTKb+JhrtkYYjJCRQ==
1057710589
tarball: 'file:projects/set-webpack-public-path-plugin.tgz'
1057810590
version: 0.0.0
1057910591
'file:projects/stream-collator.tgz':
@@ -10588,7 +10600,7 @@ packages:
1058810600
dev: false
1058910601
name: '@rush-temp/stream-collator'
1059010602
resolution:
10591-
integrity: sha512-Vrhwyk4JirI9JSJN5R3ijvah+HjWyGDsIFuJ+ObK9VD5vf9jaGP7jX+cFk75ESa8oCnOxJaIF07E77If7WpLmQ==
10603+
integrity: sha512-BWzRV7aL6zR1Ac71aeBy7/ccfGzgx8/m1w1sdBSrqfCxU9hBUkYXufpQz1MzsJvuxIpt9RMAuHX/bBKQLythoA==
1059210604
tarball: 'file:projects/stream-collator.tgz'
1059310605
version: 0.0.0
1059410606
'file:projects/ts-command-line.tgz':
@@ -10616,7 +10628,7 @@ packages:
1061610628
dev: false
1061710629
name: '@rush-temp/web-library-build-test'
1061810630
resolution:
10619-
integrity: sha512-UOPkfDtVdwKrp6Axf+OgjoT7FiJL6xJV4HeYWJ2X5OM4o9iPu1xibNVXEyiaPWAWzy/4G6hb9cneHhDXbXnRNg==
10631+
integrity: sha512-eF1tuYlDaRqp/u7vd2FWU0/0jlClad704TkAHwTihklvkxBuZDzFE2yyiOrSq8K1F9IR75fhgW8dB30vMZJLoA==
1062010632
tarball: 'file:projects/web-library-build-test.tgz'
1062110633
version: 0.0.0
1062210634
'file:projects/web-library-build.tgz':
@@ -10628,7 +10640,7 @@ packages:
1062810640
dev: false
1062910641
name: '@rush-temp/web-library-build'
1063010642
resolution:
10631-
integrity: sha512-tYDGNjr0iTh5TZwJ13t2nSnqCMH1Tbg3d+DghmxtxjVU2oHGCGZ4s5XKLZCZKCuNFrwo8K8eByR1G4lcR9iqAw==
10643+
integrity: sha512-22J+ovChTd3rRdNymTzbIYnHDgqNVL5WNQWo7ahqm5lQF+5clqs+getyy4xmt92xBq83sQ/6hVodszQLdFKQNw==
1063210644
tarball: 'file:projects/web-library-build.tgz'
1063310645
version: 0.0.0
1063410646
registry: 'https://registry.npmjs.org/'
@@ -10665,6 +10677,7 @@ specifiers:
1066510677
'@rush-temp/rush-stack': 'file:./projects/rush-stack.tgz'
1066610678
'@rush-temp/rush-stack-compiler': 'file:./projects/rush-stack-compiler.tgz'
1066710679
'@rush-temp/rush-stack-library-test': 'file:./projects/rush-stack-library-test.tgz'
10680+
'@rush-temp/rushell': 'file:./projects/rushell.tgz'
1066810681
'@rush-temp/set-webpack-public-path-plugin': 'file:./projects/set-webpack-public-path-plugin.tgz'
1066910682
'@rush-temp/stream-collator': 'file:./projects/stream-collator.tgz'
1067010683
'@rush-temp/ts-command-line': 'file:./projects/ts-command-line.tgz'
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"kind": "package",
3+
"name": "@microsoft/rushell",
4+
"summary": [
5+
{
6+
"kind": "text",
7+
"text": "Execute shell commands using a consistent syntax on every platform."
8+
}
9+
],
10+
"remarks": [],
11+
"exports": {
12+
"Rushell": {
13+
"kind": "class",
14+
"extends": "",
15+
"implements": "",
16+
"typeParameters": [],
17+
"deprecatedMessage": [],
18+
"summary": [
19+
{
20+
"kind": "text",
21+
"text": "The shell command interpreter."
22+
}
23+
],
24+
"remarks": [],
25+
"isBeta": false,
26+
"isSealed": false
27+
}
28+
}
29+
}

common/reviews/api/rushell.api.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// @beta
2+
class Rushell {
3+
}
4+

libraries/rushell/.npmignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Ignore everything by default
2+
**
3+
4+
# Use negative patterns to bring back the specific things we want to publish
5+
!/bin/**
6+
!/lib/**
7+
!/dist/**
8+
!ThirdPartyNotice.txt
9+
10+
# Ignore certain files in the above folder
11+
/dist/*.stats.*
12+
/lib/*/test/*
13+
14+
# NOTE: These don't need to be specified, because NPM includes them automatically.
15+
#
16+
# package.json
17+
# README (and its variants)
18+
# CHANGELOG (and its variants)
19+
# LICENSE / LICENCE
20+
21+
## Project specific definitions
22+
# -----------------------------
23+
24+
# (Add your exceptions here)

libraries/rushell/LICENSE

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
@microsoft/rushell
2+
3+
Copyright (c) Microsoft Corporation. All rights reserved.
4+
5+
MIT License
6+
7+
Permission is hereby granted, free of charge, to any person obtaining
8+
a copy of this software and associated documentation files (the
9+
"Software"), to deal in the Software without restriction, including
10+
without limitation the rights to use, copy, modify, merge, publish,
11+
distribute, sublicense, and/or sell copies of the Software, and to
12+
permit persons to whom the Software is furnished to do so, subject to
13+
the following conditions:
14+
15+
The above copyright notice and this permission notice shall be
16+
included in all copies or substantial portions of the Software.
17+
18+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
22+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

libraries/rushell/README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# rushell
2+
3+
NodeJS provides APIs for executing shell commands, however *which* shell invokes these commands depends on your OS. There is no universal shell interpreter that is guaranteed to be installed on every PC with Linux, Mac, or Windows.
4+
5+
Unfortunately each shell has its own opinions about:
6+
- Which characters are "special" and need to be escaped?
7+
- How do you escape a special character?
8+
- Is "/" or "\" the path separator?
9+
- What's the syntax for substituting an environment variable?
10+
11+
The Rushell library provides a minimal subset of a POSIX-compatible shell, implemented in pure JavaScript, and guaranteed to behave consistently on every platform. Rushell does not aim to be an interactive command prompt or Turing-complete language. It's merely a reliable cross-platform solution for very basic needs such as:
12+
13+
- Invoke a tool with command-line arguments
14+
- Reliably quote special symbols
15+
- Chain multiple commands using `&&` or `||`
16+
- Use `cd` to change the current working directory
17+
- Expand environment variables
18+
19+
(These are the requirements that [Rush](https://rushjs.io) had when invoking lifecycle `scripts` from a package.json file.)
20+
21+
## Syntax
22+
23+
Invoking a script using Rushell should generally provide similar output as [dash](https://en.wikipedia.org/wiki/Almquist_shell). Only a small subset of POSIX shell features are supported. More can be added over time, although the overall aim is to remain simplistic, lightweight, and self-contained (i.e. no dependencies on other libraries).
24+
25+
Example shell scripts:
26+
27+
`echo "Hello, world"` - print a string containing a space
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"enabled": true,
3+
"apiReviewFolder": "../../common/reviews/api",
4+
"apiJsonFolder": "./temp",
5+
"entry": "lib/index.d.ts",
6+
"generateDtsRollup": true
7+
}

libraries/rushell/config/jest.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"isEnabled": true
3+
}

libraries/rushell/gulpfile.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
'use strict';
2+
3+
const build = require('@microsoft/node-library-build');
4+
5+
build.initialize(require('gulp'));

libraries/rushell/package.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"name": "@microsoft/rushell",
3+
"version": "0.1.0",
4+
"description": "Execute shell commands using a consistent syntax on every platform",
5+
"repository": {
6+
"type": "git",
7+
"url": "https://github.com/microsoft/web-build-tools"
8+
},
9+
"main": "lib/index.js",
10+
"typings": "dist/index-internal.d.ts",
11+
"tsdoc": {
12+
"tsdocFlavor": "AEDoc"
13+
},
14+
"scripts": {
15+
"build": "gulp test --clean"
16+
},
17+
"license": "MIT",
18+
"dependencies": {
19+
},
20+
"devDependencies": {
21+
"@types/jest": "21.1.10",
22+
"@types/node": "8.5.8",
23+
"gulp": "~3.9.1",
24+
"@microsoft/node-library-build": "4.3.41"
25+
}
26+
}

0 commit comments

Comments
 (0)
X Tutup