fixed not to have direct static imports in preset, added create-just to create basic lib

This commit is contained in:
Ken 2019-01-17 15:08:10 -08:00
Родитель 0bf50d6239
Коммит 88173f4ad3
43 изменённых файлов: 630 добавлений и 335 удалений

Просмотреть файл

@ -66,6 +66,10 @@
"name": "@types/cpx",
"allowedCategories": [ "production" ]
},
{
"name": "@types/fs-extra",
"allowedCategories": [ "production" ]
},
{
"name": "@types/glob",
"allowedCategories": [ "production" ]
@ -82,6 +86,14 @@
"name": "@types/json5",
"allowedCategories": [ "production" ]
},
{
"name": "@types/marked",
"allowedCategories": [ "production" ]
},
{
"name": "@types/marked-terminal",
"allowedCategories": [ "production" ]
},
{
"name": "@types/mkdirp",
"allowedCategories": [ "production" ]
@ -94,6 +106,10 @@
"name": "@types/node-sass",
"allowedCategories": [ "production" ]
},
{
"name": "@types/prompts",
"allowedCategories": [ "production" ]
},
{
"name": "@types/resolve",
"allowedCategories": [ "production" ]
@ -178,6 +194,10 @@
"name": "docusaurus",
"allowedCategories": [ "docs" ]
},
{
"name": "fs-extra",
"allowedCategories": [ "production" ]
},
{
"name": "glob",
"allowedCategories": [ "production" ]
@ -210,6 +230,14 @@
"name": "just-task-webpack",
"allowedCategories": [ "docs" ]
},
{
"name": "marked",
"allowedCategories": [ "production" ]
},
{
"name": "marked-terminal",
"allowedCategories": [ "production" ]
},
{
"name": "mkdirp",
"allowedCategories": [ "production" ]
@ -230,6 +258,10 @@
"name": "postcss-loader",
"allowedCategories": [ "production" ]
},
{
"name": "prompts",
"allowedCategories": [ "production" ]
},
{
"name": "react",
"allowedCategories": [ "docs" ]
@ -266,6 +298,10 @@
"name": "ts-jest",
"allowedCategories": [ "production" ]
},
{
"name": "ts-loader",
"allowedCategories": [ "production" ]
},
{
"name": "tslint",
"allowedCategories": [ "production" ]
@ -286,6 +322,10 @@
"name": "webpack",
"allowedCategories": [ "production" ]
},
{
"name": "webpack-cli",
"allowedCategories": [ "production" ]
},
{
"name": "yargs",
"allowedCategories": [ "production" ]

Просмотреть файл

@ -16,14 +16,17 @@ dependencies:
'@rush-temp/just-task-preset': 'file:projects/just-task-preset.tgz'
'@rush-temp/just-task-scripts': 'file:projects/just-task-scripts.tgz'
'@types/autoprefixer': 9.1.1
'@types/chalk': 2.2.0
'@types/cpx': 1.5.0
'@types/fs-extra': 5.0.4
'@types/glob': 7.1.1
'@types/handlebars': 4.0.40
'@types/jest': 23.3.12
'@types/json5': 0.0.30
'@types/marked': 0.6.0
'@types/marked-terminal': 3.1.1
'@types/mkdirp': 0.5.2
'@types/node': 8.10.39
'@types/node-sass': 3.10.32
'@types/prompts': 1.2.0
'@types/resolve': 0.0.8
'@types/rimraf': 2.0.2
'@types/run-parallel-limit': 1.0.0
@ -31,19 +34,22 @@ dependencies:
'@types/undertaker': 1.2.0
'@types/undertaker-registry': 1.0.1
'@types/webpack': 4.4.23
'@types/yargs': 12.0.5
'@uifabric/experiments': 6.50.7
autoprefixer: 9.4.5
chalk: 2.4.2
cpx: 1.5.0
docusaurus: 1.6.2
fs-extra: 7.0.1
glob: 7.1.3
handlebars: 4.0.12
json5: 2.1.0
marked: 0.6.0
marked-terminal: 3.2.0
mkdirp: 0.5.1
node-sass: 4.11.0
office-ui-fabric-react: 6.127.0
postcss: 7.0.13
prompts: 2.0.1
react: 16.7.0
react-dom: 16.7.0
resolve: 1.9.0
@ -51,10 +57,11 @@ dependencies:
run-parallel-limit: 1.0.5
semver: 5.6.0
ts-jest: 23.10.5
ts-loader: 5.3.3
tslint: 5.12.1
undertaker: 1.2.0
undertaker-registry: 1.0.1
webpack: 4.28.4
webpack-cli: 3.2.1
yargs: 12.0.5
packages:
/@babel/code-frame/7.0.0:
@ -319,7 +326,6 @@ packages:
integrity: sha512-FVuQngLoN2iDrpW7LmhPZ2sO4DJxf35FOcwidwB9Ru9tMvI5URthnkVHuG14IStV+TzkMTyLMoOUlSTtrdVwqw==
/@babel/plugin-proposal-class-properties/7.2.3/@babel!core@7.2.2:
dependencies:
'@babel/core': 7.2.2
'@babel/helper-create-class-features-plugin': /@babel/helper-create-class-features-plugin/7.2.3/@babel!core@7.2.2
'@babel/helper-plugin-utils': 7.0.0
dev: false
@ -359,7 +365,6 @@ packages:
integrity: sha512-1L5mWLSvR76XYUQJXkd/EEQgjq8HHRP6lQuZTTg0VA4tTGPpGemmCdAfQIz1rzEuWAm+ecP8PyyEm30jC1eQCg==
/@babel/plugin-proposal-object-rest-spread/7.2.0/@babel!core@7.2.2:
dependencies:
'@babel/core': 7.2.2
'@babel/helper-plugin-utils': 7.0.0
'@babel/plugin-syntax-object-rest-spread': /@babel/plugin-syntax-object-rest-spread/7.2.0/@babel!core@7.2.2
dev: false
@ -1183,7 +1188,6 @@ packages:
integrity: sha512-AuHzW7a9rbv5WXmvGaPX7wADxFkZIqKlbBh1dmZUQp4iwiPpkE/Qnrji6SC4UQCQzvWY/cpHET29eUhXS9cLPw==
/@babel/preset-env/7.2.3/@babel!core@7.2.2:
dependencies:
'@babel/core': 7.2.2
'@babel/helper-module-imports': 7.0.0
'@babel/helper-plugin-utils': 7.0.0
'@babel/plugin-proposal-async-generator-functions': /@babel/plugin-proposal-async-generator-functions/7.2.0/@babel!core@7.2.2
@ -1245,7 +1249,6 @@ packages:
integrity: sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w==
/@babel/preset-react/7.0.0/@babel!core@7.2.2:
dependencies:
'@babel/core': 7.2.2
'@babel/helper-plugin-utils': 7.0.0
'@babel/plugin-transform-react-display-name': /@babel/plugin-transform-react-display-name/7.2.0/@babel!core@7.2.2
'@babel/plugin-transform-react-jsx': /@babel/plugin-transform-react-jsx/7.2.0/@babel!core@7.2.2
@ -1273,7 +1276,6 @@ packages:
integrity: sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g==
/@babel/register/7.0.0/@babel!core@7.2.2:
dependencies:
'@babel/core': 7.2.2
core-js: 2.6.2
find-cache-dir: 1.0.0
home-or-tmp: 3.0.0
@ -1442,7 +1444,7 @@ packages:
integrity: sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==
/@types/fs-extra/5.0.4:
dependencies:
'@types/node': 10.12.18
'@types/node': 8.10.39
dev: false
resolution:
integrity: sha512-DsknoBvD8s+RFfSGjmERJ7ZOP1HI0UZRA3FSI+Zakhrc/Gy26YQsLI+m5V5DHxroHRJqCDLKJp7Hixn8zyaF7g==
@ -1466,6 +1468,17 @@ packages:
dev: false
resolution:
integrity: sha512-sqm9g7mHlPY/43fcSNrCYfOeX9zkTTK+euO5E6+CVijSMm5tTjkVdwdqRkY3ljjIAf8679vps5jKUoJBCLsMDA==
/@types/marked-terminal/3.1.1:
dependencies:
'@types/marked': 0.6.0
chalk: 2.4.2
dev: false
resolution:
integrity: sha512-nufBv756I0NrRQl0HjCRYycgLz3OcZRm/AMGufmWTEKO22XDWpiTuPwtAWXVj9BY51njLWKkhM9QSCId93M+1Q==
/@types/marked/0.6.0:
dev: false
resolution:
integrity: sha512-TxwhgR9VsIfRDJ3WwFokG8Xu+ea0nYGDRHdI783WJ983uffatz0ytIeUEIBOwPvRy241KRSNVyywQltuTqDh0w==
/@types/minimatch/3.0.3:
dev: false
resolution:
@ -1494,6 +1507,10 @@ packages:
dev: false
resolution:
integrity: sha512-8KmlRxwbKZfjUHFIt3q8TF5S2B+/E5BaAoo/3mgc5h6FJzqxXkCK/VMetO+IRDtwtU6HUvovHMBn+XRj7SV9Qg==
/@types/prompts/1.2.0:
dev: false
resolution:
integrity: sha512-7JXpT2rSd4hqd2oBWU1wfEW6x6gX+qPH+gLzGEx+My3wcb67K9Rc02xNQRVn67phusmXm5Yqn4oTP2OW1G5zdQ==
/@types/q/1.5.1:
dev: false
resolution:
@ -1550,6 +1567,10 @@ packages:
dev: false
resolution:
integrity: sha512-WswyG+2mRg0ul/ytPpCSWo+kOlVVPW/fKCBEVwqmPVC/2ffWEwhsCEQgnFbWDf8EWId2qGcpL623EjLfNTRk9A==
/@types/yargs/12.0.1:
dev: false
resolution:
integrity: sha512-UVjo2oH79aRNcsDlFlnQ/iJ67Jd7j6uSg7jUJP/RZ/nUjAh5ElmnwlD5K/6eGgETJUgCHkiWn91B8JjXQ6ubAw==
/@types/yargs/12.0.5:
dev: false
resolution:
@ -1593,28 +1614,10 @@ packages:
react-dom: ^0.14.9 || ^15.0.1-0 || ^16.0.0-0
resolution:
integrity: sha512-iFwuoFUQoS6H6paxrRsVCxQnw2SqnxhS+EBh54Gb3A6HxS2IKzGAE5c4tnZcqjXNPxXTvXgt5iQg3xycIa95cg==
/@uifabric/charting/0.28.5/react-dom@16.7.0+react@16.7.0:
/@uifabric/charting/0.28.5/react-dom@16.7.0:
dependencies:
'@microsoft/load-themed-styles': 1.8.54
'@types/d3-array': 1.2.1
'@types/d3-axis': 1.0.10
'@types/d3-scale': 2.0.0
'@types/d3-selection': 1.3.0
'@types/d3-shape': 1.2.7
'@types/d3-time-format': 2.1.0
'@uifabric/icons': 6.3.0
'@uifabric/set-version': 1.1.3
d3-array: 1.2.1
d3-axis: 1.0.8
d3-scale: 2.0.0
d3-selection: 1.3.0
d3-shape: 1.2.2
d3-time-format: 2.1.3
office-ui-fabric-react: /office-ui-fabric-react/6.127.0/react-dom@16.7.0+react@16.7.0
prop-types: 15.6.2
react: 16.7.0
react-dom: /react-dom/16.7.0/react@16.7.0
tslib: 1.9.3
office-ui-fabric-react: /office-ui-fabric-react/6.127.0/react-dom@16.7.0
react-dom: 16.7.0
dev: false
id: registry.npmjs.org/@uifabric/charting/0.28.5
peerDependencies:
@ -1647,27 +1650,14 @@ packages:
react-dom: '>=16.3.2-0 <17.0.0'
resolution:
integrity: sha512-De8vYR8qDcSCuf+gxIjlqbdNZWJroiYviL5drW7Kiszr4E42gYCX2DVA6LwbUu1u/Yh4NyFUu2HvK7ZcUKyTmg==
/@uifabric/experiments/6.50.7/react-dom@16.7.0+react@16.7.0:
/@uifabric/experiments/6.50.7/react-dom@16.7.0:
dependencies:
'@microsoft/load-themed-styles': 1.8.54
'@uifabric/azure-themes': 0.1.0
'@uifabric/charting': /@uifabric/charting/0.28.5/react-dom@16.7.0+react@16.7.0
'@uifabric/file-type-icons': /@uifabric/file-type-icons/6.4.1/react-dom@16.7.0+react@16.7.0
'@uifabric/fluent-theme': 0.13.2
'@uifabric/foundation': /@uifabric/foundation/0.6.0/react-dom@16.7.0+react@16.7.0
'@uifabric/icons': 6.3.0
'@uifabric/merge-styles': 6.15.0
'@uifabric/set-version': 1.1.3
'@uifabric/styling': 6.41.0
'@uifabric/theme-samples': 0.1.4
'@uifabric/utilities': /@uifabric/utilities/6.28.0/react-dom@16.7.0+react@16.7.0
'@uifabric/variants': 6.14.0
deep-assign: 2.0.0
office-ui-fabric-react: /office-ui-fabric-react/6.127.0/react-dom@16.7.0+react@16.7.0
prop-types: 15.6.2
react: 16.7.0
react-dom: /react-dom/16.7.0/react@16.7.0
tslib: 1.9.3
'@uifabric/charting': /@uifabric/charting/0.28.5/react-dom@16.7.0
'@uifabric/file-type-icons': /@uifabric/file-type-icons/6.4.1/react-dom@16.7.0
'@uifabric/foundation': /@uifabric/foundation/0.6.0/react-dom@16.7.0
'@uifabric/utilities': /@uifabric/utilities/6.28.0/react-dom@16.7.0
office-ui-fabric-react: /office-ui-fabric-react/6.127.0/react-dom@16.7.0
react-dom: 16.7.0
dev: false
id: registry.npmjs.org/@uifabric/experiments/6.50.7
peerDependencies:
@ -1686,13 +1676,9 @@ packages:
react-dom: '>=16.3.2-0 <17.0.0'
resolution:
integrity: sha512-T6wGiA/RjLqRE+P5RRObpcRJ+ejh4ZwZX584GgEymOCcU7kjzWSZR7imTA65FbUMUhXxR68b3oiWgPSaCAXE8w==
/@uifabric/file-type-icons/6.4.1/react-dom@16.7.0+react@16.7.0:
/@uifabric/file-type-icons/6.4.1/react-dom@16.7.0:
dependencies:
'@uifabric/set-version': 1.1.3
'@uifabric/styling': 6.41.0
react: 16.7.0
react-dom: /react-dom/16.7.0/react@16.7.0
tslib: 1.9.3
react-dom: 16.7.0
dev: false
id: registry.npmjs.org/@uifabric/file-type-icons/6.4.1
peerDependencies:
@ -1723,14 +1709,10 @@ packages:
react-dom: ^0.14.9 || ^15.0.1-0 || ^16.0.0-0
resolution:
integrity: sha512-vEjgu8Spv6E4b+NFuQrv7wRLFQJg5e10Tea1J5N0pAYqwYztyefVZtbHmREx1gVE8TxpPfa1PnJy+MVEPVKyxA==
/@uifabric/foundation/0.6.0/react-dom@16.7.0+react@16.7.0:
/@uifabric/foundation/0.6.0/react-dom@16.7.0:
dependencies:
'@uifabric/set-version': 1.1.3
'@uifabric/styling': 6.41.0
'@uifabric/utilities': /@uifabric/utilities/6.28.0/react-dom@16.7.0+react@16.7.0
react: 16.7.0
react-dom: /react-dom/16.7.0/react@16.7.0
tslib: 1.9.3
'@uifabric/utilities': /@uifabric/utilities/6.28.0/react-dom@16.7.0
react-dom: 16.7.0
dev: false
id: registry.npmjs.org/@uifabric/foundation/0.6.0
peerDependencies:
@ -1790,14 +1772,9 @@ packages:
react-dom: '>=16.3.2-0 <17.0.0'
resolution:
integrity: sha512-HHC4J7L9UQcV5rNe0YlmW8mCswLTTPvO/SdfCU4alMrkkmrOAB/Z1OSryvIcXnLLPlqmnyoW2PwXyQrO5nBl0Q==
/@uifabric/utilities/6.28.0/react-dom@16.7.0+react@16.7.0:
/@uifabric/utilities/6.28.0/react-dom@16.7.0:
dependencies:
'@uifabric/merge-styles': 6.15.0
'@uifabric/set-version': 1.1.3
prop-types: 15.6.2
react: 16.7.0
react-dom: /react-dom/16.7.0/react@16.7.0
tslib: 1.9.3
react-dom: 16.7.0
dev: false
id: registry.npmjs.org/@uifabric/utilities/6.28.0
peerDependencies:
@ -2011,9 +1988,14 @@ packages:
ajv: '>=5.0.0'
resolution:
integrity: sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
/ajv-keywords/3.2.0:
dev: false
peerDependencies:
ajv: ^6.0.0
resolution:
integrity: sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=
/ajv-keywords/3.2.0/ajv@6.7.0:
dependencies:
ajv: 6.7.0
dependencies: {}
dev: false
id: registry.npmjs.org/ajv-keywords/3.2.0
peerDependencies:
@ -2093,6 +2075,10 @@ packages:
node: '>=0.10.0'
resolution:
integrity: sha1-qCJQ3bABXponyoLoLqYDu/pF768=
/ansicolors/0.3.2:
dev: false
resolution:
integrity: sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=
/anymatch/1.3.2:
dependencies:
micromatch: 2.3.11
@ -3043,6 +3029,14 @@ packages:
node: '>=0.10.0'
resolution:
integrity: sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==
/cardinal/2.1.1:
dependencies:
ansicolors: 0.3.2
redeyed: 2.1.1
dev: false
hasBin: true
resolution:
integrity: sha1-fMEFXYItISlU0HsIXeolHMe8VQU=
/caseless/0.12.0:
dev: false
resolution:
@ -3195,6 +3189,14 @@ packages:
node: '>=4'
resolution:
integrity: sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
/cli-table/0.3.1:
dependencies:
colors: 1.0.3
dev: false
engines:
node: '>= 0.2.0'
resolution:
integrity: sha1-9TsFJmqLGguTSz0IIebi3FkUriM=
/cli-width/2.2.0:
dev: false
resolution:
@ -3355,6 +3357,12 @@ packages:
dev: false
resolution:
integrity: sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=
/colors/1.0.3:
dev: false
engines:
node: '>=0.1.90'
resolution:
integrity: sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=
/colors/1.1.2:
dev: false
engines:
@ -4033,6 +4041,12 @@ packages:
dev: false
resolution:
integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
/detect-file/1.0.0:
dev: false
engines:
node: '>=0.10.0'
resolution:
integrity: sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=
/detect-indent/4.0.0:
dependencies:
repeating: 2.0.1
@ -4915,6 +4929,17 @@ packages:
hasBin: true
resolution:
integrity: sha1-y96fEuOFdaCvG+G5osXV/Y8Ya2I=
/findup-sync/2.0.0:
dependencies:
detect-file: 1.0.0
is-glob: 3.1.0
micromatch: 3.1.10
resolve-dir: 1.0.1
dev: false
engines:
node: '>= 0.10'
resolution:
integrity: sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=
/first-chunk-stream/1.0.0:
dev: false
engines:
@ -5200,6 +5225,10 @@ packages:
node: '>= 0.10'
resolution:
integrity: sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=
/global-modules-path/2.3.1:
dev: false
resolution:
integrity: sha512-y+shkf4InI7mPRHSo2b/k6ix6+NLDtyccYv86whhxrSGX9wjPX1VMITmrDbE1eh7zkzhiWtW2sHklJYoQ62Cxg==
/global-modules/1.0.0:
dependencies:
global-prefix: 1.0.2
@ -5428,6 +5457,12 @@ packages:
node: '>=0.10.0'
resolution:
integrity: sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=
/has-flag/2.0.0:
dev: false
engines:
node: '>=0.10.0'
resolution:
integrity: sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=
/has-flag/3.0.0:
dev: false
engines:
@ -5688,6 +5723,16 @@ packages:
hasBin: true
resolution:
integrity: sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==
/import-local/2.0.0:
dependencies:
pkg-dir: 3.0.0
resolve-cwd: 2.0.0
dev: false
engines:
node: '>=6'
hasBin: true
resolution:
integrity: sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==
/imurmurhash/0.1.4:
dev: false
engines:
@ -6789,6 +6834,12 @@ packages:
node: '>=6'
resolution:
integrity: sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ==
/kleur/3.0.1:
dev: false
engines:
node: '>=6'
resolution:
integrity: sha512-P3kRv+B+Ra070ng2VKQqW4qW7gd/v3iD8sy/zOdcYRsfiD+QBokQNOps/AfP6Hr48cBhIIBFWckB9aO+IZhrWg==
/last-run/1.1.1:
dependencies:
default-resolution: 2.0.0
@ -6855,6 +6906,11 @@ packages:
node: '>= 0.8.0'
resolution:
integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
/lightercollective/0.1.0:
dev: false
hasBin: true
resolution:
integrity: sha512-J9tg5uraYoQKaWbmrzDDexbG6hHnMcWS1qLYgJSWE+mpA3U5OCSeMUhb+K55otgZJ34oFdR0ECvdIb3xuO5JOQ==
/list-item/1.1.1:
dependencies:
expand-range: 1.8.2
@ -7079,6 +7135,10 @@ packages:
dev: false
resolution:
integrity: sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=
/lodash.toarray/4.4.0:
dev: false
resolution:
integrity: sha1-JMS/zWsvuji/0FlNsRedjptlZWE=
/lodash.uniq/4.5.0:
dev: false
resolution:
@ -7229,6 +7289,41 @@ packages:
hasBin: true
resolution:
integrity: sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==
/marked-terminal/3.2.0:
dependencies:
ansi-escapes: 3.1.0
cardinal: 2.1.1
chalk: 2.4.2
cli-table: 0.3.1
node-emoji: 1.8.1
supports-hyperlinks: 1.0.1
dev: false
peerDependencies:
marked: ^0.4.0 || ^0.5.0 || ^0.6.0
resolution:
integrity: sha512-Yr1yVS0BbDG55vx7be1D0mdv+jGs9AW563o/Tt/7FTsId2J0yqhrTeXAqq/Q0DyyXltIn6CSxzesQuFqXgafjQ==
/marked-terminal/3.2.0/marked@0.6.0:
dependencies:
ansi-escapes: 3.1.0
cardinal: 2.1.1
chalk: 2.4.2
cli-table: 0.3.1
marked: 0.6.0
node-emoji: 1.8.1
supports-hyperlinks: 1.0.1
dev: false
id: registry.npmjs.org/marked-terminal/3.2.0
peerDependencies:
marked: ^0.4.0 || ^0.5.0 || ^0.6.0
resolution:
integrity: sha512-Yr1yVS0BbDG55vx7be1D0mdv+jGs9AW563o/Tt/7FTsId2J0yqhrTeXAqq/Q0DyyXltIn6CSxzesQuFqXgafjQ==
/marked/0.6.0:
dev: false
engines:
node: '>=0.10.0'
hasBin: true
resolution:
integrity: sha512-HduzIW2xApSXKXJSpCipSxKyvMbwRRa/TwMbepmlZziKdH8548WSoDP4SxzulEKjlo8BE39l+2fwJZuRKOln6g==
/math-expression-evaluator/1.2.17:
dev: false
resolution:
@ -7528,6 +7623,12 @@ packages:
dev: false
resolution:
integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
/node-emoji/1.8.1:
dependencies:
lodash.toarray: 4.4.0
dev: false
resolution:
integrity: sha512-+ktMAh1Jwas+TnGodfCfjUbJKoANqPaJFN0z0iqh41eqD8dvguNzcitVSBSVK1pidz0AqGbLKcoVuVLRVZ/aVg==
/node-gyp/3.8.0:
dependencies:
fstream: 1.0.11
@ -7840,18 +7941,10 @@ packages:
react-dom: '>=16.3.2-0 <17.0.0'
resolution:
integrity: sha512-tVxwLkCPCb7KhlNoyKNdIz9YkJpxUTdSJyo+xXb0ygmXjBo/GjGSaHmgExpixsKVXdOd95SJDvpzybL41dVeGA==
/office-ui-fabric-react/6.127.0/react-dom@16.7.0+react@16.7.0:
/office-ui-fabric-react/6.127.0/react-dom@16.7.0:
dependencies:
'@microsoft/load-themed-styles': 1.8.54
'@uifabric/icons': 6.3.0
'@uifabric/merge-styles': 6.15.0
'@uifabric/set-version': 1.1.3
'@uifabric/styling': 6.41.0
'@uifabric/utilities': /@uifabric/utilities/6.28.0/react-dom@16.7.0+react@16.7.0
prop-types: 15.6.2
react: 16.7.0
react-dom: /react-dom/16.7.0/react@16.7.0
tslib: 1.9.3
'@uifabric/utilities': /@uifabric/utilities/6.28.0/react-dom@16.7.0
react-dom: 16.7.0
dev: false
id: registry.npmjs.org/office-ui-fabric-react/6.127.0
peerDependencies:
@ -8563,6 +8656,15 @@ packages:
node: '>= 6'
resolution:
integrity: sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w==
/prompts/2.0.1:
dependencies:
kleur: 3.0.1
sisteransi: 1.0.0
dev: false
engines:
node: '>= 6'
resolution:
integrity: sha512-8lnEOSIGQbgbnO47+13S+H204L8ISogGulyi0/NNEFAQ9D1VMNTrJ9SBX2Ra03V4iPn/zt36HQMndRYkaPoWiQ==
/prop-types/15.6.2:
dependencies:
loose-envify: 1.4.0
@ -8789,7 +8891,6 @@ packages:
loose-envify: 1.4.0
object-assign: 4.1.1
prop-types: 15.6.2
react: 16.7.0
scheduler: 0.12.0
dev: false
id: registry.npmjs.org/react-dom/16.7.0
@ -8923,6 +9024,12 @@ packages:
node: '>=0.10.0'
resolution:
integrity: sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=
/redeyed/2.1.1:
dependencies:
esprima: 4.0.1
dev: false
resolution:
integrity: sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=
/reduce-css-calc/1.3.0:
dependencies:
balanced-match: 0.4.2
@ -9490,6 +9597,10 @@ packages:
dev: false
resolution:
integrity: sha512-PmGOd02bM9YO5ifxpw36nrNMBTptEtfRl4qUYl9SndkolplkrZZOW7PGHjrZL53QvMVj9nQ+TKqUnRsw4tJa4g==
/sisteransi/1.0.0:
dev: false
resolution:
integrity: sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ==
/sitemap/1.13.0:
dependencies:
underscore: 1.9.1
@ -9947,6 +10058,15 @@ packages:
node: '>=6'
resolution:
integrity: sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
/supports-hyperlinks/1.0.1:
dependencies:
has-flag: 2.0.0
supports-color: 5.5.0
dev: false
engines:
node: '>=4'
resolution:
integrity: sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==
/svgo/0.7.2:
dependencies:
coa: 1.0.4
@ -10048,7 +10168,7 @@ packages:
node: '>=4'
resolution:
integrity: sha1-awRGhWqbERTRhW/8vlCczLCXcmU=
/terser-webpack-plugin/1.2.1:
/terser-webpack-plugin/1.2.1/webpack@4.28.4:
dependencies:
cacache: 11.3.2
find-cache-dir: 2.0.0
@ -10056,11 +10176,13 @@ packages:
serialize-javascript: 1.6.1
source-map: 0.6.1
terser: 3.14.1
webpack: /webpack/4.28.4/webpack@4.28.4
webpack-sources: 1.3.0
worker-farm: 1.6.0
dev: false
engines:
node: '>= 6.9.0'
id: registry.npmjs.org/terser-webpack-plugin/1.2.1
peerDependencies:
webpack: ^4.0.0
resolution:
@ -10327,27 +10449,36 @@ packages:
jest: '>=22 <24'
resolution:
integrity: sha512-MRCs9qnGoyKgFc8adDEntAOP64fWK1vZKnOYU1o2HxaqjdJvGqmkLCPCnVq1/If4zkUmEjKPnCiUisTrlX2p2A==
/ts-jest/23.10.5/jest@23.6.0:
/ts-loader/5.3.3:
dependencies:
bs-logger: 0.2.6
buffer-from: 1.1.1
fast-json-stable-stringify: 2.0.0
jest: 23.6.0
json5: 2.1.0
make-error: 1.3.5
mkdirp: 0.5.1
resolve: 1.9.0
chalk: 2.4.2
enhanced-resolve: 4.1.0
loader-utils: 1.2.3
micromatch: 3.1.10
semver: 5.6.0
yargs-parser: 10.1.0
dev: false
engines:
node: '>= 6'
hasBin: true
id: registry.npmjs.org/ts-jest/23.10.5
node: '>=6.11.5'
peerDependencies:
jest: '>=22 <24'
typescript: '*'
resolution:
integrity: sha512-MRCs9qnGoyKgFc8adDEntAOP64fWK1vZKnOYU1o2HxaqjdJvGqmkLCPCnVq1/If4zkUmEjKPnCiUisTrlX2p2A==
integrity: sha512-KwF1SplmOJepnoZ4eRIloH/zXL195F51skt7reEsS6jvDqzgc/YSbz9b8E07GxIUwLXdcD4ssrJu6v8CwaTafA==
/ts-loader/5.3.3/typescript@3.2.2:
dependencies:
chalk: 2.4.2
enhanced-resolve: 4.1.0
loader-utils: 1.2.3
micromatch: 3.1.10
semver: 5.6.0
typescript: 3.2.2
dev: false
engines:
node: '>=6.11.5'
id: registry.npmjs.org/ts-loader/5.3.3
peerDependencies:
typescript: '*'
resolution:
integrity: sha512-KwF1SplmOJepnoZ4eRIloH/zXL195F51skt7reEsS6jvDqzgc/YSbz9b8E07GxIUwLXdcD4ssrJu6v8CwaTafA==
/tslib/1.9.3:
dev: false
resolution:
@ -10374,30 +10505,6 @@ packages:
typescript: '>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev'
resolution:
integrity: sha512-sfodBHOucFg6egff8d1BvuofoOQ/nOeYNfbp7LDlKBcLNrL3lmS5zoiDGyOMdT7YsEXAwWpTdAHwOGOc8eRZAw==
/tslint/5.12.1/typescript@3.2.2:
dependencies:
babel-code-frame: 6.26.0
builtin-modules: 1.1.1
chalk: 2.4.2
commander: 2.19.0
diff: 3.5.0
glob: 7.1.3
js-yaml: 3.12.1
minimatch: 3.0.4
resolve: 1.9.0
semver: 5.6.0
tslib: 1.9.3
tsutils: /tsutils/2.29.0/typescript@3.2.2
typescript: 3.2.2
dev: false
engines:
node: '>=4.8.0'
hasBin: true
id: registry.npmjs.org/tslint/5.12.1
peerDependencies:
typescript: '>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev'
resolution:
integrity: sha512-sfodBHOucFg6egff8d1BvuofoOQ/nOeYNfbp7LDlKBcLNrL3lmS5zoiDGyOMdT7YsEXAwWpTdAHwOGOc8eRZAw==
/tsutils/2.29.0:
dependencies:
tslib: 1.9.3
@ -10406,16 +10513,6 @@ packages:
typescript: '>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev'
resolution:
integrity: sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==
/tsutils/2.29.0/typescript@3.2.2:
dependencies:
tslib: 1.9.3
typescript: 3.2.2
dev: false
id: registry.npmjs.org/tsutils/2.29.0
peerDependencies:
typescript: '>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev'
resolution:
integrity: sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==
/tty-browserify/0.0.0:
dev: false
resolution:
@ -10704,6 +10801,10 @@ packages:
hasBin: true
resolution:
integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
/v8-compile-cache/2.0.2:
dev: false
resolution:
integrity: sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==
/vali-date/1.0.0:
dev: false
engines:
@ -10851,6 +10952,56 @@ packages:
dev: false
resolution:
integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
/webpack-cli/3.2.1:
dependencies:
chalk: 2.4.2
cross-spawn: 6.0.5
enhanced-resolve: 4.1.0
findup-sync: 2.0.0
global-modules: 1.0.0
global-modules-path: 2.3.1
import-local: 2.0.0
interpret: 1.2.0
lightercollective: 0.1.0
loader-utils: 1.2.3
supports-color: 5.5.0
v8-compile-cache: 2.0.2
yargs: 12.0.5
dev: false
engines:
node: '>=6.11.5'
hasBin: true
peerDependencies:
webpack: 4.x.x
requiresBuild: true
resolution:
integrity: sha512-jeJveHwz/vwpJ3B8bxEL5a/rVKIpRNJDsKggfKnxuYeohNDW4Y/wB9N/XHJA093qZyS0r6mYL+/crLsIol4WKA==
/webpack-cli/3.2.1/webpack@4.28.4:
dependencies:
chalk: 2.4.2
cross-spawn: 6.0.5
enhanced-resolve: 4.1.0
findup-sync: 2.0.0
global-modules: 1.0.0
global-modules-path: 2.3.1
import-local: 2.0.0
interpret: 1.2.0
lightercollective: 0.1.0
loader-utils: 1.2.3
supports-color: 5.5.0
v8-compile-cache: 2.0.2
webpack: /webpack/4.28.4/webpack@4.28.4
yargs: 12.0.5
dev: false
engines:
node: '>=6.11.5'
hasBin: true
id: registry.npmjs.org/webpack-cli/3.2.1
peerDependencies:
webpack: 4.x.x
requiresBuild: true
resolution:
integrity: sha512-jeJveHwz/vwpJ3B8bxEL5a/rVKIpRNJDsKggfKnxuYeohNDW4Y/wB9N/XHJA093qZyS0r6mYL+/crLsIol4WKA==
/webpack-sources/1.3.0:
dependencies:
source-list-map: 2.0.1
@ -10858,7 +11009,7 @@ packages:
dev: false
resolution:
integrity: sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==
/webpack/4.28.4:
/webpack/4.28.4/webpack@4.28.4:
dependencies:
'@webassemblyjs/ast': 1.7.11
'@webassemblyjs/helper-module-context': 1.7.11
@ -10867,7 +11018,7 @@ packages:
acorn: 5.7.3
acorn-dynamic-import: 3.0.0
ajv: 6.7.0
ajv-keywords: /ajv-keywords/3.2.0/ajv@6.7.0
ajv-keywords: 3.2.0
chrome-trace-event: 1.0.0
enhanced-resolve: 4.1.0
eslint-scope: 4.0.0
@ -10881,13 +11032,14 @@ packages:
node-libs-browser: 2.2.0
schema-utils: 0.4.7
tapable: 1.1.1
terser-webpack-plugin: 1.2.1
terser-webpack-plugin: /terser-webpack-plugin/1.2.1/webpack@4.28.4
watchpack: 1.6.0
webpack-sources: 1.3.0
dev: false
engines:
node: '>=6.11.5'
hasBin: true
id: registry.npmjs.org/webpack/4.28.4
resolution:
integrity: sha512-NxjD61WsK/a3JIdwWjtIpimmvE6UrRi3yG54/74Hk9rwNj5FPkA4DJCf1z4ByDWLkvZhTZE+P3C/eh6UD5lDcw==
/websocket-driver/0.7.0:
@ -11155,26 +11307,37 @@ packages:
'file:projects/create-just.tgz':
dependencies:
'@types/cpx': 1.5.0
'@types/fs-extra': 5.0.4
'@types/glob': 7.1.1
'@types/handlebars': 4.0.40
'@types/json5': 0.0.30
'@types/marked': 0.6.0
'@types/marked-terminal': 3.1.1
'@types/mkdirp': 0.5.2
'@types/node': 10.12.18
'@types/prompts': 1.2.0
'@types/rimraf': 2.0.2
'@types/yargs': 12.0.5
'@types/yargs': 12.0.1
chalk: 2.4.2
cpx: 1.5.0
fs-extra: 7.0.1
glob: 7.1.3
handlebars: 4.0.12
json5: 2.1.0
marked: 0.6.0
marked-terminal: /marked-terminal/3.2.0/marked@0.6.0
mkdirp: 0.5.1
prompts: 2.0.1
rimraf: 2.6.3
ts-loader: /ts-loader/5.3.3/typescript@3.2.2
typescript: 3.2.2
webpack: /webpack/4.28.4/webpack@4.28.4
webpack-cli: /webpack-cli/3.2.1/webpack@4.28.4
yargs: 12.0.5
dev: false
name: '@rush-temp/create-just'
resolution:
integrity: sha512-oyVl2gj1nuuTfkgQG/1XqPP/EsEFjuTJPgnHnnHkWPwhPU63XJHem0mPGwSU8ET77x9TPs7wefjNibkUektz5Q==
integrity: sha512-72hDRxyYM6/1W6aAuutzFlqbtAwpA8rEiLGUJ1b0PAPhlr53exGTAgxN3CTjVEyovPPMY4l84+6qomEmOcY9lQ==
tarball: 'file:projects/create-just.tgz'
version: 0.0.0
'file:projects/example-lib.tgz':
@ -11189,20 +11352,20 @@ packages:
'file:projects/just-task-docs.tgz':
dependencies:
'@babel/core': 7.2.2
'@babel/plugin-proposal-class-properties': /@babel/plugin-proposal-class-properties/7.2.3/@babel!core@7.2.2
'@babel/plugin-proposal-object-rest-spread': /@babel/plugin-proposal-object-rest-spread/7.2.0/@babel!core@7.2.2
'@babel/plugin-proposal-class-properties': 7.2.3
'@babel/plugin-proposal-object-rest-spread': 7.2.0
'@babel/polyfill': 7.2.5
'@babel/preset-env': /@babel/preset-env/7.2.3/@babel!core@7.2.2
'@babel/preset-react': /@babel/preset-react/7.0.0/@babel!core@7.2.2
'@babel/register': /@babel/register/7.0.0/@babel!core@7.2.2
'@babel/preset-env': 7.2.3
'@babel/preset-react': 7.0.0
'@babel/register': 7.0.0
'@babel/traverse': 7.2.3
'@babel/types': 7.2.2
'@uifabric/experiments': /@uifabric/experiments/6.50.7/react-dom@16.7.0+react@16.7.0
'@uifabric/experiments': /@uifabric/experiments/6.50.7/react-dom@16.7.0
cpx: 1.5.0
docusaurus: 1.6.2
office-ui-fabric-react: /office-ui-fabric-react/6.127.0/react-dom@16.7.0+react@16.7.0
office-ui-fabric-react: /office-ui-fabric-react/6.127.0/react-dom@16.7.0
react: 16.7.0
react-dom: /react-dom/16.7.0/react@16.7.0
react-dom: 16.7.0
dev: false
name: '@rush-temp/just-task-docs'
resolution:
@ -11235,13 +11398,13 @@ packages:
rimraf: 2.6.3
run-parallel-limit: 1.0.5
semver: 5.6.0
tslint: /tslint/5.12.1/typescript@3.2.2
tslint: 5.12.1
typescript: 3.2.2
webpack: 4.28.4
webpack: /webpack/4.28.4/webpack@4.28.4
dev: false
name: '@rush-temp/just-task-preset'
resolution:
integrity: sha512-UdWIDKcGF/cQtkleW/O9dw8xeYjV5wsyCTfzgci4lEBzK3O2/hAfxY6j+NMgKbgV3oN8T7fLV3+y4qcRhITi0g==
integrity: sha512-PSbY5Uxny6hmT4TJ6FuOI2vgONpqXo5ZibYOXJBRiti1fbUYY3dDv33fqnwc2fq9Nh57yPbykRMgY3JBjykOTg==
tarball: 'file:projects/just-task-preset.tgz'
version: 0.0.0
'file:projects/just-task-scripts.tgz':
@ -11264,7 +11427,7 @@ packages:
chalk: 2.4.2
jest: 23.6.0
resolve: 1.9.0
ts-jest: /ts-jest/23.10.5/jest@23.6.0
ts-jest: 23.10.5
typescript: 3.2.2
undertaker: 1.2.0
undertaker-registry: 1.0.1
@ -11296,14 +11459,17 @@ specifiers:
'@rush-temp/just-task-preset': 'file:./projects/just-task-preset.tgz'
'@rush-temp/just-task-scripts': 'file:./projects/just-task-scripts.tgz'
'@types/autoprefixer': ^9.1.1
'@types/chalk': ^2.2.0
'@types/cpx': ^1.5.0
'@types/fs-extra': ^5.0.4
'@types/glob': ^7.1.1
'@types/handlebars': ^4.0.39
'@types/jest': ^23.3.10
'@types/json5': ^0.0.30
'@types/marked': ^0.6.0
'@types/marked-terminal': ^3.1.1
'@types/mkdirp': ^0.5.2
'@types/node': ^8.9.4
'@types/node-sass': ^3.10.32
'@types/prompts': ^1.2.0
'@types/resolve': ^0.0.8
'@types/rimraf': ^2.0.2
'@types/run-parallel-limit': ^1.0.0
@ -11311,19 +11477,22 @@ specifiers:
'@types/undertaker': ^1.2.0
'@types/undertaker-registry': ^1.0.1
'@types/webpack': ^4.4.20
'@types/yargs': ^12.0.1
'@uifabric/experiments': ^6.41.0
autoprefixer: '>=7.0.0 <10.0.0'
chalk: ^2.4.1
cpx: ^1.5.0
docusaurus: ^1.5.1
fs-extra: ^7.0.1
glob: ^7.1.3
handlebars: ^4.0.12
json5: ^2.1.0
marked: ^0.6.0
marked-terminal: ^3.2.0
mkdirp: ^0.5.1
node-sass: '>=4.0.0 <5.0.0'
office-ui-fabric-react: ^6.109.0
postcss: '>=6.0.0 <8.0.0'
prompts: ^2.0.1
react: ^16.6.0
react-dom: ^16.6.0
resolve: ^1.8.1
@ -11331,8 +11500,9 @@ specifiers:
run-parallel-limit: ^1.0.5
semver: ^5.6.0
ts-jest: ^23.10.5
ts-loader: ^5.3.3
tslint: '>=5.0.0 <6.0.0'
undertaker: ^1.2.0
undertaker-registry: ^1.0.1
webpack: '>=4.0.0 <5.0.0'
webpack-cli: ^3.2.1
yargs: ^12.0.5

Просмотреть файл

@ -0,0 +1,4 @@
lib/
src/
tsconfig.json
webpack.config.js

Просмотреть файл

@ -1,2 +1,2 @@
#!/usr/bin/env node
require('../lib/index.js');
require('../dist/cli.js');

Просмотреть файл

@ -2,35 +2,37 @@
"name": "create-just",
"version": "0.0.1",
"description": "",
"main": "index.js",
"main": "dist/create-just.js",
"bin": {
"create-just": "bin/create-just.js"
},
"scripts": {
"build": "npx tsc",
"start": "npx tsc -w --preserveWatchOutput"
"build": "npx webpack",
"start": "npx webpack --watch --progress --display minimal --mode development"
},
"keywords": [],
"author": "",
"dependencies": {
"chalk": "^2.4.1",
"cpx": "^1.5.0",
"handlebars": "^4.0.12",
"json5": "^2.1.0",
"glob": "^7.1.3",
"mkdirp": "^0.5.1",
"rimraf": "^2.6.2",
"typescript": "^3.1.6",
"yargs": "^12.0.5"
},
"devDependencies": {
"@types/cpx": "^1.5.0",
"@types/fs-extra": "^5.0.4",
"@types/handlebars": "^4.0.39",
"@types/json5": "^0.0.30",
"@types/glob": "^7.1.1",
"@types/mkdirp": "^0.5.2",
"@types/node": "^10.12.18",
"@types/rimraf": "^2.0.2",
"@types/yargs": "^12.0.1"
"@types/prompts": "^1.2.0",
"@types/yargs": "12.0.1",
"@types/marked": "^0.6.0",
"@types/marked-terminal": "^3.1.1",
"chalk": "^2.4.1",
"fs-extra": "^7.0.1",
"handlebars": "^4.0.12",
"json5": "^2.1.0",
"glob": "^7.1.3",
"prompts": "^2.0.1",
"typescript": "^3.1.6",
"yargs": "^12.0.5",
"webpack": "^4.28.4",
"webpack-cli": "^3.2.1",
"ts-loader": "^5.3.3",
"marked": "^0.6.0",
"marked-terminal": "^3.2.0"
}
}

Просмотреть файл

@ -6,18 +6,16 @@ import * as rush from '../rush';
export interface CreatePackageCommandArgs {
name: string;
type: 'native' | 'webview' | 'web';
type: string;
}
export function createPackageCommand(args: CreatePackageCommandArgs) {
const name = args.name;
logger.info(`Creating a ${args.type} package called: ${name}`);
const { installPath, packageTemplatePath } = paths;
const { installPath, templatePath } = paths;
const packagePath = path.join(installPath, 'packages', name);
const templatePath = path.join(packageTemplatePath, args.type);
transform(templatePath, packagePath, {
transform(templatePath(args.type), packagePath, {
name
});

Просмотреть файл

@ -0,0 +1,57 @@
import { paths } from '../paths';
import path from 'path';
import { logger } from '../logger';
import { readdirSync } from 'fs';
import { transform } from '../transform';
import fse from 'fs-extra';
import prompts from 'prompts';
import marked from 'marked';
import TerminalRenderer from 'marked-terminal';
export interface InitCommandArgs {
type: string;
}
function checkEmptyRepo(installPath: string) {
return readdirSync(installPath).length === 0;
}
export async function initCommand(argv: InitCommandArgs) {
marked.setOptions({
renderer: new TerminalRenderer()
});
const { installPath, templatePath } = paths;
if (!argv.type) {
let response = await prompts({
type: 'select',
name: 'type',
message: 'What type of repo to create?',
choices: [
{ title: 'Basic library', value: 'single-lib' },
{ title: 'React component library', value: 'single-component-lib' },
{ title: 'React app', value: 'single-app' },
{ title: 'Monorepo', value: 'monorepo' }
]
});
argv.type = response.type;
}
const name = path.basename(__dirname);
if (checkEmptyRepo(installPath)) {
logger.info('Initializing the repo in the current directory');
transform(templatePath(argv.type), installPath, { name });
// createPackageCommand({ name: 'helloworld', type: 'web' });
// TODO: add more post-init instructions
// TODO: run git init && git commit initial commit
logger.info('All Set! Typing out the contents of the generated README.md');
logger.info('\n' + marked(fse.readFileSync(path.join(installPath, 'README.md')).toString()));
} else {
logger.warn('The current directory is not empty. Please initialize an empty directory.');
}
}

Просмотреть файл

@ -1,36 +0,0 @@
import { paths } from '../paths';
import path from 'path';
import { logger } from '../logger';
import { createPackageCommand } from './createPackageCommand';
import { readdirSync } from 'fs';
import { transform } from '../transform';
import { execSync } from 'child_process';
export interface InstallCommandArgs {}
function checkEmptyRepo(installPath: string) {
return readdirSync(installPath).length === 0;
}
export function initRepoCommand(argv: InstallCommandArgs) {
const { installPath, repoTemplatePath } = paths;
if (checkEmptyRepo(installPath)) {
logger.info('Initializing the repo in the current directory');
transform(repoTemplatePath, installPath);
execSync(`${process.execPath} ${path.resolve(__dirname, '../../bin/vsts-auth.js')}`, {
cwd: path.join(installPath, 'common/config/rush'),
stdio: 'inherit'
});
createPackageCommand({ name: 'helloworld', type: 'web' });
// TODO: add more post-init instructions
// TODO: run git init && git commit initial commit
logger.info('All set!');
} else {
logger.warn('The current directory is not empty. Please initialize an empty directory.');
}
}

Просмотреть файл

@ -1,13 +1,13 @@
import yargs from 'yargs';
import { initRepoCommand } from './commands/initRepoCommand';
import { initCommand } from './commands/initCommand';
import { createPackageCommand } from './commands/createPackageCommand';
yargs
.command({
aliases: '*',
command: 'init',
describe: 'Creates a brand new repository',
handler: initRepoCommand
handler: initCommand
})
.command({
command: 'create <name>',

Просмотреть файл

@ -5,11 +5,7 @@ export const paths = {
return process.cwd();
},
get repoTemplatePath() {
return path.resolve(__dirname, '../templates/repo');
},
get packageTemplatePath() {
return path.resolve(__dirname, '../templates/package');
templatePath(...args: string[]) {
return path.resolve.apply(null, [__dirname, '../templates', ...args]);
}
};

Просмотреть файл

@ -1,17 +1,16 @@
import glob from 'glob';
import path from 'path';
import fs from 'fs';
import cpx from 'cpx';
import mkdirp from 'mkdirp';
import fse from 'fs-extra';
import handlebars from 'handlebars';
import { logger } from './logger';
export function transform(srcPath: string, destPath: string, data?: any) {
const templateFiles = [...glob.sync('**/*', { cwd: srcPath }), ...glob.sync('**/.*', { cwd: srcPath })];
if (!fs.existsSync(destPath)) {
mkdirp.sync(destPath);
if (!fse.existsSync(destPath)) {
fse.mkdirpSync(destPath);
}
logger.info(`transform: move files from ${srcPath} to ${destPath}`);
templateFiles
.filter(name => name.indexOf('.DS_Store') < 0)
.forEach(templateFile => {
@ -20,11 +19,11 @@ export function transform(srcPath: string, destPath: string, data?: any) {
const outputFile = path.join(destPath, templateFile);
if (path.extname(templateFile) === '.hbs') {
const template = handlebars.compile(fs.readFileSync(inputFile).toString());
const template = handlebars.compile(fse.readFileSync(inputFile).toString());
const results = template(data);
fs.writeFileSync(outputFile.replace(/\.hbs$/, ''), results);
fse.writeFileSync(outputFile.replace(/\.hbs$/, ''), results);
} else {
cpx.copySync(inputFile, outputDir);
fse.copySync(inputFile, outputFile, { overwrite: true });
}
});
}

Просмотреть файл

Просмотреть файл

Просмотреть файл

@ -1,19 +0,0 @@
{
"name": "{{name}}",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "rig build",
"dev": "rig watch"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"typescript": "^3.2.0",
"build-rig": "^1.0.0",
"build-rig-typescript": "^1.0.0",
"build-rig-webpack": "^1.0.0"
}
}

Просмотреть файл

@ -1,7 +0,0 @@
const { task, series, parallel } = require('build-rig');
require('build-rig-typescript');
require('build-rig-webpack');
task('build', series('typescript', 'webpack'));
task('watch', parallel('typescript:watch'));

Просмотреть файл

@ -1 +0,0 @@
const a = 5;

Просмотреть файл

@ -1,59 +0,0 @@
{
"compilerOptions": {
/* Basic Options */
"target": "es2015" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */,
"module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */,
// "lib": [], /* Specify library files to be included in the compilation. */
// "allowJs": true /* Allow javascript files to be compiled. */,
// "checkJs": true, /* Report errors in .js files. */
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
"declaration": true /* Generates corresponding '.d.ts' file. */,
"declarationMap": true /* Generates a sourcemap for each corresponding '.d.ts' file. */,
// "sourceMap": true, /* Generates corresponding '.map' file. */
// "outFile": "./", /* Concatenate and emit output to single file. */
"outDir": "lib" /* Redirect output structure to the directory. */,
// "composite": true, /* Enable project compilation */
// "removeComments": true, /* Do not emit comments to output. */
// "noEmit": true, /* Do not emit outputs. */
// "importHelpers": true, /* Import emit helpers from 'tslib'. */
// "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
// "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
/* Strict Type-Checking Options */
"strict": true /* Enable all strict type-checking options. */,
// "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
// "strictNullChecks": true, /* Enable strict null checks. */
// "strictFunctionTypes": true, /* Enable strict checking of function types. */
// "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
// "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
// "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
/* Additional Checks */
// "noUnusedLocals": true, /* Report errors on unused locals. */
// "noUnusedParameters": true, /* Report errors on unused parameters. */
// "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
/* Module Resolution Options */
// "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
// "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
// "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
// "typeRoots": [], /* List of folders to include type definitions from. */
// "types": [], /* Type declaration files to be included in compilation. */
// "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
/* Source Map Options */
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
/* Experimental Options */
// "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
// "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
},
"include": ["src"]
}

Просмотреть файл

@ -1,3 +0,0 @@
registry=https://office.pkgs.visualstudio.com/_packaging/Office/npm/registry/
always-auth=true
package-lock=false

5
packages/create-just/templates/single-app/.gitattributes поставляемый Normal file
Просмотреть файл

@ -0,0 +1,5 @@
# Don't allow people to merge changes to these generated files, because the result
# may be invalid. You need to run "rush update" again.
shrinkwrap.yaml merge=binary
npm-shrinkwrap.json merge=binary
yarn.lock merge=binary

25
packages/create-just/templates/single-app/.gitignore поставляемый Normal file
Просмотреть файл

@ -0,0 +1,25 @@
# Logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.DS_Store
node_modules
lib
build
dist
temp
documentation/lib/core/metadata.js
documentation/lib/core/MetadataBlog.js
documentation/website/translated_docs
documentation/website/build/
documentation/website/yarn.lock
documentation/website/i18n/*
# Rush files
common/temp/**
package-deps.json

5
packages/create-just/templates/single-lib/.gitattributes поставляемый Normal file
Просмотреть файл

@ -0,0 +1,5 @@
# Don't allow people to merge changes to these generated files, because the result
# may be invalid. You need to run "rush update" again.
shrinkwrap.yaml merge=binary
npm-shrinkwrap.json merge=binary
yarn.lock merge=binary

25
packages/create-just/templates/single-lib/.gitignore поставляемый Normal file
Просмотреть файл

@ -0,0 +1,25 @@
# Logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.DS_Store
node_modules
lib
build
dist
temp
documentation/lib/core/metadata.js
documentation/lib/core/MetadataBlog.js
documentation/website/translated_docs
documentation/website/build/
documentation/website/yarn.lock
documentation/website/i18n/*
# Rush files
common/temp/**
package-deps.json

Просмотреть файл

@ -0,0 +1,12 @@
# {{name}}
{{name}} is a package created and managed with the `create-just` utility.
## Next Steps
Now that you have created this repository, go ahead and run the following to get started:
```sh
npm install
npm start
```

Просмотреть файл

@ -0,0 +1,19 @@
const { task, series } = require('just-task');
const { cleanTask, tscTask, jestTask } = require('just-task-preset');
module.exports = function() {
task('clean', cleanTask());
task('ts:commonjs', tscTask({ module: 'commonjs', outDir: 'lib-commonjs' }));
task('ts:esm', tscTask({ module: 'esnext', outDir: 'lib' }));
task('ts:watch', tscTask({ module: 'esnext', outDir: 'lib', watch: true }));
task('ts', paralle('ts:commonjs', 'ts:esm'));
task('jest', jestTask());
task('jest:watch', jestTask({ watch: true }));
task('build', series('clean', 'ts', 'jest'));
task('test', series('clean', 'jest'));
task('start', series('clean', 'ts:watch'));
task('start-test', series('clean', 'jest:watch'));
};

Просмотреть файл

@ -0,0 +1,26 @@
{
"name": "{{name}}",
"version": "0.0.1",
"description": "{{name}} Package",
"main": "lib-commonjs/index.js",
"module": "lib/index.js",
"sideEffects": false,
"typings": "lib/index.d.ts",
"license": "MIT",
"scripts": {
"build": "npx just -p just-task build",
"just": "npx just -p just-task",
"clean": "npx just -p just-task clean",
"start": "npx just -p just-task start",
"start-test": "npx just -p just-task jest-watch",
"update-snapshots": "npx just -p just-task build jest -u",
"update-api": "npx just -p just-task build update-api"
},
"devDependencies": {
"@microsoft/api-extractor": "^6.3.0",
"just-task": "^0.7.5",
"just-task-preset": "^0.6.5",
"typescript": "^3.2.2",
"jest": "^23.6.0"
}
}

Просмотреть файл

@ -0,0 +1,7 @@
import { hello } from '../hello';
describe('hello', () => {
it('says hello to a name', () => {
expect(hello('world')).toBe('hello world');
});
});

Просмотреть файл

@ -0,0 +1,3 @@
export function hello(name: string) {
return `hello ${name}`;
}

Просмотреть файл

@ -0,0 +1 @@
export * from './hello';

Просмотреть файл

@ -0,0 +1,27 @@
const path = require('path');
module.exports = {
entry: './src/index.ts',
mode: 'production',
module: {
rules: [
{
test: /\.ts$/,
use: 'ts-loader',
exclude: /node_modules/
}
]
},
resolve: {
extensions: ['.ts', '.js']
},
target: 'node',
output: {
filename: 'cli.js',
path: path.resolve(__dirname, 'dist')
},
node: {
__dirname: false
},
stats: 'errors-only'
};

Просмотреть файл

@ -1,8 +1,6 @@
import { logger } from 'just-task';
import { Extractor } from '@microsoft/api-extractor';
import { IExtractorConfig, IExtractorOptions } from '@microsoft/api-extractor/dist/index-internal';
export function apiExtractorVerifyTask(config: IExtractorConfig, options: IExtractorOptions) {
export function apiExtractorVerifyTask(config: any, options: any) {
return function apiExtractorVerify() {
if (!apiExtractorWrapper(config, options)) {
throw 'The public API file is out of date. Please run "npm run update-api" and commit the updated API file.';
@ -10,7 +8,7 @@ export function apiExtractorVerifyTask(config: IExtractorConfig, options: IExtra
};
}
export function apiExtractorUpdateTask(config: IExtractorConfig, options: IExtractorOptions) {
export function apiExtractorUpdateTask(config: any, options: any) {
return function apiExtractorUpdate() {
if (!apiExtractorWrapper(config, options)) {
logger.warn(`- Update API: API file is out of date, updating...`);
@ -28,7 +26,7 @@ export function apiExtractorUpdateTask(config: IExtractorConfig, options: IExtra
};
}
function mergeConfig(extractorConfig: IExtractorConfig): IExtractorConfig {
function mergeConfig(extractorConfig: any): any {
return {
compiler: {
configType: 'tsconfig',
@ -47,7 +45,8 @@ function mergeConfig(extractorConfig: IExtractorConfig): IExtractorConfig {
};
}
function apiExtractorWrapper(extractorConfig: IExtractorConfig, extractorOptions: IExtractorOptions) {
function apiExtractorWrapper(extractorConfig: any, extractorOptions: any) {
const { Extractor } = require('@microsoft/api-extractor');
const config = mergeConfig(extractorConfig);
logger.info(`Extracting Public API surface from '${config.project.entryPointSourceFile}'`);
const extractor = new Extractor(config, extractorOptions);

Просмотреть файл

@ -1,6 +1,6 @@
import { resolve, logger, resolveCwd } from 'just-task';
import { spawn, encodeArgs } from './exec';
import { fstat, existsSync } from 'fs';
import { existsSync } from 'fs';
export interface IJestTaskOptions {
config?: string;

Просмотреть файл

@ -1,7 +1,6 @@
import * as ts from 'typescript';
import { resolve, logger, resolveCwd } from 'just-task';
import { exec, encodeArgs } from './exec';
import path from 'path';
import fs from 'fs';
type CompilerOptions = { [key in keyof ts.CompilerOptions]: string | boolean };

Просмотреть файл

@ -1,6 +1,5 @@
import { logger, argv, resolve } from 'just-task';
import wp from 'webpack';
import path from 'path';
import fs from 'fs';
function flatten(arr: any[]): any[] {
@ -10,6 +9,8 @@ function flatten(arr: any[]): any[] {
}
export function webpackTask() {
const wp = require('webpack');
return function webpack() {
logger.info(`Running Webpack`);
const webpackConfigPath = resolve('./webpack.config.js');
@ -34,7 +35,7 @@ export function webpackTask() {
}
config = flatten(config);
wp(config, (err, stats) => {
wp(config, (err: Error, stats: any) => {
if (err || stats.hasErrors()) {
let errorStats = stats.toJson('errors-only');
errorStats.errors.forEach((error: any) => {