123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- /*
- * grunt-init-amber
- * https://amber-lang.net/
- *
- * Copyright (c) 2013 Manfred Kroehnert, contributors
- * Licensed under the MIT license.
- */
- 'use strict';
- // Basic template description.
- exports.description = 'Create a web application based on Amber Smalltalk.';
- // Template-specific notes to be displayed before question prompts.
- exports.notes = ' _Project title_ should be a human-readable title.';
- // Template-specific notes to be displayed after question prompts.
- exports.after = 'You should now install project dependencies with _bower install_.' +
- ' Afterwards, start the development server with _./bower_components/amber/bin/amber serve_.' +
- ' Your application is then accessible via _http://localhost:4000/_';
- // Any existing file or directory matching this wildcard will cause a warning.
- exports.warnOn = '*';
- // The actual init template.
- exports.template = function(grunt, init, done) {
- init.process({type: 'amber'}, [
- // Prompt for these values.
- init.prompt('name', 'AmberApplication'),
- init.prompt('title'),
- init.prompt('description', 'Amber Application.'),
- {
- name: 'namespace',
- message: 'The namespace used to store your Amber Packages.',
- },
- {
- name: 'amber_version',
- default: '0.12.0',
- message: 'The version of Amber to use. Must be >= 0.12.0',
- },
- init.prompt('version'),
- init.prompt('repository'),
- init.prompt('homepage'),
- init.prompt('bugs'),
- init.prompt('licenses', 'MIT'),
- init.prompt('author_name'),
- init.prompt('author_email'),
- init.prompt('author_url')
- ], function(err, props) {
- // A few additional properties.
- props.amberjson = props.name + '.amber.json';
- props.dependencies = {'amber': '~0.10.0'};
- props.keywords = ['Amber', 'Smalltalk'];
- //props.devDependencies = {'amber': '~0.10.0'};
- props.node_version = '>= 0.8.0';
- // Files to copy (and process).
- var files = init.filesToCopy(props);
- // Add properly-named license files.
- init.addLicenseFiles(files, props.licenses);
- // Actually copy (and process) files.
- init.copyAndProcess(files, props, {noProcess: 'libs/**'});
- // Generate package.json file, used by npm and grunt.
- //init.writePackageJSON('package.json', props);
- // generate bower.json file
- grunt.file.write('bower.json', JSON.stringify({
- "name": props.name,
- "description": props.description,
- "version": props.version,
- "authors": [
- {
- "name": props.author_name,
- "email": props.author_email
- }
- ],
- "homepage": props.homepage,
- "main": props.main,
- "keywords": props.keywords,
- "license": props.licenses,
- "private": false,
- "dependencies": {
- "amber": "~" + props.amber_version
- }
- }, null, 4));
- // All done!
- done();
- });
- };
|