<commit_before>module.exports = function(grunt) {

	var path = require('path');

	var pkg = grunt.file.readJSON('package.json');

	var projectRoot = 'src/' + pkg.name + '/';

	var assembly = grunt.file.readJSON(projectRoot + 'Properties/AssemblyInfo.json');

	var version = assembly.informationalVersion ? assembly.informationalVersion : assembly.version;

	grunt.initConfig({
		pkg: pkg,
		zip: {
			release: {
				router: function (filepath) {
					filepath = filepath.replace(projectRoot, '');
					var filename = path.basename(filepath);
					return filepath.match(/^bin\//) ? 'bin/' + filename : filepath;
				},
				src: [
					projectRoot + 'bin/Release/Skybrud.Social.dll',
					projectRoot + 'bin/Release/Skybrud.Social.xml',
					projectRoot + 'bin/Release/Skybrud.WebApi.Json.dll',
					projectRoot + 'bin/Release/Skybrud.WebApi.Json.xml',
					projectRoot + 'bin/Release/' + pkg.name + '.dll',
					projectRoot + 'bin/Release/' + pkg.name + '.xml',
					projectRoot + 'App_Plugins/**/*.*'
				],
				dest: 'releases/' + pkg.name + '.v' + version + '.zip'
			}
		},
		nugetpack: {
			dist: {
				src: 'src/' + pkg.name + '/' + pkg.name + '.nuspec',
				dest: 'nuget/'
			}
		}
	});

	grunt.loadNpmTasks('grunt-contrib-copy');
	grunt.loadNpmTasks('grunt-nuget');
	grunt.loadNpmTasks('grunt-zip');

	grunt.registerTask('dev', ['zip']);
	grunt.registerTask('release', ['zip']);

	grunt.registerTask('default', ['dev']);

};<commit_msg>The Grunt setup should build a NuGet as well<commit_after>module.exports = function(grunt) {

	var path = require('path');

	var pkg = grunt.file.readJSON('package.json');

	var projectRoot = 'src/' + pkg.name + '/';

	var assembly = grunt.file.readJSON(projectRoot + 'Properties/AssemblyInfo.json');

	var version = assembly.informationalVersion ? assembly.informationalVersion : assembly.version;

	grunt.initConfig({
		pkg: pkg,
		zip: {
			release: {
				router: function (filepath) {
					filepath = filepath.replace(projectRoot, '');
					var filename = path.basename(filepath);
					return filepath.match(/^bin\//) ? 'bin/' + filename : filepath;
				},
				src: [
					projectRoot + 'bin/Release/Skybrud.Social.dll',
					projectRoot + 'bin/Release/Skybrud.Social.xml',
					projectRoot + 'bin/Release/Skybrud.WebApi.Json.dll',
					projectRoot + 'bin/Release/Skybrud.WebApi.Json.xml',
					projectRoot + 'bin/Release/' + pkg.name + '.dll',
					projectRoot + 'bin/Release/' + pkg.name + '.xml',
					projectRoot + 'App_Plugins/**/*.*'
				],
				dest: 'releases/' + pkg.name + '.v' + version + '.zip'
			}
		},
		nugetpack: {
			dist: {
				src: 'src/' + pkg.name + '/' + pkg.name + '.csproj',
				dest: 'nuget/'
			}
		}
	});

	grunt.loadNpmTasks('grunt-contrib-copy');
	grunt.loadNpmTasks('grunt-nuget');
	grunt.loadNpmTasks('grunt-zip');

	grunt.registerTask('dev', ['zip', 'nugetpack']);
	grunt.registerTask('release', ['zip', 'nugetpack']);

	grunt.registerTask('default', ['dev']);

};
{'fraction_non_alphanumeric': 0.18688413183826028, 'fraction_numerical': 0.0, 'mean_word_length': 3.400597907324365, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 6}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5846873', 'n_tokens_mistral': 1227, 'n_tokens_neox': 1017, 'n_words': 174}