It is not required by node.js, but introduce troubles while
generating documents with jsdoc3.
Refer to https://github.com/jsdoc3/jsdoc/issues/456
Change-Id: I6664f1be0fc3e86f3a7e3843d557786c37df1c5e
The structure module is a prompt-only module that determines and
sets structural attributes which inform the rest of the project.
With these values, we can automatically generate test configuration
files, sample project layouts, as well as toggle specific tooling
options (such as gulp, karma, and others).
Change-Id: I477f427da121aeda967fadbcbe73d0a75e9d6bed
If a file is ignored in the project builder, it is now persisted
into the .gitignore file in the project.
Change-Id: Ic8e5d08b82da5809b1dc2a8427f6563dc9acf00b
This patch allows the generator to read a .gitignore file and
echo it back into the project. This implementation is destructive
of the original format, and can be improved in the future.
Change-Id: I38fb29e564120464406c00586952eee0c19150e1
Nsp is a tool published by the Node Security team, which scans
a project for known and easily recognizable vulnerabilities. For
a list of advisories, please check https://nodesecurity.io/advisories
Change-Id: I554320d0c4aca86184e03aac853a5a4d9f48fcdd
This adds the pkgBuilder.addCommand() method, which permits adding
a command (such as 'eslint':'eslint ./') to the npm scripts list.
Change-Id: I0ebfa9cbc0a526363cd2c8d1a0b697f5748e0771
This patch ensures that eslint, and eslint-config-openstack, are added
to the project that the most recent managed version.
Change-Id: I8c90bbce96f78080c1fc2f1afc529a97894091cb
This adds a convenience method to the package.json builder, which
wraps various sanity checks around the process of adding a dependency
to a project.
Change-Id: I111b3d5ead31979933993916d091277c94290d25
Any file paths registered as ignored with the project builder are
now also included/appended to the .eslintignore file. Duplicates
are not repeated.
Change-Id: I23aa82f5f94f726862ff5235039a90948755b4f2
This patch adds the ignoreFiles option to the package builder, which
permits us to build a list of paths that should be ignored by our
tools. For example, this can be used to build a .gitignore or an
.eslintignore list.
Change-Id: I5ba67a9dbac1b90b72fb0a7ab1994fd2229e39d0
gerrit project name shall come from
1. user answer if given
2. .gitreview if no answer is given
3. create from package name if .gitreview does not exist
Change-Id: I02eb9e86fd97fc67093e16a4264c24625f7f2e47
Signed-off-by: Yujun Zhang <zhang.yujunz@zte.com.cn>
What we are checking is `gitreview`. `content` is the expected result.
Change-Id: Ifc3dbf6b2b8e6c91b61793eed8ad7b4398cac09a
Signed-off-by: Yujun Zhang <zhang.yujunz@zte.com.cn>
This library permits reading, validating, and accessing a set of
globally accepted dependency criteria. It will eventually be used
to synchronize dependencies across multiple javascript projects.
Change-Id: I2ec7a218311cfcfc7d33c4a1e29e73ed8e2f7b42
This makes two significant changes to the gerrit module. The first
is that the enableGerrit flag is no longer kept in .yo-rc.json, and
instead is inferred from the existence of a .gitreview file. Secondly,
this patch establishes a default fallback mechanism for project
naming:
1- Check if gitreview already exists.
2- Construct one from the package.json project name.
3- Use the yeoman app name.
Change-Id: I3d559b6655de9621e522429bf2bfac5da9762d07
If a user applies this flag, no tty input should be required. This
ensures that it works as expected.
Change-Id: I20d00295f7164eec2442f45c91e9f1150bc605a0
These prompts include things like project name, description,
authors, and homepage, all set with sane defaults.
Change-Id: Ia0f16b517c64953af77dd82829361ab5305f95d8
This will assist in building generator prompts that return either
the existing value, or a sane default.
Change-Id: I66f47c70ebc529d0a1832677a925083c663adc8c
This patch applies spaces after anonymous function expressions.
This is consistent with how we lint function declarations.
Change-Id: I9b330673daa632e8d22f0a506e41c9643bb821c7
This patch adds getValues and getValue to the package builder
library, to allow retrieval of package-level variables from an
authoritative source during the various project configuraiton
stages.
There are some situations in which a component should error if
it is set to 'non-interactive', for example if a project name is
needed and none has been configured/detected. This patch moves
the non-interactive flag adjudication into the components, so
that they have the freedom to enable this logic.
This patch accomplishes the following:
- It updates node security, as this depended on a version
of ansi-styles that was unpublished.
- It updates deprecated uses of yeoman Base and yeoman test.
- It adds mem-fs and mem-fs-editor to dependencies, as those are
only transiently available in later versions of node/npm.
In order to ensure that submodules can perform asynchronous actions,
we've wrapped their invocation into a Q-based promise chain. Thus,
each can either return the original generator, or may return a
promise that eventually resolves with that same generator.
Having multiple generators stopped being manageable very quickly.
This collapses it all, and ensures tests still pass.
Also, this includes istanbul exclusions.
Configuration options provided by the user are now stored
using the yeoman storage API, and not re-queried if already
set. This permits us to perform headless updates of a
project.
This file was created by the generator-generator. Now that the
default generator does something a little more useful, there's no
need to keep it around.
This patch removes gulp, and moves commands such as nsp and test
execution directly into package.json. Coverage threshold tests via
istanbul have also been added.