Git Product home page Git Product logo

stencil-cli's Introduction

Stencil CLI

npm (scoped) tests

The BigCommerce server emulator for local theme development.

Install

Note: Stencil requires the Node.js runtime environment, versions 16.x, 18.x are supported.

Run npm install -g @bigcommerce/stencil-cli.

Visit the installation guide for more details.

Usage

Usage: stencil [options] [command]

Commands:

  init        Interactively create a .stencil file which configures how to run a BigCommerce store locally.
  start       Starts up the BigCommerce storefront local development environment, using theme files in the current directory and data from the live store.
  bundle      Bundles up the theme into a zip file which can be uploaded to BigCommerce.
  release     Create a new release in the theme's github repository.
  push        Bundles up the theme into a zip file and uploads it to your store.
  pull        Pulls the configuration from the active theme on your live store and updates your local configuration.
  download    Downloads the theme files from the active theme on your live store.
  debug       Prints environment and theme settings for debug purposes.
  help [cmd]  display help for [cmd]

Options:

  -h, --help     output usage information
  -V, --version  output the version number

Run stencil init at the top level of your Stencil Theme. It will ask you a few questions to get your started.

Run stencil start to run a local server so you can start developing your theme.

Run with -o or --open to automatically open up a browser.

  • While stencil is running, you can type "rs" and then hit enter to auto-reload all browsers. This is similar to Nodemon's rs option.

Run stencil bundle to validate your code and create a zip bundle file that can be uploaded to BigCommerce.

Run stencil release to tag a new version of your theme, create a GitHub release in your theme repository, and upload the zip bundle file to the release assets. This is useful for tracking your changes in your Theme, and is the tool we use to create new releases in BigCommerce Cornerstone theme.

Run stencil push to bundle the local theme and upload it to your store, so it will be available in My Themes. To push the theme and also activate it, use stencil push -a. To automatically delete the oldest theme if you are at your theme limit, use stencil push -d. These can be used together, as stencil push -a -d. You can apply the theme to multiple storefronts, just specify ids of desired storefronts/channels after -c option stencil push -a -c 123 456 789. If you want to apply theme to all available storefronts, just use -allc option: stencil push -a -allc.

Run stencil pull to sync changes to your theme configuration from your live store. For example, if Page Builder has been used to change certain theme settings, this will update those settings in config.json in your theme files so you don't overwrite them on your next upload.

Run stencil debug to get information about runtime environment and the configuration

Features

BrowserSync

Stencil CLI comes packaged with BrowserSync so you can take advantage of all of those amazing goodies! Have a look at their web site for more information.

Sass compiling

You can compile Sass (node-sass) scss files in assets/scss into CSS. For example, add an scss file named theme.scss to assets/scss and {{{stylesheet 'assets/css/theme.css'}}} to your theme HTML template. Stencil-CLI will compile assets/scss/theme.scss to CSS on the fly.

Autoprefixer

Stencil CLI comes packaged with Autoprefixer. You can set which browsers should be targeted, as well as if it should cascade the generated rules in the theme's config.json file with these options:

  • autoprefixer_cascade - Defaults to true.
  • autoprefixer_browsers - Defaults to ["> 1%", "last 2 versions", "Firefox ESR"].

How to get help or report a bug

If you need any help or experience any bugs, please create a GitHub issue in this repository.

Development

If you would like to improve this project check out the Contributing Guide. Also, you can find the implementation details there.

Running in docker

There is possibility to run stencil-cli in docker. Here are steps to have this functionality.

First, pull the image from Github Packages (docker registry): docker pull ghcr.io/bigcommerce/stencil-cli

Then, you want to run some commands against your theme.

For example docker run -p 3005:3005 -v /bigcommerce/cornerstone:/usr/src/app -it ghcr.io/bigcommerce/stencil-cli stencil init, where 3005 is port number definded in config.stencil.json and /bigcommerce/cornerstone path to where theme is located.

docker run -p 3005:3005 -v /bigcommerce/cornerstone:/usr/src/app -it ghcr.io/bigcommerce/stencil-cli stencil start and so on

License

Copyright (c) 2015-present, BigCommerce Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by BigCommerce Inc.
  4. Neither the name of BigCommerce Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY BIGCOMMERCE INC ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BIGCOMMERCE INC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

stencil-cli's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stencil-cli's Issues

Stencil push doesn't work after taking store live with new url

I am on a mac running OS 10.12.6. I've been able to use Stencil push to upload changes to my store site. Last week we took the store live, changing it's URL to replace our previous store. Now stencil push returns a 404 error.

^CGraphics:Polar+Wire Graphics$ stencil push
not ok -- StoreHashReadError: Response Error: 404 Not Found
Please try again. If this error persists, please visit https://github.com/bigcommerce/stencil-cli/issues and submit an issue.

I tried reinstalling stencil, but that didn't resolve it. How do I get stencil to find our store site again?

stencil bundle error for stencil cli version 1.12.2

When I ran stencil bundle, it gives error:
events.js:141
throw er; // Unhandled 'error' event
^
Error: ENOENT: no such file or directory, open 'D:\xxxxx\xxxxx\stencil\assets\dist\theme-bundle.chunk.0.js'
at Error (native)

Evaluate subexpressions before assembling templates

I am new to node and handlebars, but this request is based on the debugging I've attempted so far. I'm trying to load a partial by passing the name of the partial as a variable. In other words, I'd like to do something like this:

{{> components/common/panel content="components/common/category-images" title="Popular Categories"}}

Then, in the panel.html file, I want to load the content partial as the content of the panel. Something like this:

<div class="panel">
  <h1>{{title}}</h1>
  <div class="panel-body">
    {{> (lookup . 'content') }}
  </div>
</div>

This does not seem to work. I receive an error that the partial components/common/category-images does not exist. My debugging so far seems to indicate that this is happening because the templateAssembler.js file runs before the subexpression is evaluated, so the components/common/category-images partial never gets loaded.

I looked into the dynamicComponent helper, but that still does not seem to fit this use-case because the basePath would need to be known before the program runs so that all of the templates in that path can be loaded (at least I think that's how dynamicComponent works).

Is there any way to accomplish what I'm trying to do here? Any help would be much appreciated. Thank you!

Response Error 503 using stencil push

Running macOS 10.12.5, and modifying the cornerstone theme (not sure of the version though). We have done some extensive updates to the header and footer, as well as add in our own templates, and javascript. I am able to bundle the package without any problem, but when I try to push I get the error:
not ok -- StoreHashReadError: Response Error: 503 Service Unavailable Please try again. If this error persists, please visit https://github.com/bigcommerce/stencil-cli/issues and submit an issue.
If you need the zip file let me know.

Browsersync issues with custom files

Hey,

We are using a custom.scss file within the assets folder. The file is working as intended and compiling. It's appearing on the terminal that browser sync is noticing the changes however does not refresh the page for that file. Is there another step I am missing out here that I need to add new sass files to?

Thanks,

[BS] File event [change] : /Users/Bigcommerce/5ive1/stencil/assets/css/custom.css

Feature request: allow setting environment variables

We maintain 2 BigCommerce stores. One is a development store and the other is our live production store. Each store makes API calls to our self-hosted servers to retrieve various data and product information that we store outside of the BigComerce store.

The various URLs and other information for the API is stored in the theme's config.json file so that the theme will have the appropriate URLs to make the calls. For example:

{
  "internal_api": {
    "base": "//internal-api.my-domain.com",
    "products": "/products",
    "reviews": "/product-reviews"
  }
}

However, for our development store, which connects to our development API server, I have to manually change the base to //dev.internal-api.my-domain.com. There are other changes required as well for other parts of the file. This is just one example.

It would be very useful if there was some way for me to set an environment variable (or something similar) in each of the repos for the product and development store, and refer to those variables from the config.json file instead of having to manually alter them.

Is this currently possible, or is there some way to add this feature?

Editor plugin missing

Having an issue with a missing editor plugin.

➜ article15-store nvm use 4.4
Now using node v4.4.0 (npm v2.14.20)
➜ article15-store node -v && stencil -V
v4.4.0
1.3.4
➜ article15-store stencil start -e --tunnel

                                 `+h
                               `+ddd
                             .oddddd
                           .oddddddd
                         -sddddddddd
                      `-sddddddddddd
                     -shdddddddddddd
                     ...-:+ydddddddd
                `......`   `+ddddddd
                -ddddddh-    ddddddd
            `   .yyyyyyo.  `+ddddddd
          .o/    `````    :ydddddddd
        -ohd+   `//////:` `.sddddddd
      -sdddd+   -ddddddds   `hdddddd
    :sdddddd+   .sssssso-   `ddddddd
  :ydddddddd+              -yddddddd
/yddddddddddy+++++++++++oshddddddddd

`/hdddddddddddddddddddddddddddddddddddd
/hdddddddddddddddddddddddddddddddddddddd


BigCommerce Stencil


module.js:327
throw err;
^

Error: Cannot find module '/Users/rafael/.nvm/versions/node/v4.4.0/lib/node_modules/@bigcommerce/stencil-cli/server/plugins/StencilEditor'
at Function.Module._resolveFilename (module.js:325:15)
at Function.Module._load (module.js:276:25)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.internals.parsePlugin (/Users/rafael/.nvm/versions/node/v4.4.0/lib/node_modules/@bigcommerce/stencil-cli/node_modules/glue/lib/index.js:192:23)
at /Users/rafael/.nvm/versions/node/v4.4.0/lib/node_modules/@bigcommerce/stencil-cli/node_modules/glue/lib/index.js:102:36
at Array.forEach (native)
at /Users/rafael/.nvm/versions/node/v4.4.0/lib/node_modules/@bigcommerce/stencil-cli/node_modules/glue/lib/index.js:100:49
at /Users/rafael/.nvm/versions/node/v4.4.0/lib/node_modules/@bigcommerce/stencil-cli/node_modules/glue/lib/index.js:115:9
at iterate (/Users/rafael/.nvm/versions/node/v4.4.0/lib/node_modules/@bigcommerce/stencil-cli/node_modules/glue/node_modules/items/lib/index.js:35:13)
➜ article15-store

Has there been a breaking change?

stencil-bundle zipped files

I'm developing an app and added an additional webpack config to take care of some customization. It works locally, but the stencil-bundle file list is hard coded. It seems that all webpack compilation happens prior to pushing anything to bigcommerce so it probably doesn't matter. Can you guys provide any insight into which files and folders are actually used on the bigcommerce side once pushed?

pathsToZip: https://github.com/bigcommerce/stencil-cli/blob/master/lib/stencil-bundle.js#L264

Auto: Apply theme & Theme variation

I'm developing a theme for a client. I've hit the limit of 20 themes. All the past themes are previous versions of currently developed theme.

It would be great if I could run stencil push -y or stencil push -f that will automatically, after pushing the theme, apply it, remove one of the old existing themes and select first variation (or I could pass variation name as argument).

Basically, it would work similarly to npm init -y: https://docs.npmjs.com/cli/init

Currently the theme upload process is:

  1. stencil push
  2. Wait
  3. Select theme to delete
  4. Wait
  5. Apply theme? Yes
  6. Which variation? Light

Thanks!

Install Fails: node-sass error

I've tried installing this on three different machines (2x OSX, 1x Ubuntu Server), and it fails when trying to compile node-sass.

gyp info spawn args [ 'V=1', 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory `/home/adammcarth/.nvm/versions/node/v6.2.1/lib/node_modules/@bigcommerce/stencil-cli/node_modules/node-sass/build'
  g++ '-DNODE_GYP_MODULE_NAME=binding' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DBUILDING_NODE_EXTENSION' -I/home/adammcarth/.node-gyp/6.2.1/include/node -I/home/adammcarth/.node-gyp/6.2.1/src -I/home/adammcarth/.node-gyp/6.2.1/deps/uv/include -I/home/adammcarth/.node-gyp/6.2.1/deps/v8/include -I../../nan  -fPIC -pthread -Wall -Wextra -Wno-unused-parameter -m64 -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++0x -std=c++0x -MMD -MF ./Release/.deps/Release/obj.target/binding/src/binding.o.d.raw   -c -o Release/obj.target/binding/src/binding.o ../src/binding.cpp
In file included from ../src/binding.cpp:3:0:
../src/sass_context_wrapper.h:8:26: fatal error: sass/context.h: No such file or directory
 #include <sass/context.h>
                          ^
compilation terminated.
make: *** [Release/obj.target/binding/src/binding.o] Error 1
make: Leaving directory `/home/adammcarth/.nvm/versions/node/v6.2.1/lib/node_modules/@bigcommerce/stencil-cli/node_modules/node-sass/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/home/adammcarth/.nvm/versions/node/v6.2.1/lib/node_modules/@bigcommerce/stencil-cli/node_modules/node-gyp/lib/build.js:285:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12)
gyp ERR! System Linux 3.13.0-85-generic
gyp ERR! command "/home/adammcarth/.nvm/versions/node/v6.2.1/bin/node" "/home/adammcarth/.nvm/versions/node/v6.2.1/lib/node_modules/@bigcommerce/stencil-cli/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /home/adammcarth/.nvm/versions/node/v6.2.1/lib/node_modules/@bigcommerce/stencil-cli/node_modules/node-sass
gyp ERR! node -v v6.2.1
gyp ERR! node-gyp -v v3.6.0
gyp ERR! not ok
Build failed
/home/adammcarth/.nvm/versions/node/v6.2.1/lib
└── (empty)

npm WARN optional Skipping failed optional dependency /@bigcommerce/stencil-cli/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: [email protected]
npm WARN [email protected] requires a peer of eslint-plugin-react@^4.2.3 but none was installed.
npm ERR! Linux 3.13.0-85-generic
npm ERR! argv "/home/adammcarth/.nvm/versions/node/v6.2.1/bin/node" "/home/adammcarth/.nvm/versions/node/v6.2.1/bin/npm" "install" "-g" "@bigcommerce/stencil-cli"
npm ERR! node v6.2.1
npm ERR! npm  v3.9.3
npm ERR! code ELIFECYCLE

npm ERR! [email protected] postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script 'node scripts/build.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the node-sass package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node scripts/build.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs node-sass
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls node-sass
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/adammcarth/npm-debug.log
npm ERR! code 1

Running npm install -g [email protected] worked without error on all machines.

Push failing

Push command fails with 503 status code. Verified that I can POST using the Themes API. Bundle also works when used separately. Directory is initialized and can run using the start command. I am using a trial store.

Stencil push httpt error 404

Expected behavior

Theme should be uploaded to store

Actual behavior

Errors out with http error 404

[user@system tir]$ stencil push
not ok -- StoreHashReadError: Response Error: 404 Not Found
Please try again. If this error persists, please visit https://github.com/bigcommerce/stencil-cli/issues and submit an issue.

Steps to reproduce behavior

Running stencil push command.

Stencil Bundle error

Hi im geting this error when running stencil bundle

AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\bin\stencil-bundle:66
        throw err;
        ^

Also it seems to fail to gather this files.
failed -- The following template(s) are/is missing:
components/common/icons/icon-defs
components/common/cookie
components/common/header-laparis2
components/common/header
components/common/body
components/common/footer

i checked the template folder and the files are there.

npm WARN [email protected] requires a peer of eslint-plugin-react@^4.2.3 but none was installed.

node -v : v7.10.0

sudo npm install -g @bigcommerce/stencil-cli
Password:
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: this package has been reintegrated into npm and is now out of date with respect to npm
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: Use uuid module instead
npm WARN deprecated [email protected]: This module is no longer being maintained and is no longer needed for custom Good reporters.
npm WARN deprecated [email protected]: This project has been deprecated for "npm install es-module-loader" based on the newer loader spec.
/usr/local/bin/stencil -> /usr/local/lib/node_modules/@bigcommerce/stencil-cli/bin/stencil
/usr/local/bin/stencil-start -> /usr/local/lib/node_modules/@bigcommerce/stencil-cli/bin/stencil-start
/usr/local/bin/stencil-init -> /usr/local/lib/node_modules/@bigcommerce/stencil-cli/bin/stencil-init

> @bigcommerce/[email protected] install /usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/node-sass
> node scripts/install.js

Binary downloaded and installed at /usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/node-sass/vendor/darwin-x64-51/binding.node

> @bigcommerce/[email protected] postinstall /usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/node-sass
> node scripts/build.js

` /usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/node-sass/vendor/darwin-x64-51/binding.node ` exists. 
 testing binary.
Binary is fine; exiting.
- [email protected] node_modules/@bigcommerce/stencil-cli/node_modules/hapi/node_modules/h2o2/node_modules/wreck
- [email protected] node_modules/@bigcommerce/stencil-cli/node_modules/hapi/node_modules/heavy/node_modules/joi
/usr/local/lib
└─┬ @bigcommerce/[email protected] 
  ├─┬ @bigcommerce/[email protected]
  │ ├─┬ @bigcommerce/[email protected]  (git://github.com/bigcommerce-labs/node-sass.git#531846930a4b2193fa3a90b51982aa52b18df470)
  │ │ └─┬ [email protected] 
  │ │   └─┬ [email protected] 
  │ │     └── [email protected] 
  │ └─┬ [email protected]
  │   └─┬ [email protected]
  │     └── [email protected] 
  ├─┬ [email protected]
  │ └─┬ [email protected]
  │   └── [email protected] 
  ├─┬ [email protected]  (git://github.com/mcampa/browser-sync.git#c49ca6c24d65a8d9301d791756333c92fd405906)
  │ ├─┬ [email protected]
  │ │ └── [email protected] 
  │ └─┬ [email protected]
  │   └── [email protected] 
  ├─┬ [email protected]
  │ ├── [email protected] 
  │ └─┬ [email protected]
  │   └── [email protected] 
  ├── UNMET PEER DEPENDENCY eslint-plugin-react@^4.2.3
  ├─┬ [email protected]
  │ ├─┬ [email protected]
  │ │ └── [email protected] 
  │ └─┬ [email protected]
  │   └── [email protected] 
  └─┬ [email protected]
    ├─┬ [email protected]
    │ └── [email protected] 
    └─┬ [email protected]
      └─┬ [email protected]
        └─┬ [email protected]
          └── [email protected] 

npm WARN [email protected] requires a peer of eslint-plugin-react@^4.2.3 but none was installed.

concat helper returns a SafeString, which can't be used in other helpers

I am trying to use the concat helper to look up a value in the theme_settings object using the get helper. However, it looks like the concat helper returns a SafeString, which does not have a split method needed by the get helper.

For example, on a category page, I use the following block to lookup the current category and see if it exists in the theme_settings.category_data object:

{{#with (get (concat 'theme_settings.category_data.' category.id) this)}}
  {{log this}}
{{else}}
  <h1 class="pageHeading">{{category.name}}</h1>
{{/with}}

This results in the following error:

Debug: internal, implementation, error
    TypeError: Uncaught error: prop.split is not a function
    at Function.module.exports (/Users/myusername/.nvm/versions/node/v4.2.1/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/stencil-paper/node_modules/handlebars-helpers/node_modules/get-value/index.js:26:19)
    at Object.helpers.get (/Users/myusername/.nvm/versions/node/v4.2.1/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/stencil-paper/node_modules/handlebars-helpers/lib/object.js:137:19)
    at Object.template.main (eval at <anonymous> (/Users/myusername/.nvm/versions/node/v4.2.1/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/stencil-paper/index.js:130:40), <anonymous>:15:96)
    at ret (/Users/myusername/.nvm/versions/node/v4.2.1/lib/node_modules/@bigcommerce/stencil-cli/node_modules/handlebars/dist/cjs/handlebars/runtime.js:159:30)
    at Object.invokePartial (/Users/myusername/.nvm/versions/node/v4.2.1/lib/node_modules/@bigcommerce/stencil-cli/node_modules/handlebars/dist/cjs/handlebars/runtime.js:218:12)
    at Object.invokePartialWrapper [as invokePartial] (/Users/myusername/.nvm/versions/node/v4.2.1/lib/node_modules/@bigcommerce/stencil-cli/node_modules/handlebars/dist/cjs/handlebars/runtime.js:61:39)
    at Object.template.6 (eval at <anonymous> (/Users/myusername/.nvm/versions/node/v4.2.1/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/stencil-paper/index.js:130:40), <anonymous>:26:23)
    at prog (/Users/myusername/.nvm/versions/node/v4.2.1/lib/node_modules/@bigcommerce/stencil-cli/node_modules/handlebars/dist/cjs/handlebars/runtime.js:193:15)
    at Object.<anonymous> (/Users/myusername/.nvm/versions/node/v4.2.1/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/stencil-paper/helpers/block.js:9:16)
    at Object.template.main (eval at <anonymous> (/Users/myusername/.nvm/versions/node/v4.2.1/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/stencil-paper/index.js:130:40), <anonymous>:9:72)

I think this is because concat is returning a SafeString, which doesn't have a split method. Is it possible for the concat helper to return a regular string so it can be used to another helper?

Stencil docs list itemAt as a handlebars helper, but I don't think it actually exists

The Stencil documentation lists itemAt as a handlebars array helper. I need that helper so tried to use it, but I don't think it actually exists anywhere. I see it exists in the standard handlebars-helpers repo, but I don't see anywhere it gets incorporated into stencil-cli or paper.

Is this an error in the documentation or is it missing from the repo. Where is the proper place to report this issue? Would be nice to have the itemAt helper included.

Install Fails

I'm getting stuck on the initial install.

npm install -g bigcommerce/stencil-cli

Returns the following error:
`> node scripts/install.js

Cannot download "https://github.com/sass/node-sass/releases/download/v3.4.2/win32-x64-48_binding.node":

HTTP error 404 Not Found

Hint: If github.com is not accessible in your location
try setting a proxy via HTTP_PROXY, e.g.

  export HTTP_PROXY=http://example.com:1234

or configure npm proxy via

  npm config set proxy http://example.com:8080`

Seems like that github link is dead. Thoughts?

Installation Issues, Windows 10, Gitbash, npm

Actual behavior

slooseysloose@sloose MINGW64 ~/Downloads/Cornerstone-1.10.0
$ npm install -g @bigcommerce/stencil-cli
npm WARN deprecated [email protected]: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
npm ERR! git submodule -q update --init --recursive: fatal: cannot create directory at 'spec/extend-tests/104_test_nested_extender_counts_extended_subselectors/104_test_nested_extender_counts_extended_subselectors': Filename too long
npm ERR! git submodule -q update --init --recursive: Unable to checkout 'b089cff39e623de5c6d3c88ad021220df5c67657' in submodule path 'test/fixtures/spec'
npm ERR! git submodule -q update --init --recursive:
npm ERR! Windows_NT 10.0.16299
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "@bigcommerce/stencil-cli"
npm ERR! node v6.11.0
npm ERR! npm  v3.10.10
npm ERR! code 1

npm ERR! Command failed: git -c core.longpaths=true submodule -q update --init --recursive
npm ERR! fatal: cannot create directory at 'spec/extend-tests/104_test_nested_extender_counts_extended_subselectors/104_test_nested_extender_counts_extended_subselectors': Filename too long
npm ERR! Unable to checkout 'b089cff39e623de5c6d3c88ad021220df5c67657' in submodule path 'test/fixtures/spec'
npm ERR!
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\slooseysloose\Downloads\Cornerstone-1.10.0\npm-debug.log

slooseysloose@sloose MINGW64 ~/Downloads/Cornerstone-1.10.0
$

Steps to reproduce behavior

I've tried running gitbash as both user and administrator. I had issues getting it going on my pure linux machine, which I attributed to a non-standard shell (fish/oh-my-fish), so I moved to my windows desktop.

New bundles won't load CSS

Not sure if this is a problem with bundling or a CDN issue, but figured I'd create an issue here either way.

All day today I've been unable to deploy newly bundled themes. Themes are bundling and uploading without error, but when I activate the uploaded themes no CSS loads due to a 502 error. Here's a URL of a CSS file from a recent attempt for reference: https://cdn2.bigcommerce.com/n-d57o0b/k2r6aoh/stencil/37ed6ed0-171d-0135-70db-525400dfdca6/css/theme-4a172ef0-171d-0135-3b93-525400dfdca6.css

JS bundles not being compressed

Not sure if this is the right place for this issue or not, but the problem began with an update to stencil-cli so hopefully it's relevant here!

For some reason my JS bundles are consistently being served without gzip compression since this morning's required stencil-cli update. I know this is not strictly an issue with stencil-cli since the problem is occurring server-side, but I'm wondering if something happened with stencil bundle that would be causing this?

A theme that I bundled last night with the prior version of stencil-cli works as expected when deployed to a live store, the JS bundle gets compressed from a raw 998.5KB down to 281.7KB. The same, unmodified theme bundled with today's updated stencil-cli is being served at the full 998.5KB without compression. I've tested this in several browsers, via webpagetest and PageSpeed Insights, and with several different themes/JS bundles. I've uninstalled and reinstalled stencil-cli several times, cleared npm cache, spun a prayer wheel, etc...same result with any JavaScript bundled in stencil-cli since the update.

If it's helpful, I'm using the following known-working dev environment:
macOS 10.12.3
node v4.4.5
npm v2.15.5

Any ideas?

Error installing on Windows

Hi, I'm trying to start with your platform but I got an error trying to install stencil-cli. It has to do with node-sass. I see this output:

C:\Users\nando\AppData\Roaming\npm
`-- (empty)

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\@bigcommerce\stencil-cli\node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN [email protected] requires a peer of eslint-plugin-react@^4.2.3 but none was installed.
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "bigcommerce/stencil-cli"
npm ERR! node v7.0.0
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE

npm ERR! [email protected] postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script 'node scripts/build.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the node-sass package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node scripts/build.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs node-sass
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls node-sass
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     D:\Proyectos\brandlabs\bigCommerce\npm-debug.log
npm ERR! code 1

capture

Looking at node-sass repository on releases, it goes up to win32-x64-47_binding.node

Thanks in advance

xyz.html files in forms directory may error as "not found" during "stencil bundle" if xyz.html.abc file exists

Expected behavior

stencil bundle should finish without error

Actual behavior

stencil fails:

ok -- Theme Schema Building Finished
failed -- The following template(s) are/is missing:
components\common\forms\date.html
C:\Users\root\AppData\Roaming\npm\node_modules@bigcommerce\stencil-cli\bin\stencil-bundle:52
throw err;
^
Error: The following template(s) are/is missing:
components\common\forms\date.html
at Async.each.err (C:\Users\root\AppData\Roaming\npm\node_modules@bigcommerce\stencil-cli\lib\template-assembler.js:93:29)

Steps to reproduce behavior

change directory to cornerstone\templates\components\common\forms
copy date.html to date.html.bak (or to date.html.v1 or any other .abc final extension)
change directory back to cornerstone
stencil bundle

This doesn't affect all directories; templates/carousel.html with templates/carousel.html.bak existing will allow stencil bundle to complete correctly.
This issue also affects the third party theme I am using.

The simple fix is to move or delete the offending xyz.html.abc file(s). However, no indication is given that the .bak file is causing the problem and in fact there are too many files rather than a missing file as reported.

I ran into this while using windiff to merge updated theme files into my existing customized theme.

Stencil Push: JobCompletionStatusCheckError

Expected behavior

To process custom theme successfully.

Actual behavior

Uploading theme works, the following error is produced when the theme is processing : "not ok -- JobCompletionStatusCheckError: Job Failed".

Steps to reproduce behavior

I used stencil push and everything was in the green up until the console logged:

Processing [============ ] 12%; ETA: 8.9snot ok -- JobCompletionStatusCheckError: Job Failed
console

UPDATE: I also tried the above with a clean cornerstone project and I received the exact same error.

node-sass is failing

Running npm install -g bigcommerce/stencil-cli the build fails and I get the following error:

gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 69
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/stencil-styles/node_modules/node-sass/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Darwin 15.6.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/stencil-styles/node_modules/node-sass/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/stencil-styles/node_modules/node-sass
gyp ERR! node -v v6.9.1
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
Build failed
npm ERR! Darwin 15.6.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "bigcommerce/stencil-cli"
npm ERR! node v6.9.1
npm ERR! npm  v2.15.11
npm ERR! code ELIFECYCLE

npm ERR! [email protected] postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script 'node scripts/build.js'.
npm ERR! This is most likely a problem with the node-sass package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node scripts/build.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs node-sass
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR!     npm owner ls node-sass
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/alexhatzipanis/Sites/stihl/npm-debug.log

Stencil push & bundle errors

This error occurs when I use stencil init

$ stencil push
not ok -- StoreHashReadError: Response Error: 404 Not Found
Please try again. If this error persists, please visit https://github.com/bigcommerce/stencil-cli/issues and submit an issue.

This error occurs when I use stencil bundle

$ stencil bundle
Validating theme...
SCSS Parsing Started...
Template Parsing Started...
Language Files Parsing Started...
Building Theme Schema File...
Theme task Started...
ok -- Language Files Parsing Finished
ok -- SCSS Parsing Finished
ok -- Theme Schema Building Finished
failed -- The following template(s) are/is missing:
core/account/_private/layout-heading
core/account/_private/navigation
core/account/_private/layout-heading
core/alerts/alert-error
core/alerts/alert-success
core/alerts/alert-error
core/alerts/alert-success
core/alerts/alert-error
components/header/shipping-messages
svg/account
svg/account
svg/account
components/header/currency-selector
components/header/shipping-messages
components/header/site-branding
svg/wishlist
svg/cart
svg/cart
components/header/site-navigation-left-align
components/header/site-navigation-center-align
components/header/site-navigation-right-align
components/common/navigation
components/common/navigation-top-level
components/footer/brand-navigation
components/common/social-media-links
svg/visa
svg/mastercard
svg/amex
svg/discover
svg/paypal
svg/applepay
svg/close
components/mini-cart/mini-cart-contents
components/common/search-form
components/common/multi-level-nav-item
svg/arrow-down
components/common/multi-level-nav-item
components/common/multi-level-nav-item
svg/account
svg/account
svg/wishlist
svg/cart
components/header/currency-selector
svg/close
components/common/search-form
svg/close
core/auth/login
svg/close
core/auth/forgot-password
C:\Users\jolen\AppData\Roaming\npm\node_modules@bigcommerce\stencil-cli\bin\stencil-bundle:52
throw err;
^

Error: The following template(s) are/is missing:
core/account/_private/layout-heading
core/account/_private/navigation
core/account/_private/layout-heading
core/alerts/alert-error
core/alerts/alert-success
core/alerts/alert-error
core/alerts/alert-success
core/alerts/alert-error
components/header/shipping-messages
svg/account
svg/account
svg/account
components/header/currency-selector
components/header/shipping-messages
components/header/site-branding
svg/wishlist
svg/cart
svg/cart
components/header/site-navigation-left-align
components/header/site-navigation-center-align
components/header/site-navigation-right-align
components/common/navigation
components/common/navigation-top-level
components/footer/brand-navigation
components/common/social-media-links
svg/visa
svg/mastercard
svg/amex
svg/discover
svg/paypal
svg/applepay
svg/close
components/mini-cart/mini-cart-contents
components/common/search-form
components/common/multi-level-nav-item
svg/arrow-down
components/common/multi-level-nav-item
components/common/multi-level-nav-item
svg/account
svg/account
svg/wishlist
svg/cart
components/header/currency-selector
svg/close
components/common/search-form
svg/close
core/auth/login
svg/close
core/auth/forgot-password
at C:\Users\jolen\AppData\Roaming\npm\node_modules@bigcommerce\stencil-cli\lib\template-assembler.js:93:29
at C:\Users\jolen\AppData\Roaming\npm\node_modules@bigcommerce\stencil-cli\node_modules\async\dist\async.js:421:16
at iteratorCallback (C:\Users\jolen\AppData\Roaming\npm\node_modules@bigcommerce\stencil-cli\node_modules\async\dist\async.js:998:13)
at C:\Users\jolen\AppData\Roaming\npm\node_modules@bigcommerce\stencil-cli\node_modules\async\dist\async.js:906:16
at C:\Users\jolen\AppData\Roaming\npm\node_modules@bigcommerce\stencil-cli\node_modules\async\dist\async.js:421:16
at iteratorCallback (C:\Users\jolen\AppData\Roaming\npm\node_modules@bigcommerce\stencil-cli\node_modules\async\dist\async.js:998:13)
at C:\Users\jolen\AppData\Roaming\npm\node_modules@bigcommerce\stencil-cli\node_modules\async\dist\async.js:906:16
at C:\Users\jolen\AppData\Roaming\npm\node_modules@bigcommerce\stencil-cli\node_modules\async\dist\async.js:421:16
at iteratorCallback (C:\Users\jolen\AppData\Roaming\npm\node_modules@bigcommerce\stencil-cli\node_modules\async\dist\async.js:998:13)
at C:\Users\jolen\AppData\Roaming\npm\node_modules@bigcommerce\stencil-cli\node_modules\async\dist\async.js:906:16

{ [Error: Cannot find module './_an-object'] code: 'MODULE_NOT_FOUND' }

Hi,
I am unable to start stencil on local host. I keep getting the following error...
Please advise at your earliest convenience,
Thank you,
Michal

Node Version: v4.8.1

-------------------------------------------------

{ [Error: Cannot find module './_an-object'] code: 'MODULE_NOT_FOUND' }
[BS] File event [change] : /Users/custombarres-imac2/Desktop/themes/stencil/assets/css/cb_fonts.css
[BS] File event [change] : /Users/custombarres-imac2/Desktop/themes/stencil/assets/css/checkout.css
[BS] File event [change] : /Users/custombarres-imac2/Desktop/themes/stencil/assets/css/invoice.css
[BS] File event [change] : /Users/custombarres-imac2/Desktop/themes/stencil/assets/css/maintenance.css
[BS] File event [change] : /Users/custombarres-imac2/Desktop/themes/stencil/assets/css/optimized-checkout.css
[BS] File event [change] : /Users/custombarres-imac2/Desktop/themes/stencil/assets/css/theme.css
[BS] Proxying: http://localhost:3001
[BS] Access URLs:
 -------------------------------------
       Local: http://localhost:3005
    External: http://192.168.1.11:3005
 -------------------------------------
          UI: http://localhost:3006
 UI External: http://192.168.1.11:3006
 -------------------------------------
[BS] Watching files...

Stencil Push isn't working

I am trying to push some work that I did to a cornerstone theme. Everything works locally and bundles fine, but when I try to upload manually or through the terminal, it fails.

stencil push
_http_outgoing.js:487
throw new Error('"value" required in setHeader("' + name + '", value)');
^

Error: "value" required in setHeader("x-auth-client", value)
at validateHeader (_http_outgoing.js:487:11)
at ClientRequest.setHeader (_http_outgoing.js:496:3)
at new ClientRequest (_http_client.js:171:14)
at Object.request (http.js:39:10)
at Object.request (https.js:239:15)
at internals.Client.request (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/wreck/lib/index.js:178:24)
at internals.Client._shortcut (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/wreck/lib/index.js:579:16)
at internals.Client._shortcutWrap (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/wreck/lib/index.js:556:17)
at internals.Client.get (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/wreck/lib/index.js:521:17)
at Object.getThemes (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/lib/theme-api-client.js:95:11)

I passed it on to another guy on my team and same issue. Everything ran fine locally but his error was as follows:

Processing [====== ] 12%; ETA: 9.6snot ok -- JobCompletionStatusCheckError: Job Failed Please try again. If this error persists, please visit https://github.com/bigcommerce/stencil-cli/issues and submit an issue.

So here I am...

Cannot Stencil Push or Manually Upload Custom Theme to Store Manager

Expected behavior

  • Expect theme to upload to Big Commerce when manually uploading theme.
  • Expect theme to upload on Stencil CLI (stencil push).

Actual behavior

  • Stencil CLI stops at 12% and kills the upload. All parse checks seem good, no other errors displayed. (see image)

screen shot 2017-12-04 at 1 39 05 pm

  • Manually Uploading via the Big Commerce store manager successfully uploads, then returns an error message with “There was a problem processing your theme.”

Steps to reproduce behavior

  • stencil start to test that OAuth credentials are working with the Store's API on Big Commerce.
  • stencil bundle to successfully bundle up theme for uploading through the store manager.
  • stencil push to run stencil bundle and attempt to upload theme through the Store's API. This fails at 12%. Using Node v7.8 (haven't had issues with this node version and stencil until now).

`stencil bundle` fails if there is a directory in the project path with `.html` in the name

This can be reproduced by installing stencil-cli to a theme locally, and running stencil bundle. The ThemeConfig.prototype.getSchema method uses **/*.html and doesn't check if it is a file or directory. The hapi modules contains the following folder: node_modules/inert/test/directory/invalid/index.html/

$ stencil bundle
Validating theme...
SCSS Parsing Started...
Template Parsing Started...
Language Files Parsing Started...
Building Theme Schema File...
Generating Manifest Started...
JavaScript Bundling Started...
ok -- Language Files Parsing Finished
ok -- Manifest Generation Finished
ok -- SCSS Parsing Finished
failed  -- EISDIR: illegal operation on a directory, read
/usr/local/lib/node_modules/@bigcommerce/stencil-cli/lib/stencil-bundle.js:78
            throw err;
            ^

Error: EISDIR: illegal operation on a directory, read
    at Error (native)

oAuth API support for admin accounts

Hi,

I've recently updated to the latest Stencil CLI and realise we now need to use the oAuth method to connect to stores. Do you plan on allowing admins to setup the oAuth client ID etc? Our agency works with a lot of client sites so it makes it a hassle to gain access to the owner account.

Thanks!

error when installing stencil-cli

I'm seeing the following error when trying to install stencil-cli. The first two commands rune fine but the stencil-cli fails with the output below.
nvm install 4.1.2
npm install -g [email protected]
npm install -g bigcommerce/stencil-cli

root@f77cbb4d0582:/host-data/stencil# npm install -g bigcommerce/stencil-cli
npm WARN deprecated [email protected]: This module is no longer being maintained and is no longer needed for custom Good reporters.
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN peerDependencies The peer dependency eslint-plugin-react@^4.2.3 included from eslint-config-airbnb will no
npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN optional dep failed, continuing [email protected]
npm WARN deprecated [email protected]: ReDoS vulnerability parsing Set-Cookie https://nodesecurity.io/advisories/130
\
> [email protected] preinstall /root/.nvm/versions/node/v4.1.2/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/stencil-paper/node_modules/messageformat/node_modules/watchr/node_modules/extendr/node_modules/typechecker
> node ./cyclic.js

sh: 1: node: Permission denied

> [email protected] preinstall /root/.nvm/versions/node/v4.1.2/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/stencil-paper/node_modules/messageformat/node_modules/watchr/node_modules/extract-opts/node_modules/typechecker
> node ./cyclic.js

sh: 1: node: Permission denied
npm WARN deprecated [email protected]: This project has been deprecated for "npm install es-module-loader" based on the newer loader spec.
npm WARN deprecated [email protected]: this package has been reintegrated into npm and is now out of date with respect to npm
npm WARN deprecated [email protected]: cross-spawn no longer requires a build toolchain, use it instead!
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.

> [email protected] postinstall /root/.nvm/versions/node/v4.1.2/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/stencil-styles/node_modules/node-sass/node_modules/cross-spawn/node_modules/spawn-sync
> node postinstall

sh: 1: node: Permission denied
npm ERR! Linux 4.4.20-moby
npm ERR! argv "/root/.nvm/versions/node/v4.1.2/bin/node" "/root/.nvm/versions/node/v4.1.2/bin/npm" "install" "-g" "bigcommerce/stencil-cli"
npm ERR! node v4.1.2
npm ERR! npm  v2.14.4
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn

npm ERR! [email protected] preinstall: `node ./cyclic.js`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the [email protected] preinstall script 'node ./cyclic.js'.
npm ERR! This is most likely a problem with the typechecker package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node ./cyclic.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls typechecker
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /host-data/stencil/npm-debug.log
root@f77cbb4d0582:/host-data/stencil#

Bundle is re-ordering my CSS

I have a pretty standard SCSS entry file with a bunch of @import's. In development (stencil start) my SCSS is being compiled correctly. When I go to export my theme (stencil bundle) my SCSS is re-ordered in ways I wish it wouldn't. Specifically, it looks like like it is playing with the order of my @mixin or @include's which is causing inheritance nightmares.

Am I right in assuming this is stencil bundle doing this? Is there a way to make it behave more like stencil start with regards to SCSS compilation?

not ok -- StoreHashReadError: Response Error: 503 Service Unavailable

I created a pull request for this that serves a more helpful error but didn't really have time to solve it.

StoreHashReadError

In .stencil

  "normalStoreUrl": "http://awesomeBCSandbox.mybigcommerce.com/",

throws this error

  "normalStoreUrl": "http://awesomeBCSandbox.mybigcommerce.com",

will fix this error

Hey Fellas!

Congrats on Open Sourcing Stencil :). You should be very proud of this massive achievement! Keep up the amazing work!!

stencil bundle Error

stencil bundle
Password:
Validating theme...
Running ESLint...
/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/config/config-file.js:402
throw e;
^

Error: Cannot find module 'eslint-config-airbnb/base'
Referenced from: /usr/local/cornerstone/.eslintrc
at ModuleResolver.resolve (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/util/module-resolver.js:75:19)
at resolve (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/config/config-file.js:479:33)
at load (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/config/config-file.js:496:24)
at /usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/config/config-file.js:392:36
at Array.reduceRight (native)
at applyExtends (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/config/config-file.js:363:28)
at Object.load (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/config/config-file.js:530:22)
at loadConfig (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/config.js:64:33)
at getLocalConfig (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/config.js:126:23)
at Config.getConfig (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/config.js:227:22)

Managing multiple sites

Hi!

We are in the process of moving towards the stencil localhost development route.

As we build multiple BigCommerce sites for clients, we have to create a new stencil install for each site. To clarify do we need to run npm install for each new site? What is the best way to manage multiple stencil sites locally?

Currently we clone the base theme into a new directory and run the npm install command and stencil init for each project.

Thanks!

Install Error

Trying to install the stencil-cli and everytime I am getting this:

npm ERR! Failed to parse json
npm ERR! Unexpected token '\u0000' at 1:1

npm ERR! Failed to parse package.json data.
npm ERR! package.json must be actual JSON, not just JavaScript.
npm ERR!
npm ERR! This is not a bug in npm.
npm ERR! Tell the package author to fix their package.json file. JSON.parse

The BigCommerce server responded with a 500 error

Weird. This was working fine for me this morning but now I'm getting:

Debug: internal, implementation, error
    Error: Error: The BigCommerce server responded with a 500 error
    at /usr/local/lib/node_modules/@bigcommerce/stencil-cli/server/plugins/renderer/renderer.module.js:44:31
    at /usr/local/lib/node_modules/@bigcommerce/stencil-cli/server/plugins/renderer/renderer.module.js:135:20
    at finish (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/wreck/lib/index.js:137:20)
    at wrapped (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/hoek/lib/index.js:866:20)
    at ClientRequest.onResponse (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/wreck/lib/index.js:158:20)
    at ClientRequest.g (events.js:260:16)
    at emitOne (events.js:77:13)
    at ClientRequest.emit (events.js:169:7)
    at HTTPParser.parserOnIncomingClient (_http_client.js:415:21)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:88:23)

problem starting stencil - error after stencil init

fs.js:549
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
^

Error: ENOENT: no such file or directory, open '/Users/michalpellicone/config.json'
at Error (native)
at Object.fs.openSync (fs.js:549:18)
at Object.fs.readFileSync (fs.js:397:15)

"TypeError: callback is not a function" after upgrading to stencil 1.12.0

I just upgraded to the latest version of stencil-cli, and now getting an error anytime I edit, or simply just open any template file. I upgraded from version 1.8 by running:

npm install -g @bigcommerce/stencil-cli

After the new version installed, I ran stencil start, and everything seemed to be working fine.

Then, I opened a template file to edit vi templates/components/common/header.html. As soon as the file opens, stencil-cli outputs the following error, and shuts down:

/Users/myusername/.nvm/versions/node/v4.2.1/lib/node_modules/@bigcommerce/stencil-cli/lib/template-assembler.js:26
            return callback(err);
                   ^

TypeError: callback is not a function
    at /Users/myusername/.nvm/versions/node/v4.2.1/lib/node_modules/@bigcommerce/stencil-cli/lib/template-assembler.js:26:20
    at /Users/myusername/.nvm/versions/node/v4.2.1/lib/node_modules/@bigcommerce/stencil-cli/lib/template-assembler.js:91:20
    at /Users/myusername/.nvm/versions/node/v4.2.1/lib/node_modules/@bigcommerce/stencil-cli/node_modules/async/dist/async.js:421:16
    at iteratorCallback (/Users/myusername/.nvm/versions/node/v4.2.1/lib/node_modules/@bigcommerce/stencil-cli/node_modules/async/dist/async.js:998:13)
    at /Users/myusername/.nvm/versions/node/v4.2.1/lib/node_modules/@bigcommerce/stencil-cli/node_modules/async/dist/async.js:906:16
    at ReadFileContext.callback (/Users/myusername/.nvm/versions/node/v4.2.1/lib/node_modules/@bigcommerce/stencil-cli/lib/template-assembler.js:112:24)
    at FSReqWrap.readFileAfterOpen [as oncomplete] (fs.js:303:13)

This occurs everytime a template file is openend or edited. It does not seem to occur when I edit a sass file. So far, I have only seen it when editing/opening/saving something in the templates/ directory.

I am running node v4.2.1 in case that matters.

Any idea why this is happening all of a sudden? Is there some sort of bug with the latest version?

After Stencil Start I get DeprecatingWarning

(node:29835) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/node-sass/lib/extensions.js:158
throw new Error([
^

Error: The libsass binding was not found in /usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/node-sass/vendor/darwin-x64-57/binding.node
This usually happens because your node version has changed.
Run npm rebuild node-sass to build the binding for your current node version.
at Object.sass.getBinaryPath (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/node-sass/lib/extensions.js:158:11)
at Object. (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/node-sass/lib/index.js:16:36)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Module.require (module.js:579:17)
at require (internal/module.js:11:18)
at Object. (/usr/local/lib/node_modules/@bigcommerce/stencil-cli/node_modules/@bigcommerce/stencil-styles/lib/styles.js:7:14)

I ran 'npm rebuild node-sass' but did not fix

Is Grid option for Autoprefixer exposed?

Expected behavior

"autoprefixer_grid": false on config.json file should not show display: -ms-grid on IE11

Actual behavior

display: -ms-grid on IE11 is shown

Steps to reproduce behavior

  • Create a CSS grid
  • add "autoprefixer_grid": false on config.json file
  • View the grid on IE11

stencil bundle outputs unhanded rejection errors, zips the files, but all js compilation fails

I upgraded webpack and related configs based on the latest released cornerstone project. When I compile using webpack directly everything works as intended without any errors. However if I run stencil bundle it produces the output below and all javascript fails to compile. Considering webpack succeeds outside of bundle I'm having a hard time tracking down what is causing it so that I can reproduce it.

SCSS Parsing Started...
Template Parsing Started...
Language Files Parsing Started...
Building Theme Schema File...
Generating Manifest Started...
Theme task Started...
ok -- Language Files Parsing Finished
ok -- Manifest Generation Finished
ok -- Theme Schema Building Finished
Potentially unhandled rejection [4] TypeError: Cannot read property 'default' of undefined
    at d:\user\dev\project\site\node_modules\loader-runner\lib\loadLoader.js:4:66
    at tryCatchReject (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:1183:30)
    at runContinuation1 (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:1142:4)
    at Fulfilled.when (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:930:4)
    at Pending.run (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:821:13)
    at Scheduler._drain (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:97:19)
    at Scheduler.drain (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:62:9)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)
Potentially unhandled rejection [5] TypeError: Cannot read property 'default' of undefined
    at d:\user\dev\project\site\node_modules\loader-runner\lib\loadLoader.js:4:66
    at tryCatchReject (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:1183:30)
    at runContinuation1 (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:1142:4)
    at Fulfilled.when (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:930:4)
    at Pending.run (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:821:13)
    at Scheduler._drain (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:97:19)
    at Scheduler.drain (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:62:9)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)
Potentially unhandled rejection [6] TypeError: Cannot read property 'default' of undefined
    at d:\user\dev\project\site\node_modules\loader-runner\lib\loadLoader.js:4:66
    at tryCatchReject (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:1183:30)
    at runContinuation1 (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:1142:4)
    at Fulfilled.when (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:930:4)
    at Pending.run (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:821:13)
    at Scheduler._drain (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:97:19)
    at Scheduler.drain (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:62:9)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)
Potentially unhandled rejection [7] TypeError: Cannot read property 'default' of undefined
    at d:\user\dev\project\site\node_modules\loader-runner\lib\loadLoader.js:4:66
    at tryCatchReject (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:1183:30)
    at runContinuation1 (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:1142:4)
    at Fulfilled.when (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:930:4)
    at Pending.run (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:821:13)
    at Scheduler._drain (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:97:19)
    at Scheduler.drain (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:62:9)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)
Potentially unhandled rejection [8] TypeError: Cannot read property 'default' of undefined
    at d:\user\dev\project\site\node_modules\loader-runner\lib\loadLoader.js:4:66
    at tryCatchReject (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:1183:30)
    at runContinuation1 (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:1142:4)
    at Fulfilled.when (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:930:4)
    at Pending.run (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:821:13)
    at Scheduler._drain (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:97:19)
    at Scheduler.drain (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:62:9)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)
Potentially unhandled rejection [12] TypeError: Cannot read property 'default' of undefined
    at d:\user\dev\project\site\node_modules\loader-runner\lib\loadLoader.js:4:66
    at tryCatchReject (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:1183:30)
    at runContinuation1 (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:1142:4)
    at Fulfilled.when (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:930:4)
    at Pending.run (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:821:13)
    at Scheduler._drain (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:97:19)
    at Scheduler.drain (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:62:9)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)
Potentially unhandled rejection [16] TypeError: Cannot read property 'default' of undefined
    at d:\user\dev\project\site\node_modules\loader-runner\lib\loadLoader.js:4:66
    at tryCatchReject (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:1183:30)
    at runContinuation1 (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:1142:4)
    at Fulfilled.when (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:930:4)
    at Pending.run (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:821:13)
    at Scheduler._drain (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:97:19)
    at Scheduler.drain (C:\Users\user\AppData\Roaming\npm\node_modules\@bigcommerce\stencil-cli\node_modules\es6-module-loader\dist\es6-module-loader.src.js:62:9)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)
ok -- Theme task Finished
ok -- SCSS Parsing Finished
ok -- Template Parsing Finished
ok -- Zipping Files Finished
Bundled saved to: d:\user\dev\project\site\Bases Loaded-1.5.10.zip

Page template is ignored locally

Expected behavior

When a page has a custom template applied to it, we expect it to be applied when previewing it locally. (stencil start and them browsing the page at localhost:3000)

Actual behavior

The page template setting is ignored, locally. (Page template is applied remotely. We can see it if we browse from admin.)

Steps to reproduce behavior

Create a page in the store, apply a custom page template to it. Now, access this page locally. You will see the page with the default page template applied. The template we selected is ignored.

I've also found this being reported in forum four months ago, but it got no reply:
https://forum.bigcommerce.com/s/question/0D51300003lh2YPCAY/custom-template-for-web-pages-in-stencil-not-working-

Localhost does not load after stencil start

Expected behavior

Do stencil start then load localhost:3000 to view fresh install of cornerstone

Actual behavior

Do stencil start and everything looks good, gives me local and external acces points, says watching files and reloading browsers. I go to localhost:3000 in browser but loader keeps spinning, and nothing loads. Does not return any error, browser waits for a response until timing out.

Steps to reproduce behavior

Did fresh install of everything to figure this out to no avail: fresh install of npm, node, fresh clone of cornerstone, updated everything to latest versions. I'm on macOS High Sierra (10.13.2). BrowserSync loads fine on port 3001.

I have MAMP installed and wonder if that could be interfering in some way?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.