class NodeUpdater implements FallibleCommand {

    JsonObject getFormResourcesPackageJson() throws IOException {
        JsonObject packageJson = getJsonFileContent(
                new File(formResourcesFolder, PACKAGE_JSON));
        if (packageJson == null) {
            packageJson = Json.createObject();
            packageJson.put(DEP_NAME_KEY, DEP_NAME_FORM_JARS);
            packageJson.put(DEP_LICENSE_KEY, DEP_LICENSE_DEFAULT);
            packageJson.put(DEP_MAIN_KEY, DEP_MAIN_FORM_JARS);
            packageJson.put(DEP_VERSION_KEY, DEP_VERSION_DEFAULT);
            packageJson.put("sideEffects", false);
        }
        return packageJson;
    }

    protected  NodeUpdater(ClassFinder finder,
            FrontendDependenciesScanner frontendDependencies, File npmFolder,
            File generatedPath, File flowResourcesPath);

}