use of org.eclipse.n4js.cli.N4jscOptions in project n4js by eclipse.
the class InitDialog method inputUserAnswers.
static UserAnswers inputUserAnswers(N4jscOptions options, InitConfiguration config, WorkingDirState workingDirState) {
UserAnswers answers = new UserAnswers();
String userInput = null;
if (options.isCreate() && options.isWorkspaces() && workingDirState == WorkingDirState.InEmptyFolder) {
N4jscConsole.print(String.format("name of yarn project: (%s) ", config.yarnPackageJson.name));
userInput = N4jscConsole.readLine();
answers.nameYarnProject = userInput.isBlank() ? config.yarnPackageJson.name : userInput;
}
PackageJsonContents defaults = config.packageJson;
if (!options.isN4JS()) {
// in case of extending an already existing project to n4js, the name is not changed
userInput = readValidInput(input -> input.startsWith("@") && input.contains("/"), String.format("name: (%s) ", defaults.name), "Valid project names of scoped projects must start with '@' and contain a single '/'.");
answers.nameProject = userInput.isBlank() ? defaults.name : userInput;
}
N4jscConsole.print("Add 'Hello World' example? (type 'y' for yes) (no) ");
userInput = N4jscConsole.readLine();
answers.addHelloWorld = isYes(userInput);
if (answers.addHelloWorld) {
N4jscConsole.print("Add Test for 'Hello World' example? (type 'y' for yes) (no) ");
userInput = N4jscConsole.readLine();
answers.addHelloWorldTest = isYes(userInput);
}
N4jscConsole.print(String.format("version: (%s) ", Strings.nullToEmpty(defaults.version)));
userInput = N4jscConsole.readLine();
answers.version = userInput.isBlank() ? defaults.version : userInput;
N4jscConsole.print(String.format("main module: (%s) ", Strings.nullToEmpty(defaults.main)));
userInput = N4jscConsole.readLine();
answers.main_module = userInput.isBlank() ? defaults.main : userInput;
N4jscConsole.print(String.format("author: (%s) ", Strings.nullToEmpty(defaults.author)));
userInput = N4jscConsole.readLine();
answers.author = userInput.isBlank() ? defaults.author : userInput;
N4jscConsole.print(String.format("license: (%s) ", Strings.nullToEmpty(defaults.license)));
userInput = N4jscConsole.readLine();
answers.license = userInput.isBlank() ? defaults.license : userInput;
N4jscConsole.print(String.format("description: (%s) ", Strings.nullToEmpty(defaults.description)));
userInput = N4jscConsole.readLine();
answers.description = userInput.isBlank() ? defaults.description : userInput;
return answers;
}
use of org.eclipse.n4js.cli.N4jscOptions in project n4js by eclipse.
the class AT_IDEBUG_654_ExportPlainJsModulesTest method compileCheckModuleExportFromPlainJsFile_ExpectAvailable.
/**
*/
@Test
public void compileCheckModuleExportFromPlainJsFile_ExpectAvailable() {
Path projectDir = workspace.toPath().resolve(WS_IDEBUG_654);
Path fileToRun = projectDir.resolve("src-gen/Client.js");
N4jscOptions options = COMPILE(workspace);
CliCompileResult cliResult = n4jsc(options);
assertEquals(cliResult.toString(), 2, cliResult.getTranspiledFilesCount());
ProcessResult nodejsResult = nodejsRun(projectDir, fileToRun);
assertEquals(nodejsResult.toString(), "foo === 36: true, bar === 'bar': true", nodejsResult.getStdOut());
}
use of org.eclipse.n4js.cli.N4jscOptions in project n4js by eclipse.
the class IncompleteApiImplementationTest method compileAPI_And_API_Impl.
/**
* Setup workspace with api & api-impl & compile
*/
/**
* Upfront compilation when loading this test-class.
*/
public void compileAPI_And_API_Impl() {
proot = new File(workspace, PACKAGES).getAbsolutePath().toString();
project_one_api_execution = "one.api.execution/";
pathTo_one_api_execution = proot + "/" + project_one_api_execution;
N4jscOptions options = COMPILE(workspace);
CliCompileResult cliResult = n4jsc(options);
assertEquals(cliResult.toString(), 69, cliResult.getTranspiledFilesCount());
}
use of org.eclipse.n4js.cli.N4jscOptions in project n4js by eclipse.
the class InstallCompileRunN4jscExternalShadowNestedNodeModulesTest method testCompileAndRunWithExternalDependencies.
/**
* Test for checking the npm support in the headless case by downloading third party package, importing it and
* running it with Common JS.
*
* TODO: use System.lineSeparator()
*/
@Test
public void testCompileAndRunWithExternalDependencies() {
final Path wsRoot = workspace.getAbsoluteFile().toPath();
final Path project = wsRoot.resolve("packages").resolve("P");
final Path fileToRun = project.resolve("src-gen").resolve("Main.js");
N4jscOptions options = COMPILE(workspace);
CliCompileResult cliResult = n4jsc(options, VALIDATION_ERRORS);
assertEquals(cliResult.toString(), 1, cliResult.getTranspiledFilesCount());
String expectedString = "Main.n4js in P\n";
expectedString += "#methodOld() in version 2.0.0\n";
expectedString += "#methodNew() in version 2.0.0";
ProcessResult nodejsResult = nodejsRun(workspace.toPath(), fileToRun);
assertEquals(nodejsResult.toString(), expectedString, nodejsResult.getStdOut());
}
Aggregations