@spree/cli 0.1.0 → 0.2.0
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.
- package/README.md +7 -79
- package/dist/commands/generate/store.d.ts.map +1 -1
- package/dist/commands/generate/store.js +6 -5
- package/dist/commands/generate/store.js.map +1 -1
- package/dist/domains/git-repository/cloneGitRepository.d.ts +1 -0
- package/dist/domains/git-repository/cloneGitRepository.d.ts.map +1 -1
- package/dist/domains/git-repository/cloneGitRepository.js +3 -1
- package/dist/domains/git-repository/cloneGitRepository.js.map +1 -1
- package/dist/domains/integration/getIntegration.d.ts.map +1 -1
- package/dist/domains/integration/getIntegration.js +14 -8
- package/dist/domains/integration/getIntegration.js.map +1 -1
- package/dist/domains/module/Template.d.ts +1 -0
- package/dist/domains/module/Template.d.ts.map +1 -1
- package/locales/en-US/translation.json +4 -17
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,93 +1,21 @@
|
|
|
1
1
|
# Spree CLI
|
|
2
2
|
|
|
3
|
-
Spree
|
|
4
|
-
|
|
5
|
-
## Getting started
|
|
6
|
-
To use the CLI you need:
|
|
7
|
-
* Node 14+
|
|
8
|
-
* Requirements listed below, based on selected template
|
|
9
|
-
|
|
10
|
-
### Using NextJS Storefront
|
|
11
|
-
Using NextJS Storefront may be problematic - sometimes NextJS server is not launched properly or it stops during launch.
|
|
12
|
-
If you encounter any problems during usage of this integration check Troubleshooting section below.
|
|
13
|
-
## Local Installation
|
|
14
|
-
|
|
15
|
-
### Using Docker (Recommended)
|
|
16
|
-
#### 1. Install required tools and dependencies:
|
|
17
|
-
|
|
18
|
-
Backend:
|
|
19
|
-
* [Docker](https://www.docker.com/community-edition#/download)
|
|
20
|
-
|
|
21
|
-
Frontend:
|
|
22
|
-
|
|
23
|
-
1. VueStorefront:
|
|
24
|
-
* Node 14.15.x - 14.19.x
|
|
25
|
-
|
|
26
|
-
2. NextJs Storefront:
|
|
27
|
-
* Node
|
|
28
|
-
* Npm
|
|
29
|
-
3. Legacy:
|
|
30
|
-
#### 2. Before running script
|
|
31
|
-
Build your CLI using:
|
|
32
|
-
```bash
|
|
33
|
-
yarn install
|
|
34
|
-
yarn build
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
#### 3. Run setup script
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
./bin/run generate store
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
This will automatically launch the application at `http://localhost:4000/admin`
|
|
44
|
-
|
|
45
|
-
Selected storefront integration will be accessible under `http://localhost:3000`
|
|
46
|
-
|
|
47
|
-
### Without Docker (not recommended for beginners)
|
|
3
|
+
Spree CLI is a tool that makes it easy to bootstrap a new Spree project.
|
|
4
|
+
It provides an interactive process for configuring Spree backend (running in Dockerized, Hybrid or Native mode) and a selection of available frontends.
|
|
48
5
|
|
|
49
|
-
|
|
50
|
-
Backend:
|
|
51
|
-
* HomeBrew - https://brew.sh/
|
|
52
|
-
* Install required packages
|
|
6
|
+
## Usage
|
|
53
7
|
|
|
54
|
-
|
|
55
|
-
brew install gpg postgresql redis imagemagick
|
|
56
|
-
createuser -P -d postgres
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
* RVM - https://rvm.io/
|
|
60
|
-
* NVM - https://github.com/nvm-sh/nvm
|
|
61
|
-
* Ruby - `rvm install 3.0.2`
|
|
62
|
-
* Node - `nvm install`
|
|
63
|
-
* Yarn - `npm -g install yarn`
|
|
64
|
-
|
|
65
|
-
Frontend:
|
|
66
|
-
|
|
67
|
-
1. VueStorefront:
|
|
68
|
-
* Node 14.15.x - 14.19.x
|
|
69
|
-
|
|
70
|
-
2. NextJs Storefront:
|
|
71
|
-
* Node
|
|
72
|
-
* Npm
|
|
73
|
-
3. Legacy:
|
|
74
|
-
#### 2. Before running script
|
|
75
|
-
Build your CLI using:
|
|
8
|
+
To get started, simply run the following command in your terminal:
|
|
76
9
|
|
|
77
10
|
```bash
|
|
78
|
-
|
|
79
|
-
yarn build
|
|
11
|
+
npx @spree/cli generate store
|
|
80
12
|
```
|
|
81
13
|
|
|
82
|
-
|
|
14
|
+
This will launch the interactive process that will guide you through the process of setting up a new Spree-based store. Happy hacking!
|
|
83
15
|
|
|
84
|
-
|
|
85
|
-
.bin/run generate store
|
|
86
|
-
```
|
|
16
|
+
Note: Node 14+ is required to run the CLI. Depending on your configuration, the CLI will also prompt you to install additional dependencies required by your desired setup.
|
|
87
17
|
|
|
88
|
-
This will automatically launch the application at `http://localhost:4000/admin`
|
|
89
18
|
|
|
90
|
-
Selected storefront integration will be accessible under `http://localhost:3000`
|
|
91
19
|
## Troubleshooting
|
|
92
20
|
|
|
93
21
|
### 1. NextJS storefront doesn't start properly
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/commands/generate/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAc7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AASnD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;IAChD,OAAgB,WAAW,SAA2C;IAEtE,OAAgB,QAAQ,WAA2C;IAEnE,OAAgB,KAAK,KAAM;IAE3B,OAAgB,IAAI,UAAM;IAEpB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/commands/generate/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAc7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AASnD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;IAChD,OAAgB,WAAW,SAA2C;IAEtE,OAAgB,QAAQ,WAA2C;IAEnE,OAAgB,KAAK,KAAM;IAE3B,OAAgB,IAAI,UAAM;IAEpB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAmGpB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE;IAMvC,8BAA8B,CAAC,MAAM,EAAE,MAAM;CAqBpD"}
|
|
@@ -41,20 +41,21 @@ class GenerateStore extends core_1.Command {
|
|
|
41
41
|
buildOptions: { stdio: 'inherit', shell: true }
|
|
42
42
|
}
|
|
43
43
|
].map((m) => ({ ...m, absolutePath: `${projectDir}/${m.path}` }));
|
|
44
|
-
const mountGitRepository = async (dir, gitRepositoryURL) => {
|
|
44
|
+
const mountGitRepository = async (dir, gitRepositoryURL, gitRef) => {
|
|
45
45
|
if (await (0, existsDirectory_1.default)(dir)) {
|
|
46
46
|
await (0, directory_2.removeFileOrDirectory)(dir);
|
|
47
47
|
}
|
|
48
|
-
await (0, git_repository_1.cloneGitRepository)({ dir, gitRepositoryURL });
|
|
48
|
+
await (0, git_repository_1.cloneGitRepository)({ dir, gitRepositoryURL, gitRef });
|
|
49
49
|
await (0, git_repository_1.terminateGitRepository)(projectDir);
|
|
50
50
|
};
|
|
51
51
|
const repositoriesToMount = [];
|
|
52
52
|
await this._validateDependencies(modules);
|
|
53
|
-
for (const { absolutePath, template: { gitRepositoryURL, name } } of modules) {
|
|
53
|
+
for (const { absolutePath, template: { gitRepositoryURL, name, gitRef } } of modules) {
|
|
54
54
|
if (!gitRepositoryURL)
|
|
55
55
|
continue;
|
|
56
|
+
const gitRefWithDefault = gitRef || 'main';
|
|
56
57
|
const shouldCreateDirectory = await (0, directory_1.createDirectory)(absolutePath);
|
|
57
|
-
const fn = shouldCreateDirectory ? (async () => await mountGitRepository(absolutePath, gitRepositoryURL)) : undefined;
|
|
58
|
+
const fn = shouldCreateDirectory ? (async () => await mountGitRepository(absolutePath, gitRepositoryURL, gitRefWithDefault)) : undefined;
|
|
58
59
|
repositoriesToMount.push({ name, fn });
|
|
59
60
|
}
|
|
60
61
|
for (const { name, fn } of repositoriesToMount) {
|
|
@@ -94,7 +95,7 @@ class GenerateStore extends core_1.Command {
|
|
|
94
95
|
(0, child_process_1.spawn)(buildScript, buildOptions);
|
|
95
96
|
}
|
|
96
97
|
else {
|
|
97
|
-
this.
|
|
98
|
+
this.debug((0, i18next_1.t)('command.generate_store.message.build_scripts_skipping', { name }));
|
|
98
99
|
}
|
|
99
100
|
};
|
|
100
101
|
[variables.pathBackend, variables.pathIntegration]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/commands/generate/store.ts"],"names":[],"mappings":";;;AAAA,sCAA6C;AAC7C,iEAAiC;AACjC,qCAA4B;AAC5B,mDAA6B;AAC7B,iDAAsC;AAEtC,6DAA4D;AAC5D,iEAGsC;AACtC,uDAA0D;AAC1D,+CAA+C;AAC/C,2DAA2D;AAE3D,+CAAkE;AAClE,uDAAuD;AAEvD,yDAAoD;AACpD,sGAAsE;AACtE,uDAAgE;AAChE,6GAA2E;AAE3E,MAAqB,aAAc,SAAQ,cAAO;IAShD,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;YAClC,MAAM,WAAW,GAAG,MAAM,IAAA,6BAAc,EAAC,IAAA,WAAC,EAAC,2CAA2C,CAAC,CAAC,CAAC;YACzF,OAAO,IAAA,wBAAY,EAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAEvD,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAQ,EAAC,EAAE,OAAO,EAAE,IAAA,WAAC,EAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC;QAEnF,MAAM,WAAW,GAAG,MAAM,IAAA,4BAAc,EAAC;YACvC,OAAO,EAAE,IAAA,WAAC,EAAC,0CAA0C,CAAC;YACtD,kCAAkC,EAAE,IAAA,WAAC,EAAC,4DAA4D,CAAC;SACpG,CAAC,CAAC;QAEH,MAAM,OAAO,GAAa;YACxB;gBACE,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,SAAS,CAAC,WAAW;gBAC3B,YAAY,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;aACnE;YACD;gBACE,QAAQ,EAAE,WAAW;gBACrB,IAAI,EAAE,SAAS,CAAC,eAAe;gBAC/B,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;aAChD;SACF,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,GAAG,UAAU,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAElE,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAAW,EAAE,gBAAwB,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/commands/generate/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloneGitRepository.d.ts","sourceRoot":"","sources":["../../../src/domains/git-repository/cloneGitRepository.ts"],"names":[],"mappings":"AAKA,aAAK,OAAO,GAAG;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"cloneGitRepository.d.ts","sourceRoot":"","sources":["../../../src/domains/git-repository/cloneGitRepository.ts"],"names":[],"mappings":"AAKA,aAAK,OAAO,GAAG;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,gFAAgF;AAChF,QAAA,MAAM,kBAAkB,YAAmB,OAAO,KAAG,QAAQ,IAAI,CA6BhE,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -7,7 +7,7 @@ const isomorphic_git_1 = tslib_1.__importDefault(require("isomorphic-git"));
|
|
|
7
7
|
const node_1 = tslib_1.__importDefault(require("isomorphic-git/http/node"));
|
|
8
8
|
/** Clones git repository to the project directory displaying a progress bar. */
|
|
9
9
|
const cloneGitRepository = async (options) => {
|
|
10
|
-
const { dir, gitRepositoryURL } = options;
|
|
10
|
+
const { dir, gitRepositoryURL, gitRef } = options;
|
|
11
11
|
const bar = core_1.CliUx.ux.progress({
|
|
12
12
|
fps: 64,
|
|
13
13
|
format: `Cloning ${options.gitRepositoryURL} | {bar} | {percentage}%`,
|
|
@@ -20,6 +20,8 @@ const cloneGitRepository = async (options) => {
|
|
|
20
20
|
http: node_1.default,
|
|
21
21
|
dir,
|
|
22
22
|
url: gitRepositoryURL,
|
|
23
|
+
ref: gitRef,
|
|
24
|
+
singleBranch: true,
|
|
23
25
|
onProgress(progress) {
|
|
24
26
|
bar.update(progress.loaded);
|
|
25
27
|
if (progress.total !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloneGitRepository.js","sourceRoot":"","sources":["../../../src/domains/git-repository/cloneGitRepository.ts"],"names":[],"mappings":";;;AAAA,sCAAoC;AACpC,+CAAyB;AACzB,4EAAiC;AACjC,4EAA4C;
|
|
1
|
+
{"version":3,"file":"cloneGitRepository.js","sourceRoot":"","sources":["../../../src/domains/git-repository/cloneGitRepository.ts"],"names":[],"mappings":";;;AAAA,sCAAoC;AACpC,+CAAyB;AACzB,4EAAiC;AACjC,4EAA4C;AAQ5C,gFAAgF;AAChF,MAAM,kBAAkB,GAAG,KAAK,EAAE,OAAgB,EAAiB,EAAE;IACnE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAElD,MAAM,GAAG,GAAG,YAAK,CAAC,EAAE,CAAC,QAAQ,CAAC;QAC5B,GAAG,EAAE,EAAE;QACP,MAAM,EAAE,WAAW,OAAO,CAAC,gBAAgB,0BAA0B;QACrE,eAAe,EAAE,QAAQ;QACzB,iBAAiB,EAAE,QAAQ;KAC5B,CAAC,CAAC;IAEH,GAAG,CAAC,KAAK,EAAE,CAAC;IAEZ,MAAM,wBAAG,CAAC,KAAK,CAAC;QACd,EAAE;QACF,IAAI,EAAJ,cAAI;QACJ,GAAG;QACH,GAAG,EAAE,gBAAgB;QACrB,GAAG,EAAE,MAAM;QACX,YAAY,EAAE,IAAI;QAClB,UAAU,CAAC,QAAQ;YACjB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAE5B,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE;gBAChC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC9B;QACH,CAAC;KACF,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,EAAE,CAAC;AACb,CAAC,CAAC;AAEF,kBAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getIntegration.d.ts","sourceRoot":"","sources":["../../../src/domains/integration/getIntegration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAkB7C,aAAK,OAAO,GAAG;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC,EAAE,MAAM,CAAC;CAC5C,CAAC;AAEF,8CAA8C;AAC9C,QAAA,MAAM,cAAc,YAAmB,OAAO,KAAG,QAAQ,WAAW,
|
|
1
|
+
{"version":3,"file":"getIntegration.d.ts","sourceRoot":"","sources":["../../../src/domains/integration/getIntegration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAkB7C,aAAK,OAAO,GAAG;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC,EAAE,MAAM,CAAC;CAC5C,CAAC;AAEF,8CAA8C;AAC9C,QAAA,MAAM,cAAc,YAAmB,OAAO,KAAG,QAAQ,WAAW,CA2CnE,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -13,19 +13,25 @@ const getIntegration = async (options) => {
|
|
|
13
13
|
const integrations = await (0, fetchIntegrations_1.default)();
|
|
14
14
|
const customIntegrations = [
|
|
15
15
|
{
|
|
16
|
-
name: '
|
|
16
|
+
name: 'Rails storefront',
|
|
17
|
+
buildIntegration: async ({ name }) => ({
|
|
18
|
+
name,
|
|
19
|
+
preSpreeBuildScript: 'echo "gem \'spree_frontend\'" >> $SPREE_CLI_PROJECT_NAME/$SPREE_CLI_PATH_BACKEND/Gemfile\n'
|
|
20
|
+
})
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: 'No storefront (Spree Headless)',
|
|
24
|
+
buildIntegration: async () => ({
|
|
25
|
+
name: 'headless'
|
|
26
|
+
})
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: 'Custom storefront',
|
|
17
30
|
buildIntegration: async (customIntegration) => ({
|
|
18
31
|
...customIntegration,
|
|
19
32
|
gitRepositoryURL: await (0, git_repository_url_1.getGitRepositoryURL)(customIntegrationRepositoryMessage)
|
|
20
33
|
})
|
|
21
34
|
},
|
|
22
|
-
{
|
|
23
|
-
name: 'Legacy integration',
|
|
24
|
-
buildIntegration: async ({ name }) => ({
|
|
25
|
-
name,
|
|
26
|
-
preSpreeBuildScript: 'echo "gem \'spree_frontend\'" >> $SPREE_CLI_PROJECT_NAME/$SPREE_CLI_PATH_BACKEND/Gemfile\n'
|
|
27
|
-
})
|
|
28
|
-
}
|
|
29
35
|
];
|
|
30
36
|
const choices = [...integrations, ...customIntegrations].map((integration) => ({
|
|
31
37
|
name: integration.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getIntegration.js","sourceRoot":"","sources":["../../../src/domains/integration/getIntegration.ts"],"names":[],"mappings":";;;AAAA,gEAAgC;AAEhC,oFAAoD;AACpD,8DAA4D;AAO5D,MAAM,mBAAmB,GAAG,CAAC,WAA4C,EAAoC,EAAE;IAC7G,OAA2B,WAAY,CAAC,gBAAgB,KAAK,SAAS,CAAC;AACzE,CAAC,CAAC;AAYF,8CAA8C;AAC9C,MAAM,cAAc,GAAG,KAAK,EAAE,OAAgB,EAAwB,EAAE;IACtE,MAAM,EAAE,OAAO,EAAE,kCAAkC,EAAE,GAAG,OAAO,CAAC;IAEhE,MAAM,YAAY,GAAG,MAAM,IAAA,2BAAiB,GAAE,CAAC;IAE/C,MAAM,kBAAkB,GAAwB;QAC9C;YACE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"getIntegration.js","sourceRoot":"","sources":["../../../src/domains/integration/getIntegration.ts"],"names":[],"mappings":";;;AAAA,gEAAgC;AAEhC,oFAAoD;AACpD,8DAA4D;AAO5D,MAAM,mBAAmB,GAAG,CAAC,WAA4C,EAAoC,EAAE;IAC7G,OAA2B,WAAY,CAAC,gBAAgB,KAAK,SAAS,CAAC;AACzE,CAAC,CAAC;AAYF,8CAA8C;AAC9C,MAAM,cAAc,GAAG,KAAK,EAAE,OAAgB,EAAwB,EAAE;IACtE,MAAM,EAAE,OAAO,EAAE,kCAAkC,EAAE,GAAG,OAAO,CAAC;IAEhE,MAAM,YAAY,GAAG,MAAM,IAAA,2BAAiB,GAAE,CAAC;IAE/C,MAAM,kBAAkB,GAAwB;QAC9C;YACE,IAAI,EAAE,kBAAkB;YACxB,gBAAgB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrC,IAAI;gBACJ,mBAAmB,EAAE,4FAA4F;aAClG,CAAA;SAClB;QACD;YACE,IAAI,EAAE,gCAAgC;YACtC,gBAAgB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC7B,IAAI,EAAE,UAAU;aACjB,CAAC;SACH;QACD;YACE,IAAI,EAAE,mBAAmB;YACzB,gBAAgB,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBAC9C,GAAG,iBAAiB;gBACpB,gBAAgB,EAAE,MAAM,IAAA,wCAAmB,EAAC,kCAAkC,CAAC;aAChF,CAAC;SACH;KACF,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC7E,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,KAAK,EAAE,WAAW;KACnB,CAAC,CAAC,CAAC;IAEJ,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAU;QACrD,OAAO;QACP,OAAO;QACP,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,aAAa;KACpB,CAAC,CAAC;IAEH,OAAO,mBAAmB,CAAC,WAAW,CAAC;QACrC,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAC3C,CAAC,CAAC,WAAW,CAAC;AAClB,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Template.d.ts","sourceRoot":"","sources":["../../../src/domains/module/Template.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,eAAe,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"Template.d.ts","sourceRoot":"","sources":["../../../src/domains/module/Template.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"command": {
|
|
3
3
|
"generate_store": {
|
|
4
|
-
"description": "Generates a Spree starter with
|
|
4
|
+
"description": "Generates a Spree starter with storefront and backend modules.",
|
|
5
5
|
"input": {
|
|
6
6
|
"project_name": "What's your project name?",
|
|
7
|
-
"integration": "Choose
|
|
8
|
-
"spree": "Choose a
|
|
9
|
-
"custom_integration_repository": "What's the URL of the custom
|
|
7
|
+
"integration": "Choose a storefront:",
|
|
8
|
+
"spree": "Choose a Spree setup:",
|
|
9
|
+
"custom_integration_repository": "What's the URL of the custom frontend git repository?",
|
|
10
10
|
"overwrite": "\"./{{ dir }}\" already exists. Overwrite?"
|
|
11
11
|
},
|
|
12
12
|
"message": {
|
|
@@ -25,19 +25,6 @@
|
|
|
25
25
|
"dependency_version_mismatch": "The configuration you chose requires \"{{ name }}\" \"{{ expectedVersion }}\", while version \"{{ currentVersion }}\" is currently installed. Please install the correct version before running Spree CLI",
|
|
26
26
|
"error": "ERROR"
|
|
27
27
|
}
|
|
28
|
-
},
|
|
29
|
-
"generate_template": {
|
|
30
|
-
"description": "Generates a template of your integration's for VSF",
|
|
31
|
-
"flag": {
|
|
32
|
-
"output": "A path where the template will be generated"
|
|
33
|
-
},
|
|
34
|
-
"input": {
|
|
35
|
-
"project_name": "How would you like to name the output folder?",
|
|
36
|
-
"integration_path": "What's the path to the integration theme?"
|
|
37
|
-
},
|
|
38
|
-
"message": {
|
|
39
|
-
"success": "Sucessfully created your template at \"./{{ projectName }}\"!"
|
|
40
|
-
}
|
|
41
28
|
}
|
|
42
29
|
},
|
|
43
30
|
"domain": {
|
package/oclif.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"0.
|
|
1
|
+
{"version":"0.2.0","commands":{"generate:store":{"id":"generate:store","strict":true,"pluginName":"@spree/cli","pluginAlias":"@spree/cli","pluginType":"core","aliases":[],"examples":["<%= config.bin %> <%= command.id %>"],"flags":{},"args":[],"_globalFlags":{}}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spree/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Spree's CLI that allows for setting up the store with selected backend template and front-end integration",
|
|
5
5
|
"bin": "./bin/run",
|
|
6
6
|
"homepage": "https://github.com/upsidelab/spree_cli_internal",
|