<commit_before>/// <reference path="../lib/DefinitelyTyped/requirejs/require.d.ts"/>
/// <reference path="../lib/DefinitelyTyped/lodash/lodash.d.ts"/>

/* tslint:disable:no-var-requires */
var http : any = require("http");
var fs : any = require("fs");
var _fs : any = require("node-fs");
var _s : any = require("underscore.string");
/* tslint:enable:no-var-requires */

declare var process : any;

import Base = require("./ResourcesBase");
import Util = require("./mkResources/Util");
import MetaApi = require("./Packages/MetaApi/MetaApi");



/**
 * How to handle API changes
 * ~~~~~~~~~~~~~~~~~~~~~~~~~
 *
 * The effect of changes in the meta api on the existing code are very
 * limited.  The local name of an imported module never has to change,
 * because it is local, and new names can be chosen such that name
 * clashes are always avoided.  For example, if some module in some
 * package contains the line:
 *
 * | import RIPropsal = "...";
 *
 * The name RIProposal never needs to change.
 *
 * The content_type strings and the dictionary keys for the sheets
 * never need to be changed in the code either, as they are exported
 * from the generated modules.  If they change, they will do so
 * transparently, and the code will use the new names consistently.
 *
 * To make sure that no string literals are used anywhere outside the
 * generated modules for namign content_type fields of resources or
 * sheet keys, there is a script that scans for them.
 * [FIXME: write that script!]
 *
 * Changes that may require changing code manually:
 *
 *   1. module path changes (e.g., RIProposal moves from
 *      ".../adh/IProposal.ts" to ".../adh/core/IProposal.ts"
 *
 *   2. a resource drops a sheet (that is used somewhere).
 *
 *   3. a sheet drops a field (that is used somewhere).
 *
 *   4. a sheet changes its type and semantics without changing its
 *      name.
 *
 * (4) is bad practice and therefore disallowed.  All other changes
 * will be caught by the compiler and have to be fixed before the code
 * builds again, so they impose a very small productivity penalty on
 * the evolution of the content type hierarchy.
 *
 * (The only CAVEAT is that if you change the path of one module to be
 * the path of another, formerly existing module, you may get
 * confusing type errors or unit test failures instead of "import path
 * does not exist".  But even then, the errors should point you in the
 * right direction if you know about the recent API changes.)
 */
<commit_msg>Fix: typo<commit_after>/// <reference path="../lib/DefinitelyTyped/requirejs/require.d.ts"/>
/// <reference path="../lib/DefinitelyTyped/lodash/lodash.d.ts"/>

/* tslint:disable:no-var-requires */
var http : any = require("http");
var fs : any = require("fs");
var _fs : any = require("node-fs");
var _s : any = require("underscore.string");
/* tslint:enable:no-var-requires */

declare var process : any;

import Base = require("./ResourcesBase");
import Util = require("./mkResources/Util");
import MetaApi = require("./Packages/MetaApi/MetaApi");



/**
 * How to handle API changes
 * ~~~~~~~~~~~~~~~~~~~~~~~~~
 *
 * The effect of changes in the meta api on the existing code are very
 * limited.  The local name of an imported module never has to change,
 * because it is local, and new names can be chosen such that name
 * clashes are always avoided.  For example, if some module in some
 * package contains the line:
 *
 * | import RIPropsal = "...";
 *
 * The name RIProposal never needs to change.
 *
 * The content_type strings and the dictionary keys for the sheets
 * never need to be changed in the code either, as they are exported
 * from the generated modules.  If they change, they will do so
 * transparently, and the code will use the new names consistently.
 *
 * To make sure that no string literals are used anywhere outside the
 * generated modules for naming content_type fields of resources or
 * sheet keys, there is a script that scans for them.
 * [FIXME: write that script!]
 *
 * Changes that may require changing code manually:
 *
 *   1. module path changes (e.g., RIProposal moves from
 *      ".../adh/IProposal.ts" to ".../adh/core/IProposal.ts"
 *
 *   2. a resource drops a sheet (that is used somewhere).
 *
 *   3. a sheet drops a field (that is used somewhere).
 *
 *   4. a sheet changes its type and semantics without changing its
 *      name.
 *
 * (4) is bad practice and therefore disallowed.  All other changes
 * will be caught by the compiler and have to be fixed before the code
 * builds again, so they impose a very small productivity penalty on
 * the evolution of the content type hierarchy.
 *
 * (The only CAVEAT is that if you change the path of one module to be
 * the path of another, formerly existing module, you may get
 * confusing type errors or unit test failures instead of "import path
 * does not exist".  But even then, the errors should point you in the
 * right direction if you know about the recent API changes.)
 */

{'fraction_non_alphanumeric': 0.1044925792218211, 'fraction_numerical': 0.0020056157240272766, 'mean_word_length': 3.468637992831541, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, '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': '2892621', 'n_tokens_mistral': 1386, 'n_tokens_neox': 1346, 'n_words': 669}