]>
src.bluestatic.org Git - ustaxlib.git/log
Robert Sesek [Fri, 5 Feb 2021 23:37:09 +0000 (18:37 -0500)]
Add the initial
fed2021 overlay.
This just contains the inflation-adjusted constants from
Rev. Proc. 2020-45.
Robert Sesek [Mon, 1 Feb 2021 05:14:10 +0000 (00:14 -0500)]
Upgrade Github CI workflow to use actions/setup-node@v2.
Robert Sesek [Mon, 1 Feb 2021 05:10:57 +0000 (00:10 -0500)]
Upgrade all packages.
Robert Sesek [Mon, 1 Feb 2021 04:42:08 +0000 (23:42 -0500)]
Add overlay forms for
fed2020 .
Form1040 and Schedule3 underwent revisions that required new
implementations. In order to limit the ripple effects of line number
changes, more referenced values were converted to methods for symbolic
reference.
Robert Sesek [Sun, 31 Jan 2021 06:23:05 +0000 (01:23 -0500)]
Move some computations for Form1040 into methods.
Other forms can reference the values by symbolic name rather than line
number using the new SymbolicLine. Thus when Form 1040 changes with
minor line shifts, as it does in 2020, all the dependent forms do not
need to be updated.
Robert Sesek [Wed, 27 Jan 2021 04:22:09 +0000 (23:22 -0500)]
Use specific reexports from
fed2019 into
fed2020 .
Also annotate which forms will need to be updated for 2020.
Robert Sesek [Sun, 20 Sep 2020 17:43:45 +0000 (13:43 -0400)]
Add the
fed2020 overlay.
The 2020 tax return forms are likely to be quite similar to the 2019
versions, with inflation-adjustments to constant values. To avoid
copy-paste-tweak with the forms, use an overlay: forms with differences
from the previous year can be rewritten, but unchanged ones should just
use the prior year's form.
Constant values are now associated with an overlay TaxReturn class, so
the inflation adjustments do not require new forms.
Robert Sesek [Sun, 2 Aug 2020 16:07:09 +0000 (12:07 -0400)]
Extract constant values from
fed2019 Forms as named definitions.
The core/TaxReturn has a new abstract constants property that can be
used to inject values. Forms can then reference the values when
performing computations, without hard-coding them.
This also adds a Literal identify function to core/Math, to make it
easier to find constants that won't vary from year to year.
Robert Sesek [Sun, 19 Jul 2020 21:58:02 +0000 (17:58 -0400)]
Have isFormT match on derived form types by walking the prototype chain.
Robert Sesek [Sun, 18 Oct 2020 06:20:34 +0000 (02:20 -0400)]
Upgrade to typescript 4.0.3
Also upgrade jest and ts-jest.
Robert Sesek [Sun, 18 Oct 2020 06:12:59 +0000 (02:12 -0400)]
Remove the need to self-reference Form['lines'] in Form subclasses.
This self-reference is not supported in TypeSciprt 4 (see
https://github.com/microsoft/TypeScript/issues/40315), and it is
unnecessary.
Robert Sesek [Tue, 22 Sep 2020 15:12:41 +0000 (11:12 -0400)]
Update the changelog for 1.1.0.
Robert Sesek [Sat, 19 Sep 2020 20:32:35 +0000 (16:32 -0400)]
Use `npx tsc` instead of $PATH-based `tsc` in build.sh.
Robert Sesek [Sat, 19 Sep 2020 20:30:29 +0000 (16:30 -0400)]
Upgrade setup-node workflow and specify node v12.
Robert Sesek [Sat, 19 Sep 2020 20:13:15 +0000 (16:13 -0400)]
Upgrade all packages.
dependabot[bot] [Mon, 20 Jul 2020 01:39:41 +0000 (01:39 +0000)]
Bump lodash from 4.17.15 to 4.17.19
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)
Signed-off-by: dependabot[bot] <support@github.com>
Robert Sesek [Mon, 13 Jul 2020 20:47:22 +0000 (16:47 -0400)]
Version 1.1.0
Robert Sesek [Mon, 13 Jul 2020 20:28:41 +0000 (16:28 -0400)]
Add Schedule A for itemized deductions.
Robert Sesek [Mon, 13 Jul 2020 14:50:04 +0000 (10:50 -0400)]
Add Form 6251.
It could probably use a test, but the AMT is super annoying.
Robert Sesek [Sat, 28 Mar 2020 17:40:30 +0000 (13:40 -0400)]
Sed inplace is not great across GNU vs BSD...
Robert Sesek [Sat, 28 Mar 2020 17:31:09 +0000 (13:31 -0400)]
Upgrade all dependencies.
dependabot[bot] [Sat, 28 Mar 2020 17:19:30 +0000 (17:19 +0000)]
Bump acorn from 6.4.0 to 6.4.1
Bumps [acorn](https://github.com/acornjs/acorn) from 6.4.0 to 6.4.1.
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](https://github.com/acornjs/acorn/compare/6.4.0...6.4.1)
Signed-off-by: dependabot[bot] <support@github.com>
Robert Sesek [Sat, 28 Mar 2020 17:16:57 +0000 (13:16 -0400)]
Add status badges to README.
Robert Sesek [Sat, 28 Mar 2020 17:13:33 +0000 (13:13 -0400)]
Get sed invocation to hopefully work with GNU sed.
Robert Sesek [Sat, 28 Mar 2020 17:07:29 +0000 (13:07 -0400)]
Add ci.yml file to setup GitHub actions.
Robert Sesek [Mon, 23 Mar 2020 22:53:25 +0000 (18:53 -0400)]
Add a helper script to publish the NPM package.
Robert Sesek [Mon, 23 Mar 2020 22:39:13 +0000 (18:39 -0400)]
Update the README with working instructions.
Robert Sesek [Mon, 23 Mar 2020 12:51:04 +0000 (08:51 -0400)]
Only publish the dist/ folder.
Robert Sesek [Mon, 23 Mar 2020 12:21:33 +0000 (08:21 -0400)]
Version 1.0.1 was fast...
Robert Sesek [Mon, 23 Mar 2020 12:18:57 +0000 (08:18 -0400)]
Include examples/ in the package.
Robert Sesek [Mon, 23 Mar 2020 05:36:29 +0000 (01:36 -0400)]
Add UnsupportedLine, to formalize a comment convention that exists in
fed2019 .
Also adds sumFormLines() to simplify a common operation.
Robert Sesek [Mon, 23 Mar 2020 04:24:02 +0000 (00:24 -0400)]
Make Form._lines public and remove the accessor.
Robert Sesek [Mon, 23 Mar 2020 04:10:55 +0000 (00:10 -0400)]
Add a build script to help create the package.
NPM "helpfully" uses .gitignore, which excludes dist/, but dist/ needs
to make it into the NPM tarball. Rewrite a line in the copied
package.json to explicitly include the dist/ files.
Robert Sesek [Mon, 23 Mar 2020 00:26:18 +0000 (20:26 -0400)]
Add an examples/ directory.
Robert Sesek [Mon, 23 Mar 2020 00:23:30 +0000 (20:23 -0400)]
Add READMEs.
Robert Sesek [Sun, 22 Mar 2020 22:31:43 +0000 (18:31 -0400)]
Shorten some worksheet names.
Robert Sesek [Sun, 22 Mar 2020 21:46:37 +0000 (17:46 -0400)]
Redo 1099-B to be simplerf for recording adjustments.
This no longer puts adjustments ont Form8949, since doing so required
keeping a reference to the Form1099B. Instead, organize Form1099B as
most brokerages report it, as a composite statement.
Robert Sesek [Sun, 22 Mar 2020 20:40:56 +0000 (16:40 -0400)]
Add SALT worksheet for determining taxable amount of refunds.
Robert Sesek [Sat, 21 Mar 2020 00:15:12 +0000 (20:15 -0400)]
Use '@' to separate form@line references.
Robert Sesek [Thu, 19 Mar 2020 00:22:40 +0000 (20:22 -0400)]
Add Form8995 to compute REIT QBI deduction.
Robert Sesek [Wed, 18 Mar 2020 05:32:03 +0000 (01:32 -0400)]
Fix some remaining bugs in tax computation.
Robert Sesek [Wed, 18 Mar 2020 04:38:27 +0000 (00:38 -0400)]
Fix some bugs in tracing, and add a reset() function.
Robert Sesek [Wed, 18 Mar 2020 03:54:29 +0000 (23:54 -0400)]
fix
Robert Sesek [Tue, 17 Mar 2020 23:30:46 +0000 (19:30 -0400)]
Include US debt instrument interest as 1040/2b.
Robert Sesek [Tue, 17 Mar 2020 22:40:42 +0000 (18:40 -0400)]
Implement W2.person().
Robert Sesek [Tue, 17 Mar 2020 05:47:52 +0000 (01:47 -0400)]
Fix bugs in Schedule D and implement the QDCG Tax Worksheet.
Robert Sesek [Tue, 17 Mar 2020 03:22:02 +0000 (23:22 -0400)]
Include exempt interest dividends in 1040-2a.
Robert Sesek [Tue, 17 Mar 2020 02:52:38 +0000 (22:52 -0400)]
Simplify the Trace API further.
Robert Sesek [Tue, 17 Mar 2020 02:35:21 +0000 (22:35 -0400)]
Refine Trace to be able to output graphviz-compatible data.
Robert Sesek [Sun, 15 Mar 2020 19:19:47 +0000 (15:19 -0400)]
First cut at a Trace system.
Robert Sesek [Sun, 15 Mar 2020 01:00:56 +0000 (21:00 -0400)]
Add default 0 for many 1099-* entries.
Robert Sesek [Sun, 15 Mar 2020 01:00:35 +0000 (21:00 -0400)]
Ensure ScheduleDTaxWorksheet is exported.
Robert Sesek [Sat, 14 Mar 2020 12:51:56 +0000 (08:51 -0400)]
Export TaxReturn from
fed2019 .
Robert Sesek [Sat, 14 Mar 2020 12:50:15 +0000 (08:50 -0400)]
Add license information.
Robert Sesek [Sat, 14 Mar 2020 12:14:59 +0000 (08:14 -0400)]
Add a Form1040.filingStatus accessor.
Robert Sesek [Fri, 13 Mar 2020 04:43:28 +0000 (00:43 -0400)]
Implement Form.person() on
fed2019 forms.
Robert Sesek [Fri, 13 Mar 2020 04:34:09 +0000 (00:34 -0400)]
Add the ability to filter forms by Person.
Robert Sesek [Fri, 13 Mar 2020 04:32:37 +0000 (00:32 -0400)]
Make core/TaxReturn an abstract class.
A tax year model will provide the concrete implementation.
Robert Sesek [Fri, 13 Mar 2020 04:15:52 +0000 (00:15 -0400)]
Remove type test code for TaxReturn.
Robert Sesek [Tue, 10 Mar 2020 05:17:44 +0000 (01:17 -0400)]
Use Math helpers in more forms.
Robert Sesek [Tue, 10 Mar 2020 04:54:13 +0000 (00:54 -0400)]
Rewrite Form1040.computeTax based off of Revenue Procedure 2018-57.
Robert Sesek [Tue, 10 Mar 2020 04:07:41 +0000 (00:07 -0400)]
Rename FormW2 to just W2.
This matches Schedules.
Robert Sesek [Tue, 10 Mar 2020 04:02:54 +0000 (00:02 -0400)]
Simplify core imports.
Robert Sesek [Tue, 10 Mar 2020 03:42:47 +0000 (23:42 -0400)]
Create a cheap "build" script.
Robert Sesek [Mon, 9 Mar 2020 21:55:46 +0000 (17:55 -0400)]
Restructuring in prep for being a usable package.
Moves file modules out of src/*.ts and into src/core, which is now peer
to src/
fed2019 .
This also adds index.ts re-exports for the modules.
Robert Sesek [Sun, 8 Mar 2020 23:07:13 +0000 (19:07 -0400)]
Add a forms accessor to TaxReturn.
Robert Sesek [Sun, 8 Mar 2020 22:27:34 +0000 (18:27 -0400)]
Do not use the whole Form to describe a ReferenceLine.
Robert Sesek [Sun, 8 Mar 2020 18:27:01 +0000 (14:27 -0400)]
Prepare build as module.
Robert Sesek [Sun, 8 Mar 2020 18:26:39 +0000 (14:26 -0400)]
Fix bad import for Schedule 2.
Robert Sesek [Sun, 8 Mar 2020 17:20:18 +0000 (13:20 -0400)]
Add Form 8960.
Robert Sesek [Sun, 8 Mar 2020 16:07:50 +0000 (12:07 -0400)]
Add Schedule 3.
Robert Sesek [Sun, 8 Mar 2020 14:25:50 +0000 (10:25 -0400)]
Add Schedule 1.
Robert Sesek [Sun, 8 Mar 2020 06:17:52 +0000 (01:17 -0500)]
Split Schedule2 into its own file.
Robert Sesek [Sun, 8 Mar 2020 06:08:29 +0000 (01:08 -0500)]
Add Form 1116.
Robert Sesek [Sun, 8 Mar 2020 06:02:52 +0000 (01:02 -0500)]
Allow InputLine to specify a fallback value.
Robert Sesek [Sun, 8 Mar 2020 02:00:44 +0000 (21:00 -0500)]
Remove reduceBySum() to Math.
Robert Sesek [Sat, 7 Mar 2020 22:59:52 +0000 (17:59 -0500)]
Add Form1099R and 8606.
Robert Sesek [Fri, 28 Feb 2020 04:28:05 +0000 (23:28 -0500)]
Add a test for Form8959.
Robert Sesek [Sun, 23 Feb 2020 07:31:09 +0000 (02:31 -0500)]
Delete experimental Form2 that was adopted.
Robert Sesek [Sun, 23 Feb 2020 07:29:54 +0000 (02:29 -0500)]
Simplify uses of ComputedLine to not type the |tr| argument.
Robert Sesek [Sun, 23 Feb 2020 07:21:12 +0000 (02:21 -0500)]
Implement the Schedule D Tax Worksheet.
Robert Sesek [Sun, 23 Feb 2020 05:50:23 +0000 (00:50 -0500)]
Use the original idea for Form8949, which is simpler.
Robert Sesek [Sun, 23 Feb 2020 05:02:26 +0000 (00:02 -0500)]
Initial work on Schedule D, Form 8949, and 1099-B.
Robert Sesek [Sun, 23 Feb 2020 04:43:48 +0000 (23:43 -0500)]
Add command to run the Node debugger and interactive tests.
Robert Sesek [Sat, 22 Feb 2020 19:36:01 +0000 (14:36 -0500)]
Upgrade Typescript and compiler targets.
Robert Sesek [Sat, 22 Feb 2020 19:34:12 +0000 (14:34 -0500)]
Strongly type Forms on TaxReturn.
This lets type information be propagated for checking using
ReferenceLine and AccumulatorLine.
Two side effects of this change:
- The lines type is now exposed on Form, so that Line subclasses can use
the type information.
- ReferenceLines to the same form have to erase the FormClass type.
Robert Sesek [Sat, 22 Feb 2020 16:23:08 +0000 (11:23 -0500)]
Use the computations from Form 8959 on Schedule 2.
Robert Sesek [Sat, 22 Feb 2020 06:11:28 +0000 (01:11 -0500)]
Add Form 8959.
Robert Sesek [Sat, 22 Feb 2020 05:40:11 +0000 (00:40 -0500)]
Add Form 1040 Schedule 2.
Robert Sesek [Sat, 22 Feb 2020 05:08:42 +0000 (00:08 -0500)]
Drop explicit type parameter in ComputedLine, since it can be inferred.
Robert Sesek [Sat, 22 Feb 2020 04:12:34 +0000 (23:12 -0500)]
Add Form 1099-DIV.
Robert Sesek [Sat, 22 Feb 2020 03:58:50 +0000 (22:58 -0500)]
Start implementing Form 1040 tax calculation.
Robert Sesek [Fri, 21 Feb 2020 19:23:39 +0000 (14:23 -0500)]
Add Form 1099-INT.
Robert Sesek [Fri, 21 Feb 2020 18:28:07 +0000 (13:28 -0500)]
Remove id from Line constructor.
Instead, have the Form set it via its key in _lines.
Robert Sesek [Fri, 21 Feb 2020 18:15:48 +0000 (13:15 -0500)]
Strongly type Form lines.
This completely rewrites Form so that getLine and getValue are fully
type-checked.
Robert Sesek [Fri, 21 Feb 2020 15:59:16 +0000 (10:59 -0500)]
Add more computations for form 1040.
Robert Sesek [Fri, 21 Feb 2020 15:51:12 +0000 (10:51 -0500)]
Add TaxReturn.maybeGetForm<T>()
Robert Sesek [Fri, 21 Feb 2020 13:34:08 +0000 (08:34 -0500)]
Revert "Make SupportsMultipleCopies an interface."
This reverts commit
26177f7e25370d27e6e2f04857269129a74d1f44 .
Robert Sesek [Fri, 21 Feb 2020 13:28:09 +0000 (08:28 -0500)]
Model most of the first page of 1040.
Robert Sesek [Fri, 21 Feb 2020 13:27:48 +0000 (08:27 -0500)]
Allow ReferenceLine to take a custom description.